🏆 Highlights
- new implementation for
String/Binary
type. (#13748)
🚀 Performance improvements
- speedup boolean filter (#13905)
- speedup binview filter (#13902)
- allow python threads in read_ functions (#13886)
- improve binview filter (#13878)
- apply string view GC more conservatively (#13850)
- add optimized BinaryViewArray comparison kernels (#13839)
- lazy cache binview bytes len (#13830)
- fast-path for eager int_range (#13811)
- Optimize
arr.sum
for inner non-null bool (#13800)
✨ Enhancements
- register 'set_sorted' as batch/elementwise (#13896)
- move Enum/Categorical categories to binview (#13882)
- Add
ignore_nulls
forlist.join
(#13701) - Add
ignore_nulls
forpl.concat_str
(#13877) - Align
int_range
andint_ranges
signatures (#13867) - fix parquet for binview (#13873)
- support mmap for binview in OOC (#13872)
- implement ffi for
binview
(#13871) - Support zero fill null strategy for binary and string columns (#13869)
- allow df.rename and lf.rename to take a renaming function (#13708)
- Implement/fix unary minus operator
-pl.col(...)
(#13776) - extend SQL
EXTRACT
with "century", "millennium", and "timezone" parts (#13634) - fix binview ipc format (#13842)
- add SQL support for
numeric
and/ordecimal
types (#13739) - improve panic message (#13836)
- Expressify
str.zfill
(#13790) - new implementation for
String/Binary
type. (#13748) - Add typing to hvplot plot namespace (#13813)
- Add
nulls_last
forSeries.sort
(#13794) - allow
ftp
URLs, improve URL check (#13781)
🐞 Bug fixes
- prune emtpy chunks before set operations (#13898)
- treat null columns as zero in
sum_horizontal
(#13880) - include null count in rolling window validity with
min_periods
(#13863) - Fix interchange protocol for new String type (#13881)
- parquet hybrid RLE encoding did not always align to bit width (#13883)
- Add
ignore_nulls
forlist.join
(#13701) - .dt.time() was panicking for datetimes prior to unix epoch (#13812)
- allow list creation of decimals (#13851)
- ensure kwargs
filter
behaviour matches docstring (expect equivalence witheq
) (#13864) - Implement
abs
for Decimal, error on Date/Time/Datetime (#13821) - rolling nested groups deadlock (#13835)
gather_every
should work on agg context (#13810)- Fix segfault of
is_in
(#13814) - don't panic on full null qcut (#13815)
- validate operator arithmetic with
None
, fixSeries
edge-case (#13780)
📖 Documentation
- Mention deltalake write support in README (#13890)
- use proper argument names in the code blocks of api.rst (#13866)
🛠️ Other improvements
- move
filter
topolars-compute
(#13897) - Revert pandas warning filter (#13893)
- Make functions in
expr/general
non-anonymous (#13832) - Fix doctests (#13831)
- Refactor Python release workflow (#13807)
Thank you to all our contributors for making this release possible!
@ByteNybbler, @MarcoGorelli, @Wainberg, @alexander-beedie, @dependabot, @dependabot[bot], @edavisau, @flisky, @ion-elgreco, @itamarst, @kstoneriv3, @mcrumiller, @mkucijan, @nameexhaustion, @orlp, @reswqa, @ritchie46, @stinodego, @taki-mekhalfa and @thomasaarholt