# Polars 1.14.0 — Python Polars 1.14.0 - Product: Polars (https://whatsnew.fyi/product/polars) - Vendor: Polars - Date: 2024-11-17 - Version: 1.14.0 - Original notes: https://github.com/pola-rs/polars/releases/tag/py-1.14.0 - Permalink: https://whatsnew.fyi/product/polars/releases/1.14.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'. --- - **changed** — Increase default async thread count for low core count systems - **changed** — Move row group decode off async thread for local streaming parquet scan - **changed** — Support use of Duration in to_string with ergonomic and performance improvements and tz-aware Datetime bugfix - **added** — Raise informative error on Unknown unnest - **added** — Support DataFrame init from raw SQLAlchemy rows - **added** — Add an is_literal method to expression meta namespace - **changed** — A different approach to warning users of fork() issues with Polars - **fixed** — Fix read_database(...,iter_batches=True) type annotations - **fixed** — Validate subnodes in validate IR - **fixed** — Raise if merge non-global categoricals in unpivot - **fixed** — Type hints for window_size incorrectly included timedelta in some rolling functions - **fixed** — Don't panic if column not found - **fixed** — Fix gather of Scalar null + idx w/ validity - **fixed** — Replace _kwargs in collect method - **fixed** — Fix object chunked gather - **fixed** — Fix filter scalar nulls - **fixed** — Replace spaces with   to support showing multiple spaces in HTML repr - **fixed** — Fix Altair tooltip incorrectly applied to plots which did not accept it - **fixed** — Respect schema_overrides in batched csv reader - **fixed** — Fix scanning google cloud with service account credentials file - **fixed** — Release the GIL in Python APIs, part 2 of 2 ##### 🚀 Performance improvements - Increase default async thread count for low core count systems (#19829) - Move row group decode off async thread for local streaming parquet scan (#19828) - Support use of Duration in `to_string`, ergonomic/perf improvement, tz-aware Datetime bugfix (#19697) ##### ✨ Enhancements - Raise informative error on Unknown unnest (#19830) - Support DataFrame init from raw SQLAlchemy rows (#19820) - Support use of Duration in `to_string`, ergonomic/perf improvement, tz-aware Datetime bugfix (#19697) - Add an `is_literal` method to expression `meta` namespace (#19773) - A different approach to warning users of fork() issues with Polars (#19197) ##### 🐞 Bug fixes - Fix `read_database(…,iter_batches=True)` type annotations (#19832) - Validate subnodes in validate IR (#19831) - Raise if merge non-global categoricals in unpivot (#19826) - Type hints for window\_size incorrectly included timedelta in some rolling functions (#19827) - Don't panic if column not found (#19824) - Fix gather of Scalar null + idx w/ validity (#19823) - Replace \_kwargs in collect method (#19618) - Fix object chunked gather (#19811) - Fix filter scalar nulls (#19786) - Replace spaces with \  to support showing multiple spaces in HTML repr (#19783) - Altair tooltip was being incorrectly applied to plots which did not accept it (#19789) - Respect schema\_overrides in batched csv reader (#19755) - Fix scanning google cloud with service account credentials file (#19782) - Release the GIL in Python APIs, part 2 of 2 (#19762) - Fix incorrect filter after right-join on LazyFrame (#19775) - Fix incorrect lazy schema for explode on array columns (#19776) - Fixed typo in file lazy.py (#19769) ##### 📖 Documentation - Update bokeh to use cdn to avoid Bokeh Error (#19788) - Change dprint config (#19747) - Mention `row_by_keys` in the `to_dict` documentation (#19767) - Fix link to Graphviz download (#19791) ##### 🛠️ Other improvements - Add ToField context for common args (#19833) - Use polars parquet reader for delta scan (#19103) - Migrate polars-expr AggregationContext to use `Column` (#19736) Thank you to all our contributors for making this release possible! @MarcoGorelli, @TNieuwdorp, @YichiZhang0613, @alexander-beedie, @braaannigan, @coastalwhite, @engylemure, @gab23r, @iliya-malecki, @ion-elgreco, @itamarst, @jackxxu, @nameexhaustion, @orlp, @ritchie46, @rodrigogiraoserrao and @sn0rkmaiden