0.13.14 has 80 commits from 7 contributors. Selected changes:
Features:
- Add a PRQL-native implementation of
append by:name, which aligns columns by name rather than position and works on any dialect. Columns present in one relation but not the other are filled with NULL. Supporting this added wildcard expansion of relations via their lineage, plustuple_uniqandtuple_reverse. (@kgutwin, #6046)
Fixes:
- Generate
BETWEENagain. The optimization compared wholerq::Exprvalues, including their spans, so the same column referenced at two source positions never compared equal anda >= 5 && a <= 10was left unoptimized. (@queelius, #5738) - Don't leak a joined branch's sort into the implicit
ORDER BYthattakegenerates. A join now retains the left side's order, as documented, rather than emitting a column that is no longer in scope once the joined branch is materialized as a CTE. (@lukapeschke, #6015) - Return a compile error instead of panicking when
appendis given relations with different numbers of columns, or with incompatible column types. (@prql-bot, #6025) - Set the relation type of
from_textearlier in the resolver, fixing a crash ininfer_type_of_special_func. (@kgutwin, #6066) - Give wrapper params unique names when currying through nested
let-bound functions, which previously bound a curried argument to the wrong parameter. (@prql-bot, #5979) - Escape quotes when a string contains both quote characters and one sits at each boundary, so formatted output lexes back to the original. (@prql-bot, #5987)
- Say "identifier" rather than "string literal" in the
targeterror message. (@prql-bot, #6081) - Sync the KSyntaxHighlighting and book highlighters with the std lib, and drop a stray sub-rule that wrongly highlighted f-strings. (@prql-bot, #6028, #6095)
Documentation:
- Numerous typo, grammar, and stale-content fixes across the book, tutorials, bindings docs, and code comments.
Integrations:
- Sync the
prqlcPython type stub with the binding signatures. (@prql-bot, #6058) - Correct
ArgumentExceptionconstructor usage in the .NET binding. (@prql-bot, #5954) - Bump the Elixir NIF's
rustlercrate to 0.38, matching the hex library. (@prql-bot, #6078)
Internal changes:
- Publish to crates.io with Trusted Publishing.
publish-to-cargomints a short-lived credential per run through GitHub Actions OIDC instead of reading a stored token, so no long-lived publish credential exists. (@max-sixty, #6100) - Update the tend (Claude-powered CI) workflows; most of this release's bot-authored fixes were filed by tend.
- Update the Rust toolchain version. (#6073)