Change8

py-1.43.2

📦 polarsView on GitHub →
4 features🐛 16 fixes2 deprecations🔧 7 symbols

Summary

This release introduces performance improvements by pushing down `len()` operations and enhances data handling with fixes for enum metadata, parquet field IDs, and various slicing and join operations. It also deprecates certain casting and argument usage patterns.

✨ New Features

  • Added `infer_schema_files` parameter to `scan_csv`.
  • Pushdown `len()` to concat/union inputs for performance improvements.
  • Serialize LazyFrames backed by bytes.
  • Release GIL in `SQLContext.execute()`.

🐛 Bug Fixes

  • Properly propagate enum metadata for iceberg column mapping.
  • Correctly write parquet field IDs for enums and categoricals.
  • Fix arrow C interop binview offset.
  • Fix duplicate hive values in hive pre-partition rewrite.
  • Correct double-counted offset for Arrow export of sliced `Series(Array)`.
  • Improved Struct/List/Array equality handling in sort and join.
  • More careful slice pushdown into joins.
  • Preserve ordering in sliced unions.
  • Drop input sortedness when casting to a string.
  • Clear sortedness flags in `StringChunked` substring kernels.
  • Fixed bad mask handling when reading optional parquet column.
  • Ensured any operation on `Unknown(Int)` and `Unknown(Float)` results in `Unknown(Float)`.
  • Flip `nulls_last` after `Expr.reverse()`.
  • Fix high blocking thread use in sink_parquet with async local path.
  • Fixed incorrect slicing when a join requires sorting.
  • Propagate `nulls_last` in `function_expr_sortedness`.

Affected Symbols

⚡ Deprecations

  • Casts from `Categorical` to integer dtypes are deprecated.
  • Not setting the `plan_stage` argument in `show_graph()` is deprecated.