# Polars 1.34.0-beta.5 — Python Polars 1.34.0-beta.5 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2025-10-01 - Version: 1.34.0-beta.5 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.34.0-beta.5 - Permalink: https://whatsnew.fyi/product/polars/releases/1.34.0-beta.5 - Labels: Pre-release 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'. --- - **added** — Add LazyFrame.sink_batches and LazyFrame.collect_batches - **added** — Add support to output dt.total_{}() duration values as fractionals - **added** — Add unstable hidden_file_prefix parameter to scan_parquet - **added** — Add support for unsigned 128-bit integers - **added** — Add unstable pl.Config.set_default_credential_provider - **added** — Add opt-in unstable functionality to load interval types as Struct - **added** — Support unique / n_unique / arg_unique for array columns - **added** — Support scanning from file:/path URIs - **added** — Add support to display lazy query plan in marimo notebooks without needing to install matplotlib or mermaid - **added** — Support reading parquet metadata from cloud storage - **changed** — Implement maintain_order for cross join - **changed** — Deterministic import order for Python Polars package variants - **changed** — Avoid forcing a pyarrow dependency in read_excel when using the default calamine engine - **changed** — Use fixed-scale Decimals - **changed** — Roundtrip BinaryOffset type through Parquet - **fixed** — Make Categories pickleable - **fixed** — Shift on array within list - **fixed** — Support reading of mixed compressed/uncompressed IPC buffers - **fixed** — Overflow in slice-slice optimization - **fixed** — Method dt.month_end was unnecessarily raising when the month-start timestamp was ambiguous ##### 🏆 Highlights - Add `LazyFrame.{sink,collect}_batches` (#23980) - Deterministic import order for Python Polars package variants (#24531) ##### 🚀 Performance improvements - Pushdown filter with `strptime` if input is literal (#24694) - Avoid copying expanded paths (#24669) - Relax filter expr ordering (#24662) - Remove unnecessary `groups` call in `aggregated` (#24651) - Skip files in `scan_iceberg` with filter based on metadata statistics (#24547) - Push row\_index predicate for all scan types (#24537) - Perform integer in-filtering for Parquet inequality predicates (#24525) - Stop caching Parquet metadata after 8 files (#24513) - Native streaming `.mode()` expression (#24459) ##### ✨ Enhancements - Implement maintain\_order for cross join (#24665) - Add support to output `dt.total_{}()` duration values as fractionals (#24598) - Avoid forcing a `pyarrow` dependency in `read_excel` when using the default "calamine" engine (#24655) - Support scanning from `file:/path` URIs (#24603) - Log which file the schema was sourced from, and which file caused an extra column error (#24621) - Add `LazyFrame.{sink,collect}_batches` (#23980) - Deterministic import order for Python Polars package variants (#24531) - Add support to display lazy query plan in marimo notebooks without needing to install matplotlib or mermaid (#24540) - Add unstable `hidden_file_prefix` parameter to `scan_parquet` (#24507) - Use fixed-scale Decimals (#24542) - Add support for unsigned 128-bit integers (#24346) - Add unstable `pl.Config.set_default_credential_provider` (#24434) - Roundtrip `BinaryOffset` type through Parquet (#24344) - Add opt-in unstable functionality to load interval types as `Struct` (#24320) - Support reading parquet metadata from cloud storage (#24443) - Add user guide section on AWS role assumption (#24421) - Support `unique` / `n_unique` / `arg_unique` for `array` columns (#24406) ##### 🐞 Bug fixes - Make `Categories` pickleable (#24691) - Shift on array within list (#24678) - Fix handling of `AggregatedScalar` in `ApplyExpr` single input (#24634) - Support reading of mixed compressed/uncompressed IPC buffers (#24674) - Overflow in slice-slice optimization (#24658) - Package discovery for `setuptools` (#24656) - Add type assertion to prevent out-of-bounds in `GenericFirstLastGroupedReduction` (#24590) - Remove inclusion of polars dir in runtime sdist/wheel (#24654) - Method `dt.month_end` was unnecessarily raising when the month-start timestamp was ambiguous (#24647) - Widen `from_dicts` to `Iterable[Mapping[str, Any]]` (#24584) - Fix `unsupported arrow type Dictionary` error in `scan_iceberg()` (#24573) - Raise Exception instead of panic when unnest on non-struct column (#24471) - Include missing feature dependency from `polars-stream/diff` to `polars-plan/abs` (#24613) - Newline escaping in streaming show\_graph (#24612) - Do not allow inferring (`-1`) the dimension on any `Expr.reshape` dimension except the first (#24591) - Sink batches early stop on in-memory engine (#24585) - More precisely model expression ordering requirements (#24437) - Panic in zero-weight rolling mean/var (#24596) - Decimal \<-> literal arithmetic supertype rules (#24594) - Match various aggregation return types in the streaming engine with the in-memory engine (#24501) - Validate list type for list expressions in planner (#24589) - Fix `scan_iceberg()` storage options not taking effect (#24574) - Have `log()` prioritize the leftmost dtype for its output dtype (#24581) - CSV pl.len() was incorrect (#24587) - Add support for float inputs for duration types (#24529) - Roundtrip empty string through hive partitioning (#24546) - Fix potential OOB writes in unaligned IPC read (#24550) - Fix regression error when scanning AWS presigned URL (#24530) - Make `PlPath::join` for cloud paths replace on absolute paths (#24514) - Correct dtype for cum\_agg in streaming engine (#24510) - Restore support for np.datetime64() in pl.lit() (#24527) - Ignore Iceberg list _[Truncated at 4000 characters — full notes: https://github.com/pola-rs/polars/releases/tag/py-1.34.0-beta.5]_