matthewfeickert unrestricted the jaxlib version bounds, thanks to a fix that he prompted in JAX: PR 988.
agoose77 added support for n-dimensional NumpyArrays in `ak.where`: PR 980. Added `axis` parameter to `ak.fill_none`: PR 917. Added `np.ravel`: PR 985. Fixed `ak.from_buffers` to support empty buffers: PR 1009. Fixed `ak.packed` for RegularArrays with `size=0`: PR 1008. Fixed `ak.zip` to not convert regular to jagged: 1013. Clarified the documentation of left and right broadcasting: PR 1016. Fixed `ak.broadcast_arrays` by setting `numpy_to_regular=True`: PR 1019. Added support for `ak.Record` in `ak.packed`: PR 1021. Fixed 1026, jagged slicing of a multidimensional NumpyArray: PR 1029. Added a `name` parameter to `ak.mixin_class`: PR 1030.
henryiii touched up CONTRIBUTING.md: PR 1004. Added a spell-checker in pre-commit that fixed a lot of spelling mistakes in comments and documentation: PR 1003.
bfis fixed the stack level of the deprecation warning: PR 1058.
bmwiedemann made the source code reproducible by allowing the build date to be overridden by `SOURCE_DATE_EPOCH`: PR 1050.
nsmith- optimized common array slice ("take") operations: PR 1062.
SantamRC added a better set of kernel unit tests to continuous integration, which will be important for testing GPU kernels: PRs 1065 and 1081.
jpivarski added a default for NEP-18, so now any NumPy function can be used with Awkward Arrays, as long as the Awkward Array can be cast as NumPy (i.e. is rectilinear): PR 1005. Reverted the ill-conceived 694, SliceVarNewAxis: PR 1028. Made `ak.Record` iterable (iterates over _field names_, like dict): PR 1061.
Also, fixed the UnionForm bug described in 770 and 930: PR 991. Fixed 546, `ak.fill_none` losing the replacement's dtype: PR 995. Fixed two bugs in 992: double-masking of reducers and unmasking of `ak.ptp`: PR 994. Fixed `ak.Array.__dir__` to include methods/properties of overridden classees: PR 993. Fixed 982 by accounting for another kind of "gap" in nonlocal reducers: PR 997. Fixed 998 and 1000, `ak.argmax` for ListOffsetArray with nonzero start: PR 1001. Fixed `ak.fill_none` fill value's handling of NumPy dimension: PR 1056. Fixed `ak.to_numpy` for structured arrays that are also masked arrays: PR 1067.
**Continued work on Awkward version 2.x** (in the hidden `ak._v2` submodule). The following PRs are quick to list, but represent large code additions.
ioanaif finished `__getitem__` for all array types: PRs 959, 1031, 1036, and 1073.
ianna refactored ArrayBuilder to not depend on C++ that will be removed in v2: PRs 977, 1045, and 1063.
stormiestsin implemented `_localindex` in v2: PR 1059. And `combinations`: PR 1074.
jpivarski renamed `_getitem_array` as `_carry` and made it take an Index: PR 1025. Added VirtualArray: PR 1079.