Polars 2.0: five upgrade changes, three of them silent
Polars 2.0.0 shipped on 6 October. Several breaking changes are silent: lazy joins no longer keep row order, Int64 + UInt64 now returns Int128, and exploding an empty list no longer emits a null row. Two more changes are loud: horizontal concat fails on uneven heights and is_in no longer compares ints with floats.
- Lazy joins on the streaming engine no longer guarantee row order, and results differ between runs
- Int64 + UInt64 now returns exact Int128 instead of rounding through Float64
- Exploding an empty list no longer adds a null row: 4 rows become 3
- is_in requires an explicit cast, and which side you cast flips the answer
Read next
AI