py-1.43.1

parruda/swarmpy-1.43.1Jul 27, 2026by github-actions[bot]

AI Summary

Polars 1.43.1 brings significant performance optimizations and fixes critical bugs related to self-joins, empty chunks, and SQL aggregate NULL handling.

Key Highlights

  • Optimized `not(bool_f)` to `not_bool_f` for better performance
  • Fixed panics on self-join of scan_delta and scan_iceberg
  • Fixed undefined behavior on first/last_non_null with empty chunks
  • Fixed SQL `NOT IN` interaction with NULL values

New Features

  • Performance improvements for boolean operations
  • Fixes for self-join operations
  • Fixes for expression handling in streaming engine
  • SQL aggregate NULL handling fixes

Full Release Notes

## 🚀 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