08/12 2013
Dropping TYPO3 4.x support

Last night our git repositories' master branches were updated to use TYPO3's namespaces - and Flux was migrated to use our new FluidTYPO3 namespace. Does this affect you? Read more to find out!

Dear developers,

As already stated above, we are now in the process of switching to namespaces and with that, dropping support for 4.x TYPO3 versions. We do this in anticipation of the coming TYPO3 CMS 6.2 LTS release - and we expect to release the next major version of Flux - 7.0 - along with TYPO3 6.2, and we focus on enabling you to upgrade both in one swoop.

What has happened?

Quite a lot. But the most important things - the ones that affect the API: 

  1. We now use namespaces. The class Tx_Flux_Core is now called \FluidTYPO3\Flux\Core - and so on, with all classes. And we only call TYPO3 core classes using their namespace class names.
  2. Flux Utility classes renamed. We added a *Utility suffix to all Utility classes, e.g. Tx_Flux_Utility_Path becomes \FluidTYPO3\Flux\Utility\PathUtility
  3. Flux ViewHelper class namespaces flattened. The ViewHelper previously known as flux:flexform is now flux:form, flux:flexform.field.* is now in flux:field.* - and so on, moving all deeply nested ViewHelpers like fields and wizards into locations allowing much shorter tag syntax.

Of course, more information about this will be released later. And there are class alias mappings in place for all of these renaming migrations. But! For a while to come, a bug fix that only exists in the 6.2-dev branch of TYPO3 is required. Edit: there is a way to make it work on 6.0 and 6.1 - but it requires manual migration of every template which uses Flux. See more at 

github.com/FluidTYPO3/documentation/blob/master/Namespaces.md

.

Which TYPO3 version is supported by FluidTYPO3 extensions Git masters?

This is the most important piece of information in this article: from today there is only one way to use Git masters of FluidTYPO3 extensions - and that is to use them on 6.2-dev (meaning the most recent Git master branch of the TYPO3 core repository).

When will other versions be supported again?

We are awaiting three occurrences:

  1. The release of the next 6.2-beta or the final version itself - obviously.
  2. The release of the next bug fix version of 6.0 after merge freeze - unfortunately this has no ETA yet but expect it to take at least until Christmas.
  3. The release of the next bug fix version of 6.1 after merge freeze - same conditions as 6.0 regarding ETA.

When the next 6.0 and 6.1 core bug fix releases come out, FluidTYPO3 extensions will once again be fully compatible with both 6.0 and 6.1 in both TER and Git master versions. And goes without saying: the next 6.2-beta will of course also be fully supported (and should be a lot easier to install if you are not comfortable with Git).

It is fully intentional that no 4.x core versions are listed. They will no longer be supported. Here's why:

Why are we dropping 4.x support - and why do we do it right now?

We do this now, partly because TYPO3 6.2 LTS is postponed and that allows us to make Flux, which is the key to almost all the awesomeness in FluidTYPO3, even better by being ahead of the curve in making it the best possible fit for 6.2. But to do this, without causing too much double maintenance, we have to implement the namespaces etc. which will keep us compatible with the TYPO3 core for a long, long, long time (in code life terms). Don't worry though: there still is a TER version which applies to TYPO3 4.x, and this will be available right up until TYPO3 6.2 is released. But after that happens you will have no choice but to keep the last 4.x compatible versions made - or switch to 6.2 which is highly recommended. I would personally say it's mandatory.

Am I affected by these changes?

If you can answer yes to any part of the following statement then you are affected:

I use TYPO3 4.x and the Github master versions of flux, fluidcontent and/or fluidpages - and maybe I also use one or more custom Flux "Provider" classes and have subclassed one or more Flux ViewHelpers.


Obviously in this case you should not update your local git repository unless you are also prepared to migrate your subclasses and/or update your TYPO3 core. By the way -- you definitely should be doing that, soon.

This frustrates me a lot - I want to keep using TYPO3 4.x

While all of us certainly appreciate the tried and true nature of TYPO3 4.x, it has been several years since 6.0 was released - and we now have 6.1 which solves a lot of the initial problems with 6.0. The option to upgrade to 6.x has been around for a long time now. With some risk of sounding arrogant, we (as in the FluidTYPO3 team) would have liked a 6.0+ minimum requirement introduced long, long ago - but have preserved the 4.x support in respect of our many users, as long as this effort was feasible to maintain. It no longer is - but we hope you understand, that if not now then in approx. two months this was going to happen regardless. We aim for supporting the last LTS release (but since 6.0 and 6.1 both use namespaces and will not receive new features, an added bonus is that it is very likely these versions will be supported just as long as 6.2 will be).

Hopefully the shiny new 6.2 LTS will heal the wounds quickly (I personally think it will, so far it looks like improvements across the board - barring a few bugs which will be ironed out in the coming months).

Final words

I would like to give a big thank you to all of the people who have adopted these extensions and continually help improve them. It is especially uplifting to see users starting to help other users on/with Github issues - when you as a user do this, you are helping many more people than just the person you are giving your help to. ;)

Rock on,
Claus