From 4.7 to 6.0 – a Brief History of TYPO3 Versioning

Categories: Community Created by Sacha Storz
Ever wondered why TYPO3 4.7 is followed by 6.0 and version 5 never existed? Ok, here is the story.
There has been some understandable confusion about version numbering in the TYPO3 project. You may ask, “After years with a thriving TYPO3 4.x version, why is the November 27, 2012 release jumping all the way to version 6.0? Why not 4.8? And if we need a major version change, why not 5.0?”

Back to the Future! But First Back to the Past

Well, it all started back in 2005 when the TYPO3 core team realized that large parts of the TYPO3 legacy code would become increasingly difficult to maintain. Instead of refactoring the existing code, they decided to boldly start from scratch:   They would rewrite!       They would reinvent TYPO3!           And they lept into their work almost instantly. In the meantime, the current version of TYPO3 was at 3.8 and version 4.0 was planned for a 2006 release. Although it was obvious to everyone involved that the rewrite from scratch would take some time, they all thought it would be ready to replace the existing TYPO3 before it reached version 5. With this assumption, the TYPO3 rewrite was taking shape in the minds of the TYPO3 core developers so they gave it the utilitarian name TYPO3 Five Point Oh. But since 5.0 was already a well known Hawaiian detective television show, and since the name was neither imaginative nor exciting for a project of this magnitude and importance, 5.0 was named Phoenix. Back then, the PHP framework couldn’t provide all the functionality that the core developers needed for such a bold version. Therefore, they decided to develop a more flexible and powerful framework that would become the foundation for the new TYPO3. Thus FLOW3 was born (today named TYPO3 Flow).

“The Law of Cheops” – if You Build Big Things, Time Can be a Bitch

What happened next is a retelling of the oldest story in software development: Things took longer than expected. They almost always do. Especially if the work relies on voluntary contributions to build an Open Source project. And even more especially if you’re not going to be satisfied unless you build something really, really great – like a system that will be a rock solid, top notch, innovative foundation for the future of CMS. And though it took some time … okay, it took years … what we have today in TYPO3 Flow is undoubtedly the most advanced PHP framework on the planet. And with that accomplishment, TYPO3 Neos (formerly known as Phoenix) finally saw the light of day at T3CON12 in Stuttgart with the presentation of the exciting Alpha 1 version. There was only one hitch. This new and exciting version of TYPO3 couldn’t carry the version number 5.0 like it was supposed to.

Why Neos is Not TYPO3 Version 5.0

Meanwhile, back in 2006, the “classic” TYPO3 4.x branch didn’t stop development. Many new features and technologies were implemented over the years, some were even backports of TYPO3 Flow like Extbase, Fluid, and the caching framework. But the fact remained, TYPO3 Neos wasn’t really a successor of TYPO3 4.x. Rather it became a different product by its own right. It’s not a 5.0, it’s something completely new and different – hence the name Neos.

And Why TYPO3 Version 4.7 Won’t Become Version 5.0

On the other hand, the TYPO3 Community refrained from making major version jumps (like 4.x to 5.0) because of the visionary TYPO3 5.0 Phoenix that was just beyond the horizon. And that wasn’t easy. Typically, you would celebrate expansive and important new features, like the File Abstraction Layer, with a new major version label. And you would normally mark versions that introduced breaking changes, like namespaces where older stuff wouldn’t work with the new stuff anymore, with a major version label. But no one thought that was possible, because everybody was waiting for 5.0 Phoenix. And so the Community settled for applying only minor version increments (4.1 to 4.2 to 4.3 etc.) for the past six years. However, when it became clear that Neos would not be an immediate successor of TYPO3 4.x, it suddenly became possible – and necessary – to rethink the version constraints. “Let's finally make a major version jump,” people said. “Let's go back to the future!” But that created a problem of its own. The Community couldn’t call the next version TYPO3 5.0 because “everyone” knew that version 5.0 was reserved for TYPO3 Phoenix. And so the core team decided to release TYPO3 6.0 as the successor to 4.7 when released on November 27, 2012.

So What About TYPO3 5.0?

TYPO3 5.0 will remain the phantom gap in TYPO3 history. As a release it never existed and it will never exist, even though so many people talked about it. So, let us sum it all up in one long grammatically incorrect sentence: TYPO3 5.0 was named Phoenix and finally renamed to Neos when it became clear it would not be 5.0, but a separate product and so the way was open for the TYPO3 4.x branch to finally introduce the long awaited major version change, which of course could not be 5.0, as 5.0 was reserved for Phoenix, so from TYPO3 4.7 we will leap to 6.0 in November 2012 ... and that is all there is to it.
(special thanks goes out to Bill Tenny-Brittian for proofreading)