Published June 8, 2026
| Version v2.9.1
Software
Open
Awkward Array
Authors/Creators
- 1. Princeton University
- 2. Manipal Institute Of Technology
- 3. Purdue University
- 4. National Institute of Technology, Durgapur
- 5. Fermilab
- 6. Harvard University
- 7. Rice University
Description
New features
- feat: improve and test big-endian support by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3676
- feat: implement array compatibility/interface protocols for virtual array and placeholder array (for better errors) by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3839
- feat: reimplement reducers kernels using cccl by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3840
- feat: implement byteswap as an nplike function by @aashirvad08 in https://github.com/scikit-hep/awkward/pull/3845
- feat: lazy parents allocation by @ianna in https://github.com/scikit-hep/awkward/pull/3860
- feat: extend Python reducers with
offsetsupport (precursor toparentremoval) by @ianna in https://github.com/scikit-hep/awkward/pull/3865 - feat: pass 'offsets' to reducer kernels (precursor to parent removal) by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3883
- feat: reducer max for
axis==Noneby @ianna in https://github.com/scikit-hep/awkward/pull/3884 - feat: improve and fix delayed length calculations and add delayed length calculation for layouts that need it by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3889
- feat: pickle in native byteorder and pass byteorder through pickling and unpickling by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3893
- feat: customly overload the reducers that call cuda-compute kernels by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3894
- feat: add
axis=Nonespecialization forMinreducer + small refactoring for existing specializatons by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3896 - feat: cuda.compute combinations kernel study by @ianna in https://github.com/scikit-hep/awkward/pull/3908
- feat: add
missing_repeatkernel implementation using cuda.compute by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3922 - feat: add
index_rpad_and_clipkernels implementations using cuda.compute by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3923 - feat: allow generator expressions in highlevel operations that accept iterable of arrays as input by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3938
- feat: add awkward.* aliases to objects.inv for intersphinx by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3958
- feat: properly handle numpy functions that return default containers of numpy arrays in
__array_function__by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3991 - feat: lazy concatenation of virtual arrays by @ikrommyd in https://github.com/scikit-hep/awkward/pull/4010
- feat: migrate awkward_index_rpad_and_clip_axis0 to cuda.compute by @danielfrg in https://github.com/scikit-hep/awkward/pull/4012
- feat: migrate awkward_reduce_sum_complex to cuda.compute by @danielfrg in https://github.com/scikit-hep/awkward/pull/4016
- feat: migrate awkward_reduce_max_complex to cuda.compute by @danielfrg in https://github.com/scikit-hep/awkward/pull/4018
Bug-fixes and performance
- fix: temporarily use unary_transform instead of segmented_reduce by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3814
- fix: C++ errors in
ak.from_rdataframeby @bendavid in https://github.com/scikit-hep/awkward/pull/3851 - fix: Fix multiple CUDA out-of-bounds accesses and kernel memory management issues by @ianna in https://github.com/scikit-hep/awkward/pull/3858
- fix: harden CUDA/CPU kernels against out-of-bounds writes in
ListOffsetArrayby @ianna in https://github.com/scikit-hep/awkward/pull/3859 - fix: add offsets for UnmaskedArray reducer by @ianna in https://github.com/scikit-hep/awkward/pull/3874
- fix: GrowableBuffer cleanup compiler warnings by @ianna in https://github.com/scikit-hep/awkward/pull/3881
- fix: fix typetracer's
maximumimplementation by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3895 - fix: fix ASAN detected buffer overflows in awkward-cpp by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3898
- fix: Numba-CUDA refactoring --
CUDATargetContextis spinned off toFunctionDescriptorby @ianna in https://github.com/scikit-hep/awkward/pull/3902 - fix: return shallow copy of fields list when
.fieldsis being accessed from highlevel array/record by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3906 - fix: handle union array simplification returning back indexed arrays in
ak.almost_equalby @ikrommyd in https://github.com/scikit-hep/awkward/pull/3909 - fix:
ak.array_equalwith datetimes and timedeltas with NaTs by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3921 - fix: consistent byteorder settings by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3954
- fix: couple of fixes in tests that arose from running them in parallel threads by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3961
- fix: proper comparison in
ak.almost_equalbetween record array fields by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3962 - fix: restore docstring cross-references lost in autoapi migration by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3972
- fix: race condition in record array CUDA kernel by @ianna in https://github.com/scikit-hep/awkward/pull/3982
- fix: ensure jax backend uses arrays on cpu only by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3990
- fix: array attrs not being validated at creation and being of inconsistent type by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3996
- perf: optimize CPU kernels and fix segfault when concatenating arrays with None values by @ianna in https://github.com/scikit-hep/awkward/pull/3875
- perf: restructure CUDA unit tests by @ianna in https://github.com/scikit-hep/awkward/pull/3935
Other
- chore: ignore jax deprecation warning in pytest by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3864
- chore: Update Python version from 3.10 to 3.14 in ROOT workflow by @ianna in https://github.com/scikit-hep/awkward/pull/3876
- chore: pin ROOT to 6.36.06 in workflow by @ianna in https://github.com/scikit-hep/awkward/pull/3886
- chore: Increase coverage target from 20% to 98% by @ianna in https://github.com/scikit-hep/awkward/pull/3897
- chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/awkward/pull/3900
- chore: delete nvidia channel from GPU ci as it is outdated by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3903
- chore: upgrade hypothesis-awkward to >=0.10 by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3936
- chore: pin hypothesis-awkward to exact version by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3942
- chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/awkward/pull/3951
- chore: prepare for numpy 2.5 compatibility by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3976
- chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/awkward/pull/3993
- chore: Use kw-only arguments in all cuda.compute invocations by @shwina in https://github.com/scikit-hep/awkward/pull/3994
- chore: bump hypothesis-awkward from 0.16.0 to 0.18.0 by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3995
- chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/awkward/pull/4076
- chore(ci): harden ci config by @ariostas in https://github.com/scikit-hep/awkward/pull/4075
- chore(deps): bump aws-actions/configure-aws-credentials from 5 to 6 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3857
- chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3899
- chore(deps): bump pypa/cibuildwheel from 3.3 to 3.4 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3905
- chore(deps): bump the actions group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3940
- chore(deps): bump hypothesis-awkward from 0.10.0 to 0.12.0 by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3945
- chore(deps): bump hypothesis-awkward from 0.12.0 to 0.13.0 by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3952
- chore(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3963
- chore(deps): bump hypothesis-awkward from 0.13.0 to 0.14.0 by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3968
- chore(deps): bump hypothesis-awkward from 0.14.0 to 0.15.0 by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3974
- chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3979
- chore(deps): bump hypothesis-awkward from 0.15.0 to 0.16.0 by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3984
- chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/3987
- chore(deps): bump aws-actions/configure-aws-credentials from 6.1.1 to 6.1.3 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/4077
- ci: windows ARM build by @henryiii in https://github.com/scikit-hep/awkward/pull/3855
- ci: remove xfail from tests that work with cupy 14, pin cupy >= 14 in CI, and split cuda tests with virtual arrays in a separate CI task by @ikrommyd in https://github.com/scikit-hep/awkward/pull/3890
- ci: use self-hosted CI for codecov by @ariostas in https://github.com/scikit-hep/awkward/pull/3901
- ci: fix issues with self-hosted CI by @ariostas in https://github.com/scikit-hep/awkward/pull/3933
- ci: add dependabot config for hypothesis-awkward by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3944
- ci: use reusable workflows by @ariostas in https://github.com/scikit-hep/awkward/pull/3969
- ci: bump setup-uv to maintained tag scheme by @henryiii in https://github.com/scikit-hep/awkward/pull/3970
- ci: fix some issues with reusable workflows by @ariostas in https://github.com/scikit-hep/awkward/pull/3983
- ci: fix build wheels workflow by @ariostas in https://github.com/scikit-hep/awkward/pull/4074
- docs: Add an example argmax reducer using cccl by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/3763
- docs: remove colour in intro cards by @agoose77 in https://github.com/scikit-hep/awkward/pull/3926
- docs: update ak.flatten docstring to Google style by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3946
- docs: replace prepare_docstrings.py with sphinx-autoapi by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3948
- docs: add :: to docstrings for proper RST code blocks by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3965
- docs: show private members in autoapi-generated docs by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3966
- docs: add summary lines to 13 structural operation docstrings by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3986
- test: introduce property-based testing with to_buffers/from_buffers roundtrip by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3887
- test: add property-based tests for
ak.array_equalby @TaiSakuma in https://github.com/scikit-hep/awkward/pull/3891 - test: add cuda testing for
ak.nan_to_numby @ikrommyd in https://github.com/scikit-hep/awkward/pull/3892
New Contributors
- @bendavid made their first contribution in https://github.com/scikit-hep/awkward/pull/3851
- @danielfrg made their first contribution in https://github.com/scikit-hep/awkward/pull/4012
Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.9.0...v2.9.1
Notes
Files
scikit-hep/awkward-v2.9.1.zip
Files
(7.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:0fe8e02dab61ba457b268805c1924d94
|
7.8 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/scikit-hep/awkward/tree/v2.9.1 (URL)
Software
- Repository URL
- https://github.com/scikit-hep/awkward