๐ Performance improvements
- Use specialized decoding for all predicates for Parquet dictionary encoding (#24403)
- Allocate only for read items when reading Parquet with predicate (#24401)
- Don't aggregate groups for strict cast if original len (#24381)
- Allocate only for read items when reading Parquet with predicate (#24324)
โจ Enhancements
- Support S3 virtual-hostedโstyle URI (#24405)
- Remove explicit file create for local async writes (#24358)
- Add PyCapsule
__arrow_c_schema__
interface topl.Schema
(#24365) - Support Partitioning sinks in cloud (#24399)
- User-friendly error message on empty path expansion (#24337)
- Add unstable
pre_execution_query
parameter toread_database_uri
(#23634) - Add Polars security policy (#24314)
๐ Bug fixes
- Correct
sink_ipc
overload for compression (#24398) - Enable all integer dtypes for
by
parameter injoin_asof
(#24384) - Fix Group-By + filter aggregation performs subsequent operations on all data instead of only filtered data (#24373)
- Wrap deprecated top-level imports in TYPE_CHECKING (#24340)
- Fix incorrect output ordering for row-separable exprs (#24354)
- Fix
Series.__arrow_c_stream__
for Decimal and other logical types (#24120) - Match output type to engine for
Struct
arithmetic (#23805) - Make mmap use MAP_PRIVATE rather than MAP_SHARED (#24343)
- Fix cloud iceberg scan DATASET_PROVIDER_VTABLE error (#24338)
- Don't throw away type information for NumPy numeric values when using lit() (#24229)
- Incorrect logic in negative streaming slice (#24326)
- Ensure
read_database_uri
with ADBC works as expected with DuckDB URIs (#24097) - Do not error on non-list
Sequence
forcolumns
parameter inread_excel
(#23967)
๐ Documentation
- Document newly added
is_pure
parameter forregister_io_source
(#24311) - Create a module docstring for the public
polars
module (#24332) - Update to Polars Cloud user guide (#24187)
- Update distributed page (#24323)
- Add a note and example about exporting unformatted
Excel
sheet data (#24145) - Add detail about server-side cursor behaviour for SQLAlchemy in the "iter_batches" parameter of
read_database
(#24094) - Add Polars security policy (#24314)
๐ ๏ธ Other improvements
- Bump c-api (#24412)
- Add a regression test for #7631 (#24363)
- Update cloud test
InteractiveQuery
toDirectQuery
(#24287) - Mark some tests as slow (#24327)
- Mark more tests as ready for cloud (#24315)
- Add hint to update
PYPOLARS_VERSION
on version assert test (#24313)
Thank you to all our contributors for making this release possible!
@Kevin-Patyk, @VictorAtIfInsurance, @alexander-beedie, @coastalwhite, @dsprenkels, @itamarst, @kdn36, @kuril, @mcrumiller, @nameexhaustion, @nesb1, @orlp, @r-brink and @ritchie46