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_every` in main namespace (but maintain it in stable.v1) (2103)
- test(typing): fix `DataFrame.sort_values` overload match (2109)
🚀 Performance improvements
- perf: Avoid redefining `lambda` in `*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 `Series` to `v1` (2110)
- feat: align `over` signature with Polars (2096)
- chore: Finalize support for SQLFrame (2038)
🐞 Bug fixes
- fix(typing): Include `Expr` in `fill_null` signature (2129)
- fix: Allow exprs in `.filter` constraints (2114)
- fix: `pyspark` unpivot with index `None` (2090)
📖 Documentation
- docs: Add API example docs for Field dtype (2131)
- docs: add `Implementation` page (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 `lambda` in `*Namespace.all` (2102)
- chore: rename changes_length to filtration (2094)
- chore: add `has_open_windows` to `ExprMetadata` instead of `is_order_dependent` (2078)
- chore(typing): Resolve `_dask` errors (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