# Polars 1.32.3 — Python Polars 1.32.3 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2025-08-14 - Version: 1.32.3 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.32.3 - Permalink: https://whatsnew.fyi/product/polars/releases/1.32.3 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** — Lower .sort(maintain_order=True).head() to streaming top_k - **changed** — Lower top-k to streaming engine - **changed** — Allow order pass through Filters and relax to row-separable instead of elementwise - **added** — Add native streaming for peaks_min and peaks_max - **changed** — IR graph arrows, monospace font, box nodes - **added** — Add DataTypeExpr.default_value - **changed** — Lower rle to a native streaming engine node - **added** — Add support for Int128 to pyo3-polars - **fixed** — Scan of multiple sources with null datatype - **fixed** — Categorical in nested data in row encoding - **fixed** — Missing length update in builder for pl.Array repetition - **fixed** — Race condition in global categories init - **fixed** — Error when using named functions - **fixed** — Don't encode entire CategoricalMapping when going to Arrow - **fixed** — Fix cast on arithmetic with lit - **fixed** — Incorrect slice-slice pushdown - **fixed** — Dedup common cache subplan in IR graph - **fixed** — Allow join on Decimal in in-memory engine - **fixed** — Fix datatypes for eval.list in aggregation context - **fixed** — Allocator capsule fallback panic ##### 🚀 Performance improvements - Lower .sort(maintain\_order=True).head() to streaming top\_k (#24014) - Lower top-k to streaming engine (#23979) - Allow order pass through Filters and relax to row-seperable instead of elementwise (#23969) ##### ✨ Enhancements - Add native streaming for `peaks_{min,max}` (#24039) - IR graph arrows, monospace font, box nodes (#24021) - Add `DataTypeExpr.default_value` (#23973) - Lower `rle` to a native streaming engine node (#23929) - Add support for `Int128` to pyo3-polars (#23959) ##### 🐞 Bug fixes - Scan of multiple sources with `null` datatype (#24065) - Categorical in nested data in row encoding (#24051) - Missing length update in builder for pl.Array repetition (#24055) - Race condition in global categories init (#24045) - Revert "fix: Don't encode entire CategoricalMapping when going to Arrow (#24036)" (#24044) - Error when using named functions (#24041) - Don't encode entire CategoricalMapping when going to Arrow (#24036) - Fix cast on arithmetic with `lit` (#23941) - Incorrect slice-slice pushdown (#24032) - Dedup common cache subplan in IR graph (#24028) - Allow join on Decimal in in-memory engine (#24026) - Fix datatypes for `eval.list` in aggregation context (#23911) - Allocator capsule fallback panic (#24022) - Accept another zlib "magic header" file signature (#24013) - Fix `truediv` dtypes so `cast` in `list.eval` is not dropped (#23936) - Don't reuse cached `return_dtype` for expanded map expressions (#24010) - Cache id is not a valid dot node id (#24005) - Align `map_elements` with and without `return_dtype` (#24007) - Fix column dtype lifetime for `csv_write` segfault on `Categorical` (#23986) - Allow serializing `LazyGroupBy.map_groups` (#23964) - Correct allocator name in `PyCapsule` (#23968) - Mismatched types for `write` function for windows (#23915) - Fix `unpivot` panic when `index=` column not found (#23958) ##### 📖 Documentation - Fix a typo in "lazy/execution" user-guide page (#23983) ##### 🛠️ Other improvements - Update pyo3-polars versions (#24031) - Remove insert\_error\_function (#24023) - Remove cache hits, clean up in-mem prefill (#24019) - Use .venv instead of venv in pyo3-polars examples (#24024) - Fix test failing mypy (#24017) - Remove outdated comment (#23998) - Add a `_plr.pyi` to remove `mypy` issues (#23970) - Don't define CountStar as dyn OptimizationRule (#23976) - Rename `atol` and `rtol` to `abs_tol` and `rel_tol` (#23961) - Introduce `Row{Encode,Decode}` as FunctionExpr (#23933) - Dispatch through `pl.map_batches` and `AnonymousColumnsUdf` (#23867) Thank you to all our contributors for making this release possible! @JakubValtar, @Kevin-Patyk, @borchero, @cmdlineluser, @coastalwhite, @iishutov, @jarondl, @kdn36, @orlp, @rawhuul, @ritchie46 and @stijnherfst