# Polars 1.12.0 — Python Polars 1.12.0 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2024-10-27 - Version: 1.12.0 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.12.0 - Permalink: https://whatsnew.fyi/product/polars/releases/1.12.0 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'. --- - **deprecated** — Make some parameters of dt.add_business_days keyword-only - **changed** — Address inadvertent quadratic behaviour in expand_columns - **changed** — Move rolling_corr/cov to an actual implementation on Series - **changed** — Don't split par if cast to categorical - **added** — Implement nested Parquet writing for High-Precision Decimals - **changed** — Improve read_database typing - **changed** — Respect include_index for pandas series - **added** — Add credential_provider argument to more read functions - **added** — Add IPC sink in new streaming engine - **added** — Support querying specific snapshot by id in scan_iceberg - **fixed** — Include Array in to_physical - **fixed** — Don't panic in SQL temporal string check; raise suitable ColumnNotFound error - **fixed** — Properly raise on mean_horizontal with wrong dtypes - **fixed** — Make output dtype known for list.to_struct when fields are passed - **fixed** — Ensure sorted flag is unset after Int->String cast - **fixed** — Fix row_index of batched reader - **fixed** — Fix perfect groupby - **fixed** — Correct wildcard expansion for functions - **fixed** — Ensure struct eq/ne_missing also compares outer validity - **fixed** — Fix incorrect reverse on struct containing NULLs ##### ⚠️ Deprecations - Make some parameters of `dt.add_business_days` keyword-only (#19428) ##### 🚀 Performance improvements - Address inadvertent quadratic behaviour in `expand_columns` (#19469) - Move rolling\_corr/cov to an actual implementation on Series (#19466) - Don't split par if cast to categorical (#19462) ##### ✨ Enhancements - Implement nested Parquet writing for High-Precision Decimals (#19476) - Improve `read_database` typing (#19444) - Respect `include_index` for pandas series (#19453) - Add `credential_provider` argument to more read functions (#19421) - Add IPC sink in new streaming engine (#19431) - Support querying specific snapshot by id in `scan_iceberg` (#19388) ##### 🐞 Bug fixes - Include Array in `to_physical` (#19474) - Don't panic in SQL temporal string check; raise suitable `ColumnNotFound` error (#19473) - Properly raise on mean\_horizontal with wrong dtypes (#19472) - Make output dtype known for `list.to_struct` when `fields` are passed (#19439) - Address inadvertent quadratic behaviour in `expand_columns` (#19469) - Ensure sorted flag is unset after Int->String cast (#19470) - Fix row\_index of batched reader (#19465) - Fix perfect groupby (#19461) - Correct wildcard expansion for functions (#19449) - Ensure struct `eq/ne_missing` also compares outer validity (#19443) - Fix incorrect reverse on struct containing NULLs (#19446) - Faulty `escape_regex` example (#19440) - Capture groups should be ignored in replace when literal=True (#19413) - Fix `ColumnNotFound` when using `pl.element()` inside `list.eval` (#19438) - Updates error message in csv parser to recommend schema\_overrides instead of deprecated dtypes argument (#19416) - Incorrect `.join(..., how="left").head(N)` if `N <= left_df.height()` and there are duplicate matches (#19422) - Support Array type in more DataType methods (#19427) - Bug in group\_tuples\_perfect, tail was not processed properly (#19417) - Ensure that `ASCII*` table formats do not use the UTF8 ellipsis char when truncating rows/cols/values (#19404) ##### 📖 Documentation - Fix docstrings for ATAN2 and ATAN2D SQL functions (#19351) ##### 🛠️ Other improvements - Undo conflicting fix (#19463) - Simplify rust side of `datetime` (#19459) - Add tests for data mismatch on `read_json` (#19425) - Remove code in `examples` folder in favor of the user guide (#19430) Thank you to all our contributors for making this release possible! @alexander-beedie, @cmdlineluser, @coastalwhite, @corleyma, @corwinjoy, @dvillaveces, @eitsupi, @gab23r, @janscholten, @nameexhaustion, @orlp, @ritchie46, @siddharth-vi, @stinodego and @wakabame