Releases: PRQL/prql
0.13.7
0.13.7 has 8 commits from 6 contributors. Selected changes:
Fixes:
- Fix INTERVAL quoting in Redshift (@lukapeschke, #5545)
- Fix support for text.contains in sql.redshift target (@dimtion, #5549)
- Fix division in Redshift produces float (@priithaamer, #5546)
- Use || operator over CONCAT for std.concat in Redshift (@lukapeschke, #5540)
Web:
- Bump vite from 7.1.11 to 7.2.0 in playground (#5547)
0.13.6
0.13.6 has 40 commits from 6 contributors. Selected changes:
Features:
- Add support for Redshift dialect (@priithaamer, #5537)
Fixes:
- Fix append regression in 0.13.5 (@priithaamer, #5495)
- Fix s-string escaping (@priithaamer, #5497)
- Filter out attestation manifests in platform verification (@max-sixty, #5509)
Internal changes:
- Migrate devcontainer build from QEMU to native ARM64 runners (@max-sixty, #5506)
- Migrate from markdown-link-check to lychee (@max-sixty, #5519)
- Use zero-copy slice for binary/hex/octal number parsing (perf improvement, @max-sixty, #5488)
- Update rust toolchain version (#5536)
- Do not allow incompatible rust-version dependencies (@eitsupi, #5493)
- Pin typos to v1.37.2 (@max-sixty, #5510)
0.13.5
0.13.5 has 237 commits from 14 contributors. Selected changes:
Features:
- Support for SQL arrays as
s[...]syntax (@robert Valek, #5312) - Extract SQL column names from s-string tables when possible (@lukapeschke, #5310)
Fixes:
- Sort step before an aggregate step no longer requires its columns to avoid a group by clause error (@julien-pinchelimouroux, #5347)
- Always add quotes on identifiers for Snowflake dialect (@julien-pinchelimouroux, #5461)
- Join with table containing column named "source" now works correctly (@priit Haamer, #5468)
- Columns required by sorting are properly redirected (@lukapeschke, #5464)
- Ensure sorts are done on columns of the right table (@lukapeschke, #5338)
- Deduplicate selected items in gen_projection (@lukapeschke, #5305)
- Handle complex append cases (@Elouan Poupard-Cosquer, #5366)
- Improve requirement logic (@Elouan Poupard-Cosquer, #5357)
- Avoid type mismatch with Postgres in append (@Elouan Poupard-Cosquer, #5343)
- Apply column order on CTEs in append (@Elouan Poupard-Cosquer, #5323)
Documentation:
- Fix binary literal example (@ftsfranklin, #5475)
- Use correct table in grouping tutorial (@fnuttens, #5332)
Integrations:
- TEA 63.3.1, a Qt-based text editor has syntax highlighting for PRQL (@vanillajonathan, #5220)
- Micro text editor grammar is now upstream (@vanillajonathan, #5353)
- Add LSP stub (@vanillajonathan, #5197)
Internal changes:
- Upgrade parser and lexer to chumsky 0.11, providing a 7x performance improvement (#5223, #5476, #5477)
- Set Rust linker on win64, fix build crash (@kgutwin, #5345)
- Integration tests compile all dialects and diff (@kgutwin, #5344)
New Contributors:
0.13.4
0.13.3
0.13.3 is a small release containing a few bug fixes and improvements. It has 86 commits from 10 contributors. Selected changes:
Fixes:
- Sort steps in sub-pipelines no longer cause a column lookup error (@lukapeschke, #5066)
- Dereferencing of sort columns when rendering SQL now done in context of main pipeline (@kgutwin, #5098)
New Contributors:
- @lukapeschke, with #5066
0.13.2
0.13.1
0.13.1 is a small release containing a few bug fixes and improvements. Velocity has slowed down a bit in recent months, we're still hoping to finish the new resolver and the new formatter in the near future.
It has 97 commits from 10 contributors. Selected changes:
Features:
-
Add a option to the experimental documentation generator to output the docs in HTML format. The option is given using the
--format=htmloption. (@vanillajonathan, 4791) -
The version of the library is now read from
git describe. This doesn't affect libraries built on git tags (such as our releases), only those built when developing. When reporting bugs, this helps identify the exact version. (@max-sixty & @m-span, #4804)
Fixes:
-
Raw strings (
r"...") are retained throughprqlc fmt(@max-sixty, #4848) -
Strings containing an odd contiguous number of quotes are now delimited by an odd number of quotes when being formatted. The previous implementation would use an even number, which is invalid PRQL. (@max-sixty, #4850)
-
A few more keywords are quoted, such as
user, which is a reserved keyword in PostgreSQL. (@max-sixty)
0.13.0
0.13.0 brings a new debug logging framework, a big refactor of the parser, a new highlighter, an ** operator for exponentiation, a few bug fixes, and lots of other changes. It has 153 commits from 11 contributors.
Our work continues on rewriting the resolver and completing prqlc fmt.
Selected changes:
Language:
-
Parentheses are always required around pipelines, even within tuples. For example:
from artists # These parentheses are now required derive {a=(b | math.abs)} # No change — doesn't affect expressions or function calls without pipelines derive {x = 3 + 4}This is a small breaking change. The new behavior matches the existing documentation. (@max-sixty, #4775)
-
A new
**operator for exponentiation. (@aljazerzen & @max-sixty, #4125)
Features:
prqlc compile --debug-log=log.htmlwill generate an HTML file with a detailed log of the compilation process. (@aljazerzen, #4646)- Added
prqlc debug json-schemacommand to auto-generate JSON Schema representations of commonly exposed IR types such as PL and RQ. (@kgutwin, #4698) - Add documentation comments to the output of the documentation generator. (@vanillajonathan, #4729)
- Add CLI syntax highlighting to
prqlc. You can try it asprqlc experimental highlight example.prql. (@vanillajonathan, #4755)
Fixes:
- Using
inwith an empty array pattern (e.g.expr | in []) will now output a constantfalsecondition instead of anexpr IN (), which is syntactically invalid in some SQL dialects (@Globidev, #4598)
Integrations:
- The Snap package previously released on the edge channel is now released on the stable channel. (@vanillajonathan, #4784)
Internal changes:
-
Major reorganization of
prqlc-parser—prqlc-astis merged intoprqlc-parser, andprqlc-parser's files are rearranged, including its exports. This is part of an effort to modularize the compiler by stage, reducing the amount of context that's required to understand a single stage. There will likely be some further changes (more detail in the PR description). (@m-span, #4634)- This is a breaking change for any libraries that depend on
prqlc-parser(which should be fairly rare).
- This is a breaking change for any libraries that depend on
-
Renamed
prql-compiler-macrostoprqlc-macrosfor consistency with other crates (@max-sixty, #4565) -
prql-compiler, the old name forprqlc, is removed as a facade toprqlc. It had been deprecated for a few versions and will no longer be updated. (@max-sixty) -
New benchmarks (@max-sixty, #4654)
New Contributors: