Changes
- test: enhance xfail markers with specific reasons in timestamp_test.py (#2065)
- refactor: Generic
CompliantSelector(#2064) - docs: more concise docstrings(#2068) (#2117)
- chore: deprecate
LazyFrame.gather_everyin main namespace (but maintain it in stable.v1) (#2103) - test(typing): fix
DataFrame.sort_valuesoverload match (#2109)
🚀 Performance improvements
- perf: Avoid redefining
lambdain*Namespace.all(#2102) - perf: avoid full broadcast for otherwise_value in when/then/otherwise (#2098)
- perf: use cached property for schema/columns lazy frames (#2093)
- perf: only validate duplicate column names when collecting for duckdb/pyspark/dask (#2092)
✨ Enhancements
- feat: Adds
nw.exclude(#2122) - feat: Add support for pandas-like
.diff().over(group)(#2128) - fill_null with expression (#2106)
- feat: Adds
DataFrame.iter_columns(#2104) - feat: str.split (#1932) (#2054)
- feat(typing): Backport generic
Seriestov1(#2110) - feat: align
oversignature with Polars (#2096) - chore: Finalize support for SQLFrame (#2038)
🐞 Bug fixes
- fix(typing): Include
Exprinfill_nullsignature (#2129) - fix: Allow exprs in
.filterconstraints (#2114) - fix:
pysparkunpivot with indexNone(#2090)
📖 Documentation
- docs: Add API example docs for Field dtype (#2131)
- docs: add
Implementationpage (#2107) - docs: concise_docstrings (#2068) (#2086)
🛠️ Other improvements
- refactor: Simplify
ArrowGroupBy.__iter__(#2133) - chore: simplify pandas-like over (#2127)
- chore(typing): Generic
CompliantDataFrame(#2115) - chore(typing): enable typing checks for
pyspark(#2051) - chore(typing): remove unused, ignored
TypeVar(#2108) - chore(typing): fix
group_by(#2105) - perf: Avoid redefining
lambdain*Namespace.all(#2102) - chore: rename changes_length to filtration (#2094)
- chore: add
has_open_windowstoExprMetadatainstead ofis_order_dependent(#2078) - chore(typing): Resolve
_daskerrors (#2087) - refactor(typing): Use a forward ref for
IntoCompliantExpr(#2088) - chore(typing): Fix
(Pandas|Arrow)(When|Then)(#2089) - refactor(ruff): enable some preview rules (#2042)
Thank you to all our contributors for making this release possible!
@EdAbati, @FBruzzesi, @MarcoGorelli, @dangotbanned, @janpipek, @luke396, @skritsotalakis and @thomasjpfan