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)
PR #1697: fix: make uproot.recreate physically truncate an existing file. (also: #1016, #1034)
PR #1739: fix: include all subfields of a selected RNTuple field. (also: #1736)
PR #1738: fix: keep std::array dimensions when reading RNTuple subfields directly. (also: #1737)
PR #1719: feat(docs): add llms.txt and Markdown page versions.
PR #1700: perf: batch sink flushes and cache cluster group records when extending RNTuples.
PR #1699: fix: executor shutdown race, dropped kwargs, chunk revalidation, unknown-class cache.
PR #1696: fix: Pandas global indices for how=dict and RNTuple entry ranges.
PR #1735: ci: remove redundant jobs and run the tests in parallel.
PR #1733: ci: install numba-cuda for the GPU tests.
PR #1698: fix: keep TTree branch lookup indices valid when a generated counter collides.
PR #1732: ci: install numba-cuda-mlir for the GPU tests.
PR #1731: fix: keep the object cache in the graphed TTree source.
PR #1726: perf: project every graphed output’s buffers in one form replay.
PR #1727: feat: basket-aligned partitioning for the graphed integration.
PR #1728: chore(deps): bump codecov/codecov-action from 7.0.0 to 7.1.1 in the actions group.
PR #1717: chore: update pre-commit hooks.
PR #1720: feat: add hooks for working with graphed-org/graphed.
PR #1722: chore(deps): bump the actions group with 2 updates.
PR #1715: docs: remove Gitter badge and references.
PR #1687: feat: Add RNTuple row extension and field addition via update mode.
PR #1716: chore(deps): bump re-actors/alls-green from 1.2.2 to 1.3.0 in the actions group.
PR #1690: feat: Add in-place TTree branch addition and row extension.
PR #1712: chore(deps): bump astral-sh/setup-uv from 10.0.0 to 10.0.1 in the actions group.
PR #1711: docs: add sapunyangkut as a contributor for doc.
PR #1682: docs: clarify max_num_elements behavior.
PR #1710: chore(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.0 in the actions group.
Release v5.7.6
Thursday, 20 August, 2026 (pip, tar, zip)
<!– Release notes generated using configuration in .github/release.yml at a7a99a029adea2abdcb2ce85bb241deff5a0c21c –>
## What’s Changed ### Bug-fixes and performance * perf: avoid full basket reads in num_entries_for and redundant reads on cache hits by @henryiii in https://github.com/scikit-hep/uproot5/pull/1649 * fix: RNTuple footer leak on extend, broken WritableNTuple.compression, directory __delitem__ KeyError by @henryiii in https://github.com/scikit-hep/uproot5/pull/1650 * fix: TProfile2D/3D weighted and counts() were broken for N-D profiles by @henryiii in https://github.com/scikit-hep/uproot5/pull/1651 * fix: RNTuple/TBranch behavior edge cases (KeyInFileError, global iterate offsets, ak_add_doc forwarding) by @henryiii in https://github.com/scikit-hep/uproot5/pull/1658 * fix: RNTuple page deserialization copies, split-column sizing, and cluster-index pairing by @henryiii in https://github.com/scikit-hep/uproot5/pull/1652 * fix: utility-layer bugs (steps leakage, dask error paths, LRU cache) and Py2-era cleanup by @henryiii in https://github.com/scikit-hep/uproot5/pull/1661 * fix: HTTP source multipart batching, fallback leak, and close behavior by @henryiii in https://github.com/scikit-hep/uproot5/pull/1653 * fix: model member-name and AwkwardForth-API bugs in TTree v18, TTime, TAtt by @henryiii in https://github.com/scikit-hep/uproot5/pull/1655 * fix: source/sink error paths, leaks, and hot-path cleanups by @henryiii in https://github.com/scikit-hep/uproot5/pull/1654 * fix: TTree-writing bugs (sliced string arrays, nested recarrays, fLen, TGraph y-range, oversized compression blocks) by @henryiii in https://github.com/scikit-hep/uproot5/pull/1657 * fix: entry-range arithmetic in iterate/concatenate and basket selection by @henryiii in https://github.com/scikit-hep/uproot5/pull/1656 * fix: core model/streamer/deserialization bugs and hot-path performance by @henryiii in https://github.com/scikit-hep/uproot5/pull/1659 * fix: interpretation-layer bugs (pandas NaN fallback, typename parsing, strided objects, bitset) by @henryiii in https://github.com/scikit-hep/uproot5/pull/1660 * fix: intermitten issue with fsspec on free-threaded Python by @ariostas in https://github.com/scikit-hep/uproot5/pull/1691 * fix: uproot.update should accept other valid UUID versions by @ariostas in https://github.com/scikit-hep/uproot5/pull/1689 ### Other * docs: add Yokubas as a contributor for code by @allcontributors[bot] in https://github.com/scikit-hep/uproot5/pull/1678 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1679 * chore(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1684 * docs: document Awkward how=zip grouping by @sapunyangkut in https://github.com/scikit-hep/uproot5/pull/1683 * chore(deps): bump the actions group with 4 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1692 * chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/scikit-hep/uproot5/pull/1694 * chore(deps): bump the actions group with 3 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1701 * test: serve S3 tests from a local moto server by @ariostas in https://github.com/scikit-hep/uproot5/pull/1695 * chore(deps): bump the actions group with 2 updates by @dependabot[bot] in https://github.com/scikit-hep/uproot5/pull/1703 * ci: automate release-note categorization with type labels by @TaiSakuma in https://github.com/scikit-hep/uproot5/pull/1704 * ci: unbreak the GPU and Pyodide jobs by @ariostas in https://github.com/scikit-hep/uproot5/pull/1707 * docs: add descriptions of reading and writing options by @tomeichlersmith in https://github.com/scikit-hep/uproot5/pull/1702 * docs: add tomeichlersmith as a contributor for doc by @allcontributors[bot] in https://github.com/scikit-hep/uproot5/pull/1708
## New Contributors * @sapunyangkut made their first contribution in https://github.com/scikit-hep/uproot5/pull/1683 * @TaiSakuma made their first contribution in https://github.com/scikit-hep/uproot5/pull/1704 * @tomeichlersmith made their first contribution in https://github.com/scikit-hep/uproot5/pull/1702
Full Changelog: https://github.com/scikit-hep/uproot5/compare/v5.7.5…v5.7.6
PR #1708: docs: add tomeichlersmith as a contributor for doc.
PR #1702: docs: add descriptions of reading and writing options.
PR #1707: ci: unbreak the GPU and Pyodide jobs.
PR #1704: ci: automate release-note categorization with type labels. (also: scikit-hep/awkward#4125)
PR #1703: chore(deps): bump the actions group with 2 updates.
PR #1695: test: serve S3 tests from a local moto server. (also: #1693, #1693)
PR #1689: fix: uproot.update should accept other valid UUID versions.
PR #1701: chore(deps): bump the actions group with 3 updates.
PR #1694: chore: update pre-commit hooks.
PR #1691: fix: intermitten issue with fsspec on free-threaded Python.
PR #1692: chore(deps): bump the actions group with 4 updates.
PR #1660: fix: interpretation-layer bugs (pandas NaN fallback, typename parsing, strided objects, bitset) (also: #1646)
PR #1659: fix: core model/streamer/deserialization bugs and hot-path performance.
PR #1656: fix: entry-range arithmetic in iterate/concatenate and basket selection.
PR #1657: fix: TTree-writing bugs (sliced string arrays, nested recarrays, fLen, TGraph y-range, oversized compression blocks)
PR #1654: fix: source/sink error paths, leaks, and hot-path cleanups. (also: #1646)
PR #1683: docs: document Awkward how=zip grouping.
PR #1655: fix: model member-name and AwkwardForth-API bugs in TTree v18, TTime, TAtt. (also: #1647)
PR #1653: fix: HTTP source multipart batching, fallback leak, and close behavior. (also: #1646)
PR #1661: fix: utility-layer bugs (steps leakage, dask error paths, LRU cache) and Py2-era cleanup. (also: #1646, #1660, #1646)
PR #1652: fix: RNTuple page deserialization copies, split-column sizing, and cluster-index pairing. (also: #1646, #1646)
PR #1658: fix: RNTuple/TBranch behavior edge cases (KeyInFileError, global iterate offsets, ak_add_doc forwarding) (also: #1646)
PR #1651: fix: TProfile2D/3D weighted and counts() were broken for N-D profiles. (also: #1646)
PR #1650: fix: RNTuple footer leak on extend, broken WritableNTuple.compression, directory __delitem__ KeyError.
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.