
doi: 10.5281/zenodo.4341376 , 10.5281/zenodo.18527229 , 10.5281/zenodo.17166156 , 10.5281/zenodo.16778812 , 10.5281/zenodo.16625232 , 10.5281/zenodo.21141732 , 10.5281/zenodo.18368029 , 10.5281/zenodo.17940031 , 10.5281/zenodo.17464150 , 10.5281/zenodo.18528431 , 10.5281/zenodo.17068725 , 10.5281/zenodo.20594653
doi: 10.5281/zenodo.4341376 , 10.5281/zenodo.18527229 , 10.5281/zenodo.17166156 , 10.5281/zenodo.16778812 , 10.5281/zenodo.16625232 , 10.5281/zenodo.21141732 , 10.5281/zenodo.18368029 , 10.5281/zenodo.17940031 , 10.5281/zenodo.17464150 , 10.5281/zenodo.18528431 , 10.5281/zenodo.17068725 , 10.5281/zenodo.20594653
Highlights Much faster list reductions (ak.sum, ak.max, …) — about 5× faster on average (geometric mean), 10×+ on long lists https://github.com/scikit-hep/awkward/pull/4056 Kernels rewritten: CPU (awkward-cpp), GPU (cuda.compute) Exact floating-point results may differ from the previous release The same arrays may have different internal layouts than before Removed the undocumented ak.index.EmptyIndex / ZeroIndex / LazyIndex Many bug fixes and improvements from code review by Claude Fable 5 (PRs 4089–4108) https://github.com/scikit-hep/awkward/issues/4085 What's Changed New features feat: complete CPU kernel migration from parents to offsets by @ianna in https://github.com/scikit-hep/awkward/pull/4056 feat: migrate UnionArray kernels to cuda.compute by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4083 feat: combine cuda.compute PRs into one by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4124 feat: migrate kernels that were using parents to cuda.compute by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4159 Bug-fixes and performance fix: add missing .attrs support in parquet serialisation by @albert-physics in https://github.com/scikit-hep/awkward/pull/4079 fix: test_pandas_attr_serialisation should have unique parquet path per thread by @ikrommyd in https://github.com/scikit-hep/awkward/pull/4110 fix: passing a non-Collection iterable to pytest.parametrize is deprecated by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4144 fix: datetime.time conversion and binary buffer copy in bindings by @henryiii in https://github.com/scikit-hep/awkward/pull/4089 fix: properly error on conversion of IndexedOptionArray with an EmptyArray content and length > 0 to a ByteMaskedArray by @ikrommyd in https://github.com/scikit-hep/awkward/pull/4127 fix: named-axis context sharing and ak.where broadcasting crash by @henryiii in https://github.com/scikit-hep/awkward/pull/4108 fix: require pyarrow>=17.0.0 by @henryiii in https://github.com/scikit-hep/awkward/pull/4152 fix: wrong results from string sort/unique kernels by @henryiii in https://github.com/scikit-hep/awkward/pull/4091 fix: int64 precision loss in sort comparators and per-comparison branching by @henryiii in https://github.com/scikit-hep/awkward/pull/4090 fix: LayoutBuilder Union form JSON and Record map-type support by @henryiii in https://github.com/scikit-hep/awkward/pull/4094 fix: misc integration bugs (hist, avro, numexpr, RDataFrame) by @henryiii in https://github.com/scikit-hep/awkward/pull/4096 fix: modify cache key for macOS deployment in workflow by @ianna in https://github.com/scikit-hep/awkward/pull/4158 fix: reject non-integer float indices instead of truncating by @henryiii in https://github.com/scikit-hep/awkward/pull/4097 fix: typetracer correctness issues affecting dask-awkward by @henryiii in https://github.com/scikit-hep/awkward/pull/4100 fix: BitMaskedArray mask inversion and placeholder detection by @henryiii in https://github.com/scikit-hep/awkward/pull/4092 fix: Arrow conversion without pandas, empty chunked arrays, and multi-file Parquet attrs by @henryiii in https://github.com/scikit-hep/awkward/pull/4099 fix: BitMasked builder use-after-free and GrowableBuffer copy bugs by @henryiii in https://github.com/scikit-hep/awkward/pull/4098 Other ci: fix deploy job by @ariostas in https://github.com/scikit-hep/awkward/pull/4082 chore: add an AGENTS file by @henryiii in https://github.com/scikit-hep/awkward/pull/4086 chore: don't refuse to install awkward_cpp when using uv by @henryiii in https://github.com/scikit-hep/awkward/pull/4087 chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/4121 docs: add albert-physics as a contributor for code by @allcontributors[bot] in https://github.com/scikit-hep/awkward/pull/4122 ci: automate release-note categorization with type labels by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4125 docs: document kernel spec invariants and CPU/CUDA equivalence in AGENTS by @henryiii in https://github.com/scikit-hep/awkward/pull/4088 ci: run property-based tests nightly with a large max_examples by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4128 test: add a property-based kernel test with CPU and GPU backends by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4142 ci: show Hypothesis statistics in the nightly property tests by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4146 chore: modernize header-only code to C++17 and remove dead code by @henryiii in https://github.com/scikit-hep/awkward/pull/4104 ci: run the GPU kernel property tests nightly at the nightly profile by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4147 ci: enable pyodide build by @ryanking13 in https://github.com/scikit-hep/awkward/pull/4149 ci: fix docs-preview PR comment failing without a checkout by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4155 chore(deps): bump the actions group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/scikit-hep/awkward/pull/4153 docs: describe the returned object in Returns: for already-merged operations by @TaiSakuma in https://github.com/scikit-hep/awkward/pull/4148 chore(deps): update python version for mypy by @maxymnaumchyk in https://github.com/scikit-hep/awkward/pull/4172 New Contributors @albert-physics made their first contribution in https://github.com/scikit-hep/awkward/pull/4079 @ryanking13 made their first contribution in https://github.com/scikit-hep/awkward/pull/4149 Full Changelog: https://github.com/scikit-hep/awkward/compare/v2.9.1...v2.10.0
If you use this software, please cite it as below.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 12 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
