Narwhals

Latest version: v1.26.0

Safety actively analyzes 706259 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 25

1.14.2

Changes

✨ Enhancements

- feat: improve error message when casting to invalid type (1429)
- feat: add support for `Series|Expr.skew` method (1173)
- feat: make sure `from narwhals.stable.v1.dependencies` import works (1430)
- feat: support `constraints` in `DataFrame.filter` (1417)
- feat: add `Expr|Series.rolling_mean` method (1290)

🐞 Bug fixes

- fix: return Python bool instead of pyarrow boolean scalar for Series reductions (1432)
- fix: correct minimum Polars version for ewm_mean (1415)

📖 Documentation

- docs: use type hints + from_native/to_native in dataframe.py (1425)
- docs: explain optional boolean args in from_native (1421)
- docs: Add documentation for LazyGroupBy (1423)
- docs: add Plotly to the list of projects using Narwhals in README.md (1418)
- docs: use type hints + from_native/to_native in dataframe.py (1411)
- docs: use type hints + from_native/to_native in series.py (1408)
- docs: add vegafusion to "used by" on readme (1409)
- docs: use from_native / to_native in series.py (1406)
- docs: use boolean columns in any/all horizontal docstrings (1403)
- docs: use from_native / to_native in expr.py (1404)

🛠️ Other improvements

- ci: temporarily pin olama (1422)
- fix: correct minimum Polars version for ewm_mean (1415)

Thank you to all our contributors for making this release possible!
CarloLepelaars, DeaMariaLeon, FBruzzesi, MarcoGorelli, gvwilson, marenwestermann and raisadz

1.14.1

Changes

✨ Enhancements

- feat: Adding ewm_mean (1298)
- feat: add Series|Expr.rolling_sum method (1395)

🐞 Bug fixes

- fix: remove rogue "t" in ColumnNotFoundError (1398)

🛠️ Other improvements

- ci: add plotly to downstream tests (1376)
- ci: prevent ibis from setting upper bounds (where possible) (1399)

Thank you to all our contributors for making this release possible! FBruzzesi, DeaMariaLeon, and MarcoGorelli

1.14.0

Changes

✨ Enhancements

- feat: add `Series|Expr.is_finite` method (1341)
- feat: make exceptions module public (1391)
- feat: consistently raise `ColumnNotFoundError` for missing columns in `select` and `drop` (1389)
- feat: add `Series|Expr.cum_prod` method, add `reverse` kw in `cum_sum` method (1386)
- feat: add `Series|Expr` `cum_min` and `cum_max` methods (1384)
- feat: Improve error message when comparing Series with list literal, or when using multi-output expressions in unsupported context (1382)
- feat: add `Series|Expr.cum_count` method (1380)

📖 Documentation

- docs: add missing description for left join strategy (1396)
- docs: pandas boolean content tabs (1394)
- docs: Add page about pandas booleans (1392)
- docs: Show ExprT as return type for Expr namespaces (1388)
- docs: Start using Darglint (1387)
- docs : docstrings examples - dtypes (1121)
- docs: Document more return types (1381)
- docs: Avoid copying >>> and ... from clipboard (1375)

🛠️ Other improvements

- chore: update `InvalidIntoExprError` to mention `nw.lit` (1393)
- chore: Consistent invalid `IntoExpr` error (1379)
- feat: consistently raise `ColumnNotFoundError` for missing columns in `select` and `drop` (1389)
- chore: suggest to add issue number in pr template (1378)
- chore: More Polars typing, update 'used by', link to roadmap (1377)
- chore: cleanup tpch execute (1374)

Thank you to all our contributors for making this release possible!
DeaMariaLeon, EdAbati, FBruzzesi, LiamConnors, MarcoGorelli, anopsy and raisadz

1.13.5

Changes

:rocket: Performance improvements

- perf: simplify pandas-like `with_columns` (1366)

:sparkles: Enhancements

- feat: add `DataFrame.pivot` for pandas like and Polars backend (546)

🐞 Bug fixes

- fix: pandas and arrow `to_dummies` with nulls (1040)

:book: Documentation

- docs: improve `new_series` docstring (1365)

:hammer_and_wrench: Other improvements

- test: unxfail `test_to_dummies_drop_first_na` for cudf (1364)
- chore: More typing in _polars (1363)
- chore: Improve typing in _polars/utils (1358)
- chore: add issue_deprecation_warning to generate_unique_token function (1359)
- chore: refactor `ArrowDataFrame.with_columns` (1345)

Thank you to all our contributors for making this release possible!
FBruzzesi, MUKESHRAJMAHENDRAN, MarcoGorelli and raisadz

1.13.4

Changes

🚀 Performance improvements

- perf: Prefer getitem instead of loc for selecting multiple columns in pandas-like (1355)
- perf: replace loc with getitem in Dask (1356)

✨ Enhancements

- feat: support passing index object directly into maybe_set_index (1319)
- feat: add more parameters to the fill_null method (1149)
- feat: Adding support for Expr.map_batches (1269)
- feat: pyarrow automated inference of format `%Y%m%d%H%M%S` (1326)
- feat: add support for `median` (1212)
- feat: allow mapping in `replace_strict` method (1340)

🐞 Bug fixes

- fix: remove TODO in `PandasLikeDataFrame.to_dict` (1352)
- fix: Fix `nw.lit` out names (1347)

📖 Documentation

- docs: used by `tabmat` (1339)

🛠️ Other improvements

- test: fix docstrings tests in CI (1354)
- test: remove cuDF xfail for tests/series_only/to_list_test.py::test_to_list (1353)
- chore: Rename some internals (1351)
- ci: remove dask from tpch tests (1348)
- ci: pin websockets, fixup 3.13 doctests, remove unnecessary xfail (1343)
- test: Add a hypothesis test for __getitem__ (1098)

Thank you to all our contributors for making this release possible!
AlessandroMiola, DeaMariaLeon, FBruzzesi, IsaiasGutierrezCruz, MarcoGorelli, Riik, raisadz and sjdenny

1.13.3

Changes

- enabled inventory for intersphinx (1330)

🚀 Performance improvements

- perf: improve `ArrowGroupBy.__iter__` performances (1334)

✨ Enhancements

- feat: add `replace` and `replace_strict` (1327)
- feat: support to_list for cudf, note limitations (1335)
- feat: add `maintain_order` to Expr.unique and Series.unique (1333)

📖 Documentation

- docs: add "returns" documentation to functions.py (1331)
- docs: update README with entry in Appears on section (1332)

🛠️ Other improvements

- ci: trigger slow downstream libraries tests suites before release (1321)

Thank you to all our contributors for making this release possible!
AlessandroMiola, EdAbati, FBruzzesi, MarcoGorelli, marenwestermann, raisadz and srivarra

Page 5 of 25

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.