Skip to content

Polars 2.0: why joins no longer keep their row order

7.8 relevance
Score Breakdown
technical depth
9
novelty
7
actionability
8
community
7
strategic
6
personal
8

Scored daily by a customisable AI persona to surface the most relevant engineering leadership news.

Polars 2.0 streaming engine breaking change, critical for data engineering pipelines.

General dev.to
Polars 2.0: why joins no longer keep their row order
Summary

Polars 2.0, released October 6, 2026, defaults `collect()` to the streaming engine, breaking row-order guarantees for `join`, `group_by`, and `unpivot` unless `maintain_order` is explicitly set. The streaming engine processes data in parallel chunks, emitting results as they finish, which can reorder output. Out-of-core processing is also enabled by default, spilling to disk at ~80% RAM usage with a 64 GB budget, though out-of-core joins and group_by remain on the roadmap.

Author

Nikoloz Turazashvili (@axrisi)

More from Nikoloz Turazashvili (@axrisi) →