Release history
Note: Releases in the 4.3.x series were developed in parallel with v5.0 on a separate branch and are not included here. See the list of 4.x releases for details.
Unreleased (main branch on GitHub)
Release v5.7.4
Thursday, 30 April, 2026 (pip, tar, zip)
## New features _(none!)_
## Bug-fixes and performance * fix: issues with freethreading and include Python 3.14t in CI by @ariostas in https://github.com/scikit-hep/uproot5/pull/1619 * fix: TProfile reading and writing logic by @ariostas in https://github.com/scikit-hep/uproot5/pull/1609 * fix: FreeSegments end calculation when crossing 2 GB boundary by @ariostas in https://github.com/scikit-hep/uproot5/pull/1622
## Other * chore(deps): bump mymindstorm/setup-emsdk from 14 to 15 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1613 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1614 * chore(ci): resolve issues with GPU CI by @ariostas in https://github.com/scikit-hep/uproot5/pull/1615 * ci: bump setup-uv to maintained tag scheme by @henryiii in https://github.com/scikit-hep/uproot5/pull/1616 * chore(deps): bump mymindstorm/setup-emsdk from 15 to 16 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1618 * chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1621 * chore(deps): bump scientific-python/upload-nightly-action from 0.6.3 to 0.6.4 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1623 * docs: update to reflect that RNTuple is the default writing format by @ariostas in https://github.com/scikit-hep/uproot5/pull/1624
Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.7.3…v5.7.4
PR #1624: docs: update to reflect that RNTuple is the default writing format.
PR #1622: fix: FreeSegments end calculation when crossing 2 GB boundary.
PR #1609: fix: TProfile reading and writing logic.
PR #1623: chore(deps): bump scientific-python/upload-nightly-action from 0.6.3 to 0.6.4 in the actions group.
PR #1619: fix: issues with freethreading and include Python 3.14t in CI.
PR #1621: chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 in the actions group.
PR #1618: chore(deps): bump mymindstorm/setup-emsdk from 15 to 16 in the actions group.
PR #1616: ci: bump setup-uv to maintained tag scheme.
PR #1615: chore(ci): resolve issues with GPU CI.
PR #1614: chore: update pre-commit hooks.
PR #1613: chore(deps): bump mymindstorm/setup-emsdk from 14 to 15 in the actions group.
Release v5.7.3
Friday, 03 April, 2026 (pip, tar, zip)
## New features * feat: add awkward_form method for TMatrixTSym-v5 model by @mrzimu in https://github.com/scikit-hep/uproot5/pull/1610
## Bug-fixes and performance * fix: logical bug in boundary check for unique RField names by @mrzimu in https://github.com/scikit-hep/uproot5/pull/1602 * fix: bug in num_entries to properly use regularize_files by @nickwp in https://github.com/scikit-hep/uproot5/pull/1603 * fix: resolve issue mktree/mkrntuple creating subdirectories by @ariostas in https://github.com/scikit-hep/uproot5/pull/1599 * fix: fix rare issue that causes corrupted free_num_bytes by @ariostas in https://github.com/scikit-hep/uproot5/pull/1601 * fix: allow tuples and slightly more generic NumPy dtypes in mktree and mkrntuple by @ariostas in https://github.com/scikit-hep/uproot5/pull/1604 * fix: use Python ints for start/stop when reading a single basket by @ariostas in https://github.com/scikit-hep/uproot5/pull/1605 * fix: make step sizes of iterate more accurate by @ariostas in https://github.com/scikit-hep/uproot5/pull/1606
## Other * docs: add nickwp as a contributor for code by @allcontributors[bot] in https://github.com/scikit-hep/uproot5/pull/1607 * ci: fix upload of test report by @ariostas in https://github.com/scikit-hep/uproot5/pull/1600 * chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1611
## New Contributors * @nickwp made their first contribution in https://github.com/scikit-hep/uproot5/pull/1603
Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.7.2…v5.7.3
PR #1610: feat: add awkward_form method for TMatrixTSym-v5 model.
PR #1606: fix: make step sizes of iterate more accurate.
PR #1605: fix: use Python ints for start/stop when reading a single basket.
PR #1604: fix: allow tuples and slightly more generic NumPy dtypes in mktree and mkrntuple.
PR #1601: fix: fix rare issue that causes corrupted free_num_bytes.
PR #1611: chore(deps): bump the actions group with 2 updates.
PR #1599: fix: resolve issue mktree/mkrntuple creating subdirectories.
PR #1600: ci: fix upload of test report.
PR #1607: docs: add nickwp as a contributor for code.
PR #1603: fix: bug in num_entries to properly use regularize_files.
PR #1602: fix: logical bug in boundary check for unique RField names.
Release v5.7.2
Thursday, 12 March, 2026 (pip, tar, zip)
## New features _(none!)_
## Bug-fixes and performance * fix: make Library.__eq__ safe for invalid comparisons by @Rachit931 in https://github.com/scikit-hep/uproot5/pull/1565 * fix: respect entry bounds for RNTuple.iterate and add of regressions tests for out of bounds by @KaranSinghDev in https://github.com/scikit-hep/uproot5/pull/1573 * fix: resolve issues with pyroot buffer reallocation by @ariostas in https://github.com/scikit-hep/uproot5/pull/1569 * fix: GPU interpretation of RNTuple data working and implement nvCOMP decompression with nvCOMP library by @fstrug in https://github.com/scikit-hep/uproot5/pull/1557 * fix: allow mkrntuple to accept wider range of objects that can be reduced to RecordArray/RecordForm by @ariostas in https://github.com/scikit-hep/uproot5/pull/1577 * fix: ensure RNTuple _from_zigzag applies bit shift on unsigned integers by @wdconinc in https://github.com/scikit-hep/uproot5/pull/1593 * fix: make inherited fields accessible by @ariostas in https://github.com/scikit-hep/uproot5/pull/1589 * fix: reading RNTuple fields into NumPy by @ariostas in https://github.com/scikit-hep/uproot5/pull/1591 * refactor: Removes optional handling for required dependencies. by @Rachit931 in https://github.com/scikit-hep/uproot5/pull/1579
## Other * chore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1566 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1567 * docs: add AI-assisted contributions guidelines by @ianna in https://github.com/scikit-hep/uproot5/pull/1562 * chore: skip broken fsspec version by @ariostas in https://github.com/scikit-hep/uproot5/pull/1583 * chore: support RNTuple v1.0.1.0 format (attribute set record frame) by @wdconinc in https://github.com/scikit-hep/uproot5/pull/1580 * chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1587 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1588 * chore: add codecov by @ariostas in https://github.com/scikit-hep/uproot5/pull/1590 * docs: add wdconinc as a contributor for code by @allcontributors[bot] in https://github.com/scikit-hep/uproot5/pull/1584 * docs: add KaranSinghDev as a contributor for code by @allcontributors[bot] in https://github.com/scikit-hep/uproot5/pull/1585 * docs: RNTuple GPU reading by @fstrug in https://github.com/scikit-hep/uproot5/pull/1595
## New Contributors * @wdconinc made their first contribution in https://github.com/scikit-hep/uproot5/pull/1580 * @KaranSinghDev made their first contribution in https://github.com/scikit-hep/uproot5/pull/1573
Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.7.1…v5.7.2
PR #1591: fix: reading RNTuple fields into NumPy.
PR #1589: fix: make inherited fields accessible. (also: #1594)
PR #1590: chore: add codecov.
PR #1595: docs: RNTuple GPU reading.
PR #1593: fix: ensure RNTuple
_from_zigzagapplies bit shift on unsigned integers.PR #1577: fix: allow mkrntuple to accept wider range of objects that can be reduced to RecordArray/RecordForm.
PR #1557: fix: GPU interpretation of RNTuple data working and implement nvCOMP decompression with nvCOMP library.
PR #1588: chore: update pre-commit hooks.
PR #1569: fix: resolve issues with pyroot buffer reallocation.
PR #1587: chore(deps): bump the actions group with 2 updates.
PR #1585: docs: add KaranSinghDev as a contributor for code.
PR #1573: fix: respect entry bounds for RNTuple.iterate and add of regressions tests for out of bounds.
PR #1579: refactor: Removes optional handling for required dependencies.
PR #1584: docs: add wdconinc as a contributor for code.
PR #1580: chore: support RNTuple v1.0.1.0 format (attribute set record frame)
PR #1583: chore: skip broken fsspec version.
PR #1562: docs: add AI-assisted contributions guidelines.
PR #1567: chore: update pre-commit hooks.
PR #1565: fix: make Library.__eq__ safe for invalid comparisons.
PR #1566: chore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0 in the actions group.
Release v5.7.1
Friday, 30 January, 2026 (pip, tar, zip)
## New features _None_
## Bug-fixes and performance * fix: Defer default timeouts to underlying libraries where possible by @chaen in https://github.com/scikit-hep/uproot5/pull/1560
## Other * ci: add GPU tests by @ariostas in https://github.com/scikit-hep/uproot5/pull/1561
## New Contributors * @chaen made their first contribution in https://github.com/scikit-hep/uproot5/pull/1560
Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.7.0…v5.7.1
Release v5.7.0
Sunday, 25 January, 2026 (pip, tar, zip)
## New features * feat: set divisions to unknown if we expect a read error report in uproot.dask by @ikrommyd in https://github.com/scikit-hep/uproot5/pull/1543
## Bug-fixes and performance * fix: Remove spaces in class names when TBranch matching streamer by @mrzimu in https://github.com/scikit-hep/uproot5/pull/1542 * fix: allow start=stop=0 for empty files in uproot.dask by @ikrommyd in https://github.com/scikit-hep/uproot5/pull/1540 * fix: exit early from uproot.iterate when no branches/fields match the filters by @Rachit931 in https://github.com/scikit-hep/uproot5/pull/1554
## Other * chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1544 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1548 * chore: remove minio dependency by @ariostas in https://github.com/scikit-hep/uproot5/pull/1547 * chore: drop support for Python 3.9 by @ariostas in https://github.com/scikit-hep/uproot5/pull/1550 * chore: switch to writing RNTuples by default by @ariostas in https://github.com/scikit-hep/uproot5/pull/1556 * refactor: use better public API to clear divisions in uproot.dask by @ikrommyd in https://github.com/scikit-hep/uproot5/pull/1551 * docs: clarify decompression_executor and interpretation_executor usage by @Rachit931 in https://github.com/scikit-hep/uproot5/pull/1552 * docs: add Rachit931 as a contributor for doc by @allcontributors[bot] in https://github.com/scikit-hep/uproot5/pull/1553 * docs: clarify max_num_elements option behavior by @Rachit931 in https://github.com/scikit-hep/uproot5/pull/1555
## New Contributors * @Rachit931 made their first contribution in https://github.com/scikit-hep/uproot5/pull/1552
Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.6.9…v5.7.0
Earlier releases
Uproot versions 1 through 3 were in a different GitHub repository: scikit-hep/uproot3.
PyPI full history (including versions 1 through 3).
This was to allow users to transition from Awkward Array 0.x and Uproot 3.x, which had different interfaces (especially Awkward Array). The transition completed on December 1, 2020.