Polars 1.41.1

1.41.1

Python Polars 1.41.1

Added 2
  • Allow deeper expressions
  • Add POLARS_ALLOW_NESTED_CSPE env var and make nested CSPE opt-in
Changed 1
  • Improve performance of agg_n_unique with adaptive size dispatch to hashset or radix sort and capacity-aware reset
Fixed 10
  • 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
  • Post-apply residual pyarrow predicates
  • Fix loss of precision for smaller floating types
  • Fix filter at scan dropped in CSPE filter pushdown
🚀 Performance improvements
  • Adaptive size dispatch to hashset or radix sort + capacity-aware reset in agg_n_unique (#27719)
✨ Enhancements
  • Allow deeper expressions (#27768)
🐞 Bug fixes
  • Raise length mismatch in multiple sort_by in group_by (#27772)
  • Respect min_samples for rolling_by ops with nulls (#27706)
  • Fix memory usage regression affecting TPCH Q22 (#27758)
  • Add POLARS_ALLOW_NESTED_CSPE env var and make nested CSPE opt-in (#27765)
  • Post-apply residual pyarrow predicates (#27764)
  • Fix loss of precision for smaller floating types(#27662) (#27732)
  • Filter at scan dropped in CSPE filter pushdown (#27763)
  • Fix portstate assertion error on is_in (#27757)
  • Fix incorrect when/then after forward fill / reverse in groupby (#27745)
  • Accept empty Thrift list encoded as bare 0x00 byte in parquet metadata (#27754)
  • Stabilize object store credentialprovider cache key (#27712)
  • Add to merge_sorted docs that the input must be nulls first (#27743)
📖 Documentation
  • Docs fixes (#27766)
  • Sync from Polars Cloud (#27751)
  • Add to merge_sorted docs that the input must be nulls first (#27743)
🛠️ Other improvements
  • Attribute annotations for CatalogCredentialProvider (#27739)
  • Solve type: ignore in _AioDataFrameResult (#27311)
  • Remove dead code in _write_utils.py (#27721)
  • Remove unnecessary not isinstance(v, DataType) check (#27723)

Thank you to all our contributors for making this release possible! @EndPositive, @JakubValtar, @MarcoGorelli, @NicoOhR, @azimafroozeh, @carnarez, @dsprenkels, @jorenham, @kdn36, @nameexhaustion, @orlp and @ritchie46

View original

Upgraded? How did it go?

Discussion