# Polars 1.43.1 — Python Polars 1.43.1 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2026-07-27 - Version: 1.43.1 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.43.1 - Permalink: https://whatsnew.fyi/product/polars/releases/1.43.1 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'. --- - **changed** — Optimize not(bool_f) to not_bool_f - **added** — Allow callback sinks on cloud - **fixed** — Fix panic on self join of scan_delta / scan_iceberg - **fixed** — Fix UB on first/last_non_null with empty chunk - **fixed** — Do not CSE non-column height expr on streaming engine - **fixed** — Propagate adjusted sortedness through Gather - **fixed** — Deduplicate the expression equality checks - **fixed** — Address 3VL issue with SQL NOT IN interaction with NULL values and joins - **fixed** — Use total comparison in Expr literal values - **fixed** — Ensure SQL SUM and CORR aggregates return NULL for all-null inputs, add TOTAL - **fixed** — Share null_count_dtype helper between Delta and Iceberg, fixing SchemaError - **fixed** — Remove non-output columns from the equi-join and semi/anti-join operators - **fixed** — Fix dropped slice on multiple unions - **fixed** — Fix in-memory engine incorrect slice on maintain order join - **fixed** — Check join schema by position - **fixed** — Block predicate pushdown past overwritten window keys - **added** — Make hive_part extraction a function and public ##### 🚀 Performance improvements - Optimize not(bool\_f) to not\_bool\_f (#28474) ##### ✨ Enhancements - Allow callback sinks on cloud (#28458) ##### 🐞 Bug fixes - Fix panic on self join of scan\_delta / scan\_iceberg (#28468) - Fix UB on first/last\_non\_null with empty chunk (#28495) - Do not CSE non-column height expr on streaming engine (#28480) - Propagate adjusted sortedness through Gather (#28493) - Deduplicate the expression equality checks (#28483) - Address 3VL issue with SQL `NOT IN` interaction with `NULL` values and joins (#28484) - Use total comparison in Expr literal values (#28482) - Ensure SQL `SUM` and `CORR` aggregates return NULL for all-null inputs, add `TOTAL` (#28475) - Share `null_count_dtype` helper between Delta and Iceberg, fixing `SchemaError` (#28479) - Remove non-output columns from the equi-join and semi/anti-join operators (#28446) - Fix dropped slice on multiple unions (#28477) - Fix in-memory engine incorrect slice on maintain order join (#28478) - Check join schema by position (#28455) - Block predicate pushdown past overwritten window keys (#28429) ##### 📖 Documentation - Update and restructure README (#28490) - Minor fixes to Spark migration guide (#27730) - Relocate Polars Cloud \& On-Prem User Guide (#28462) - Add notes on k8s operator (#28445) ##### 🛠️ Other improvements - Make hive\_part extraction a function and public (#28507) - Deduplicate the expression equality checks (#28483) - Bump `ruff` and `mypy` package versions (#28456) - Fix flaky test (#28454) Thank you to all our contributors for making this release possible! @AnirudhRahul, @EndPositive, @Jesse-Bakker, @alexander-beedie, @carnarez, @dancsi, @mdroogh, @mroeschke, @nameexhaustion, @nchammas, @orlp, @r-brink and @ritchie46