Changelog
0.12.1 — 2024-06-09
0.12.1 is a tiny hotfix release which fixes how intra-prql crate dependencies were specified.
Changelog
0.12.0 — 2024-06-08
0.12.0 contains a few months of smaller features. Our focus has been on rewriting the resolver, an effort that is still ongoing.
It has 239 commits from 12 contributors. Selected changes (most are not listed here, possibly we should be more conscientious about adding them...):
Features:
prqlc lex
command to the CLI (@max-sixty)prqlc debug lineage
command to the CLI, creating an expression lineage
graph from a query (@kgutwin, #4533).prql
files. (@vanillajonathan,
#4152).side
parameter can take a reference that resolves to a literal (note:
this is an experimental feature which may change in the future) (@kgutwin,
#4499)Fixes:
std.in
operator. (@kgutwin, #4498)from {}
and std
(@m-span, #4538)Web:
browser
dist files are now built with wasm-pack
's web
target. As a
result, they should be usable as ES Modules, through JS CDNs, and for example
with Observable Framework (@srenatus, #4274).Integrations:
.prql
files. (@EmmanuelBeziat).prql
files. (@vanillajonathan)New Contributors:
Changelog
0.11.3 — 2024-02-10
0.11.3 is a very small release, mostly a rename of the Python bindings.
The release has 13 commits from 4 contributors.
Internal changes:
prql-python
becomes a package published and importable as prqlc
. The
internal Rust crate is named prqlc-python
.Changelog
0.11.2 — 2024-02-07
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:
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:
Changelog
0.11.1 — 2023-12-26
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)Changelog
0.11.0 — 2023-12-19
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
.math
module (@PrettyWood, #3909, #3916 & 3928)ltrim
, rtrim
, trim
,
length
, extract
, replace
. Utility functions starts_with
, contains
and ends_with
are also available.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:
Changelog
0.10.1 — 2023-11-14
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)Changelog
0.10.0 — 2023-10-26
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.every
function is renamed to std.all
(@aljazerzen,
#3703)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)anytype
is added. (@aljazerzen, #3703)"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)Internal:
justfile
for developers who prefer that above our Taskfile.yaml
(@aljazerzen, #3681)New Contributors:
Changelog
0.9.5 — 2023-09-16
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:
Changelog
0.9.4 — 2023-08-24
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:
Overhaul our CI to run a cohesive set of tests depending on the specific changes in the PR, and elide all others. This cuts CI latency to less than three minutes for most changes, and enables GitHub's auto-merge to wait for all relevant tests. It also reduces the CI time on merging to main, by moving some tests to only run on specific path changes or on our nightly run.
We now have one label we can add to PRs to run more tests — pr-nightly
.
(@max-sixty, #3317 & others).
Auto-merge PRs for backports or pre-commit updates (@max-sixty, #3246)
Add a workflow to create an issue when the scheduled nightly workflow fails (@max-sixty, #3304)
New Contributors: