Change8

py-1.41.1

📦 polarsView on GitHub →
1 features🐛 11 fixes🔧 8 symbols

Summary

This release focuses on performance improvements, particularly in agg_n_unique, and addresses numerous bugs related to sorting, null handling, precision loss, and expression evaluation pushdown. A new environment variable enables nested CSPE functionality.

Migration Steps

  1. To enable nested Columnar Scan Expression Evaluation (CSPE), set the environment variable POLARS_ALLOW_NESTED_CSPE.
  2. Ensure inputs to merge_sorted have nulls first, as documented.

✨ New Features

  • Allow deeper expressions.

🐛 Bug Fixes

  • Raise length mismatch in multiple sort_by in group_by.
  • Respect min_samples for rolling_by ops with nulls.
  • Fix memory usage regression affecting TPCH Q22.
  • Add POLARS_ALLOW_NESTED_CSPE env var and make nested CSPE opt-in.
  • Post-apply residual pyarrow predicates.
  • Fix loss of precision for smaller floating types.
  • Filter at scan dropped in CSPE filter pushdown.
  • Fix portstate assertion error on is_in.
  • Fix incorrect when/then after forward fill / reverse in groupby.
  • Accept empty Thrift list encoded as bare 0x00 byte in parquet metadata.
  • Stabilize object store credentialprovider cache key.

Affected Symbols