🏆 Highlights
- add
plot
namespace (which defers to hvplot) (#13238)
🚀 Performance improvements
- optimize set bit count (#13317)
- speed up
.dt.truncate
for large numbers of years (#13310) - don't eagerly evaluate error branches (#13311)
- don't trigger internal borrwing in numpy memmap (#13304)
- don't needlessly allocate validity in concat/rechunk (#13288)
- add fast path to
count_bits_set_by_offsets
(#13253) - make
.dt.truncate('*mo')
more than 3x faster (#13192)
✨ Enhancements
- support negative indices in
gather
ingroup_by
context (#13373) - validate Enum categories (#13356)
- improve Series/DataFrame init from existing Series/DataFrame objects (#13344)
- support negative indexing in gather (select context) (#13343)
- support min_periods for temporal rolling aggregations (#13342)
- support
REGEXP
andRLIKE
pattern matching in SQL engine (#13359) - emit suggestion for how to replace map_elements sigmoid function with expressions (#13347)
- Support Enum types in interchange protocol (#13368)
- add plot namespace (which defers to hvplot) (#13238)
- gracefully handle panics in plugins (#13329)
- rework
pl.exclude
as a pure selector, allowing other selectors as input (#13301) - Implement
unique/n_unique/unique_counts/is_unique/is_duplicated
forNull
series (#13307) - support common variant spelling
STDEV
in the SQL engine (in addition toSTDDEV
) (#13303) - enhance expression-level
filter
syntax with support for multiple predicates and kwargs (#12689) - change doc links to new url docs.pola.rs (#13290)
- support horizontal concatenation of LazyFrames (#13139)
- Rename
Utf8
data type toString
, keepUtf8
as alias (#13257) - dispatch strict_cast via cast (#13255)
- Impl any/all for array type (#13250)
- add cancellable queries (#13178)
- add
offset
parameter togather_every
(#13156) - Support
Array
dtype AnyValue Series construction (#12817) - Allow
step
parameter inint_ranges
to take an expression (#13148) - make python
map_batches
safer (#13181) - Implement
count
for DataFrame/LazyFrame (#13153)
🐞 Bug fixes
- don't lose track of
ones
andzeros
dtype, improve use withArray
, raise error if dtype invalid (#13326) - updated Display trait for enum categoricals (#13331)
- nested dtypes: export logical type in plugins (#13325)
- fix invalid dtype setting in array (#13327)
- fix
csv
parser error when commented-out rows precede the header row (#13318) - invalid schema outer join after projection pd (#13315)
- invalid predicate optimization (#13313)
- Account for null values in categorical
unique/n_unique
(#13308) - fix schema when subtracting (#13309)
- broadcasting of unit LHS in string operations (#12737)
- sorting categorical lexically bugs on null values (#13271)
- improve replace on categoricals (#13223)
- round trip to JSON and back should preserve Enum type (#13267)
- fix return type hint of list series any/all (#13265)
- sink_csv deadlock (#13239)
- Correctly use
read_parquet
for all binary inputs (#13218) is_in
operator for categoricals (#13205)- Better handle mismatched dtypes in
replace
(#13213) - Fix
replace
fast path by castingold
input to the right data type (#13176) - ndjson nested null schema inference (#13206)
- don't cast to unknown dtypes (#13197)
- maintain old join behavior in window expression (#13179)
🛠️ Other improvements
- reverse condtion order in udfs _expr function (#13348)
- Update release workflow for new upload/download artifact versions (#13355)
- Allow construction of
Series
from memory buffers (#13323) - add 'pipe littering' to 'coming from pandas' section (#13335)
- Refactor functionality related to Series buffers (#13291)
- Restore light/darkmode switch in API reference (#13312)
- Copy Makefile build commands to top level (#13293)
- Fix release flags (#13298)
- Re-enable consortium standard tests (#13296)
- Update CODEOWNERS (#13292)
- Add CPU compatibility check (#13134)
- Change base url of docs/guide to
docs.pola.rs
(#13281) - Fix source link for dev docs (#13279)
- fix return type hint of list series any/all (#13265)
- Fix display of overloaded signatures (#13258)
- clean up bytecode parsing a bit (#13221)
- Add a couple of docstring examples to Series methods (#13244)
- remove unnecessary arg unpacking (#13241)
- update rustc (#13219)
- fix horizontal concatenation documentation (#13141)
- Replace blackdoc by ruff's new docstring formatter (#13182)
- Update ruff & ruff settings (#13126)
- Link to latest object_store docs in api doc (#13180)
- Fix failing test (#13171)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @TNieuwdorp, @adamreeve, @alexander-beedie, @c-peters, @cjfuller, @dependabot, @dependabot[bot], @mcrumiller, @nameexhaustion, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @robvanmieghem and @stinodego