Release history
Unreleased (main branch on GitHub)
PR #893: chore: update pre-commit hooks.
PR #886: fix: awkward_form breadcrumbs class issue 880.
PR #887: chore(deps): bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6.
PR #892: fix: adapt to scikit-hep/awkward#2437.
PR #889: chore: update pre-commit hooks.
PR #882: fix: bugs caught by a Ruff update.
PR #884: fix: histograms from Geant4.
PR #876: feat: add in capability for blindly splitting files into chunks for dask.
PR #874: [pre-commit.ci] pre-commit autoupdate.
PR #873: chore(deps): bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5.
PR #867: ci: [pre-commit.ci] pre-commit autoupdate.
PR #869: chore(deps): bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.4.
PR #870: feat: have unknown type become float64 when in array context.
PR #871: feat: add support for pandas is_numeric API change.
PR #868: feat: add pyodide support for jupyter-lite for files opened via HTTP.
PR #852: fix: strided interpretation for data with extra offsets.
PR #865: ci: [pre-commit.ci] pre-commit autoupdate.
PR #864: chore(deps): bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1.
PR #842: [pre-commit.ci] pre-commit autoupdate.
PR #856: chore(deps): bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1.
PR #855: fix: AwkwardForth was nesting the same ListOffsetArray (same node name) multiple times.
PR #844: fix: unable to delete hist from ROOT file.
PR #851: fix: replaced incorrect AwkwardForth var_set logic with a check to see if the Form is complete.
PR #845: fix: test 0814 name.
PR #843: chore: don’t repeat awkward dependency.
PR #848: docs: add ioanaif as a contributor for code.
PR #847: docs: add lgray as a contributor for code.
PR #834: fix: let form mappings apply a behavior.
PR #840: feat: add support for TLeafG.
PR #841: fix: models should not be wrapped in a ListOffsetForm.
PR #839: [pre-commit.ci] pre-commit autoupdate.
PR #838: fix: complain about CannotBeAwkward earlier, before reading data.
PR #836: fix: add ttree title to __doc__ of top level record.
PR #831: fix: Uproot should be able to run without Awkward.
PR #832: fix: ak_add_doc should add docs to both the lazy and the materialized array.
PR #830: feat: allow
uproot.dask
to re-map forms at the data source.PR #825: chore: move to Ruff.
PR #827: fix:
_awkward_forth.symbol_dict
was missingnp.dtype(">i1")
PR #829: docs: add renyhp as a contributor for code.
PR #828: fix: separate ZstdDecompressor for each thread (re-do) (also: #820)
PR #813: feat: [WIP] RNTuple Basic Writing.
PR #820: fix: separate ZstdDecompressor for each thread.
PR #821: ci: pre-commit autoupdate.
PR #819: fix: separate AwkwardForth machine for each TBranch context.
PR #810: [pre-commit.ci] pre-commit autoupdate.
PR #812: fix: an uproot.dask test was wrong; revealed by new dask-awkward.
PR #705: feat: Support writing of RNTuple.
PR #807: [pre-commit.ci] pre-commit autoupdate.
PR #808: fix: AsStridedObjects.awkward_form was still including the ‘@’ members.
PR #806: fix: uproot.dask: Protect against
branches=None
inproject_columns
PR #801: fix: protect Uproot’s ‘project_columns’ from Dask node names.
PR #802: docs: update documentation about Pandas; we don’t do MultiIndex anymore.
PR #799: [pre-commit.ci] pre-commit autoupdate.
PR #797: chore(deps): bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4.
PR #795: fix: Uproot tests now work with Awkward 2.0.0.
PR #788: feat: adjust for name change in scikit-hep/awkward#1919.
PR #793: [pre-commit.ci] pre-commit autoupdate.
PR #792: chore(deps): bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1.
PR #790: fix: all AwkwardForth Forms now agree with awkward_form method output.
PR #787: feat: made ‘very optional’ arguments keyword-only.
PR #789: [pre-commit.ci] pre-commit autoupdate.
PR #786: test: make tests parallelizable (custom_classes in uproot.open).
PR #702: docs:
uproot.dask
docs.PR #734: feat: Use awkward pandas, instead of the existing code that explodes Pandas Dataframes. (also: #784)
PR #784: feat: add ‘interp_options’ mechanism and ak_add_doc.
PR #783: [pre-commit.ci] pre-commit autoupdate.
PR #782: docs: fix TRef.py doc urls.
PR #780: fix: ensure fallback path is tested without history.
PR #779: feat: any Mapping assigned to a WritableDirectory is interpreted as a TTree or failure, no fall-through.
PR #772: perf: streamline metadata handling for TBranch name lookup and uproot.dask.
PR #749: refactor: final refactoring for Forth generation. (also: #710)
PR #776: feat: warn about TBranch name, alias name conflict.
PR #764: feat: support categorical axes on boost histograms. (also: #722)
PR #774: fix: histogram weights not handled correctly in hist / boost conversion. (also: #722)
PR #773: [pre-commit.ci] pre-commit autoupdate.
PR #770: chore: remove Identifier and
"uproot"
parameter.PR #710: refactor: refactor Forth generation.
PR #771: docs: add lobis as a contributor for code.
PR #763: fix: working TList serialization.
PR #766: git ls-files -z – ‘.github/workflows/*.yml’ | xargs -0 sed -i ‘s/3.11-dev/3.11/g’
PR #765: chore: update Uproot to require Awkward 2.0.0rc1.
PR #757: chore(deps): bump amannn/action-semantic-pull-request from 4 to 5.
PR #737: [pre-commit.ci] pre-commit autoupdate.
PR #755: feat: Added column_projection optimization.
PR #753: fix: don’t use Awkward in test_0751 that doesn’t need it.
PR #751: fix: avoid empty TBasket issue in embedded TBasket.
PR #746: feat: implemented NON-memberwise deserialization for AsMap.
PR #745: chore: some cleanup inpsired by refurb.
PR #743: ci: remove GHA workaround for macOS Python 3.11.
PR #742: chore: drop Python 3.6.
PR #726: docs: add a CITATION.cff for Uproot.
PR #733: add agoose77 as a contributor.
PR #732: add beojan as a contributor.
PR #731: add dcervenkov as a contributor.
PR #730: add klieret as a contributor.
PR #729: add nikoladze as a contributor.
PR #728: add veprbl as a contributor.
PR #716: [pre-commit.ci] pre-commit autoupdate.
PR #717: fix: regularize ROOT type aliases to C fundamental type names.
PR #715: fix: ReadOnlyDirectory should provide the largest abs(cycle) when cycle is unspecified, not the largest cycle.
PR #719: test: adjust for boost-histogram 1.3.2’s _storage_type deprecation.
PR #713: fix: use ctx manager to ensure sources are freed.
PR #714: chore: dask_awkward.test_utils moved in ContinuumIO/dask-awkward#76.
PR #706: [pre-commit.ci] pre-commit autoupdate.
PR #708: Add image for dask docs.
PR #644: feat: Finalizing AwkwardForth reader for Uproot.
PR #703: fix: Use
from_map
optimization for delayed numpy arrays and add tests with empty branches for the same.PR #700: fix: Fixes uproot.dask bug with empty branches.
PR #698: fix: Do not write incorrect fSumw2 in histograms (v5).
PR #679: feat:
from_map
like optimization for dask arrays. (also: #680)PR #691: ci: use concurrency group for
semantic-pr-title
PR #694: fix: Avoid triggering temporary dask-awkward/awkward incompatibility.
PR #689: ci: Lint PR titles according to conventional commits.
Release 5.0.0rc2
(pip)
PR #688: feat: move to hatchling.
PR #683: ci: use mamba.
PR #685: ci: autocancel repeated runs.
PR #684: fix: depend on packaging, not setuptools vendored packaging.
PR #686: ci: Get test dependencies from one source.
PR #682: Multiple clusters support for RNTuple.
PR #662: Implement stl containers for RNTuple.
PR #657: [pre-commit.ci] pre-commit autoupdate.
PR #677: Fixed TTree write_anew in a subdirectory (consistent caches).
PR #674: AsDynamic has no self._header.
PR #675: Implement transformed axis from boost-histogram/hist.
PR #673: Prevent std::pair from being AsStridedObjects.
PR #671: Gets the number of overflow bins for hist.axis.IntCategory, at least.
PR #670: pathlib.Path drops ‘//’ (naturally), but it’s sometimes used for URLs.
PR #652: Dask awkward support for uproot.dask.
PR #663: docs: add kakwok as a contributor for code.
PR #660: Set ReadOnlyDirectory attributes when fSeekKeys == 0.
PR #630: Primitive Support for RNTuple.
PR #656: Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1.
PR #654: [pre-commit.ci] pre-commit autoupdate.
Release 5.0.0rc1
(pip)
PR #650: [pre-commit.ci] pre-commit autoupdate.
PR #527: chore: cleanup flake8.
PR #647: docs: add Moelf as a contributor for code.
PR #646: docs: add kkothari2001 as a contributor for code.
PR #645: docs: add aryan26roy as a contributor for code.
PR #620: Awkward v2 update.
PR #641: [pre-commit.ci] pre-commit autoupdate.
PR #638: Iterate over objects in TDirectory in linear time.
PR #637: Set up tests for AsObjects, for the AwkwardForth reader.
PR #636: Forth based ROOT reader (revised)
PR #635: Bump actions/download-artifact from 2 to 3.
PR #634: Bump pypa/gh-action-pypi-publish from 1.4.2 to 1.5.0.
PR #633: Bump actions/upload-artifact from 2 to 3.
PR #632: Bump actions/checkout from 2 to 3.
PR #631: chore: add dependabot for actions.
PR #629: Cleaning up string generation in streamers.py.
PR #625: Fix annoying gaps in test files.
PR #622: Actually pass user-specified ‘awkward_form’ arguments into context.
PR #616: Completed the Forth based AsStrings reader.
PR #617: changed arguments for awkward_form.
PR #615: Updating docs and test in response to the removal of uproot.lazy in Uproot5.
PR #484: Manually add a Model for TMatrixTSym<double>.
Release 4.2.4
(pip)
Release 4.2.3
(pip)
PR #595: Put an upper limit on the time KeyInFileError takes to print itself (about 20 ms) by limiting damerau_levenshtein to 1000 strings.
PR #594: Recover from the HTTP error in #507 (with fallback).
PR #593: Add explicit interpreter for ROOT::VecOps::RVec.
PR #592: [pre-commit.ci] pre-commit autoupdate.
PR #584: [pre-commit.ci] pre-commit autoupdate.
PR #582: In hist, flow=True only has flow bins if the histogram object has them.
PR #581: [pre-commit.ci] pre-commit autoupdate.
PR #579: fix: bump black to 22.3.0 due to click 8.1 release.
PR #577: Test file-writing with Unicode names and fix it.
PR #575: [pre-commit.ci] pre-commit autoupdate.
Release 4.2.2
(pip)
PR #573: Restore performance hack for AsArray(True, False, AsVector(False, dtype)).
Release 4.2.1
(pip)
Release 4.2.0
(pip)
PR #557: Centralize ‘from_module’ checking and check the whole mro.
PR #551: [pre-commit.ci] pre-commit autoupdate.
PR #547: Fixed Tree-extending with ‘record’ in the ‘Tree._branch_data’.
PR #538: Allow reading and writing from/to already opened files.
PR #537: Instance version == 0 might differ from streamer version. Don’t compile a new class in that case.
PR #534: Add test with Python 3.10.
PR #533: [pre-commit.ci] pre-commit autoupdate.
PR #532: [pre-commit.ci] pre-commit autoupdate.
PR #530: Corner case: cut string is a Pandas MultiIndex but column to cut isn’t.
PR #526: chore: drop Python 2 syntax.
PR #525: Remove Python 2 and 3.5 support.
Release 4.1.9
(pip)
PR #523: docs: add pfackeldey as a contributor for code.
PR #522: [pre-commit.ci] pre-commit autoupdate.
PR #506: add uproot.model.TTable.data getter.
PR #521: Dynamic classes can’t be ABC subclasses, such as Sequence.
PR #519: [MemmapSource] Remove unnecessary(?) copies.
PR #517: Be more careful about identifying pd.DataFrame.
PR #512: [pre-commit.ci] pre-commit autoupdate.
PR #509: [pre-commit.ci] pre-commit autoupdate.
PR #503: [pre-commit.ci] pre-commit autoupdate.
Release 4.1.8
(pip)
Release 4.1.7
(pip)
Release 4.1.6
(pip)
PR #488: Bug-fixes in writing TTrees to preexisting files (“update” mode).
PR #481: Add @btovar manually because the allcontributors bot is broken or something.
PR #480: Pass exceptions to main thread in xrootd. (also: #456)
PR #478: Restrict Uproot 4.x to Awkward 1.x.
PR #477: include the tests suite in source distributions.
Release 4.1.5
(pip)
PR #475: Remember to update FreeSegments when writing TBaskets.
Release 4.1.4
(pip)
Release 4.1.3
(pip)
PR #453: Fixes #439 by checking for an Awkward Array before NumPy.
PR #451: Fixed lazy for empty TTrees (#450) and boost-histogram with no title.
PR #446: [pre-commit.ci] pre-commit autoupdate.
PR #452: Turn off eospublic-dependent tests for now.
PR #449: Leaf-lists (structs) and non-leaf-lists in the same Pandas DataFrame.
PR #442: Implement regular array support for TClonesArray.
PR #441: Recursively fix forms for objects that require ak.from_iter.
Release 4.1.2
(pip)
Release 4.1.1
(pip)
PR #428: Final tweaks, bug fixes, and performance checks for this stage of Uproot-writing.
PR #418: Add TTable support.
PR #427: [pre-commit.ci] pre-commit autoupdate.
PR #426: Replaced DirectoryData.keys list with O(1) search structures and replaced all-keys rewriting with just-new-keys rewriting.
PR #425: The ‘xrootd_handler’ key must be set regardless of whether there’s a warning about its choice of value.
Release 4.1.0
(pip)
PR #422: Integration with the hist library, which completes the file-writing sprint.
PR #421: Documenting the writing interface.
PR #420: Start working on PyROOT/Uproot interoperability.
PR #416: Start developing compression for Uproot writing.
PR #415: Refactor all of the writing code.
PR #414: Write a jagged array.
PR #407: Add support for reading TDatime.
PR #413: CI: rerun tests on network errors.
PR #412: Multidimensional NumPy arrays.
PR #411: Float16_t with up to 32 bits is allowed (not just 16).
PR #410: Fix links to source in sphinx.
PR #409: Write a TTree 3.
PR #404: [pre-commit.ci] pre-commit autoupdate.
PR #405: Write a histogram.
PR #403: Revert “Remove ‘@’ fields from lazy Forms (fixes lazy TLorentzVector).
PR #403: Remove ‘@’ fields from lazy Forms (fixes lazy TLorentzVector).
PR #399: Handle dimensions in a leaf-list.
PR #397: [pre-commit.ci] pre-commit autoupdate.
PR #396: mark test 0220 with network tag.
PR #395: Treat self-built XRootD version strings. (also: #394)
PR #393: [pre-commit.ci] pre-commit autoupdate.
PR #388: Avoid warning when XRootD is installed but not used.
Release 4.0.11
(pip)
Release 4.0.10
(pip)
Release 4.0.9
(pip)
Release 4.0.8
(pip)
PR #366: ci: use guidelines for deploy.
PR #358: Conditionally apply XRootD workarounds based on it’s version.
PR #361: docs: add peguerosdc as a contributor.
PR #363: Explicit models need explicit behaviors.
PR #362: [pre-commit.ci] pre-commit autoupdate.
PR #357: [pre-commit.ci] pre-commit autoupdate.
PR #352: Make TH* and TGraph* models as a step toward making them writable.
PR #349: Added ability to write TObjStrings.
PR #348: [pre-commit.ci] pre-commit autoupdate.
PR #347: [pre-commit.ci] pre-commit autoupdate.
PR #346: Touch-ups to the bulk copy method (renaming regex syntax and exclude TTree/RNtuple).
PR #345: Implemented and tested the bulk copy method.
PR #344: Add file-reading methods to WritableDirectory, so it can be mostly interchangeable with ReadOnlyDirectory.
PR #343: Use real datetimes in TDirectories and TKeys.
PR #342: docs: add cozzyd as a contributor.
PR #341: File writing: manipulating TStreamerInfo.
PR #339: Add support for basic HTTP authentication.
PR #340: [pre-commit.ci] pre-commit autoupdate.
PR #338: Shutdown the ThreadPoolExecutor in XRootDSource on exit (stop leaking threads in XRootDSource)
PR #337: Adjust to the new scikit-hep-testdata.
PR #336: Avoid division by zero in calculating the number of entries.
PR #334: Stop leaking threads in HTTP (through the fallback mechanism).
Release 4.0.7
(pip)
PR #323: [pre-commit.ci] pre-commit autoupdate.
PR #329: Update existing ROOT files and update ROOT -> Uproot -> ROOT.
PR #328: Fixes #325, file:// on Windows, and handles %-encoded URIs.
PR #322: Starting the infrastructure for writing files.
PR #320: Start working on ROOT writing.
PR #319: fix: restore support for old Pythons.
PR #317: Cleaning up Uproot 2.
PR #316: Cleaning up Uproot.
PR #315: fix typo events -> uproot.
PR #305: Histograms should be part of the regular tests.
PR #304: Empty jagged arrays need to be finalized before return.
PR #302: Allow all sources and caches to be pickled.
PR #301: add bytecount mask as part of read_object_any.
PR #298: feat: Memberwise for std::pair<>
Release 4.0.6
(pip)
Release 4.0.5
(pip)
PR #295: Make MultithreadedXRootDSource the default for xrootd files. (also: #294)
PR #289: feat: to boost histogram interface support.
PR #286: XRootD: raise an exception if read_vector failed.
PR #281: Trim the memory usage, especially for the case of a flat Pandas DataFrame.
PR #278: Add specialized behaviors for TParameter, including generic dispatch for ‘<number>’ templates.
PR #280: Fixes #252 by interpreting leaf dimensions and only passing a length to ak.layout.RecordArray when it’s ambiguous.
PR #279: Remove ‘library=cp’ (CuPy) support because we can’t test it in CI. Arrays can be moved to the GPU after they’ve been read (it’s not a big performance difference).
PR #272: Tighten the rule that assigns streamers to branches. Issue #268 provides an example in which the name alone is not unique.
Release 4.0.4
(pip)
Release 4.0.3
(pip)
PR #264: docs: add ChristopheRappold as a contributor.
PR #263: The allow_missing parameter of uproot.concatenate and uproot.iterate should permit missing TBranches, as it already permits missing files.
PR #262: Minor fixes for CMS AOD (Run I) listing.
PR #260: Update basic.rst with conditional cut example.
PR #258: Cast start and length to int before passing to pyxrootd.client.File.read.
Release 4.0.2
(pip)
(no pull requests)
Release 4.0.2rc2
(pip)
Release 4.0.2rc1
(pip)
PR #243: Split vector reads into smaller chunk when single requests are larger than
max_element_size
PR #247: Include hooks in the decompression process, TBranch.compression, and TBasket.block_compression_info for more information.
PR #246: Black and flake8.
PR #245: Use ak.Array dict constructor instead of ak.zip with depth_limit=1.
Release 4.0.1
(pip)
(no pull requests)
Release 4.0.1rc3
(pip)
PR #241: docs: add kratsg as a contributor.
PR #239: Fix TH3’s ‘to_numpy’ (https://stackoverflow.com/q/65632670/1623645).
PR #240: feat: Add TGraphAsymmErrors.
PR #237: Hide ReferenceError in XRootD atexit.
PR #236: fix: kind was not implemented on normal histograms.
PR #228: Fixed bug that prevented to read TProfile2D/TProfile3D.
PR #231: refactor: modernize setup.
Release 4.0.1rc2
(pip)
Release 4.0.1rc1
(pip)
Release 4.0.0
(pip)
Release 4.0.0rc4
(pip)
PR #215: Rename ‘master’ branch to ‘main’.
Release 4.0.0rc3
(pip)
PR #213: Fix documentation for histograms.
PR #212: Update names to henryiii/uhi#3 (histogram interface).
Release 4.0.0rc2
(pip)
(no pull requests)
Release 4.0.0rc1
PR #211: The great name change: uproot4 -> uproot.
PR #207: feat: support TProfile 1D conversion.
PR #202: Start writing the Uproot 3 to 4 cheat sheet.
PR #203: Fixed #176 and made tests run in Python 2.7 (which is what the #176 bug was about).
PR #200: Turn unknown EmptyArrays into known types.
PR #199: Add fallback for wrong class version.
PR #195: Fixes lost cuts in iterate.
PR #189: fix: warning about GHA security.
PR #184: Complain about missing files, if they’re not wildcards.
PR #187: Fixed a serious memory leak in HasBranches.iterate.
PR #186: Fix TStreamerLoop code generation.
PR #185: Allow allocators in std::vector typenames.
PR #183: Pass through HTTP(S) query parameter if they exist.
PR #178: Updated to the new ak.Array constructor arguments in 0.4.2.
PR #175: Fix the empty ROOT file case.
PR #171: Fix .lazy() called on missing files.
PR #166: Tweaks to investigate #131, but it looks like it was just a bad file.
PR #165: docs: add alexander as a contributor.
PR #164: docs: add JMSchoeffmann as a contributor.
PR #163: docs: add EdoPro98 as a contributor.
PR #162: docs: add HealthyPear as a contributor.
PR #161: docs: add ast0815 as a contributor.
PR #160: docs: add asymmetry as a contributor.
PR #159: docs: add douglasdavis as a contributor.
PR #158: docs: add bendavid as a contributor.
PR #157: docs: add andrzejnovak as a contributor.
PR #156: docs: add raymondEhlers as a contributor.
PR #155: docs: add bfis as a contributor.
PR #154: docs: add jrueb as a contributor.
PR #153: docs: add wiso as a contributor.
PR #152: docs: add riga as a contributor.
PR #151: docs: add HDembinski as a contributor.
PR #150: docs: add benkrikler as a contributor.
PR #149: docs: add guitargeek as a contributor.
PR #148: docs: add masonproffitt as a contributor.
PR #147: docs: add henryiii as a contributor.
PR #146: docs: add oshadura as a contributor.
PR #145: docs: add nbiederbeck as a contributor.
PR #144: docs: add nsmith as a contributor.
PR #143: docs: add kreczko as a contributor.
PR #142: docs: add tamasgal as a contributor.
PR #141: docs: add matthewfeickert as a contributor.
PR #140: docs: add plexoos as a contributor.
PR #139: docs: add chrisburr as a contributor.
PR #138: docs: add reikdas as a contributor.
PR #136: docs: add jpivarski as a contributor.
PR #134: PR to set up allcontributors bot.
PR #135: docs: add jpivarski as a contributor.
PR #133: Point to documentation on README.
PR #132: Add Python 3.9 tests.
PR #127: feat: show similar keys first on KeyInFile error.
PR #124: Variety of issues raised by an ATLAS xAOD.
PR #118: Fix name fetch again.
PR #117: Recognize full paths of branch names in expressions if they are exact (don’t parse as division).
PR #116: Don’t assume branch names are expressions.
PR #113: ci: cleanup a bit.
PR #112: Pandas of flat data with a cut applied returned empty tuple; fixed.
PR #111: Implement TProfile2D’s values.
PR #110: Ensure that we don’t check in code with print statements.
PR #109: remove superfluous print statement.
PR #107: Fix memory leak in parallel processing.
PR #101: Start writing the readthedocs.
PR #99: Read file-like objects as a new kind of Uproot Source.
PR #96: Set up interface between Uproot and Awkward so that Awkward can be used to optimize object-reading.
PR #97: Update TH* behaviors to match uproot3 expectations. (also: #93)
PR #95: Adjust HasBranches.show widths and add ‘…’ so that the ‘*’ at the end of a type doesn’t get truncated without fanfare.
PR #94: Homogenize uses of KeyInFileError.
PR #92: Fixes #90 and readies Uproot lazyarray for Awkward ArrayCache weakrefs.
PR #89: Put docstrings on everything.
PR #88: Fixes #36 by replacing range with xrange in Python 2.
PR #87: Check for memberwise serialization and raise NotImplementedError as needed.
PR #86: When searching for a streamer by member name, be sure to include a class’s base classes.
PR #81: Removed the colon-parsing and replaced it with dicts.
PR #84: Distinguish between 1-byte and 6-byte header in AsArray.
PR #83: Uproot4 seems to be handling ‘long long’ okay already, but I added it to the parser anyway.
PR #78: Get rid of the Dask backend (it puts too many constraints on Awkward; should be done differently, if at all).
PR #73: Revamp physical layer to be sure it’s on a solid foundation. The things we didn’t use can be removed.
PR #70: Use correct memory units.
PR #67: Add function to retrieve common entry offsets among branches.
PR #68: Fix error from calling
reshape
on TArrayD that lives inside of a TH1D.PR #66: Fix an issue where fallback HTTP doesn’t get told it should notify when done.
PR #63: Fix some more NumPy ‘tostring’ -> ‘tobytes’ warnings.
PR #62: optimize handling of header bytes.
PR #59: XRootD improvements.
PR #58: Detach live, readable file objects from Model instances, replacing them with static DetachedFile objects.
PR #55: Replace id(branch) with branch.cache_key when coordinating basket-reads.
PR #53: Model.parent should point to the concrete instance, not the objects referring to base class data.
PR #49: Make to_numpy match boost-histogram’s flow=False default (and mplhep’s expectation).
PR #52: Parse multi-argument templates beyond just std::map. (also: #37)
PR #46: Connect to boost-histogram and hist.
PR #45: Start implementing lazy arrays.
PR #44: Introduce a concatenate function to relieve user-pressure on lazyarrays for cases it isn’t intended for.
PR #43: Start working on the iterate method and function.
PR #35: Last data type/interpretation features before moving on to iteration.
PR #34: AsStridedObjects, such as TLorentzVectors.
PR #33: AsObjects.simplify, leaf-lists, and test Double32.
PR #31: Test STL containers.
PR #29: Implement STL containers.
PR #28: Fallback to reading streamer and raise better error messages on true failures.
PR #23: Develop more interpretations.
PR #22: Make the multi-branch ‘arrays’ function stable.
PR #21: Simplify Conda activate.
PR #19: Fixing bugs for HATS.
PR #18: Fill out the array-fetching interface.
PR #17: Multi-basket, multi-branch fetch.
PR #16: Start work on interpretations; read at least one basket.
PR #15: Separate the object_cache and array_cache.
PR #14: Read all TTree versions.
PR #13: Add RNTuple anchor, with test.
PR #11: Generate classes from streamers, versioning, and reuse them between files.
PR #10: Start streamers: deserializing them into objects on demand.
PR #9: Nested directories and the ‘uproot.open’ function.
PR #8: TFile headers, root directory, streamer info key. Developed a reading strategy. (also: scikit-hep/scikit-hep-testdata#31)
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.
