diff --git a/data/versions.json b/data/versions.json index 14b8264472..80f36bc264 100644 --- a/data/versions.json +++ b/data/versions.json @@ -18,6 +18,22 @@ } ] }, + { + "name": "4.6", + "releaseDate": "20 December 2024", + "generalEndDate": "14 April 2025", + "securityEndDate": "14 April 2025", + "isLTS": false, + "isExperimental": true, + "releases": [ + { + "name": "4.6.0", + "releaseDate": "20 December 2024", + "version": 2024102100, + "upgradePath": "https://docs.moodle.org/405/en/Upgrading" + } + ] + }, { "name": "4.5", "releaseDate": "7 October 2024", diff --git a/general/releases.md b/general/releases.md index e73172c344..0761590866 100644 --- a/general/releases.md +++ b/general/releases.md @@ -90,6 +90,19 @@ Minor releases dates differ slightly from release to release depending on the ti ::: +## Moodle 4.6 (Experimental) + +Please note that Moodle 4.6 is an experimental version integrating MDL-71378 with the Moodle 4.5.x code, intended as a preview and testing release. It is not recommended that it be used as part of general production. + + + +:::info + +Bug fixes for general core bugs in 4.6.x will end 14 April 2025 (4 months).
+Bug fixes for security issues in 4.6.x will end 14 April 2025 (4 months). + +::: + ## Moodle 4.5 (LTS) diff --git a/general/releases/4.6.md b/general/releases/4.6.md new file mode 100644 index 0000000000..911abcd27e --- /dev/null +++ b/general/releases/4.6.md @@ -0,0 +1,23 @@ +--- +title: Moodle 4.6 (experimental) +tags: + - Release notes + - Moodle 4.6 +sidebar_position: -406 +moodleVersion: 4.6.0 +description: The release notes for Moodle version 4.6.0. +--- + +import { ReleaseNoteIntro } from '@site/src/components/ReleaseInformation'; + +Release date: 20 December 2024 + +Please note that Moodle 4.6 is an experimental version integrating [MDL-71378](https://tracker.moodle.org/browse/MDL-71378) with the Moodle 4.5.x code, intended as a preview and testing release. It is not recommended that it be used as part of general production. + +For a list of fixes from previous releases please see the latest 4.5.x release notes. + +If you are upgrading from a previous version, please see [Upgrading](https://docs.moodle.org/en/Upgrading) in the user docs. + +## Server and client requirements + +Please see the [Moodle 4.5](https://moodledev.io/general/releases/4.5) server requirements, database requirements, and client requirements for details. diff --git a/sidebars/releaseNotes.js b/sidebars/releaseNotes.js index 8a665a1532..bb14434f77 100644 --- a/sidebars/releaseNotes.js +++ b/sidebars/releaseNotes.js @@ -66,6 +66,10 @@ module.exports = function getReleaseNotes() { } } + if (versionData.isExperimental) { + return; + } + const entry = getReleaseEntry(versionData); if (existsSync(path.resolve(__dirname, '..', 'general', 'releases', versionData.name))) { entry.items.push({ diff --git a/src/theme/UnsupportedVersionBanner/index.js b/src/theme/UnsupportedVersionBanner/index.js index 94b4104791..4a46ec6d8c 100644 --- a/src/theme/UnsupportedVersionBanner/index.js +++ b/src/theme/UnsupportedVersionBanner/index.js @@ -141,9 +141,37 @@ function SecuritySupportExpiredWarning({ versionData }) { ); } +function ExperimentalWarning() { + return ( + + } + title="Experimental release" + > + + + This version of Moodle is an experimental release and not intended for general production systems. + + + + ); +} + function VersionedSupportWarning({ versionData, moodleVersion }) { const releaseStatus = getReleaseStatus(versionData, moodleVersion); + if (versionData.isExperimental) { + // Experimental version. + return ( + + ); + } + if (releaseStatus === 'current') { // Still in general support. return null; diff --git a/src/utils/SupportedReleases.ts b/src/utils/SupportedReleases.ts index 3b1a691494..b8592c4556 100644 --- a/src/utils/SupportedReleases.ts +++ b/src/utils/SupportedReleases.ts @@ -37,12 +37,16 @@ export interface majorVersionData { securityEndDate: string, extendedSecurityEndDate?: string, isLTS: boolean, + isExperimental: boolean, releases?: Array } export const isSupported = (versionData: majorVersionData): boolean => { if (versionData.extendedSecurityEndDate) { return (new Date(versionData.extendedSecurityEndDate)) > today; + } else if (versionData.isExperimental) { + // Do not display experimental releases in the version support info. + return false; } return (new Date(versionData.securityEndDate)) > today; diff --git a/static/schema/versions.json b/static/schema/versions.json index 9d056700f5..bf7a4889f3 100644 --- a/static/schema/versions.json +++ b/static/schema/versions.json @@ -39,6 +39,9 @@ "isLTS": { "type": "boolean" }, + "isExperimental": { + "type": "boolean" + }, "releases": { "type": "array", "items": {