Introduce the concept of "Intermediate LTS"

Hi devs,

This is a VOTE following the brainstorming we did in Switching to a LTS release every 6 months?

The VOTE is for the following:

  • Definition:

    The difference between the current cycle Intermediate LTS and the previous cycle LTS is that the Intermediate LTS allows users in production to use the newest features of XWiki. It’s super stable but the newest features will have less time to mature than what you’d find if you waited for the current cycle LTS, at the end of the year.

    Recommendations:

    • If some of the new features present in the Intermediate LTS are important for you, we recommend that you upgrade to it.
    • If you’re starting with a new installation of XWiki (i.e. you’re not upgrading), we also recommend that you start with it, as it contains the latest and best features.
    • If upgrading XWiki is hard for you (e.g. lots of customizations) and the new features are not of a particular interest, then we recommend that you stay on your current LTS and wait till the next LTS (at end of year).
  • Announce the “Intermediate LTS” on the download page. It’s a LTS.
  • Support 1 LTS version per cycle and a max of 2 LTS versions in parallel
    • This means that the Intermediate LTS doesn’t replace the previous end of year LTS since they’re on different cycles.
    • However once the end of year LTS is released, it replaces the Intermediate one since we support only 1 LTS per cycle.
    • It also means that on the download we have one more entry around the middle of the year: the previous branch LTS and the new Intermediate one for the new cycle.
  • When XWiki N.4.0 is released, that branch becomes a LTS branch
    • 2 bug fix releases are done on that branch in 1 month (one release every 15 days)
    • When XWiki N.4.2 is released, it’s automatically named as a LTS and made available as the “Intermediate LTS” on the download page (and in Docker/Debian repos, see below). Note: This means that N.4.0 is just a standard stable release and N.4.1 is made visible on the download page only if it’s released before N.5.0 is (which it should normally since it’s supposed to be released 15 days after N.4.0 whereas N.5.0 is released 30 days after).
  • For Docker, we keep using the lts tag for the EOY LTS. We add a lts-latest tag to include both the EOY LTS and the Intermediate LTS, for users who want to upgrade to any LTS. Once the EOY LTS is released, we remove the lts-latest tag on the Intermediate LTS (but keep it on the EOY LTS).
  • For Debian, we continue to use the lts repo as now but we also add a lts-latest repo containing both EOY LTS and Intermediate LTS (technically we could rename the unofficial recommended Debian repo).
  • We will need to update the following docs:

Here’s my +1.

Please cast your votes.

Thanks

1 Like

+1

As the name suggests, lts-latest repo won’t contain both EOY LTS and Intermediate LTS, but whichever is the most recent one (since the goal of this repo is to install the most recent LTS).

+1, thanks

+1 thanks

+1, thanks

+1
Thanks!

+0

Thanks,
Marius

The VOTE is passed with 6 +1 and 1 +0.

I’m starting to update the docs.

Updated https://dev.xwiki.org/xwiki/bin/view/Community/VersioningAndReleasePractices

Changes: https://dev.xwiki.org/xwiki/bin/view/Community/VersioningAndReleasePractices?viewer=changes&rev1=33.1&rev2=36.1&

Done, see https://www.xwiki.org/xwiki/bin/view/Main/Support?viewer=changes&rev1=47.1&rev2=47.4&

Done: https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/InstallationViaAPT/?viewer=changes&rev1=258.1&rev2=258.2&

Note: Once we’ve renamed recommended into lts-latest, we’ll need to update this page again. cc @tmortagne

I created the lts-latest repo, there was no real reason to wait (the current one simply is 16.10.x). Note that for retro compatibility purposes, I kept the recommended repo (as a link to the new lts-latest).

1 Like

I couldn’t find any place to update in the Release Plans Help doc.

However, I’ve updated the Release Plans Template: https://dev.xwiki.org/xwiki/bin/view/ReleasePlans/ReleasePlanTemplate?viewer=changes&rev1=105.1&rev2=106.1&

Hello there, I found also this page Latest and LTS Definitions - XWiki that holds outdate information.

Additionaly, do we plan to update maven.xwiki.org and add intermediate-lts repository for APT configuration? Just saw that it’s updated, it just currently isn’t present in maven repo.

Unfortunately, while trying to implement this for the Docker repository, I learned that it’s not allowed to have tags that contain latest in the Docker library. Instead, the latest part should be omitted, so for example, instead of alpine-latest it should just be alpine.

The logical consequence of this would be to use the tag lts in the same way as proposed for lts-latest. Additionally, we could introduce the tag cycle-lts to explicitly tag the LTS for the last cycle that we keep for a full cycle.

Any opinions?

+1 to also add the intermediate LTSes to the lts tag in Docker + in the Debian lts repo too.

+1 to add a cycle-lts tag and a corresponding Debian repo for users who want to only use cycle LTS

And also +1 to announce the “breaking” changes on the forum in the Help / Discuss category and write a blog post on xwiki.org (and add the What’s New and What’s New - For Admins categories).

Thx

+1 as well, thanks

I’m really not a fan of this breaking change. It’s really not a good idea to change the level of stability associated to a tag/repository which is used a lot.

So right now it’s a -1 from me. The new type of versions we are introducing should be under a new name.

It’s not really a breaking change. We used to release LTS every year, we now release one every 6 months. It would be a breaking to not include the intermediary LTS since the lts repo would no longer list all LTS releases…