blog.Resource

Archive:

News-Feeds:


RSS 2.0
RSS 0.91
RDF
ATOM 0.3
December 12, 2011

TYPO3 4.5 LTS and Backports

Category: Ernesto Baschny

By: Ernesto Baschny

This article is about backporting features and additions that appeared in newer TYPO3 releases into 4.5 LTS. It won't cover backporting of "bug fixes".

Release 4.5 of TYPO3 has a special place in our hearts: It's our only "Long Term Support" Release until now, and we will support it until mid-2014. Which is a long time. During this period of support, we will see the releases of TYPO3 4.7 (April 2012), 4.8, 4.9, 4.10, 4.11 and maybe even 4.12.

So the valid question pops up from time to time as to if we don't want to backport this or that feature that has entered the Core in some later release. The quick answer is:

No: in general, new features won't get backported to older releases. Reasons:

  • We have declared it as a stable release, and any "new feature" has the potential of introducing regressions. People are used to just upgrade the patch-level releases (e.g. from 4.5.7 to 4.5.8) without any fear that something might break. We have a particularly good name in this regard which we don't want to spoil.
  • Introducing new features in a patch level release might add new APIs. So extensions might start requiring this certain patch level release to work, which can be confusing for site integrators ("does the extension work with 4.5 or not? Depends on the patch level...").

But.. There is a but: This is a long term support release, not just a regular one. So there had been exceptions to the rules, which we might break for 4.5:

  • Performance Improvements: Stuff that we validated to work well in later releases and which directly affect performance without risking backwards compatibility or regressions might be backported.
  • Usability Fixes: If something is "wrong" in 4.5 in regards to usability (icon is missing, menu is not logical, workflow does not flow...) and the fix won't add new APIs or require bigger changes: We can backport them too.
  • Hooks: Introduction of new hooks in later TYPO3 releases are tagged as "FEATURE", and thus not backported. But in order for extensions to be able to provide "4.5 support without having to XCLASS", it would be nice to have them available also in 4.5 LTS.
  • "Contrib" Libraries: The core relies on some contrib libraries (in typo3/contrib), which are usually copied from "upstream". In order to get the benefit of bug fixes from upstream, we should monitor and try to keep our libraries in sync, as far as we can. This sometimes means that new features might be included (as the contrib-libraries usually don't have a LTS that matches exactly our own time range).
  • Misc: Other situations might arise in future, so this list is just an example to give you the feeling. In doubt if anything else applies, ask the release manager of 4.5 LTS (which is me).

Workflow of Backporting

The release team has decided today that we will start working on backporting several 4.6 and 4.7 additions which might be considered more dangerous.

We will always backport to at least 4.5 LTS and the latest stable version available (which is 4.6 as of now). So as soon as 4.7 is out, we won't be backporting anything to 4.6 anymore (but still to 4.5 LTS and 4.7).

Nevertheless we will always maintain backwards compatibility and make sure that new changes and additions don't break that rule.

We want to make sure the backports are well tested before getting them out as a patch level release. This is why we will apply risky backports to separate GIT repository: git://git.typo3.org/TYPO3v4/Backports.git. There we have two branches currently:

  • TYPO3_4-5
  • TYPO3_4-6

Release schedule

As soon as the release managers decide that it is "time to ship a backports release", we will package a "Release Candidate" with our proposed changes included. This will give integrators some time to test if the backports didn't have any negative side-effects upon their installations. After a period of testing, the final release will come out as a new patchlevel release.

Current backporting candidates

Here is a list of issues that we might consider backporting and some reasonings:

Issue

Reasoning

[TASK] swift mailer update to version 4.1.3

Bugfixes from upstream, might also add some features

[FEATURE] Include HTTP Request2 for better HTTP handling

Linkvalidator will use this API and with this tons of issues regarding external URLs will be fixed with it

[FEATURE] Enable stdWrap for select.where

Missing feature in the "stdWrap-for-all" Project

[FEATURE] Speedup backend and allow compression in frontend

Speed especially in the backend is important.

[BUGFIX] Optimize index of some database tables

No harm is done on upgrade, new installations will get the benefit right away

[FEATURE] Add hook to tslib_adminpanel

A hook

[FEATURE] felogin: Add hook before HTTP redirect

Another hook

Release Schedule

The plan is to have a release with the backports more or less by the end of January 2012 (which would be exactly one year after the release of TYPO3 4.5.0). Before the release, we will make a "release candidate" in order to get a more broader field of testers to avoid unforeseen regressions.

We still depend on candidates and volunteers. So if you are interested (and I bet you are, if you are still reading this), consider taking over one of these tasks:

  • do the backport: checkout the TYPO3_4-5_backports branch, backport some change from the list above and push it to Gerrit so that it can be reviewed (same rules as the Core branches apply!)
  • make some reviews: if there are already pending review requests, go ahead and test them.
  • have other ideas: if your favorite issue is not considered for backporting yet, get in touch with me and we can discuss that.

Preferred way of communicating in all above mentioned cases is through our mailing list / newsgroup: typo3.teams.core.

Have fun!

[Update 20.2.2012: The repository for the backports changed from a branch in our main repository to a separate repository. Also documented that we'll have a "release candidate" before the backported release and the change of the newsgroup (as typo3.projects.v4 will be closed)]


comments

comment #1
Gravatar: Jonas Jonas December 13, 2011 09:58
Absolutely great! Great strategy! Thank you very much!

PS: After 4.9 ther should be 5.0 - TYPO3 5.0... (Phoenix should stay TYPO3 Phoenix 1.0 -> my opinion...)

comment #2
Gravatar: Fedir Fedir December 13, 2011 10:16
Super. It gives more certitude in TYPO3 as CMS of quality.

comment #3
Gravatar: Kay Strobach Kay Strobach December 13, 2011 14:28
it would be very valuable, if the consistent pagetree handling of 4.6 would be backported to 4.5 (always use the ajax tree ...)

Thanks
Kay

comment #4
Gravatar: Ernesto Baschny Ernesto Baschny December 13, 2011 23:09
@all, thanks for the feedback!

@Kay, could you point out which particular changes (issue numbers for example) you are referring to? Thanks!

Sorry, comments are closed for this post.