Releases: scikit-hep/uproot5
5.0.0rc1
This is the first 5.0 (pre) release!
It should not be considered stable, and it strictly requires Awkward 2.0, so you need to have the latest pre-release of that. This may be reflected in the lazy import of awkward
; if not, a subsequent 5.0 pre-release will get that right.
Changes relative to any 4.x release:
@kkothari2001 removed the uproot.lazy
function (though a stub remains for the sake of keeping the documentation until 5.0 is actually released): PR #615. Updated the entire codebase from Awkward 1.x to Awkward 2.x: PR #620.
@aryan26roy changed arguments in the awkward_form
method: PR #617. (@jpivarski fixed a bug in it: PR #622.) @aryan26roy completed an AwkwardForth-based reader for AsStrings
: PR #616. Made the Python code generation in streamers.py more readable: #629. Revised the way that the AwkwardForth code generator would pass through the control flow: PR #636.
@henryiii added dependabot for GitHub Actions: PR #631. Cleaned up flake8: PR #527.
@jpivarski fixed a performance bug, to allow linear-time iteration over TDirectory fields: PR #638 (backported to v4 as well). Set up as close as possible to full-coverage tests for AwkwardForth: #637.
4.3.3
4.3.2
4.3.1
@jpivarski applied this fix: #618 (comment).
4.3.0
First Uproot 4 release from the bug-fix branch.
@jpivarski added a TMatrixTSym model (long stalled PR): #484.
@aryan26roy restored the argument list of Interpretation.awkward_form
, a public function: PR #618.
4.2.4
@kkothari2001 implemented uproot.dask
(for library="np"
only), a new function to provide Uproot data as Dask arrays: PRs #578, #603. Added another new function, uproot.num_entries
, for getting the number of TTree entries from a set of files with minimal reading: PR #609.
@jpivarski removed tests that rely on a ROOT TStreamerInfo behavior: PR #612. Changed awkward_form
arguments to (self, file, context)
so that new pseudo-arguments can be passed through the context
without another major code change: PR #611. This is to prepare for @aryan26roy's AwkwardForth implementation of AsObjects
interpretations (see #610, WIP targeting Uproot 5).
Note: this is the last Uproot 4 release before the repo branches into main
(for version 5) and main-v4
(for bug-fixes in Uproot 4, starting with 4.3.0). Uproot 5 will incorporate Awkward version 2, as described in the Awkward road map, but it will have minimal interface changes relative to Uproot 4 (mostly just uproot.lazy
โ uproot.dask
).
4.2.3
@jpivarski fixed the use of Unicode names for objects in ROOT files: PR #577. Made flow=True
mean the same thing for Uproot histograms as hist: PR #582. Added an interpretation for ROOT::VecOps::RVec
: PR #593. Replaced an error message in HTTPSource with a fallback to the non-multipart-GET case: PR #594. Put an upper limit on the time KeyInFileError takes to print itself: PR #595.
4.2.2
4.2.1
@henryiii removed wheel
from pyproject.toml: PR #565.
@jpivarski added a rule to skip parsing Float16/Double32 TBranch titles if the title is not parsable (and just assume default number of bits): PR #561. Removed references to deprecated distutils
and Pandas Int64Index
: PR #564. Removed the rule that interpreted fBits
as 1 byte (it's 4 bytes everywhere except in some branches of some Delphes files): PR #570.
4.2.0
Dropped support for Pythons 2.7 and 3.5: PR #525. From now on, Uproot only supports Python 3.6 and up.
@henryiii dropped Python2isms from the codebase: PR #526.
@jrueb made writing to Python file handles work (fixed a half-finished, forgotten implementation): PR #538.
@jpivarski fixed cut
jagged-array corner-case in library="pd"
. Fixed a case in which the instance version is 0, but the streamer version is not: PR #537. Fixed uproot.WritableTTree.extend
when the metadata needs to be rewritten: PR #547. When checking to see if something
in file["name"] = something
is an Awkward Array or Pandas DataFrame for creating a TTree, also check for superclasses (the whole mro): PR #557.