Polars 2.0 Release Candidate Makes the Streaming Engine the Default and Drops Row-Order Guarantees
Polars posted its 2.0 pre-release on 2026-09-02 (224 points on HN). Every LazyFrame query now runs on the streaming engine by default, which the team claims is roughly 5x faster with substantially lower memory on typical workloads, and the release is framed as better defaults and a stricter API rather than new features. The breaking change with teeth is that streaming no longer guarantees row ordering for joins and group_by; callers who depend on it must pass maintain_order=True or fall back to the in-memory engine. is_in now rejects lossy Int64-to-Float64 coercion and horizontal concat requires matching heights. Install with pip install polars==2.0rc1; out-of-core streaming, better S3 performance and cost-based planning are still queued.
Source
↳ Follow the thread