py-1.35.1

pola-rs/polarspy-1.35.1Oct 30, 2025by github-actions[bot]

AI Summary

Python Polars 1.35.1 is a patch release fixing critical bugs in the SQL interface, group-by dynamic iterators, and predicate pushdown functionality.

Key Highlights

  • Fix for SQL interface logical NOT operator behavior
  • Fixes for group_by_dynamic iterator with multiple chunks
  • Performance improvements for rolling moment windows and IPC reads
  • BYTE_ARRAY backed Decimals in Parquet support

New Features

  • BYTE_ARRAY backed Decimals in Parquet
  • allow_empty flag to item
  • glimpse to return a DataFrame

Full Release Notes

## 🚀 Performance improvements

- Don't recompute full rolling moment window when NaNs/nulls leave the window (#25078)
- Skip filtering scan IR if no paths were filtered (#25037)
- Optimize ipc stream read performance (#24671)

## ✨ Enhancements

- Support BYTE\_ARRAY backed Decimals in Parquet (#25076)
- Allow `glimpse` to return a `DataFrame` (#24803)
- Add `allow_empty` flag to `item` (#25048)

## 🐞 Bug fixes

- The `SQL` interface should use logical, not bitwise, behaviour for unary "NOT" operator (#25091)
- Fix panic if scan predicate produces 0 length mask (#25089)
- Ensure SQL table alias resolution checks against CTE aliases on fallback (#25071)
- Panic in `group_by_dynamic` with `group_by` and multiple chunks (#25075)
- Minor improvement to internal `is_pycapsule` utility function (#25073)
- Fix panic when using struct field as join key (#25059)
- Allow broadcast in `group_by` for `ApplyExpr` and `BinaryExpr` (#25053)
- Fix field metadata for nested categorical PyCapsule export (#25052)
- Block predicate pushdown when `group_by` key values are changed (#25032)
- Group-By aggregation problems caused by `AmortSeries` (#25043)
- Don't push down predicates passed inserted cache nodes (#25042)
- Allow for negative time in `group_by_dynamic` iterator (#25041)

## 📖 Documentation

- Fix typo in public dataset URL (#25044)

## 🛠️ Other improvements

- Disable recursive CSPE for now (#25085)
- Change group length mismatch error to `ShapeError` (#25004)
- Update toolchain (#25007)

Thank you to all our contributors for making this release possible!
@Kevin-Patyk, @Liyixin95, @alexander-beedie, @coastalwhite, @kdn36, @nameexhaustion, @orlp, @r-brink, @ritchie46 and @stijnherfst