TECH Signal 243 2 feeds carried it
Polars 2.0 pre-release switches LazyFrame default to streaming engine, tightens type and shape errors
Polars 2.0 release candidate makes the streaming engine the default for LazyFrame queries and removes several implicit type coercions and shape accommodations that previously produced silent wrong results.
Code that relied on implicit row ordering after joins, group_by, or unpivot operations will produce different results unless maintain_order is set. Pipelines that silently tolerated type mismatches or mismatched dataframe heights will now raise errors, surfacing bugs that were previously hidden.
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
LazyFrame.collect() now defaults to the streaming engine, which the project estimates is roughly 5x faster in aggregate but does not guarantee row order for joins, group_by, and unpivot.
is_in no longer performs lossy type coercion between incompatible types like Int64 and Float64, raising InvalidOperationError instead of silently producing false matches.
Horizontal concatenation of dataframes with different row counts now raises ShapeError instead of padding the shorter frame with null values; padding requires explicit how="horizontal_extend".
THE CLUSTER
↗