Release 6.40.00 - 2026-05-20
Release Notes
The full release notes for this release can be found here.
This release represents a massive leap toward the future of ROOT 7. We’ve unlocked game-changing capabilities, including the ability to opt-out of automatic class registration, experimental access to high-performance, multithreading-optimized histograms, and a sleek, ergonomic new file interface (RFile) designed for modern workflows.
But we didn’t stop there. We’ve streamlined the entire codebase for peak efficiency and addressed over 160 items in our trackers to ensure rock-solid stability and cutting-edge features (see the full list here). Dive into the full release notes and explore the highlights below!
🔓Opt-out of automatic class registration Break free from histograms and objects automatically attaching to the current (T)directory! Enable this game-changing capability invoking ROOT::Experimental::DisableObjectAutoRegistration(): unlock more control by exploring the documentation.
📊 Histograms More features in the new histograms! Concurrent filling is now available, also to save memory in highly multithreaded applications. This feature is even integrated into RDataFrame: check out the tutorials!
🤖 Machine Learning The Data Loader has been reimagined as ROOT::Experimental::ML::RDataLoader! This powerful tool now performs cluster-aligned reads with a sophisticated shuffling strategy and supports multiple RDataFrames as input. Seamlessly output to NumPy, PyTorch, or TensorFlow, while leveraging new under- and oversampling support for dual-class eager loading.
💾 I/O Experience a brand-new, streamlined HTTP I/O implementation powered by libcurl! This update delivers modern remote read capabilities, including advanced compression, secure transport, and S3 support, all across 🐧🍎🪟.
🔀 RNTuple Multiple threads can share a single reader efficiently thanks to the “active entry tokens” added to the RNTupleReader: very useful for data processing frameworks!
🌳 Ready to evolve beyond TTree::Draw? We’ve provided a comprehensive Rosetta Stone to help you seamlessly transition to RDataFrame! This is the perfect path for high-performance RNTuple support or scaling your workflows across multithreaded and distributed environments.
🚀 RDataFrame analysis By streamlining the memory ownership model and implementing a sophisticated sharing mechanism, RDataFrame now minimizes redundant just-in-time compilation across computation graphs. Experience faster setup times and a significant reduction in memory footprint within a single application!
📦 Builtins We’ve dramatically streamlined our codebase. The builtin package footprints have been slashed by a factor of 4x. This makes ROOT lighter and faster to build than ever, while pivoting toward a robust reliance on high-performance system packages.
Binary distributions
Instead of manually downloading this binary, please explore first whether your package manager already provides this version. This way, you will automatically keep up-to-date with the latest stable versions with no manual maintenance on your side.
Source distribution
| Platform | Files | Size |
|---|---|---|
| source | root_v6.40.00.source.tar.gz | 328M |
Installations in CVMFS
Standalone installations with minimal external dependencies are available at:
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/arm64-mac157-clang170-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/arm64-mac264-clang210-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-almalinux10.1-gcc143-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-almalinux8.10-gcc85-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-almalinux9.7-gcc115-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-debian13-gcc142-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-fedora43-gcc152-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-fedora44-gcc161-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-mac148-clang160-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-ubuntu22.04-gcc114-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-ubuntu24.04-gcc133-opt
/cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.40.00/x86_64-ubuntu26.04-gcc152-opt
Git
The entire ROOT source can be obtained from our public Git repository:
git clone https://github.com/root-project/root.git
The release specific tag can be obtained using:
cd root
git checkout -b v6-40-00 v6-40-00
See instructions to build from source.
Windows
Windows 10/7/… are supported. We offer two packaging types:
- exe: a regular Windows installer package also setting up the required environment variables. With uninstall via “Control Panel” / “Add or Remove Programs”. Simply download and start. You can double-click ROOT to run it; ROOT files get registered with Windows.
- tar: unpack e.g. with 7zip. Start ROOT in a Microsoft Visual Studio Prompt (in Start / Programs / Microsoft Visual Studio / Tools). If you installed ROOT to
C:\rootthen callC:\root\bin\thisroot.batbefore using ROOT to set up required environment variables. Call insteadthisroot.ps1if you run from apowershell(the default terminal in Visual Studio Code).
Important installation notes
- You must download the binary built with the exact same version of Visual Studio (and Python) than the one installed on your system.
- Don’t forget to select the component “Desktop development with C++” when running the Visual Studio Installer.
- Do not untar in a directory with a name containing blank characters.
- Take the release version if performance matters.
- If you want to debug your code you need the ROOT debug build (you cannot mix release / debug builds due to a Microsoft restriction).