Polars 1.12.0

1.12.0

Python Polars 1.12.0

Added 4
  • Implement nested Parquet writing for High-Precision Decimals
  • Add credential_provider argument to more read functions
  • Add IPC sink in new streaming engine
  • Support querying specific snapshot by id in scan_iceberg
Changed 5
  • Address inadvertent quadratic behaviour in expand_columns
  • Move rolling_corr/cov to an actual implementation on Series
  • Don't split par if cast to categorical
  • Improve read_database typing
  • Respect include_index for pandas series
Fixed 10
  • Include Array in to_physical
  • Don't panic in SQL temporal string check; raise suitable ColumnNotFound error
  • Properly raise on mean_horizontal with wrong dtypes
  • Make output dtype known for list.to_struct when fields are passed
  • Ensure sorted flag is unset after Int->String cast
  • Fix row_index of batched reader
Deprecated 1
  • Make some parameters of dt.add_business_days keyword-only
⚠️ Deprecations
  • Make some parameters of dt.add_business_days keyword-only (#19428)
🚀 Performance improvements
  • Address inadvertent quadratic behaviour in expand_columns (#19469)
  • Move rolling_corr/cov to an actual implementation on Series (#19466)
  • Don't split par if cast to categorical (#19462)
✨ Enhancements
  • Implement nested Parquet writing for High-Precision Decimals (#19476)
  • Improve read_database typing (#19444)
  • Respect include_index for pandas series (#19453)
  • Add credential_provider argument to more read functions (#19421)
  • Add IPC sink in new streaming engine (#19431)
  • Support querying specific snapshot by id in scan_iceberg (#19388)
🐞 Bug fixes
  • Include Array in to_physical (#19474)
  • Don't panic in SQL temporal string check; raise suitable ColumnNotFound error (#19473)
  • Properly raise on mean_horizontal with wrong dtypes (#19472)
  • Make output dtype known for list.to_struct when fields are passed (#19439)
  • Address inadvertent quadratic behaviour in expand_columns (#19469)
  • Ensure sorted flag is unset after Int->String cast (#19470)
  • Fix row_index of batched reader (#19465)
  • Fix perfect groupby (#19461)
  • Correct wildcard expansion for functions (#19449)
  • Ensure struct eq/ne_missing also compares outer validity (#19443)
  • Fix incorrect reverse on struct containing NULLs (#19446)
  • Faulty escape_regex example (#19440)
  • Capture groups should be ignored in replace when literal=True (#19413)
  • Fix ColumnNotFound when using pl.element() inside list.eval (#19438)
  • Updates error message in csv parser to recommend schema_overrides instead of deprecated dtypes argument (#19416)
  • Incorrect .join(..., how="left").head(N) if N <= left_df.height() and there are duplicate matches (#19422)
  • Support Array type in more DataType methods (#19427)
  • Bug in group_tuples_perfect, tail was not processed properly (#19417)
  • Ensure that ASCII* table formats do not use the UTF8 ellipsis char when truncating rows/cols/values (#19404)
📖 Documentation
  • Fix docstrings for ATAN2 and ATAN2D SQL functions (#19351)
🛠️ Other improvements
  • Undo conflicting fix (#19463)
  • Simplify rust side of datetime (#19459)
  • Add tests for data mismatch on read_json (#19425)
  • Remove code in examples folder in favor of the user guide (#19430)

Thank you to all our contributors for making this release possible! @alexander-beedie, @cmdlineluser, @coastalwhite, @corleyma, @corwinjoy, @dvillaveces, @eitsupi, @gab23r, @janscholten, @nameexhaustion, @orlp, @ritchie46, @siddharth-vi, @stinodego and @wakabame

View original

Upgraded? How did it go?

Discussion