Hi All,
I'd like to provide everyone with an update on some changes we are making with how we describe our versions and manage our deprecation policy for Moodle LMS.
We want to make it easier for everyone who provides, manages, teaches and learns on Moodle LMS instances across the globe and those who develop functionality for our platform to understand what to expect from our versions and how we manage deprecations. As such, we have evolved how we name the versions of Moodle LMS and how we deprecate features aligned with those versions.
Before going into specifics, I want to be clear about the things that are not changing, specifically:
- We will still release every 6 months, in April and October
- LTS (Long-Term Support) releases will continue every four (4) versions. With the next LTS release being version 4.5
- The release date for 4.5 (7 October 2024) and following versions have not changed
Why These Changes Matter
The shift to a more structured versioning and deprecation policy aims to provide clarity and consistency for everyone:
- Easily identify LTS releases.
- Understand the timeline for feature deprecations and removals.
- Align deprecation with the LTS cycle offers a more predictable development roadmap, enabling better planning and fewer surprises.
- Provide a more structured deprecation policy. Reducing the cognitive load on developers, allowing them to focus on innovation rather than maintenance.
- Encourage a single branch per LTS series. Plugin developers can ensure greater compatibility and stability across Moodle versions, enhancing the overall Moodle ecosystem.
We believe these changes will reduce the cognitive load on our community, allowing developers and administrators to focus more on creating engaging and effective learning experiences.
A New Take on Versioning
Currently, the first two numbers for a version represent the major version, and the third number represents the minor version. There haven’t been set rules as to when the first number is increased, and since Moodle 2.0 there has not been any special meaning to it. The changes to this number for 3.0 and 4.0 were somewhat linked to major underlying changes in LMS, but the size of this change itself was variable. This unpredictability makes it challenging for administrators and developers to understand what an increase in version number means.
To address this we are making the change to add more meaning to version numbers, starting from version 4.5 LTS. The changes are:
- The first part of the version will now represent a Series
- The last release in each Series will be an LTS release
- The next major release after an LTS will mark the beginning of a new Series
This is how this will look over the next few releases:
- Series 4:
-
- 4.1 Current LTS (released)
- 4.2 Past release (released)
- 4.3 Past release (released)
- 4.4 Current release (released)
- 4.5 Next LTS release - This is the last release in the 4.x series. (Release: 7th October, 2024)
- Series 5:
- 5.0 Standard release (Release: 21st April, 2025)
- 5.1 Standard release
- 5.2 Standard release
- 5.3 LTS release - This is the last release in the 5.x series.
- Series 6:
- 6.0 Standard release
- 6.1 Standard release
- 6.2 Standard release
- 6.3 LTS release - This is the last release in the 6.x series.
Streamlined Deprecation Process
Starting from LMS version 4.5 We are also updating the deprecation policy for Moodle LMS to align more closely with the LTS cycle. The changes are:
- Deprecations will now be aligned with the LTS release cycle, providing a clear timeline for when deprecated features need to be updated or removed.
- Features deprecated before an LTS release will be removed in the release following that LTS.
This adjustment means the shortest deprecation period will be 12 months, down from the previous 24 months. Features that have been deprecated in LMS version 4.3 or 4.4 will be affected by this new approach; they will be removed in 5.0, which is the version after the 4.5 LTS.
These changes aim to foster a more consistent support cycle, benefiting both Moodle core development and plugin developers. It encourages a single plugin branch per LTS series, reducing the complexity of supporting multiple Moodle versions.
More information on both of these issues can be found in their respective trackers, IDEA-168 for versioning and MDL-80274 for deprecations. We will be also updating our developer documentation to aid developers with the changes and how they should manage their plugins.
Kind Regards,
Matt Porritt
Head of Platform Solutions