py-1.32.3
📦 polarsView on GitHub →
✨ 5 features🐛 23 fixes🔧 17 symbols
Summary
This release focuses heavily on performance improvements by lowering operations like `.sort(maintain_order=True).head()` and `rle` to the streaming engine. Numerous bug fixes address issues across data types, serialization, and expression evaluation.
✨ New Features
- Native streaming added for `peaks_{min,max}`.
- IR graph visualization improved with arrows, monospace font, and box nodes.
- Added `DataTypeExpr.default_value`.
- Lowered `rle` to a native streaming engine node.
- Support for `Int128` added to pyo3-polars.
🐛 Bug Fixes
- Fixed scan of multiple sources with `null` datatype.
- Fixed categorical handling in nested data in row encoding.
- Fixed missing length update in builder for `pl.Array` repetition.
- Fixed race condition in global categories initialization.
- Reverted change that encoded entire `CategoricalMapping` when going to Arrow.
- Fixed error when using named functions.
- Fixed encoding of entire `CategoricalMapping` when going to Arrow.
- Fixed cast on arithmetic with `lit`.
- Fixed incorrect slice-slice pushdown.
- Deduplicated common cache subplan in IR graph.
- Allowed join on Decimal in in-memory engine.
- Fixed datatypes for `eval.list` in aggregation context.
- Fixed allocator capsule fallback panic.
- Accepted another zlib "magic header" file signature.
- Fixed `truediv` dtypes so `cast` in `list.eval` is not dropped.
- Stopped reusing cached `return_dtype` for expanded map expressions.
- Fixed issue where cache id was not a valid dot node id.
- Aligned `map_elements` behavior with and without `return_dtype`.
- Fixed column dtype lifetime for `csv_write` segfault on `Categorical`.
- Allowed serializing `LazyGroupBy.map_groups`.
- Corrected allocator name in `PyCapsule`.
- Fixed mismatched types for `write` function for windows.
- Fixed `unpivot` panic when `index=` column was not found.
🔧 Affected Symbols
peaks_{min,max}DataTypeExpr.default_valuerlepyo3-polarspl.Arraypl.Array.repetitionCategoricalMappingArrowliteval.listcsv_writeCategoricalLazyGroupBy.map_groupsPyCapsuleunpivotpl.map_batchesAnonymousColumnsUdf