# Polars 1.44.0 — Python Polars 1.44.0 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2026-08-24 - Version: 1.44.0 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.44.0 - Permalink: https://whatsnew.fyi/product/polars/releases/1.44.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **deprecated** — Deprecate rechunk parameter for all read/scan functions - **deprecated** — Deprecate Expr.rechunk() - **deprecated** — Deprecate struct.rename_fields() with an incorrect number of fields - **changed** — Relax default CloudRetryConfig for rate limit stability - **changed** — Improve performance of when/then/otherwise by masking out unevaluated elements - **added** — Support integer fixed-array dot products - **added** — SQL correlated in - **added** — Support more join_types in join_where - **added** — Support Iceberg schema evolution - **added** — Support Iceberg table with V3 deletion vectors in native scan_iceberg - **added** — Support Iceberg snapshot properties - **added** — Expose sinked_paths_callback on sink_parquet as unstable parameter - **added** — Add infer_schema_files to CSV inference hint - **added** — Add native fixed-array dot - **added** — Support Iceberg object storage paths - **added** — Add adaptive HTTP rate-limiter for cloud IO - **added** — Add struct.drop() - **fixed** — Fix assertion error or incorrect data load from parquet written by fastparquet - **fixed** — Fix OOC spilling of categoricals - **fixed** — Raise on overflow in Decimal sum instead of silently wrapping ##### ⚠️ Deprecations - Deprecate `rechunk` parameter for all read/scan functions (#28063) - Deprecate `Expr.rechunk()` (#28692) - Deprecate `struct.rename_fields()` with an incorrect number of fields (#28672) ##### 🚀 Performance improvements - Add private env var toggle for HTTP rate limit (#28882) - Relax default `CloudRetryConfig` for rate limit stability (#28885) - Elide generic cross join on subquery decorrelation in equality predicates (#28876) - cache CTE's in SQL layer (#28864) - Allow CSPE if manual caches are set (#28859) - Lower unqualified join predicates to inner joins in SQL (#28854) - Rechunk `mask` for DataFrame `filter` (#28762) - Improve performance of when/then/otherwise by masking out unevaluated elements (#28498) - Drop unused projections in filter on streaming engine (#28713) - Retain Parquet `Partial` metadata on filter (#28737) ##### ✨ Enhancements - Support integer fixed-array dot products (#28829) - SQL correlated in (#28927) - Support more join\_types in `join_where` (#28880) - Support Iceberg schema evolution (#28794) - SQL conformance (#28494) - Introduce `RemoteEngine` and a common base class for all engines (#28800) - Support Iceberg table with V3 deletion vectors in native `scan_iceberg` (#28772) - Support Iceberg snapshot properties (#28793) - Expose `sinked_paths_callback` on `sink_parquet` as unstable parameter (#28814) - Add `infer_schema_files` to CSV inference hint (#28809) - Add native fixed-array dot (#28504) - Export query metrics to polars\_cloud (#28757) - Support Iceberg object storage paths (#28634) - More CSEE simplification (#28731) - Improve error in Series constructor with name in context (#28743) - Add adaptive HTTP rate-limiter for cloud IO (#28591) - Add `struct.drop()` (#28666) - Improve error message when CSV name de-duplication fails (#28658) - Always keep first metadata per source for Parquet (#28661) - Improve plan-time row estimates for multi-file parquet scans (#28380) - Expose array and plugin function views in Python visitor (#28635) ##### 🐞 Bug fixes - SQL handle quantified comparisons against a subquery (#28929) - Fix SQL subquery qualified lowering and cache row-index (#28926) - Clippy-stable failures (#28919) - Use uuidv7 for cloud observed queries (#28910) - Unsoundness in AnyValue::into\_static for structs (#28889) - Invalidate suborders on projection (#28866) - Ensure SQL function registry is available in isolated subqueries (#28881) - Handle null in Expr.is\_not\_nan (#28883) - Ensure eager `unpivot` column selection aligns with the lazy engine (#28846) - Fix assertion error / incorrect data load from parquet written by fastparquet (#28656) - Fix projection pushdown incorrect `select()` height (#28751) - Restore `monitoring` as an engine-level parameter (#28821) - Bincode serialization of IR hints (#28837) - Retain datetime inference across CSV fallback (#28663) - Avoid chunk fragmentation on bool agg `min` and `max` (#28789) - Merge join with coalesce and empty suffix (#28799) - Wrong function name call in test (#28801) - Preserve row mapping in nested over expressions (#28767) - Restore CI compatibility with NumPy 2.5.2 (#28782) - Do not deduplicate inherently nondeterministic plan nodes (#28768) - Fix OOC spilling of categoricals (#28761) - Correct partitionable filter handling for pivot (#28749) - Small typo in docstring (#28763) - Avoid chunk fragmentation on bool agg `any` and `all` (#28754) - Ignore nans in (min|max)\_horizontal (#28710) - Correct function display for str.replace\_all (#28742) - Exclude debug tests from nodebug streaming run (#28747) - Convert predicate series dtype during prefiltered parquet reading (#28711) - Do not remove nested caches when performing predicate pushdown past a cache node (#28740) - Correct handling of nulls at the start of business day functions (#28703) - Do not panic when exceeding Parquet metadata scan cache (#28721) - Remove cr _[Truncated at 4000 characters — full notes: https://github.com/pola-rs/polars/releases/tag/py-1.44.0]_