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.
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.
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.
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.
PR #1561: ci: added GPU CI.
PR #1560: fix: Defer default timeouts to underlying libraries where possible.
PR #1554: fix: exit early from uproot.iterate when no branches/fields match the filters.
PR #1556: chore: switch to writing RNTuples by default.
PR #1550: chore: drop support for Python 3.9.
PR #1555: docs: clarify max_num_elements option behavior.
PR #1553: docs: add Rachit931 as a contributor for doc.
PR #1552: docs: clarify decompression_executor and interpretation_executor usage.
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.