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.5

Saturday, 04 July, 2026 (pip, tar, zip)

## New features * feat: support path objects with storage_options in uproot.open by @kratsg in https://github.com/scikit-hep/uproot5/pull/1641 * feat: finish implementing library kwarg for RNTuples by @ariostas in https://github.com/scikit-hep/uproot5/pull/1632

## Bug-fixes and performance * fix: implement report=True for RNTuple.iterate by @KaranSinghDev in https://github.com/scikit-hep/uproot5/pull/1630 * fix: uproot.dask cannot handle grouped TObject properly by @mrzimu in https://github.com/scikit-hep/uproot5/pull/1642 * fix: add typenames to form so Coffea can use them by @ariostas in https://github.com/scikit-hep/uproot5/pull/1668 * fix: interpretation dtype handling returned byte-swapped data by @henryiii in https://github.com/scikit-hep/uproot5/pull/1648 * fix: avoid std::any in pyroot_to_buffer to support older ROOT versions by @Paramveersingh-S in https://github.com/scikit-hep/uproot5/pull/1667 * fix: accidental dropping of AsGrouped by @ariostas in https://github.com/scikit-hep/uproot5/pull/1670 * fix: concurrency settings from build workflow by @ianna in https://github.com/scikit-hep/uproot5/pull/1675

## Other * ci: pin micromamba version and bump Pyodide version by @ariostas in https://github.com/scikit-hep/uproot5/pull/1633 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1626 * ci: Move fsspec-xrootd into separate dependency group by @ariostas in https://github.com/scikit-hep/uproot5/pull/1639 * chore(ci): harden ci config by @ariostas in https://github.com/scikit-hep/uproot5/pull/1635 * chore: improve streamer reading by @ariostas in https://github.com/scikit-hep/uproot5/pull/1644 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1638 * chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the actions group across 1 directory by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1645 * chore: add an AGENTS file by @henryiii in https://github.com/scikit-hep/uproot5/pull/1647 * chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1662 * chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1663 * chore: exclude awkward and skhep-testdata from delay requirement by @ariostas in https://github.com/scikit-hep/uproot5/pull/1665 * chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1666 * test: fix importorskip statements in tests by @ikrommyd in https://github.com/scikit-hep/uproot5/pull/1671 * chore(deps): bump actions/setup-python from 6.2.0 to 6.3.0 in the actions group by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1672

## New Contributors * @Paramveersingh-S made their first contribution in https://github.com/scikit-hep/uproot5/pull/1667

Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.7.4…v5.7.5

  • PR #1675: fix: remove concurrency settings from build workflow.

  • PR #1670: fix: accidental dropping of AsGrouped.

  • PR #1667: fix: avoid std::any in pyroot_to_buffer to support older ROOT versions. (also: #1627)

  • PR #1672: chore(deps): bump actions/setup-python from 6.2.0 to 6.3.0 in the actions group.

  • PR #1648: fix: interpretation dtype handling returned byte-swapped data.

  • PR #1671: test: fix importorskip statements in tests.

  • PR #1668: fix: add typenames to form so Coffea can use them.

  • PR #1632: feat: finish implementing library kwarg for RNTuples.

  • PR #1666: chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the actions group.

  • PR #1642: fix: uproot.dask cannot handle grouped TObject properly.

  • PR #1665: chore: exclude awkward and skhep-testdata from delay requirement.

  • PR #1663: chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 in the actions group.

  • PR #1641: feat: support path objects with storage_options in uproot.open.

  • PR #1662: chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 in the actions group.

  • PR #1647: chore: add an AGENTS file.

  • PR #1645: chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the actions group across 1 directory.

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

  • PR #1644: chore: improve streamer reading.

  • PR #1635: chore(ci): harden ci config.

  • PR #1639: ci: Move fsspec-xrootd into separate dependency group.

  • PR #1630: fix: implement report=True for RNTuple.iterate.

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

  • PR #1633: ci: pin micromamba version and bump Pyodide version.

  • 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_zigzag applies bit shift on unsigned integers.

Earlier releases

Uproot versions 1 through 3 were in a different GitHub repository: scikit-hep/uproot3.

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.

https://raw.githubusercontent.com/scikit-hep/uproot5/main/docs-img/diagrams/uproot-awkward-timeline.png