Releases: root-project/root
v6.34.00-rc1
First release candidate of the 6.34.00 release
🗒️ Release notes
💾 Install instructions
This release is an opportunity to try out the new functionalities of the 6.34.00 development release, currently scheduled by the end of the month. The new ROOT comes with many new features (see the preliminary release notes) as well as improved stability: more than 160 items in the ROOT trackers have been addressed for this release.
Some highlights:
- RNTuple: that the first version of the RNTuple on-disk binary format was finalized. Future versions of ROOT will be able to read back RNTuple data written as of this release. Check out this talk at the CHEP 2024 conference to learn more about RNTuple, the new HEP data storage software technology!
- RDataFrame: scaling on many cores was improved, memory usage significantly reduced. Moreover, the interface for distributed execution has been expanded for a more rewarding user experience.
- RooFit: the power of automatic differentiation can be now transparently used thanks to CLAD - see this talk at the ICHEP 2024 conference.
- Python interface: more stability and functionality, also thanks to the latest Cling C++ interpreter version, powered by LLVM 18.
- Graphics: Javascript interactive visualisation is now the default for notebooks, moreover the web graphics functionality has been further expanded.
- CI infrastructure: not a functionality per se, but a boost in stability. This release was integrated and tested on more than ten Linux flavours (on x86, ARM and NVidia GPUs), four types of Windows configurations as well as four macOS versions (yes, the Apple Beta was there too!)
Please note that 6.34 is a short term support release. As such, it is not meant to be used for data taking. It will be superseded by the 6.36 release, which is foreseen for the second quarter of 2025. Patch releases of 6.34 will be provided until June 30th 2025.
Cheers,
Danilo for the ROOT Project
6.32.08
Patch release of v6.32 series.
🗒️ Release notes
💾 Install instructions
Items addressed in this release:
Besides the fixes listed below, a scaling problem RDataFrame was fixed.
v6.32.06
Patch release of v6.32 series.
🗒️ Release notes
💾 Install instructions
Items addressed in this release:
This is the first ROOT release supporting macOS 15 Sequoia.
- #15178 - ROOT generates CMake warnings when building from the tarball
- #16219 - Module map on the new XCode version for macos15-beta
- #16249 - Iterating with a range for does one extra iteration
- ROOT-10902 - SMatrix read from TTree contains all zeroes
v6.32.04
Patch release of v6.32 series.
🗒️ Release notes
💾 Install instructions
Items addressed in this release:
- #7223 - [RF] RDataFrame to RooDataSet/RooDataHist conversion
- #7782 - [RF] Allow to set nbins for RooPlot (or disallow)
- #9838 - [RF] RooCurve::Average() overestimating average values of standard precision curves on smallgit
- #11565 - [RF] Crash in RooStats::ToyMCSample::GenerateToyData
- #13387 - Please recover SrvAuthenticate from libSrvAuth library
- #14541 - [ROOT-6193] Editor for palette axis cannot set title properties
- #15104 - new PyROOT/cppyy fails to pickle enums
- #15161 - Attribute (getitem) differences for PyROOT objects in ROOT master
- #15234 - cppyy - wrong object type when iterating over a polymorphic container
- #15315 - [PyROOT] Example with inheriting from ROOT.Math.IMultiGenFunction doesn't work after recent cppyy upgrade
- #15425 - TTreeProcessorMP processes events multiple times when there are more threads than entries
- #15755 - [RF][HS3] Higgs discovery workspaces roundtrip
- #15874 - [Hist] Backwards compatibility broken for THnSparseL in 6.32
- #15887 - Broken plot .C macros for default Name() argument in plotOn()
- #15977 - [gui] Event StatusBar does not work well when TMarker outside of zoom region
- #15986 - Problems with TUri compilation
- #16031 - VecOps binary functions not using the right types
- #16038 - Could NOT find Vdt error when using 6.32.02 docker image
- #16087 - [docs] Potential typo in function name case: DistanceToPrimitive
- #16201 - [PyROOT] Support most recent numba version 0.60.0 intervals
- ROOT-6286 - Reading a TChain and TTreeCache
- ROOT-7991 - THnSparse::ProjectionND yields disfunctional histogram
- ROOT-8238 - TPrincipal tries to make histograms with nbin=0
- ROOT-8519 - Bug when use simple math functions in TTree::SetAlias()
v6-30-08
Patch release of v6.30 series.
🗒️ Release notes
💾 Install instructions
Items addressed in this release:
- #11353 - Compiled program with libNew.so crash
- #13511 - TMapFile can't work
- #14767 - rootn.exe instant crash on startup
- #15090 - TClass::GetClassInfo() is not thread safe
- #15406 - TEnum::GetEnum does not seem to see 'through' using statements.
- #15460 - TEnum::GetEnum("B")->GetUnderlyingType() does not following typedefs
- #15590 - Infinite recursion in TFile::Open
- #15621 - Buffer overflow in TBranch::Init
- #15686 - JITted code changes the execution order of computation graph nodes
- #15511 - Possible memory corruption in cling
The RooPower
and RooExpPoly
classes are removed from this release branch.
It is an unfortunate but unavoidable change: different classes with the same name were used in the CMS collaboration since at least the Higgs discovery. This name collision caused massive problems in backwards compatibility and was blocking CMS from picking up ROOT 6.30 for statistical analysis. These classes were only introduced with ROOT 6.28.00 and were not widely advertised, so you should not be affected by this removal.
If you were using one of these classes, please copy the sources from a previous ROOT tag in your analysis as a temporary solution, and report this unsupported usecase by opening a GitHub issue.
v6.32.02
Patch release of v6.32 series.
🗒️ Release notes
💾 Install instructions
Items addressed in this release:
- #7236 - Memory leak in TFile::WriteObjectAny, depending on data type
- #10075 - Difficult to configure Xrootd to use non-builtin openssl
- #14051 - [web graphics] Web graphics resizes canvas despite canvas size definition in the macro
- #15321 - [MSVC] Root is failed with error G694476FC: static_assert failed "Unexpected size"
- #15405 - [RF] ExternalConstraints documentation incorrect for RooMCStudy
- #15430 - Test failures with Python 3.13
- #15473 - Segmentation fault when building with the mold linker
- #15498 - gPad is not consistent in pyROOT with web canvas
- #15511 - Possible memory corruption in cling
- #15579 - Performance regression (slowdown) in ALICE event generation
- #15686 - JITted code changes the execution order of computation graph nodes
- #15688 - [PyROOT] TProfile2D::Fill ambiguities preventing use of some signatures in pyROOT
- #15690 - [RF] SegFault in RooBernstein::fillBuffer
- #15694 - [RF] New RooFit EvalBackend returning incorrect result for binned likelihoods
- #15703 - Leaking memory though strings in PyROOT
- #15727 - Windows CMake project cannot find_library() after integrating with ROOT.
- #15751 - [RF] Using a conditional RooProdPdf in a multi-channel fit spawns too many integrals with new CPU evaluation backend
- [#15791] - JS ROOT does not draw tprofile2d correctly with "TEXT" draw option
- [#15799] - pyunittests-pyroot-pyz-ttree-setbranchaddress segfaults with Python 3.13
- [ROOT-7412] - Strange results looking for nested types
- [ROOT-8439] - PyROOT does not treat exceptions properly in overloaded methods
- [ROOT-9307] - TPad::GetListOfPrimitives() double deletion error in TList::Clear()
v6.32.00
First release of the v6.32 series.
🗒️ Release notes
💾 Install instructions
Highlights:
- RDataFrame - zero-code-change experience when moving from processing a TTree to processing an RNTuple, as well as a greatly improved Distributed RDataFrame: ROOT is ready to run at your favourite Analysis Facility – it even allows you to profit from an interactive experience backed by a distributed system using your current batch system (e.g. HTCondor, like the lxplus+lxbatch combination at CERN): try it now!
- RooFit - The new vectorizing CPU evaluation backend is the default for likelihood minimization, now up to 10x faster on a single CPU core!
- PyROOT - the interop engine of PyROOT, cppyy, was upgraded to its latest version, blurring the boundaries between Python and C++ in ROOT better than ever, e.g. the conversion of NumPy arrays to vectors, implicit conversion from nested Python tuples to nested initializer lists, and improved overload resolution.
- RNTuple – The RNTuple on-disk format was updated to release candidate 2, in preparation of the binary format first production freeze. The RNTuple API come with a major refactoring, improving consistency across different parts and improving overall robustness. Moreover:
- Merging of RNTuple data with hadd is now supported.
- A new RNTupleParallel writer class creates RNTuple data in highly concurrent settings.
- A new RNTupleInspector utility class provides information about the on-disk metadata of an RNTuple.
- Cling - Speaking of interpreters, the new PyROOT is glorified by a new LLVM version, LLVM 16, that comes with numerous advantages, among which a better support for C++ 20 as well as better and faster generated code.
- Graphics - The ROOT release 6.32 brings a lot of impressive enhancements to the Web Graphics package, surpassing the features and capabilities of version 6.30. This update provides users with a secure and more robust Web Graphics. Try it with the command
root –web
! - REve - Lightweight rendering of any shape on the scale of hundred thousand of instances. The box, hexagon, and cone shape are showcased in the eve7 examples. The rendering of transparent objects is greatly improved.
All that comes with a greatly improved stability: more than 250 items in the ROOT trackers have been addressed for this release. Excellent news for experiments planning to include this release in their production software stacks!
v6.30.06
Patch release of v6.30 series.
v6.26/16
Patch release of v6.26series.
v6.30.04
Patch release of v6.30 series.