Skip to content

Releases: root-project/root

v6-38-02

25 Feb 09:36

Choose a tag to compare

Published on February 25, 2026

Besides the numerous fixes, forty of them, some of the work in preparation for ROOT 6.40 was backported to the 6.38 series. For example, the list of logical volumes gets now rehashed automatically, giving an important performance improvement for setups having a large number of those.

Items addressed in this release

  • #21244 - TPad Print() Title option issue
  • #21173 - TLegend header drawn in different position with jsroot and more than 1 column
  • #21165 - RDataFrame progress bar changes stream output precision
  • #21159 - [RF] Unexpected result with RooFFTConvPDF after ROOT 6.32
  • #21080 - Bad interference for TH1.Fit and EnableImplicitMT
  • #21070 - RedirectServers - Server not redirected
  • #21066 - [RF] Crash doing HistFactory Workspace combination
  • #21058 - ROOT interpreter crashes when using nlohmann::json
  • #20954 - [Minuit2] Analytical Hessian indexing mismatch
  • #20913 - MIGRAD can call G2 even if HasG2 is set to false
  • #20904 - [RF] RooWorkspace::data returns null pointer if the workspace contains 52 or more datasets
  • #20894 - ProfileLikelihood calculator defines wrongly the tolerance
  • #20872 - hadd crashes when already existing output file is used with remote file input paths
  • #20860 - Inconsistent information for histogram contours
  • #20858 - Make "LIST" draw option for contour plot work with "CONT1", "CONT2", and "CONT3" options
  • #20834 - c++20 related test filure on ix86 (32 bit intel)
  • #20831 - New test failure with gcc 16 (possibly c++20 related)
  • #20786 - thisroot.sh can set incorrect ROOTSYS
  • #20779 - [CMake] pyroot fails due to missing rpaths in cppyy (macOS, gnuinstall)
  • #20761 - Chi2Test: Report residuals also for higher dimensions
  • #20706 - Segmentation violation in the TTree::Merge method for root >= v6.36.00
  • #20703 - ROOT::Fit::FitResult fixed / bound parameter states not updated
  • #20674 - .rootlogon.C ignored when running TRootBrowser
  • #20665 - Analytical Hessian is not made positive-definite during minimizer seeding in Minuit2
  • #20650 - root 6.38.00 can load incompatible old libcppyy_backend.so
  • #20619 - fRC increased twice in TGDMLParse
  • #20602 - TGTextEntry spills text out of the text box on macOS but not on Ubuntu
  • #20586 - MVSC fails compiling Minuit2 with OpenMP enabled
  • #20511 - CMSSW DQM bin-by-bin comparison failed with ROOT 6.36
  • #20383 - [RF] Broken rf501_simultaneouspdf.py in dev3/nighlies
  • #20356 - Auxiliaries of volumes are not exportet in gdml
  • #20267 - TMVA.Experimental.SaveXGBoost and feature names
  • #18837 - [Python] Calling std::span::begin() broken with gcc15
  • #18718 - [RF] Regression in ranged fits with RooSimultaneous due to new likelihood evaluation
  • #18314 - [ntuple] Heuristically reduce memory usage of buffered writing
  • #17697 - pyroot can trigger clang assertion failure on enum with value too big to fit in int64_t
  • #16064 - [PyROOT] Type UInt64_t/unsigned long long can cause problems in template resolutions
  • #15872 - [PyROOT] The cppyy version inside ROOT doesn't support long long
  • #7167 - [TTreeProcessorMP] Warn if Process is called from a multi-thread program
  • ROOT-8842 - TTreeReaderFast crashes reading flat TTree

v6-32-22

12 Feb 10:07

Choose a tag to compare

The release notes for this release can be found here. Among the other minor fixes and improvements, this release addresses CVE-2026-24811 and CVE-2026-24812.

v6-30-10

12 Feb 09:55

Choose a tag to compare

The release notes for this release can be found here. Among the other minor fixes and improvements, this release addresses CVE-2026-24811 and CVE-2026-24812.

v6-28-14

12 Feb 10:07

Choose a tag to compare

The release notes for this release can be found here. Among the other minor fixes and improvements, this release addresses CVE-2026-24811 and CVE-2026-24812.

v6-26-18

12 Feb 10:07

Choose a tag to compare

The release notes for this release can be found here. Among the other minor fixes and improvements, this release addresses CVE-2026-24811 and CVE-2026-24812.

v6-36-08

05 Feb 20:00

Choose a tag to compare

Release 6.36.08

Published on February 6, 2026

Items addressed in this release

This release features a few minor fixes.

The list of issues addressed for this release is the following:

  • #21070 - RedirectServers - Server not redirected
  • #21066 - [RF] Crash doing HistFactory Workspace combination
  • #21058 - ROOT interpreter crashes when using nlohmann::json
  • #20954 - [Minuit2] Analytical Hessian indexing mismatch
  • #20913 - MIGRAD can call G2 even if HasG2 is set to false
  • #20872 - hadd crashes when already existing output file is used with remote file input paths
  • #20860 - Inconsistent information for histogram contours
  • #20858 - Make "LIST" draw option for contour plot work with "CONT1", "CONT2", and "CONT3" options
  • #20831 - New test failure with gcc 16 (possibly c++20 related)
  • #20780 - Font precision 3 doesn't work with divided canvas
  • #20761 - Chi2Test: Report residuals also for higher dimensions
  • #20706 - Segmentation violation in the TTree::Merge method for root >= v6.36.00
  • #20665 - Analytical Hessian is not made positive-definite during minimizer seeding in Minuit2
  • #20643 - thisroot.sh no longer remove previous version from the paths
  • #20602 - TGTextEntry spills text out of the text box on macOS but not on Ubuntu
  • #20511 - CMSSW DQM bin-by-bin comparison failed with ROOT 6.36
  • #18837 - [Python] Calling std::span::begin() broken with gcc15
  • #18314 - [ntuple] Heuristically reduce memory usage of buffered writing

v6-38-00

27 Nov 13:30

Choose a tag to compare

First release of the 6.38 series.
🗒️ Release notes
💾 Install instructions

We are proud to announce the Development release ROOT 6.38.00 🏆
The focus for this release was on expanding usability from Python and interoperability with its ecosystem, data analysis and modernisation. However, there is much more than that: ease of installation, runtime performance, stability (>250 items in our trackers have been addressed). See the full release notes and highlights below!

📦 Distribution

  • In alpha mode, you can install 6.38 releases with pip on Linux: pip install root 🚀

📈 RDataFrame.

  • Ergonomics: You don’t need to write template arguments for Snapshot any more, i.e. myDf.Snapshot<int, float>(...
  • You can snapshot systematic variations to TTree in experimental mode. See systematic variations for the details!
  • Distributed RDataFrame: RNTuples are treated internally as TTrees. Without API changes, your processing of RNTuples will be even faster than before!

🐍 Python Interface

  • In RDataFrame, you can pass to Define and Filter a set of Python functions wider than before.
  • An enhanced Unified Histogram Interface (UHI) implementation is now even more stable, thanks to a reinforced testing suite extending the UHI testing helper.

7️⃣ ROOT7

  • New highly performant histograms are available for testing: see these examples!
  • ROOT::Experimental::RFile, a minimal and modern interface to ROOT files, is there!

💾 RNTuple

  • Clarity: you can support RNTuple with the classic browser, profiting from several visual improvements, including a new treemap visualization of field sizes.
  • Parallelism: The parallel writer became part of the stable API. See it in action in this example.
  • Performance: (vectors of) fixed-size arrays are now treated in bulk
  • Usability: automatic schema evolution is now akin to the classic I/O behavior. You can read expert documentation in tree/ntuple/doc/SchemaEvolution.md.

🧑🏽‍💻 C++ Interpreter

  • The LLVM powering Cling has been upgraded to version 20: more runtime performance and features thanks to the new compiler!
  • You can use SYCL interactively if you build ROOT with -Dexperimental_adaptivecpp=ON

📊 RooFit

  • With the RooMultiPdf, you can minimize floating categorical variables, e.g. for models with variables that toggle between different background shapes.

Please note that 6.38 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.40 release, which is foreseen in May 2026. Patch releases of 6.38 will be provided until June 2026.

v6-36-06

26 Nov 08:54

Choose a tag to compare

Patch of the v6.36 series.
🗒️ Release notes
💾 Install instructions

This release features a few minor fixes. It will also be compatible with the new Apple XCode 26.2.

The list of issues addressed for this release is the following:

  • #20377 - Investigate I/O of std::unique_ptr on latest MacOS beta
  • #20282 - [ntuple] use meta normalized name for streamer info records
  • #20083 - [RF] Offset() option is ignored by the fitTo() function
  • #19963 - Reading individual TTree sub-branch into a std::map lead to write into delete memory.
  • #19889 - Mixing Clang 20 and ROOT causes very sporadic crashes
  • #19814 - Regression in 6.34: segfault when using TTreeReader on partially initialized TChain
  • #19327 - Build Fails on MacOS (ARM, 15)
  • #18782 - Segfault in TTree::Branch with seemingly simple custom class

v6-32-20

26 Nov 11:03

Choose a tag to compare

Patch of the v6.32 series.
🗒️ Release notes
💾 Install instructions

This release features one bugfix (#20083 - TTreeIndex fails under Valgrind due to long double emulation). It will also be compatible with the new Apple XCode 26.2.

Release Candidate v6-38-00-rc1

07 Nov 08:48

Choose a tag to compare

Pre-release

First release candidate of the 6.38.00 release
🗒️ Release notes
💾 Install instructions

This release is an opportunity to try out the new functionalities of the 6.38.00 development release, currently scheduled by the end of November. The new ROOT comes with many new features (see the preliminary release notes) as well as improved stability: more than 240 items in the ROOT trackers have been addressed for this release.