1.35.1
Python Polars 1.35.1
Added 2
- Support BYTE_ARRAY backed Decimals in Parquet
- Add allow_empty flag to item
Changed 5
- Don't recompute full rolling moment window when NaNs/nulls leave the window
- Skip filtering scan IR if no paths were filtered
- Optimize ipc stream read performance
- Allow glimpse to return a DataFrame
- Change group length mismatch error to ShapeError
Fixed 11
- The SQL interface should use logical, not bitwise, behaviour for unary NOT operator
- Fix panic if scan predicate produces 0 length mask
- Ensure SQL table alias resolution checks against CTE aliases on fallback
- Fix panic in group_by_dynamic with group_by and multiple chunks
- Fix panic when using struct field as join key
- Allow broadcast in group_by for ApplyExpr and BinaryExpr
- Fix field metadata for nested categorical PyCapsule export
- Block predicate pushdown when group_by key values are changed
- Fix group-by aggregation problems caused by AmortSeries
- Don't push down predicates passed inserted cache nodes
- Allow for negative time in group_by_dynamic iterator
🚀 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
glimpseto return aDataFrame(#24803) - Add
allow_emptyflag toitem(#25048)
🐞 Bug fixes
- The
SQLinterface 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_dynamicwithgroup_byand multiple chunks (#25075) - Minor improvement to internal
is_pycapsuleutility function (#25073) - Fix panic when using struct field as join key (#25059)
- Allow broadcast in
group_byforApplyExprandBinaryExpr(#25053) - Fix field metadata for nested categorical PyCapsule export (#25052)
- Block predicate pushdown when
group_bykey 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_dynamiciterator (#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