py-1.40.1
plait-board/drawnixpy-1.40.1Apr 22, 2026by github-actions[bot]
AI Summary
A maintenance release focused on performance improvements, specifically skipping validity mask processing in array operations, along with enhancements to sorting and bug fixes for group-by and list sampling.
Key Highlights
- Performance improvement: Skip validity mask processing when no nulls exist
- Enhancement: Add maintain_order parameter to merge_sorted
- Bug fixes: Honor having predicate in GroupBy iter
- Bug fixes: Fix reduce_balanced and list.sample() issues
- Documentation updates and Cargo deny integration
New Features
- maintain_order parameter for merge_sorted function
Full Release Notes
## 🚀 Performance improvements - Skip validity mask processing in \_\_array\_ufunc\_\_ when no inputs have nulls (#27358) ## ✨ Enhancements - Cargo deny (#27363) - Add `maintain_order` parameter to `merge_sorted` (#27263) ## 🐞 Bug fixes - Honor `having` predicate in `GroupBy` iter (#27370) - Use the physical dtype for `NumUnorderedImplodeReducer` arrow `ListArray` (#27375) - Address bug in `reduce_balanced` for certain input length lists affecting `pl.concat` (#27352) - Ensure `list.sample()` allows `fraction` > 1 when `with_replacement=True` (#27350) - Ensure `append()` errors when `upcast=False` (#27346) - Always rechunk sorts, prune sorts even in eager execution (#27356) - Fix typing for `DataFrame.__init__` and `Series.__init__` so they don't require all optional dependencies to be installed (#27348) ## 📖 Documentation - Split out openlineage docs into guide and configuration (#27371) - Add explanation on the observatory sqlite db file (#27354) ## 🛠️ Other improvements - Disable mypy type checking for `pyarrow` calls (#27377) - Disable debug symbols in macos coverage tests (#27361) - Cargo deny (#27363) Thank you to all our contributors for making this release possible! @EndPositive, @Kevin-Patyk, @MarcoGorelli, @carnarez, @dsprenkels, @gab23r, @jonathanchang31, @kdn36, @mzjp2 and @ritchie46