Repository navigation
Release v0.23.3
Highlights
Fixes
- Casts keep Polars' types. In the Python API,
cast(pl.Int32),pl.Int8,pl.Int16,pl.UInt*andpl.Float32now keep their type instead of becoming Int64/Float64.cast(pl.Date)works on datetime columns.strict=Falsecasts give null instead of raising, and Boolean casts keep nulls. Only strict casts to Int64, Float64 or String still become Formula nodes; other casts are added as Polars-code nodes. - Exported code matches the canvas. Generated Polars and FlowFrame code for
to_boolean,to_dateandto_datetimenow gives the same rows as the flow. Before, the export could fail on text like"yes"or parse dates the canvas left empty. This applies to the desktop app and the browser editor. - Notebook push keeps Formula nodes. Formulas that have no Python expression form (for example
to_date(...)or-[a]) stay formula text in the notebook, so pushing the notebook no longer turns them into Polars-code nodes. - Better type hints. Arithmetic and comparison operators on
Exprnow returnExpr, so autocompletion works after expressions like1 + ff.col("a").
Behaviour change
filter_splitandff.Gatenow raise a clear error for a cast they can't express as a formula, such ascast(pl.Int32) > 1. Usecast(pl.Int64)or pass the condition as a formula string.
Security
- The browser editor moves from polars-expr-transformer 0.6.0 to 0.6.5. A crafted text value inside a formula can no longer run Python in the editor.
What's Changed
- Fix/expr operator return types by @Edwardvaneechoud in #846
Full Changelog: v0.23.2...v0.23.3