Skip to content

Releases: scikit-hep/awkward

Version 2.8.12

25 Jan 14:12
0ff58cf

Choose a tag to compare

New features

  • feat: improve merging of NumpyArrays and simplification of UnionArrays + fix ak.almost_equal for UnionArrays by @ikrommyd in #3773
  • feat: Add ak.sort() for CUDA backend by @shwina in #3750
  • feat: Make ak.combinations faster on GPU by using cp.searchsorted to compute output list indexes by @shwina in #3795
  • feat: add argmax implementation using CCCL by @maxymnaumchyk in #3777
  • feat: make ak.combinations faster on GPU by using cp.searchsorted to compute output list indexes by @ianna in #3798
  • feat: add argmin implementation using CCCL by @maxymnaumchyk in #3811

Bug-fixes and performance

  • fix: incorrect type passed down for the mergeastable argument by @ikrommyd in #3779
  • fix: fix ak.validity_error for typetracer-backed layouts with unknown length by @ikrommyd in #3784
  • fix: make ak.enforce_type work with typetracers by @ikrommyd in #3764
  • fix: ArrayBuilder.show() formatter forwarding by @X0708a in #3796
  • fix: fix and test Form.length_zero/one_array() by @ikrommyd in #3810
  • fix: make named axis thread-safe and start testing using multiple threads in CI by @ikrommyd in #3805

Other

  • ci: use codecov token by @ariostas in #3769
  • chore(ci): use macOS to test ML dependencies by @ariostas in #3774
  • chore(deps): bump the actions group across 1 directory with 5 updates by @dependabot[bot] in #3778
  • ci: xfail failing cudf tests until fixed by @ikrommyd in #3781
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in #3785
  • chore: request for tensorflow in requirements only if python < 3.14 by @ikrommyd in #3787
  • chore: fix noxfile on Intel macOS by @henryiii in #3815
  • docs: add X0708a as a contributor for code by @allcontributors[bot] in #3797
  • docs: add a comparison of different argmax implementations (using unary_transform, segmented_reduce and cuda-kernels) by @maxymnaumchyk in #3800
  • docs: Document GPU backend and cuDF compatibility limitations by @X0708a in #3813

New Contributors

Full Changelog: v2.8.11...v2.8.12

Version 2.8.11

15 Dec 14:05
c4a2e57

Choose a tag to compare

New features

  • feat: add behavior cls validation hook by @pfackeldey in #3710
  • feat: add a playground for cccl studies by @pfackeldey in #3734
  • feat: add cuda.compute implementation to CCCL study by @shwina in #3748
  • feat: ability to optionally disable the caching of virtual arrays on themselves by @ikrommyd in #3741

Bug-fixes and performance

  • fix: string array numpy conversion fails with int32 offsets from parquet by @DylanModesitt in #3697
  • fix: only check length against empty form in ak.from_buffers if it is known by @ikrommyd in #3714
  • fix: typestr respects now limit_cols for .show and repr_mimebundle by @pfackeldey in #3712
  • fix: ArrayBuilder.__bool__ raises TypeError when builder length is 1 by @T90REAL in #3738
  • fix: prevent teardown from crashing GPU test suite by @ianna in #3747
  • fix: hide awkward.ak_* and awkward.str.akstr_* from 'awkward' and 'awkward.str' module by @pfackeldey in #3752
  • fix: align multi-level indices before merge in to_dataframe() by @TaiSakuma in #3733
  • fix: numba test failures on Python 3.14 by @ianna in #3757
  • fix: incorrect passing of Index inside nplike function in to_IndexedOptionArray64 by @ikrommyd in #3727
  • fix: weights should not be raised to the power n in the n-th moment calculation by @ikrommyd in #3729
  • fix: ak.Record creation from iterable with nested dicts by @ikrommyd in #3728
  • fix: keep track of buffer key instead of field path for VirtualNDArrays & PlaceholderArrays by @pfackeldey in #3751
  • fix: typetracer nplike's all function leads to infinite recursion for axis=None by @ikrommyd in #3765

Other

New Contributors

Full Changelog: v2.8.10...v2.8.11

Version 2.8.10

28 Oct 10:33
36824fd

Choose a tag to compare

New features

Bug-fixes and performance

  • fix: update image cell in thinking-in-arrays.ipynb by @ianna in #3660
  • fix: prefix with an underscore unused variables by @ianna in #3672
  • fix(ci): fix issues with dependencies for GPU tests by @ariostas in #3673
  • fix: convert integer-like objects to python integers in shapes by @ikrommyd in #3662
  • fix: avoid recursion limit when concatenating EmptyArrays by @ikrommyd in #3664
  • fix: only check VirtualNDArray's shape versus count in from_buffers if both are known by @ikrommyd in #3667
  • fix: preserve the type when indexed by an empty array by @TaiSakuma in #3678
  • fix: ensure masked string/bytestring dtypes can hold 'nan' fill value… by @JamesBrofos in #3692
  • fix: add missing units to datetime/timedelta in a test by @TaiSakuma in #3688
  • fix: pass attrs parameter to wrap_layout in from_* by @DylanModesitt in #3687
  • fix: use jax's __setitem__ syntax in ak.merge_union_of_records to make it work with the jax backend by @ikrommyd in #3596

Other

New Contributors

Full Changelog: v2.8.9...v2.8.10

Version 2.8.9

20 Sep 16:02

Choose a tag to compare

New features

  • feat: cuda reducers - add combinations for n>2, argmin and argmax, and fix min. by @ianna in #3645
  • feat: add axis=None reducer specializations by @pfackeldey in #3653
  • feat: add 'how=' to ak.unzip by @pfackeldey in #3655

Bug-fixes and performance

  • fix: virtual array deep copy generator reference + better error message for assert_never by @ikrommyd in #3644
  • fix: SVG bug in diagram depicting ragged aggregation by @jpivarski in #3648
  • fix: json signedness fixes by @ianna in #3651
  • fix: cartoon combinations by @ianna in #3654
  • perf: detect & fastpath no-op range slices in all layout types by @pfackeldey in #3642

Other

Full Changelog: v2.8.8...v2.8.9

Version 2.8.8

06 Sep 14:15

Choose a tag to compare

New features

  • feat: adapt __array__ according to numpy guidelines by @ikrommyd in #3592
  • feat: ensure ability to pickle ak.Array and ak.Record with VirtualArray buffers by @ikrommyd in #3612
  • feat: skip materialization of placeholders in to_packed by @ikrommyd in #3637

Bug-fixes and performance

  • fix: catch off-by-one out of bound error by @agoose77 in #3621
  • fix: avoid unnecessary recursion if not needed by @pfackeldey in #3611
  • fix: VirtualArray's deep copy + accidental .data access by @ikrommyd in #3599
  • fix: allow arrays with Nones in single argument usage of ak.where by @ikrommyd in #3563
  • fix: properly handle VirtualArray in nplike.asarray by @ikrommyd in #3597
  • fix: do not materialize before custom pickling by @ikrommyd in #3633
  • fix: do not force LE data-order in form.py by @nileshpatra in #3629
  • fix: make to_packed work for typetracer backed IndexedOptionArray, BitMaskedArray, and UnionArray by @ikrommyd in #3608
  • perf: add slots to virtual array to reduce instance alloc size by @pfackeldey in #3613
  • perf: avoid method chaining for some shape_generators by @pfackeldey in #3615

Other

New Contributors

Full Changelog: v2.8.7...v2.8.8

Version 2.8.7

08 Aug 09:18
5ef8ad5

Choose a tag to compare

New features

(none!)

Bug-fixes and performance

(none!)

Other

  • refactor: add jax DeprecationWarning by @ianna in #3609

Full Changelog: v2.8.6...v2.8.7

Version 2.8.6

31 Jul 02:36

Choose a tag to compare

New features

(none!)

Bug-fixes and performance

  • fix: first maybe materialize, then check for PlaceholderArray by @pfackeldey in #3566
  • fix: ak.any and ak.combinations with cuda backend kernels by @ianna in #3561
  • fix: length0 array repr by @pfackeldey in #3564
  • fix: to_buffers for duplicate fields in records by @pfackeldey in #3567
  • fix: overflow error when concatenating more than 128 regular arrays by @ikrommyd in #3568
  • fix: patch emscripten RPath by @henryiii in #3575
  • fix: removal of pyarrow.lib.PyExtensionType in pyarrow 21 by @ikrommyd in #3581
  • fix: filter also for new (v0.7.0) LinearizeTracer type by @pfackeldey in #3586
  • refactor: define common nplike method to get pointer to memory by @pfackeldey in #3565

Other

Full Changelog: v2.8.5...v2.8.6

Version 2.8.5

04 Jul 03:55
e25f614

Choose a tag to compare

New features

(none!)

Bug-fixes and performance

  • fix: cudf strings column by @ianna in #3555
  • fix: ak.categories should return None if no categories are present by @pfackeldey in #3553
  • fix: combinations explicit cuda test for n == 0 by @ianna in #3554
  • fix: cuda atomicMin and atomicMax for <double>s by @Moelf in #3545
  • fix: error if a complex JAX arrays type is passed to Awkward's C++ kernels by @pfackeldey in #3546
  • fix: too many dashes in jupyter repr by @pfackeldey in #3552
  • fix: use older manylinux for CPython 3.10 and 3.9 by @henryiii in #3558
  • fix: use std::memcpy instead of *reinterpret_cast by @APN-Pucky in #3514

Other

Full Changelog: v2.8.4...v2.8.5

Version 2.8.4

14 Jun 13:43
b1da088

Choose a tag to compare

New features

(none!)

Bug-fixes and performance

  • fix: simplify unmasked array by @ianna in #3518
  • fix: numpy 2.3 compatibility by @ikrommyd in #3534
  • fix: improve type consistency in to_packed for num_none by @ianna in #3538
  • fix: make awkward compatible with numexpr 2.11 by @ikrommyd in #3533
  • fix: do not use atol=np.inf in a jax test and xfail sorting test which fails by @ikrommyd in #3542

Other

Full Changelog: v2.8.3...v2.8.4

Version 2.8.3

15 May 21:25
9b6e88e

Choose a tag to compare

New features

  • feat: add a ref to the original 'unclipped' buffer generator by @pfackeldey in #3497
  • feat: improve assertion error message in kernels by @pfackeldey in #3498
  • feat: do not allow records, primitives, or bare strings in ak.materialize (+ docs display fix) by @ikrommyd in #3501

Bug-fixes and performance

  • fix: more meaningful assertion error in length calculation in case of column optimization problems in dask-awkward by @ikrommyd in #3499
  • fix: use cmath instead of bit mask for infinite doubles by @APN-Pucky in #3505
  • fix: runtime for ak.combinations with cuda backend by @ianna in #3502
  • fix: pass backend to RecordArray by @ianna in #3507
  • fix: pass backend to EmptyArray by @ikrommyd in #3508
  • fix: Python 3.13 classifier to awkward-cpp by @APN-Pucky in #3510

Other

New Contributors

Full Changelog: v2.8.2...v2.8.3