Skip to content

Releases: scikit-hep/awkward

1.5.0rc2

12 Sep 20:21
3eacd0f
Compare
Choose a tag to compare
1.5.0rc2 Pre-release
Pre-release

Reverting the spelling of ak.nplike.NumPyak.nplike.Numpy, etc. (including CuPyCupy) to avoid needlessly breaking interfaces.

1.5.0rc1

09 Sep 17:11
ad68b15
Compare
Choose a tag to compare
1.5.0rc1 Pre-release
Pre-release

@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

02 Jul 16:53
Compare
Choose a tag to compare

Identical to 1.4.0rc6.

1.4.0rc6

01 Jul 22:51
Compare
Choose a tag to compare
1.4.0rc6 Pre-release
Pre-release

@agoose77 fixed ak.mask for multidimensional NumpyArrays (PR #976).

I think this is the last one before the real release.

1.4.0rc5

01 Jul 20:02
edd85bc
Compare
Choose a tag to compare
1.4.0rc5 Pre-release
Pre-release

@agoose77 fixed ak.flatten for NumpyArray with len(shape) > 1 (PR #974).

@ianna fixed sorting with missing values at axis=0 and missing values in ak.argsort at any axis (PR #946).

1.4.0rc4

01 Jul 17:35
Compare
Choose a tag to compare
1.4.0rc4 Pre-release
Pre-release

@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

30 Jun 15:03
Compare
Choose a tag to compare
1.4.0rc3 Pre-release
Pre-release

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

29 Jun 19:11
765f1f5
Compare
Choose a tag to compare
1.4.0rc2 Pre-release
Pre-release

@henryiii moved deployment from Azure to GitHub Actions.

@jpivarski made the kernel headers (C and Python) generate as part of the build.

1.4.0rc1

25 Jun 17:49
Compare
Choose a tag to compare
1.4.0rc1 Pre-release
Pre-release

@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

01 Jun 17:15
Compare
Choose a tag to compare

@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).