Lifetime of ROOT 5 support


I tried to find this information in the forum but was not able to find anything. Of course, this does not discount that I looked in the wrong place and I apologize if that is the case.

I would like to know if there is any foreseen lifetime for maintaining support for ROOT 5. I am involved in a experiment where ROOT 5 is deeply integrated and I would like to have an idea of how long ROOT 5 will be supported to decide whether to push for the ROOT 6 migration now or at a later moment when we enter an upgrading phase.



presently ROOT5 is in bug fix mode. No new feature will be back-ported to the 5 release series but only critical bug fixes. Since quite a few months, the software stacks behind the entire physics program of the LHC, and not only, migrated to ROOT6.
We encourage you and your colleagues to share with the ROOT team the any difficulty you might encounter during the migration to ROOT6 using this forum or participating to the ROOT planning meetings ( As you can see, not only CERN experiments participate to that series of meetings.


Hi Danilo,

Thanks for your reply.
I am aware that there’s many people migrating to ROOT6 and that there are several advantages of performing the migration.

However, I have to sell the migration argument to a collaboration that is undermanned and therefore with many things to take care of that take precedence over replacing something that works by something that will require extra work. Since at the moment “everything is stable” with ROOT5, it is natural that there is resistance to go into the uncertainty of migrating the code without a good argument.

Part of my argument is the eventual discontinuity of ROOT5, which could well happen halfway through the experiment running phase. Hence my question whether there is an expectation for how long ROOT 5 will be maintained.


Dear Nuno,

it is not accurate to say that many people are migrating: many experiments already migrated and took data with stacks based on ROOT6 and users, also not linked to those experiments, use ROOT6 in their daily workflows.

I think the reasons supporting a migration to ROOT6 are already quite strong without mentioning an End Of Life date. Only major bug fixes are backported, the development is concentrated solely on the 6 series, ROOT5 may not be fixed in order to run on some platforms if it breaks, compatibility with newer versions of popular libraries is not guaranteed.

In addition to all that, modern C++ cannot be supported by ROOT5. This does not only mean that the code of your experiment cannot migrate to the C++11 or later standards but also that if any of the libraries you depend on move to the newer standards, they will be incompatible with ROOT. An analogous reasoning applies to Python: ROOT5 does not, and will not, work with anything more modern than Python 2.