Releases: scikit-hep/awkward
1.5.0rc2
1.5.0rc1
@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.
1.4.0
1.4.0rc6
1.4.0rc5
1.4.0rc4
@agoose77 fixed ak.unflatten
with axis=0
by refactoring the internal function ak._util.recursively_apply
, which also simplifies the implementation of ak.unpacked
(PR #972).
@jpivarski added a missing import awkward._io
(PR #970).
1.4.0rc3
1.4.0rc3 is to make sure that the PYPI_PASSWORD is now correctly set and that the package can be built from source. (Previously, it was missing the kernel-specification.yml that is now required for generating a header and a Python file in the source.)
As with all release candidates, it's going to be deleted someday. Only pin to non-pre releases!
1.4.0rc2
1.4.0rc1
@ianna, @agoose77, and @jpivarski added to or corrected the documentation (PRs #891, #897, #925, #931, #943, #947, #951).
@agoose77 added ak.ptp
(PR #890), added support for Arrow FixedSizeListType (PR #907), implemented ak.packed
(PRs #918, #912, #937), fixed up ak.from_parquet
(PRs #923, #935) and ak.unflatten
(PR #922), corrected nbytes
(PR #928), updated the deprecation system (PR #929), fixed ak.with_cache
(PR #942), and did internal refactoring (PR #952).
@ianna added support for date-times (PRs #835, #915, #916), renamed TypedArrayBuilder → LayoutBuilder, thus completing it as it doesn't need to have a high-level interface (PR #924).
@ioanaif started the C++ → Python refactoring project with help from @agoose77 and @jpivarski (PRs #884, #895, #896, #914, #957, #958, #962).
@henryiii fixed an inexplicable bug in manylinux1 (PR #955), made the tests directory-independent (PR #953), and updated CMake infrastructure (PR #954). I think this will be the first deployment using GitHub Actions, rather than Azure! (No, that's PR #961, which is not included in this release.)
@jpivarski fixed random bugs (PRs #901, #904, #950) and made __getitem__
return Python str
when they're strings (PR #874), pinned jaxlib<0.1.68
because of an intermittent MacOS segfault (PR #963; see connected discussion).
1.3.0
@ianna fixed class names in the documentation (PR #860).
@agoose77 fixed ak.is_none
(PR #864).
@drahnreb made Parquet lazy-loading only build Forms for requested columns (PR #867).
@agoose77 and @drahnreb together made idioms like x["z"] = None
work correctly by assigning a column of Nones (PR #880).
@jpivarski fixed some union-simplification issues in getitem-field (PR #870). Also fixed various bugs to enable Numba JIT-compiled functions to iterate over VirtualArrays created by lazy-reading Parquet (PR #871). Fixed a relic of the ptr().get()
→ data()
transition for kernel interfaces (PR #877). Fixed some null-type issues with Arrow/Parquet columns (PR #878). And fixed matrix multiplication of a vector as an Awkward record (PR #868).