Change8

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