Change8

py-1.29.0

📦 polarsView on GitHub →
6 features🐛 14 fixes2 deprecations🔧 7 symbols

Summary

This release focuses on performance improvements, notably avoiding alloc_zeroed in decompression, and introduces several new features including SQL support for array checks and DataFrame initialization from torch Tensors. Several bugs related to joins, parquet reading, and date/datetime conversions have also been fixed.

✨ New Features

  • Highlight nodes in streaming phys plan graph.
  • Show physical stage graph.
  • Add structure for dispatching iceberg to native scans.
  • Add SQL support for checking array values with `IN` and `NOT IN` expressions.
  • Support `DataFrame` and `Series` init from torch `Tensor` objects.
  • Add `RoundMode` for Decimal and Float.

🐛 Bug Fixes

  • Fix streaming outer join coalesce bug.
  • Remove redundant print statement in `assert_frame_schema_equal()`.
  • Fix bug in `.unique()` followed by `.slice()`.
  • Fix error reading parquet with datetimes written by pandas.
  • Fix `schema_overrides` not taking effect in ND
  • Fold flags and verify scalar correctness in apply.
  • Invalid values were triggering panics instead of returning ``null`` in `dt.to_date` / `dt.to_datetime`.
  • Ensure numpy `isinstance` check is lazy (avoid forcing the dependency).
  • Fix incorrectly dropped sort after unique for some queries.
  • Fix incorrect ternary agg state with mixed columns and scalars.
  • Make `replace` and `replace_strict` properly elementwise.
  • Fix index out of bounds panic on parquet prefiltering.
  • Fix integer underflow when checking parquet UTF-8.
  • Add implementation for `array.get` with idx overflow.

🔧 Affected Symbols

dt.to_datedt.to_datetimestr.list.gatherreplacereplace_strictarray.get

⚡ Deprecations

  • Deprecate `str.` collection functions with flat strings and mark as elementwise.
  • Deprecate flat `list.gather` and mark as elementwise.