# Polars 1.33.1 — Python Polars 1.33.1 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2025-09-09 - Version: 1.33.1 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.33.1 - Permalink: https://whatsnew.fyi/product/polars/releases/1.33.1 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Use specialized decoding for all predicates for Parquet dictionary encoding - **changed** — Allocate only for read items when reading Parquet with predicate - **changed** — Don't aggregate groups for strict cast if original len - **added** — Support S3 virtual-hosted–style URI - **changed** — Remove explicit file create for local async writes - **added** — Add PyCapsule `__arrow_c_schema__` interface to `pl.Schema` - **added** — Support Partitioning sinks in cloud - **added** — User-friendly error message on empty path expansion - **added** — Add unstable `pre_execution_query` parameter to `read_database_uri` - **fixed** — Correct `sink_ipc` overload for compression - **changed** — Enable all integer dtypes for `by` parameter in `join_asof` - **fixed** — Fix Group-By + filter aggregation performs subsequent operations on all data instead of only filtered data - **fixed** — Wrap deprecated top-level imports in TYPE_CHECKING - **fixed** — Fix incorrect output ordering for row-separable exprs - **fixed** — Fix `Series.__arrow_c_stream__` for Decimal and other logical types - **fixed** — Match output type to engine for `Struct` arithmetic - **fixed** — Make mmap use MAP_PRIVATE rather than MAP_SHARED - **fixed** — Fix cloud iceberg scan DATASET_PROVIDER_VTABLE error - **fixed** — Don't throw away type information for NumPy numeric values when using lit() - **fixed** — Fix incorrect logic in negative streaming slice ##### 🚀 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 to `pl.Schema` (#24365) - Support Partitioning sinks in cloud (#24399) - User-friendly error message on empty path expansion (#24337) - Add unstable `pre_execution_query` parameter to `read_database_uri` (#23634) - Add Polars security policy (#24314) ##### 🐞 Bug fixes - Correct `sink_ipc` overload for compression (#24398) - Enable all integer dtypes for `by` parameter in `join_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` for `columns` parameter in `read_excel` (#23967) ##### 📖 Documentation - Document newly added `is_pure` parameter for `register_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` to `DirectQuery` (#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