Polars 2.0 makes streaming the default and adds partial disk spilling
Polars 2.0 now uses its streaming engine by default when collecting a lazy query. It also enables spilling supported operations to disk when memory fills, expands SQL support and introduces a Map data type. The change matters for correctness as well as memory: some operations no longer preserve an observable row order unless explicitly requested.
Polars · Oct 6, 2026
Why it matters
Data pipelines need migration checks for ordering and types, even when their existing queries still run.
More context
Try the released version with the migration guide and representative workloads. Use maintain_order where ordering is required. Initial disk spilling covers sorts, window functions and many expressions; joins and group-bys remain planned. The default disk budget is 64 GB.
Keep in mind
Not every high-memory query can spill yet. Published performance comparisons use specific machines and best-of-five hot runs, with some unsuccessful comparison queries excluded for all engines. We have not rerun them, and they do not establish a universal engine ranking.
Original read