🚀 Performance improvements
- Avoid alloc_zeroed in decompression (#22460)
✨ Enhancements
- Highlight nodes in streaming phys plan graph (#22535)
- Show physical stage graph (#22491)
- Add structure for dispatching iceberg to native scans (#22405)
- Add SQL support for checking array values with
IN
andNOT IN
expressions (#22487) - Support
DataFrame
andSeries
init from torchTensor
objects (#22177) - Add
RoundMode
for Decimal and Float (#22248) - Inform users that IO error path file name can be expanded with POLARS_VERBOSE=1 (#22427)
🐞 Bug fixes
- Streaming outer join coalesce bug (#22530)
- Remove redundant print statement in
assert_frame_schema_equal()
(#22529) - Bug in
.unique()
followed by.slice()
(#22471) - Fix error reading parquet with datetimes written by pandas (#22524)
- Fix
schema_overrides
not taking effect in NDJSON (#22521) - Fold flags and verify scalar correctness in apply (#22519)
- Invalid values were triggering panics instead of returning
null
indt.to_date
/dt.to_datetime
(#22500) - Ensure numpy
isinstance
check is lazy (avoid forcing the dependency) (#22486) - Incorrectly dropped sort after unique for some queries (#22489)
- Fix incorrect ternary agg state with mixed columns and scalars (#22496)
- Make
replace
andreplace_strict
properly elementwise (#22465) - Fix index out of bounds panic on parquet prefiltering (#22458)
- Integer underflow when checking parquet UTF-8 (#22472)
- Add implementation for
array.get
with idx overflow (#22449) - Deprecate
str.
collection functions with flat strings and mark as elementwise (#22461) - Deprecate flat
list.gather
and mark as elementwise (#22456) - Inform users that IO error path file name can be expanded with POLARS_VERBOSE=1 (#22427)
📖 Documentation
- Fix typo in structs page (#22504)
🛠️ Other improvements
- Don't store name/dtype in grouper (#22525)
- Add structure for dispatching iceberg to native scans (#22405)
- Remove unused reduction code (#22462)
- Pin to explicit macOS version in code coverage (#22432)
Thank you to all our contributors for making this release possible!
@AH-Merii, @JakubValtar, @Julian-J-S, @Kevin-Patyk, @Liyixin95, @MarcoGorelli, @Matt711, @alexander-beedie, @brianmakesthings, @coastalwhite, @nameexhaustion, @orlp and @ritchie46