diff --git a/data/workplace/versions.json b/data/workplace/versions.json
index 621726a9b..7b41c2c4c 100644
--- a/data/workplace/versions.json
+++ b/data/workplace/versions.json
@@ -20,7 +20,7 @@
{
"name": "5.1.1",
"releaseDate": "9 December 2025",
- "version": 2025110410,
+ "version": 2025120900,
"releaseNoteUrl": "https://docs.moodle.org/501/en/Moodle_Workplace_rolling_release_notes#5.1.1_rolling"
},
{
@@ -28,6 +28,12 @@
"releaseDate": "13 February 2026",
"version": 2026021300,
"releaseNoteUrl": "https://docs.moodle.org/501/en/Moodle_Workplace_rolling_release_notes#5.1.3_rolling"
+ },
+ {
+ "name": "5.1.4",
+ "releaseDate": "21 April 2026",
+ "version": 2026040610,
+ "releaseNoteUrl": "https://docs.moodle.org/501/en/Moodle_Workplace_rolling_release_notes#5.1.4_rolling"
}
]
},
@@ -56,8 +62,14 @@
{
"name": "5.1.3",
"releaseDate": "13 February 2026",
- "version": 2026021300,
+ "version": 2025110426,
"releaseNoteUrl": "https://docs.moodle.org/501/en/Moodle_Workplace_release_notes#5.1.3"
+ },
+ {
+ "name": "5.1.4",
+ "releaseDate": "21 April 2026",
+ "version": 2025110440,
+ "releaseNoteUrl": "https://docs.moodle.org/501/en/Moodle_Workplace_release_notes#5.1.4"
}
]
},
@@ -154,6 +166,12 @@
"releaseDate": "13 February 2026",
"version": 2025051356,
"releaseNoteUrl": "https://docs.moodle.org/500/en/Moodle_Workplace_release_notes#5.0.6"
+ },
+ {
+ "name": "5.0.7",
+ "releaseDate": "21 April 2026",
+ "version": 2025051370,
+ "releaseNoteUrl": "https://docs.moodle.org/500/en/Moodle_Workplace_release_notes#5.0.7"
}
]
},
@@ -280,6 +298,12 @@
"releaseDate": "13 February 2026",
"version": 2024110592,
"releaseNoteUrl": "https://docs.moodle.org/405/en/Moodle_Workplace_release_notes#4.5.10"
+ },
+ {
+ "name": "4.5.11",
+ "releaseDate": "21 April 2026",
+ "version": 2024110602,
+ "releaseNoteUrl": "https://docs.moodle.org/405/en/Moodle_Workplace_release_notes#4.5.11"
}
]
},
diff --git a/src/components/Workplace/ReleaseTable/index.tsx b/src/components/Workplace/ReleaseTable/index.tsx
index e66fafe54..9f33685dc 100755
--- a/src/components/Workplace/ReleaseTable/index.tsx
+++ b/src/components/Workplace/ReleaseTable/index.tsx
@@ -54,10 +54,19 @@ const releaseNoteLink = (
return {label};
};
+const getEndText = (supportDate: string, isRolling: boolean) => {
+ const now = new Date();
+ const supportDateFormatted = new Date(supportDate);
+
+ if (isRolling) {
+ return supportDateFormatted < now ? 'rolling ended' : 'rolling will end';
+ }
+ return supportDateFormatted < now ? 'ended' : 'will end';
+};
+
export default function ReleaseTable({ releaseName, isRolling = false }: ReleaseTableProps): JSX.Element {
const rows = getVersion(releaseName, isRolling);
const impAndNewFeatEndDate = isRolling ? rows.improvementsandnewfeaturesEndDate : rows.generalEndDate;
- const endText = isRolling ? 'rolling will end' : 'will end';
const version = `${releaseName}.x`;
return (
@@ -97,15 +106,15 @@ export default function ReleaseTable({ releaseName, isRolling = false }: Release
{isRolling && (
<>
{`Improvements and new features in ${version} `}
- {`${endText} ${impAndNewFeatEndDate} (6 months).`}
+ {`${getEndText(impAndNewFeatEndDate, isRolling)} ${impAndNewFeatEndDate}.`}
>
)}
- {`Bug fixes for general core bugs in ${version} ${endText} `}
- {`${rows.generalEndDate} (12 months).`}
+ {`Bug fixes for general core bugs in ${version} `}
+ {`${getEndText(rows.generalEndDate, isRolling)} ${rows.generalEndDate}.`}
- {`Bug fixes for security issues in ${version} ${endText} `}
- {`${rows.securityEndDate} (36 months).`}
+ {`Bug fixes for security issues in ${version} `}
+ {`${getEndText(rows.securityEndDate, isRolling)} ${rows.securityEndDate}.`}
>
)}