Polars: py-0.20.31 Release

Release date:
June 1, 2024
Previous version:
py-0.20.30 (released May 26, 2024)
Magnitude:
0 Diff Delta
Contributors:
0 total committers
Data confidence:
Commits:

Top Contributors in py-0.20.31

Could not determine top contributors for this release.

Directory Browser for py-0.20.31

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

[!IMPORTANT]
The decision to change the default coalesce behavior of left join has been reversed. You can ignore the associated deprecation warning.

⚠️ Deprecations

  • Rename dtypes parameter to schema_overrides for read_csv/scan_csv/read_csv_batched (#16628)
  • Deprecate nulls_last/maintain_order/multithreaded parameters for top_k methods (#16597)
  • Rename SQLContext "eager_execution" param to "eager" (#16595)
  • Rename Series.equals parameter strict to check_dtypes and rename assertion utils parameter check_dtype to check_dtypes (#16573)
  • Add DataFrame.serialize/deserialize (#16545)
  • Deprecate str.explode in favor of str.split("").explode() (#16508)
  • Deprecate default coalesce behavior of left join (#16532) - !! Reversed in 1.0.0 - see message above !!

πŸš€ Performance improvements

  • make truncate 4x faster in simple cases (#16615)
  • Cache arena's (and conversion) in SQL context (#16566)
  • Partial schema cache. (#16549)

✨ Enhancements

  • Support per-column nulls_last on sort operations (#16639)
  • Initial support for SQL ARRAY literals and the UNNEST table function (#16330)
  • Don't allow struct.with_fields in grouping (#16629)
  • improve support for user-defined functions that return scalars (#16556)
  • Add SQL support for TRY_CAST function (#16589)
  • Add top-level pl.sql function (#16528)
  • Expose temporal function expression ops to expr ir (#16546)
  • Add DataFrame.serialize/deserialize (#16545)
  • check if by column is sorted, rather than just checking sorted flag, in group_by_dynamic, upsample, and rolling (#16494)

🐞 Bug fixes

  • Potentially deal with empty range (#16650)
  • Use of SQL ORDER BY should not cause reordering of SELECT cols (#16579)
  • ensure df in empty parquet (#16621)
  • Fix Array constructor when inner type is another Array (#16622)
  • Fix parsing of shape in Array constructor and deprecate width parameter (#16567)
  • Crash using empty Series in LazyFrame.select() (#16592)
  • improve support for user-defined functions that return scalars (#16556)
  • Resolve multiple SQL JOIN issues (#16507)
  • Project last column if count query (#16569)
  • Properly split struct columns (#16563)
  • Ensure strict chunking in chunked partitioned group by (#16561)
  • Error selecting columns after non-coalesced join (multiple join keys) (#16559)
  • Don't panic on hashing nested list types (#16555)
  • Crash selecting columns after non-coalesced join (#16541)
  • Fix group gather of single literal (#16539)
  • throw an invalid operation exception on performing a sum over a list of strs (#16521)
  • Fix DataFrame.__getitem__ for empty list input - df[[]] (#16520)
  • Fix issue in DataFrame.__getitem__ with 2 column inputs (#16517)

πŸ“– Documentation

  • Overview of available SQL functions (#16268)
  • Update filter description to clarify that null evaluations are removed (#16632)
  • Include warning in docstrings that accessing LazyFrame properties may be expensive (#16618)
  • Add a few versionadded tags, and add is_column_selection to the Expr meta docs (#16590)
  • Fix bullet points not rendering correctly in DataFrame.join docstring (#16576)
  • Remove erroneous implode reference from the user guide section on window functions (#16544)

πŸ“¦ Build system

  • Run cargo update (#16574)

πŸ› οΈ Other improvements

  • Add test for 16642 (#16646)
  • Remove duplicate tag in CODEOWNERS (#16625)
  • Update dprint hook versions and enable JSON linting (#16611)
  • Fewer typing.no_type_check (#16497)

Thank you to all our contributors for making this release possible! @MarcoGorelli, @alexander-beedie, @coastalwhite, @hattajr, @itamarst, @mcrumiller, @nameexhaustion, @r-brink, @ritchie46, @stinodego, @twoertwein and @wence-