Release history

Unreleased (main branch on GitHub)

  • PR #1770: feat: make ak.from_json with schema ignore unspecified fields (instead of error).

  • PR #1768: fix: use dict representation of Form in pickling.

  • PR #1763: refactor: cleanup _connect submodule.

  • PR #1733: chore: update pre-commit hooks.

  • PR #1751: ci: run Codecov for commits to main.

  • PR #1761: refactor: move is_XXX_buffer into respective nplikes.

  • PR #1760: fix: use raise with ak._errors.wrap_error

  • PR #1758: refactor: make _v2 facade a static module.

  • PR #1759: chore: remove sre_parse dependency from Lark-generated parser.

  • PR #1757: refactor: reduce qualified names of Content, Form, Type subclasses.

  • PR #1748: refactor: drop unused code from Form, rename serialisation methods.

  • PR #1752: refactor: split error-handling code from _util

  • PR #1754: fix: kernel name in IndexedArray (also: #1753, #1753)

  • PR #1665: docs: update docstring of ak.with_name to reflect None interpretation.

  • PR #1743: fix: don’t assume trailing . for module name in is_XXX_buffer

  • PR #1749: fix: use proper lengths in ByteMaskedArray.mergemany (also: #1747)

  • PR #1744: refactor: rename ak.nplikeak.nplikes & nplikes.of →``nplikes.nplike_of``

  • PR #1740: Build(deps): bump pypa/cibuildwheel from 2.10.0 to 2.10.2.

  • PR #1739: fix: Record is not in contents, but in record.

  • PR #1716: test: remove ak.behavior usage in tests.

  • PR #1731: refactor: replace Behavior with collections.ChainMap.

  • PR #1730: feat: add _v2 proxy module.

  • PR #1712: test: ensure that parameters are kept for ``NumpyArray``s under ufunc operations.

  • PR #1725: refactor!: disable iteration of records.

  • PR #1723: chore: set VERSION_INFO contents to 2.0.0rc1

  • PR #1666: chore: add isort.

  • PR #1715: fix: ensure behavior is taken from wrapped array in ak.Array

  • PR #1722: chore: use codecov action.

  • PR #1717: chore: update CITATION.cff.

  • PR #1706: chore: update pre-commit hooks.

  • PR #1708: fix: support non-hashable parameter values in broadcasting. (also: #1707, #1707)

  • PR #1700: perf: improve Array initialisation performance. (also: #1511)

  • PR #1699: feat: raise Error for Record.__setattr__.

  • PR #1692: Build(deps): bump pypa/cibuildwheel from 2.9.0 to 2.10.0.

  • PR #1698: fix: pass memo to deepcopy.

  • PR #1695: fix: ensure that __copy__ and __deepcopy__ are enabled.

  • PR #1691: test: skip individual np.float16/128 tests because different systems have different combinations.

  • PR #1562: fix: reduce runtime dependency from setuptools to just packaging.

  • PR #1673: chore: update pre-commit hooks.

  • PR #1689: fix: don’t project categorical in ak._v2.packed

  • PR #1679: fix: carry parameters through broadcasting.

  • PR #1671: fix: allow string arrays to merge without unions. (also: #1646)

  • PR #1674: refactor: move categorical functions to operations.

  • PR #1675: chore: remove dev/build-awkward.sh

  • PR #1661: chore: drop 3.6 support.

  • PR #1652: fix: to_list must follow __getitem__ implementations, even in Records.

  • PR #1408: fix: jagged slicing for ListArray

  • PR #1641: perf: ak.concatenate should flatten for first axis, single-array.

  • PR #1645: fix: include self._length in RegularArray.mergemany

  • PR #1650: fix: pass a copy of RecordArray’s internal fields in HL API.

  • PR #1625: feat: retrieve multiple columns from RDataFrame in a single event loop.

  • PR #1653: docs: add Saransh-cpp as a contributor for code.

  • PR #1651: feat: Drop ak.behavior[‘.’, ‘Name’] = Class, which isn’t working/isn’t tested.

  • PR #1649: fix: Ensure that ak._v2.to_json raises errors when appropriate.

  • PR #1642: fix: ak.from_iter should interpret top-level tuples as ak.Array (v1 and v2).

  • PR #1597: fix: empty slice lists of record arrays (#1593) (also: #1305)

  • PR #1619: fix: support root empty field in Parquet file.

  • PR #1636: fix: Use dtype=np.int64, not int, for platform independence (Windows).

  • PR #1629: ci: add Linux ROOT build to run ROOT-based tests.

  • PR #1632: ci: run semantic-pr-title in concurrency group.

  • PR #1607: fix: prevent reducers like ak.sum on records (v2)

  • PR #1627: ci: aarch64 should also use cibuildwheel v2.9.0.

Release 1.9.0rc11

  • PR #1618: chore: update pre-commit hooks.

  • PR #1602: chore: include Python 3.11.

  • PR #1620: refactor: from_rdataframe to use LayoutBuilder.

  • PR #1621: docs: Documented ak.from_json and completed it.

  • PR #1617: refactor: replace 3 ak.from_json* functions with one.

  • PR #1613: fix: generator tolayout in cling.

  • PR #1615: ci: lint PR titles according to conventional commits.

  • PR #1616: Upgrade Linux 18.04 -> 20.04 and DOS line endings.

  • PR #1614: fix: improve ak.from_iter performance for long (axis=0) arrays. (also: #1588)

  • PR #1550: ci: use GHA instead of Azure :hammer:

  • PR #1610: Public interface for layout.recursively_apply and broadcast_and_apply.

  • PR #1609: ak.concatenate should preserve regular-type for axis>0, too.

  • PR #1605: ak.concatenate of identical Forms preserves the Form.

  • PR #1604: ak.concatenate (mergemany) should preserve regular-type.

  • PR #1603: Renamed ak.to_pandas -> ak.to_dataframe.

  • PR #1598: Raises an exception on mixed Awkward/NumPy slices. (also: #1305)

  • PR #1589: Fix regular maybe_toNumpy.

  • PR #1568: Fix: Lengths of empty regular slices.

  • PR #1567: Fix: tolist() bug from Uproot (longlong type for Index)

  • PR #1581: Fix: allow empty RecordArray``s in ``ak.to_layout (also: #1578)

  • PR #1564: Build(deps): bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1.

  • PR #1573: Feat: raise AttributeError for public Array attributes.

  • PR #1576: [pre-commit.ci] pre-commit autoupdate.

  • PR #1579: Doxygen Documentation of GrowableBuffer and LayoutBuilder.

  • PR #1572: add int64_t definition for Windows.

  • PR #1560: builder options and layout builder updates.

  • PR #1559: Fix: ufuncs on records should not be allowed unless overridden.

  • PR #1565: Fix: Missing axis_wrap_if_negative Record method in both v1 and v2.

  • PR #1494: Templated LayoutBuilder.

  • PR #1566: [pre-commit.ci] pre-commit autoupdate.

Release 1.9.0rc10

(pip)

  • PR #1561: Remove std::cout from ArrayBuilder code.

  • PR #1556: Build(deps): bump pypa/cibuildwheel from 2.8.0 to 2.8.1.

Release 1.9.0rc9

(pip)

  • PR #1555: GrowableBuffer.h’s missing <cstring> import broke localbuild.py; fixing it.

  • PR #1476: parquet redux.

  • PR #1544: fix ak2 convert class name msg.

  • PR #1543: [pre-commit.ci] pre-commit autoupdate.

  • PR #1542: migrate ArrayBuilder to new GrowableBuffer.

  • PR #1527: [pre-commit.ci] pre-commit autoupdate.

Release 1.9.0rc8

(pip)

  • PR #1541: docs: add aryan26roy as a contributor for code.

  • PR #1540: docs: add ManasviGoyal as a contributor for code.

  • PR #1538: Solving the endian bug on MacOS.

  • PR #1539: Fix: ak._v2.is_none check for axis value.

  • PR #1532: Fix: Error when using ak.copy in v2.

  • PR #1537: Fixed RecordArray.__repr__ (last vestige of ‘override’ misunderstanding).

  • PR #1531: Fix: Initialize values behind the mask in ak.to_numpy.

  • PR #1535: Growable Buffer header.

  • PR #1536: Build(deps): bump pypa/cibuildwheel from 2.7.0 to 2.8.0.

  • PR #1533: Fix: numba pre-commit issues.

  • PR #1524: restructure cpp headers.

  • PR #1484: LayoutBuilder migration to v2.

  • PR #1523: add C++ headers-only distribution configuration.

  • PR #1521: Build(deps): bump actions/download-artifact from 2 to 3.

  • PR #1520: Build(deps): bump actions/checkout from 2 to 3.

  • PR #1519: Build(deps): bump actions/upload-artifact from 2 to 3.

  • PR #1518: chore: remove unneeded lines.

Release 1.9.0rc7

(pip)

  • PR #1514: Update type-parser for v2.

  • PR #1516: Package: fix MANIFEST to include cpp-headers.

  • PR #1515: Swap ‘merged dtype same as NumPy’ test of v1 for test of v2.

Release 1.9.0rc6

(pip)

  • PR #1513: Add typeparser to v2.

  • PR #1508: from rdataframe for awkward arrays.

  • PR #1510: Build(deps): bump pypa/cibuildwheel from 2.6.1 to 2.7.0.

Release 1.9.0rc5

(pip)

  • PR #1505: Feat: add missing _like methods to TypeTracer

  • PR #1503: [pre-commit.ci] pre-commit autoupdate.

  • PR #1485: Add the beginning of an example of templated LayoutBuilder.

  • PR #1474: rdataframe to awkward.

  • PR #1502: Fix for issue 1406.

  • PR #1499: Fix slicing for UnmaskedArrays (which come from Arrow).

  • PR #1498: Fixed typo in unmaskedarray.py.

  • PR #1487: Adding repr overriden behavior.

  • PR #1491: Adding a Forth Based Avro Reader.

  • PR #1497: Fixed slicing shape for array of booleans.

  • PR #1496: _to_numpy method should return a numpy array.

  • PR #1490: Refactoring to include index_nplike and reducers.

  • PR #1493: Build(deps): bump pypa/cibuildwheel from 2.5.0 to 2.6.1.

  • PR #1492: Fix categorical equality handling (bad copy-paste from v1).

  • PR #1486: Fix selecting columns from Parquet.

  • PR #1478: to_rdataframe extensive tests and bug fixes. (also: #1477)

  • PR #1475: update awkward-1.0 to awkward.

  • PR #1447: This PR attempts to add autodifferentiation support for Awkward Arrays using JAX pytrees.

  • PR #1470: Rename fillna -> fill_none.

  • PR #1469: _getitem_* functions must consistently set the slicer in handle_error.

  • PR #1468: Rename low-level methods to match high-level function names.

  • PR #1467: Flatten directory structure under src/awkward/_v2/operations.

  • PR #1465: [pre-commit.ci] pre-commit autoupdate.

  • PR #1462: Build(deps): bump docker/setup-qemu-action from 1.2.0 to 2.0.0.

  • PR #1464: Ignore a NumPy 1.22 warning in Numba and fix the flake8-print T001 –> T201 change.

Release 1.9.0rc4

(pip)

(no pull requests)

Release 1.9.0rc3

(pip)

  • PR #1449: Revamping the to_json/from_json interface.

  • PR #1458: Streamline recursively_apply for small slices of big arrays.

  • PR #1457: Fix RDataFrame GetColumnNames order in test.

  • PR #1446: awkward rdataframe source tests.

  • PR #1456: Fixes to_layout with allow_records=False and allows single-record writing to Arrow and Parquet. (also: #1453)

  • PR #1455: Build(deps): bump pypa/cibuildwheel from 2.4.0 to 2.5.0.

  • PR #1445: Pass on skipped v2 tests.

  • PR #1429: Fix: is_unique() for IndexedArray.

  • PR #1444: Enable ak.singletons.

  • PR #1443: Enable ak.firsts.

  • PR #1374: awkward to rdataframe.

  • PR #1440: Implementing ak._v2.to_parquet.

  • PR #1437: Enable mixins behavior.

  • PR #1435: Remove duplicated import of to/from-parquet.

  • PR #1434: Enable categorical behavior - testing.

Release 1.9.0rc2

(pip)

  • PR #1433: Add Array and Record.__delitem__. And fix show(type=True).

  • PR #1432: Register both v1 and v2 Arrays in Numba entry_points.

  • PR #1431: Fixed miscellaneous optiontype-in-Parquet bugs. (also: #1397)

  • PR #1397: split up functions.

  • PR #1430: Pretty-printing types.

  • PR #1428: Implements ak.nan_to_none and all of the ak.nan* functions to override NumPy’s.

  • PR #1421: Enabled string/categorical behavior.

  • PR #1427: Enable broadcasting of string equality.

  • PR #1426: ListOffsetArray._reduce_next is not implemented for 32-bit (it could be, but this PR just fixes the error).

  • PR #1425: Fix ak._v2.to_arrow for sliced ListOffsetArray.

Release 1.9.0rc1

(pip)

  • PR #1422: Update AwkwardForth documentation and move it from the wiki to the standard docs.

  • PR #1410: Removed bytemask() in favour of mask_as_bool()

  • PR #1415: Passing behaviour in ak._v2 functions.

  • PR #1419: Fix iteration over NumpyArray type.

  • PR #1418: Fix performance issue in v2 tolist.

  • PR #1416: docs: add Ahmad-AlSubaie as a contributor for code.

  • PR #1413: replace llvmlite.ir instead of llvmlite.llvmpy.core.

  • PR #1412: fix: pypy 3.9.

  • PR #1399: This PR adds JAX as a new nplike.

  • PR #1409: [pre-commit.ci] pre-commit autoupdate.

  • PR #1407: Windows builds stopped working; be looser about directory name.

  • PR #1404: Fix: from_numpy references ListArray64 (also: #1403)

  • PR #1401: Implement recursively_apply for Record

  • PR #1398: ROOT doesn’t recognize for-each iterators without operator==

  • PR #1390: This PR adds all the remaining kernels in the studies directory.

  • PR #1395: [pre-commit.ci] pre-commit autoupdate.

  • PR #1394: Build(deps): bump pypa/cibuildwheel from 2.3.1 to 2.4.0.

  • PR #1393: ErrorContexts should only contain strings.

  • PR #1392: High-level ak._v2.Array clean-ups.

  • PR #1387: No zero-length shortcuts for ak.argsort (v1 & v2). (also: psf/black#2964)

  • PR #1385: fix: bump black to 22.3.0 due to click 8.1 releasennSee https://github.com/psf/black/issues/2964 for details.

  • PR #1381: This PR adds the generated kernels and simplifies the template specialization generation process.

  • PR #1384: Fix _prettyprint after ‘for i in range’ changed to ‘for i, val in enumerate’.

  • PR #1383: Protect test 1300 from ROOT without C++17 (or, at least, without std::optional).

  • PR #1380: Reducers with axis=None and typetracers.

  • PR #1378: Fixes nonlocal reducers in which the first list is empty.

  • PR #1355: This PR sets up the architecture to call CuPy Raw Kernels from Awkward.

  • PR #1376: Allow NumPy arrays in CppStatements; fix row_groups in single-file from_parquet.

  • PR #1373: Feat: add depth_limit to ak.broadcast_arrays

  • PR #1365: Refactor: cleanup reducer.

  • PR #1360: C++ refactoring: ak.unflatten.

  • PR #1372: Allow NumPy arrays in CppStatements; fix row_groups in single-file from_parquet.

  • PR #1369: C++ refactoring: ak.to_pandas.

  • PR #1367: C++ refactoring: ak.copy.

  • PR #1338: First version of ak._v2.from_parquet.

  • PR #1368: C++ refactoring: ak.broadcast_arrays.

  • PR #1359: Pure Cling demo and improvements to C++ JIT infrastructure. (also: #1295)

  • PR #1370: [pre-commit.ci] pre-commit autoupdate.

  • PR #1364: Fixes #1363 by ensuring that arguments documented as ‘iterable of X’ aren’t used in ‘len(X)’.

  • PR #1354: C++ refactoring: ak.unzip.

  • PR #1356: Fix: fix docstring line.

  • PR #1351: Feat: add is_tuple describe operation.

  • PR #1347: C++ refactoring: ak.run_lengths.

  • PR #1352: C++ refactoring: ak.nan_to_num.

  • PR #1346: Fix PR #788: avoid materializing VirtualArrays in ak.with_name.

  • PR #1327: Straighten out error handling via a thread-local (but otherwise global) context.

  • PR #1340: ak.flatten and ak.ravel should test for nplike.ndarray, not np.ndarray.

  • PR #1329: Fixed ak.num with axis=0 in typetracer.