🚀 Performance improvements
- Make all expensive imports lazy
- ~85%
(#5287) - remove pandas imports (#5286)
- never import hypothesis in user code (#5282)
✨ Enhancements
- expose to_struct to series list namespace (#5298)
- improve dynamic inference of struct types (#5297)
- don't panic in failing apply (#5294)
- improve error message in struct apply (#5291)
- accept schema in read_dicts (#5290)
- Do not import polars.testing by default (#5284)
- Pass more options to pyarrow in write_parquet (#5278) (#5280)
- date_range expression (#5267)
- allow implicit None branch in when then otherwise (#5264)
- show expression where error originated if raised … (#5263)
- improve error msg if window expressions length do… (#5262)
- pl.ones, pl.zeros and Series.new_from_index functions (#5260)
- Add round for date and datetime (#5153)
- new
n_chars
functionality for utf8 strings (#5252) - added new
Config
formatting optionset_tbl_column_data_type_inline
, fixed reading of env vars, improved interaction between formatting options (#5243)
🐞 Bug fixes
- throw error on invalid lazy concat strategy (#5292)
- fix to_pandas edge case (#5293)
- properly interpret FMT_MAX_ROWS - remove arbitrary minimum, fix Series formatting (#5281)
- respect schema overwrite in from rows (#5275)
- don't block non matching groups in binary expression (#5273)
- fix logical type of nested take (#5271)
- Check if
BatchedCsvReader.next_batches()
is None befor… (#5256) - include single null value in global cat builder (#5254)
- Check multiprocessing start_method on import (#3144) (#5237)
🛠️ Other improvements
- Add ModuleType for import functions in import_check.py (#5289)
Thank you to all our contributors for making this release possible!
@alexander-beedie, @ghuls, @owrior and @ritchie46