PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
0.11.4 is a hotfix release, fixing a CI issue that caused the CLI binaries to be built without the cli
feature.
0.11.3 is a very small release, mostly a rename of the python bindings.
The release has 13 commits from 4 contributors.
0.11.2 contains lots of internal changes, lots of syntax highlighting, and the beginning of lutra
, a query runner.
This release has 122 commits from 9 contributors. Selected changes include:
Features:
lutra
, a query runner. (@aljazerzen, #4182, #4174, #4134)prqlc fmt
works on projects with multiple files. (@max-sixty, #4028)Fixes:
Integrations:
.prql
files. (@vanillajonathan)Internal changes:
prql-compiler
has been renamed to prqlc
, and we've established a more consistent naming scheme. The existing crate will still be published, re-exporting prqlc
, so no dependencies will break. A future version will add a deprecation warning.prqlc-clib
crate was renamed to prqlc-c
, and associated artifacts were renamed. We're trying to make names consistent (ideally for the final time!), and have a plan to rename some other bindings. (@max-sixty, #4077)prqlc fmt
(@max-sixty, #4109, #4105)New Contributors:
0.11.1 fixes a couple of small bugs; it comes a few days after 0.11.
This release has 16 commits from 6 contributors. Selected changes:
Features:
prql
module is added and the prql_version
function is renamed to the prql.version
function. The old prql_version
function is deprecated and will be removed in the future release. (@eitsupi, #4006)Fixes:
DISTINCT ON
when take n
is used with group
for the targets clickhouse
, duckdb
and postgres
. (@PrettyWood, #3988)take
n rows for mssql
dialect by switching from TOP to FETCH (@PrettyWood, #3994)0.11.0 introduces new date
, text
& math
modules with lots of standard functions, including a new date.to_text
function. It contains a few bugs fixes, and lots of internal improvements to the compiler.
This release has 119 commits from 9 contributors. Selected changes:
Language:
group
's by
columns are now excluded from the partition. (#3490)round
is now in the math
module and needs to be called via math.round
. (#3928)lower
and upper
are now in the text
module and need to be called via text.lower
and text.upper
. (#3913, #3973)Features:
std.in
function now supports a list of values (@PrettyWood, #3883)abs
, floor
, ceil
, pi
, exp
, ln
, log10
, log
, sqrt
, degrees
, radians
, cos
, acos
, sin
, asin
, tan
, atan
, pow
and round
. Those functions are in the math
module (@PrettyWood, #3909, #3916 & 3928)ltrim
, rtrim
, trim
, length
, extract
, replace
. Utility functions starts_with
, contains
and ends_with
are also available. Those functions are in the text
module (@PrettyWood, #3913, #3973)date
module has been added with the to_text
function (@PrettyWood, #3951, #3954 & #3955)Fixes:
+
and -
can be used after a cast (@PrettyWood, #3923)Web:
Internal changes:
prql-compiler
's MSRV to 1.70.0 (@eitsupi, #3876)New Contributors:
0.10.1 is a small release containing some internal fixes of the compiler.
This release has 36 commits from 7 contributors. Selected changes:
Features:
std.sql.read_csv
function and the std.sql.read_parquet
function supports the sql.glaredb
target. (@eitsupi, #3749)Fixes:
DISTINCT ON
when take 1
is used with group by
for the targets sql.clickhouse
, sql.duckdb
and sql.postgres
. (@aljazerzen, #3792)Integrations:
.prql
files. (@vanillajonathan).prql
files. (@vanillajonathan).prql
files with a database icon. (@vanillajonathan).prql
files with a database emoji icon. (@vanillajonathan).prql
files. (@vanillajonathan).prql
files with a database icon. (@vanillajonathan)0.10.0 contains lots of small improvements, including support for new types of literal notation, support for read_*
functions in more dialects, playground improvements, and a better Lezer grammar (which we're planning on using for a Jupyter extension).
This release has 155 commits from 9 contributors. Selected changes:
Language:
[]
rather than braces {}
. To convert previous PRQL queries to this new syntax simply change case { ... }
to case [ ... ]
. (@AaronMoat, #3517)Features:
std.sql.read_csv
function is now compiled to read_csv
by default. Please set the target sql.duckdb
to use the DuckDB's read_csv_auto
function as previously. (@eitsupi, #3599)std.sql.read_csv
function and the std.sql.read_parquet
function supports the sql.clickhouse
target. (@eitsupi, #1533)std.prql_version
function to return PRQL version (@hulxv, #3533)"Hello \x51"
. (@vanillajonathan, #3568)"Hello \u{01F422}"
. (@vanillajonathan, #3569)filter status == 0b1111000011110000
. (@vanillajonathan, #3661)filter status == 0xff
. (@vanillajonathan, #3654)filter status == 0o777
. (@vanillajonathan, #3672)sql.glaredb
for GlareDB and integration tests for it (However, there is a bug in the test and it is currently not running). (@universalmind303, @scsmithr, @eitsupi, #3669)Web:
Allow cmd-/ (Mac) or ctrl-/ (Windows) to toggle comments in the playground editor (@AaronMoat, #3522)
Limit maximum height of the playground editor's error panel to avoid taking over whole screen (@AaronMoat, #3524)
The playground now uses Vite (@vanillajonathan).
Integrations:
prqlc collect
to collect a project's modules into a single file (@aljazerzen, #3739)prqlc debug expand-pl
to parse & and expand into PL without resolving (@aljazerzen, #3739)prqlc
's MSRV to 1.70.0 (@eitsupi, #3521).prql
files. (@vanillajonathan).prql
files. (@vanillajonathan).prql
files. (@AlDanial).prql
files. (@vanillajonathan)prqlr
is required to render Quarto Markdown with PRQL code blocks). (@jjallaire)New Contributors:
0.9.5 adds a line-wrapping character, fixes a few bugs, and improves our CI. The release has 77 commits from 8 contributors. Selected changes are below.
Look out for some conference talks coming up over the next few weeks, including QCon SF on Oct 2 and date2day on Oct 12.
Language:
A new line-wrapping character, for lines that are long and we want to break up into multiple physical lines. This is slightly different from from many languages — it's on the subsequent line:
from artists
select is_europe =
\ country == "DE"
\ || country == "FR"
\ || country == "ES"
This allows for easily commenting out physical lines while maintaining a correct logical line; for example:
from artists
select is_europe =
\ country == "DE"
\ || country == "FR"
\ || country == "FR"
-\ || country == "ES"
+#\ || country == "ES"
(@max-sixty, #3408)
Fixes:
Fix stack overflow on very long queries in Windows debug builds (@max-sixty, #2908)
Fix panic when unresolved lineage appears in group or window (@davidot, #3266)
Fix a corner-case in handling precedence, and remove unneeded parentheses in some outputs (@max-sixty, #3472)
Web:
Integrations:
Internal changes:
New Contributors:
0.9.4 is a small release with some improvements and bug fixes in the compiler and prqlc
. And, the documentation and CI are continually being improved.
This release has 110 commits from 9 contributors. Selected changes:
Features:
Fixes:
Documentation:
Web:
Integrations:
prqlc
no longer displays a prompt when piping a query into its stdin (@max-sixty, #3248).prql-lib
with Zig (@vanillajonathan, #3372)Internal changes:
pr-nightly
. (@max-sixty, #3317 & others).New Contributors:
0.9.3 is a small release, with mostly documentation, internal, and CI changes.
This release has 85 commits from 10 contributors.
We'd like to welcome @not-my-profile as someone who has helped with lots of internal refactoring in the past couple of weeks.
New Contributors: