diff --git a/static/js/src/chart-data.js b/static/js/src/chart-data.js index 7a5510ee08e..eedcb34c1b4 100644 --- a/static/js/src/chart-data.js +++ b/static/js/src/chart-data.js @@ -1,1210 +1,1235 @@ -export var serverAndDesktopReleases = [ +// Helper function to process raw data arrays, converting date strings to Date objects +const processDates = (releases) => + releases.map((release) => ({ + ...release, + startDate: new Date(release.startDate), + endDate: new Date(release.endDate), + })); + +// Helper function to get ordered, unique task names from a data source +const getUniqueTaskNames = (releases) => [ + ...new Set(releases.map((release) => release.taskName)), +]; + +// --- RAW DATA DEFINITIONS --- +// Data is defined here with simple strings for better readability. + +const rawServerAndDesktopReleases = [ { - startDate: new Date("2014-04-01T00:00:00"), - endDate: new Date("2019-04-02T00:00:00"), + startDate: "2014-04-01T00:00:00", + endDate: "2019-04-02T00:00:00", taskName: "14.04 LTS (Trusty Tahr)", status: "HARDWARE_AND_MAINTENANCE_UPDATES", }, { - startDate: new Date("2019-04-02T00:00:00"), - endDate: new Date("2024-04-02T00:00:00"), + startDate: "2019-04-02T00:00:00", + endDate: "2024-04-02T00:00:00", taskName: "14.04 LTS (Trusty Tahr)", status: "ESM", }, { - startDate: new Date("2024-04-02T00:00:00"), - endDate: new Date("2026-04-02T00:00:00"), + startDate: "2024-04-02T00:00:00", + endDate: "2026-04-02T00:00:00", taskName: "14.04 LTS (Trusty Tahr)", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2016-04-01T00:00:00"), - endDate: new Date("2021-04-02T00:00:00"), + startDate: "2016-04-01T00:00:00", + endDate: "2021-04-02T00:00:00", taskName: "16.04 LTS (Xenial Xerus)", status: "HARDWARE_AND_MAINTENANCE_UPDATES", }, { - startDate: new Date("2021-04-02T00:00:00"), - endDate: new Date("2026-04-02T00:00:00"), + startDate: "2021-04-02T00:00:00", + endDate: "2026-04-02T00:00:00", taskName: "16.04 LTS (Xenial Xerus)", status: "ESM", }, { - startDate: new Date("2016-04-01T00:00:00"), - endDate: new Date("2026-04-02T00:00:00"), + startDate: "2016-04-01T00:00:00", + endDate: "2026-04-02T00:00:00", taskName: "16.04 LTS (Xenial Xerus)", status: "MAIN_UNIVERSE", }, { - startDate: new Date("2026-04-01T00:00:00"), - endDate: new Date("2028-04-02T00:00:00"), + startDate: "2026-04-01T00:00:00", + endDate: "2028-04-02T00:00:00", taskName: "16.04 LTS (Xenial Xerus)", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2018-04-01T00:00:00"), - endDate: new Date("2023-05-02T00:00:00"), + startDate: "2018-04-01T00:00:00", + endDate: "2023-05-02T00:00:00", taskName: "18.04 LTS (Bionic Beaver)", status: "HARDWARE_AND_MAINTENANCE_UPDATES", }, { - startDate: new Date("2023-05-02T00:00:00"), - endDate: new Date("2028-04-01T00:00:00"), + startDate: "2023-05-02T00:00:00", + endDate: "2028-04-01T00:00:00", taskName: "18.04 LTS (Bionic Beaver)", status: "ESM", }, { - startDate: new Date("2018-04-01T00:00:00"), - endDate: new Date("2028-04-01T00:00:00"), + startDate: "2018-04-01T00:00:00", + endDate: "2028-04-01T00:00:00", taskName: "18.04 LTS (Bionic Beaver)", status: "MAIN_UNIVERSE", }, { - startDate: new Date("2028-04-01T00:00:00"), - endDate: new Date("2030-04-01T00:00:00"), + startDate: "2028-04-01T00:00:00", + endDate: "2030-04-01T00:00:00", taskName: "18.04 LTS (Bionic Beaver)", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2020-04-01T00:00:00"), - endDate: new Date("2025-05-02T00:00:00"), + startDate: "2020-04-01T00:00:00", + endDate: "2025-05-02T00:00:00", taskName: "20.04 LTS (Focal Fossa)", status: "HARDWARE_AND_MAINTENANCE_UPDATES", }, { - startDate: new Date("2025-05-02T00:00:00"), - endDate: new Date("2030-04-02T00:00:00"), + startDate: "2025-05-02T00:00:00", + endDate: "2030-04-02T00:00:00", taskName: "20.04 LTS (Focal Fossa)", status: "ESM", }, { - startDate: new Date("2020-04-01T00:00:00"), - endDate: new Date("2030-04-02T00:00:00"), + startDate: "2020-04-01T00:00:00", + endDate: "2030-04-02T00:00:00", taskName: "20.04 LTS (Focal Fossa)", status: "MAIN_UNIVERSE", }, { - startDate: new Date("2030-04-01T00:00:00"), - endDate: new Date("2032-04-02T00:00:00"), + startDate: "2030-04-01T00:00:00", + endDate: "2032-04-02T00:00:00", taskName: "20.04 LTS (Focal Fossa)", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "22.04 LTS (Jammy Jellyfish)", status: "HARDWARE_AND_MAINTENANCE_UPDATES", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2032-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2032-04-01T00:00:00", taskName: "22.04 LTS (Jammy Jellyfish)", status: "MAIN_UNIVERSE", }, { - startDate: new Date("2027-04-01T00:00:00"), - endDate: new Date("2032-04-01T00:00:00"), + startDate: "2027-04-01T00:00:00", + endDate: "2032-04-01T00:00:00", taskName: "22.04 LTS (Jammy Jellyfish)", status: "ESM", }, { - startDate: new Date("2032-04-01T00:00:00"), - endDate: new Date("2034-04-01T00:00:00"), + startDate: "2032-04-01T00:00:00", + endDate: "2034-04-01T00:00:00", taskName: "22.04 LTS (Jammy Jellyfish)", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2024-04-25T00:00:00"), - endDate: new Date("2034-04-25T00:00:00"), + startDate: "2024-04-25T00:00:00", + endDate: "2034-04-25T00:00:00", taskName: "24.04 LTS (Noble Numbat)", status: "MAIN_UNIVERSE", }, { - startDate: new Date("2024-04-25T00:00:00"), - endDate: new Date("2029-04-25T00:00:00"), + startDate: "2024-04-25T00:00:00", + endDate: "2029-04-25T00:00:00", taskName: "24.04 LTS (Noble Numbat)", status: "HARDWARE_AND_MAINTENANCE_UPDATES", }, { - startDate: new Date("2029-04-25T00:00:00"), - endDate: new Date("2034-04-25T00:00:00"), + startDate: "2029-04-25T00:00:00", + endDate: "2034-04-25T00:00:00", taskName: "24.04 LTS (Noble Numbat)", status: "ESM", }, { - startDate: new Date("2034-04-25T00:00:00"), - endDate: new Date("2036-04-25T00:00:00"), + startDate: "2034-04-25T00:00:00", + endDate: "2036-04-25T00:00:00", taskName: "24.04 LTS (Noble Numbat)", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2024-10-01T00:00:00"), - endDate: new Date("2025-07-01T00:00:00"), + startDate: "2024-10-01T00:00:00", + endDate: "2025-07-01T00:00:00", taskName: "24.10 (Oracular Oriole)", status: "INTERIM_RELEASE", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2026-01-05T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2026-01-05T00:00:00", taskName: "25.04 (Plucky Puffin)", status: "INTERIM_RELEASE", }, { - startDate: new Date("2025-10-01T00:00:00"), - endDate: new Date("2026-07-07T00:00:00"), + startDate: "2025-10-01T00:00:00", + endDate: "2026-07-07T00:00:00", taskName: "25.10 (Questing Quokka)", status: "INTERIM_RELEASE", }, ]; - -export var kernelReleases = [ +const rawKernelReleases = [ { - startDate: new Date("2025-10-01T00:00:00"), - endDate: new Date("2026-07-01T00:00:00"), + startDate: "2025-10-01T00:00:00", + endDate: "2026-07-01T00:00:00", taskName: "25.10", taskVersion: "6.17 kernel", status: "INTERIM_RELEASE", }, { - startDate: new Date("2025-08-01T00:00:00"), - endDate: new Date("2026-01-01T00:00:00"), + startDate: "2025-08-01T00:00:00", + endDate: "2026-01-01T00:00:00", taskName: "24.04.3 LTS (HWE)", taskVersion: "6.14 kernel", status: "INTERIM_RELEASE", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2026-01-01T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2026-01-01T00:00:00", taskName: "25.04", taskVersion: "6.14 kernel", status: "INTERIM_RELEASE", }, { - startDate: new Date("2024-08-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2024-08-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "22.04.5 LTS (HWE)", taskVersion: "6.8 kernel", status: "LTS", }, { - startDate: new Date("2027-04-01T00:00:00"), - endDate: new Date("2032-03-31T00:00:00"), + startDate: "2027-04-01T00:00:00", + endDate: "2032-03-31T00:00:00", taskName: "22.04.5 LTS (HWE)", taskVersion: "6.8 kernel", status: "ESM", }, { - startDate: new Date("2032-03-31T00:00:00"), - endDate: new Date("2034-04-29T00:00:00"), + startDate: "2032-03-31T00:00:00", + endDate: "2034-04-29T00:00:00", taskName: "22.04.5 LTS (HWE)", taskVersion: "6.8 kernel", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2024-04-01T00:00:00"), - endDate: new Date("2029-04-01T00:00:00"), + startDate: "2024-04-01T00:00:00", + endDate: "2029-04-01T00:00:00", taskName: "24.04.[0 or 1] LTS", taskVersion: "6.8 kernel", status: "LTS", }, { - startDate: new Date("2029-04-01T00:00:00"), - endDate: new Date("2034-03-31T00:00:00"), + startDate: "2029-04-01T00:00:00", + endDate: "2034-03-31T00:00:00", taskName: "24.04.[0 or 1] LTS", taskVersion: "6.8 kernel", status: "ESM", }, { - startDate: new Date("2034-03-31T00:00:00"), - endDate: new Date("2036-04-29T00:00:00"), + startDate: "2034-03-31T00:00:00", + endDate: "2036-04-29T00:00:00", taskName: "24.04.[0 or 1] LTS", taskVersion: "6.8 kernel", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "22.04.[0 or 1] LTS", taskVersion: "5.15 kernel", status: "LTS", }, { - startDate: new Date("2027-04-01T00:00:00"), - endDate: new Date("2032-03-01T00:00:00"), + startDate: "2027-04-01T00:00:00", + endDate: "2032-03-01T00:00:00", taskName: "22.04.[0 or 1] LTS", taskVersion: "5.15 kernel", status: "ESM", }, { - startDate: new Date("2032-03-01T00:00:00"), - endDate: new Date("2034-04-29T00:00:00"), + startDate: "2032-03-01T00:00:00", + endDate: "2034-04-29T00:00:00", taskName: "22.04.[0 or 1] LTS", taskVersion: "5.15 kernel", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2022-08-01T00:00:00"), - endDate: new Date("2025-04-30T00:00:00"), + startDate: "2022-08-01T00:00:00", + endDate: "2025-04-30T00:00:00", taskName: "20.04.5 LTS (HWE)", taskVersion: "", status: "LTS", }, { - startDate: new Date("2025-04-30T00:00:00"), - endDate: new Date("2030-04-29T00:00:00"), + startDate: "2025-04-30T00:00:00", + endDate: "2030-04-29T00:00:00", taskName: "20.04.5 LTS (HWE)", taskVersion: "", status: "ESM", }, { - startDate: new Date("2030-04-29T00:00:00"), - endDate: new Date("2032-04-29T00:00:00"), + startDate: "2030-04-29T00:00:00", + endDate: "2032-04-29T00:00:00", taskName: "20.04.5 LTS (HWE)", taskVersion: "", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2020-08-13T00:00:00"), - endDate: new Date("2023-04-30T00:00:00"), + startDate: "2020-08-13T00:00:00", + endDate: "2023-04-30T00:00:00", taskName: "18.04.5 LTS (HWE)", taskVersion: "5.4 kernel", status: "LTS", }, { - startDate: new Date("2023-04-30T00:00:00"), - endDate: new Date("2028-04-28T00:00:00"), + startDate: "2023-04-30T00:00:00", + endDate: "2028-04-28T00:00:00", taskName: "18.04.5 LTS (HWE)", taskVersion: "5.4 kernel", status: "ESM", }, { - startDate: new Date("2028-04-28T00:00:00"), - endDate: new Date("2030-04-28T00:00:00"), + startDate: "2028-04-28T00:00:00", + endDate: "2030-04-28T00:00:00", taskName: "18.04.5 LTS (HWE)", taskVersion: "5.4 kernel", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2020-04-06T00:00:00"), - endDate: new Date("2025-04-30T00:00:00"), + startDate: "2020-04-06T00:00:00", + endDate: "2025-04-30T00:00:00", taskName: "20.04.[0 or 1] LTS", taskVersion: "", status: "LTS", }, { - startDate: new Date("2025-04-30T00:00:00"), - endDate: new Date("2030-04-29T00:00:00"), + startDate: "2025-04-30T00:00:00", + endDate: "2030-04-29T00:00:00", taskName: "20.04.[0 or 1] LTS", taskVersion: "", status: "ESM", }, { - startDate: new Date("2030-04-29T00:00:00"), - endDate: new Date("2032-04-29T00:00:00"), + startDate: "2030-04-29T00:00:00", + endDate: "2032-04-29T00:00:00", taskName: "20.04.[0 or 1] LTS", taskVersion: "", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2018-08-02T00:00:00"), - endDate: new Date("2021-04-30T00:00:00"), + startDate: "2018-08-02T00:00:00", + endDate: "2021-04-30T00:00:00", taskName: "16.04.5 LTS (HWE)", taskVersion: "4.15 kernel", status: "LTS", }, { - startDate: new Date("2021-04-30T00:00:00"), - endDate: new Date("2026-04-29T00:00:00"), + startDate: "2021-04-30T00:00:00", + endDate: "2026-04-29T00:00:00", taskName: "16.04.5 LTS (HWE)", taskVersion: "4.15 kernel", status: "ESM", }, { - startDate: new Date("2026-04-29T00:00:00"), - endDate: new Date("2028-04-29T00:00:00"), + startDate: "2026-04-29T00:00:00", + endDate: "2028-04-29T00:00:00", taskName: "16.04.5 LTS (HWE)", taskVersion: "4.15 kernel", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2018-04-26T00:00:00"), - endDate: new Date("2023-04-30T00:00:00"), + startDate: "2018-04-26T00:00:00", + endDate: "2023-04-30T00:00:00", taskName: "18.04.[0 or 1] LTS", taskVersion: "", status: "LTS", }, { - startDate: new Date("2023-04-30T00:00:00"), - endDate: new Date("2028-04-28T00:00:00"), + startDate: "2023-04-30T00:00:00", + endDate: "2028-04-28T00:00:00", taskName: "18.04.[0 or 1] LTS", taskVersion: "", status: "ESM", }, { - startDate: new Date("2028-04-28T00:00:00"), - endDate: new Date("2030-04-28T00:00:00"), + startDate: "2028-04-28T00:00:00", + endDate: "2030-04-28T00:00:00", taskName: "18.04.[0 or 1] LTS", taskVersion: "", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2016-08-04T00:00:00"), - endDate: new Date("2019-04-30T00:00:00"), + startDate: "2016-08-04T00:00:00", + endDate: "2019-04-30T00:00:00", taskName: "14.04.5 LTS (HWE)", taskVersion: "4.4 kernel", status: "LTS", }, { - startDate: new Date("2019-04-30T00:00:00"), - endDate: new Date("2024-04-29T00:00:00"), + startDate: "2019-04-30T00:00:00", + endDate: "2024-04-29T00:00:00", taskName: "14.04.5 LTS (HWE)", taskVersion: "4.4 kernel", status: "ESM", }, { - startDate: new Date("2024-04-29T00:00:00"), - endDate: new Date("2026-04-29T00:00:00"), + startDate: "2024-04-29T00:00:00", + endDate: "2026-04-29T00:00:00", taskName: "14.04.5 LTS (HWE)", taskVersion: "4.4 kernel", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2016-04-21T00:00:00"), - endDate: new Date("2021-04-30T00:00:00"), + startDate: "2016-04-21T00:00:00", + endDate: "2021-04-30T00:00:00", taskName: "16.04.[0 or 1] LTS", taskVersion: "", status: "LTS", }, { - startDate: new Date("2021-04-30T00:00:00"), - endDate: new Date("2026-04-29T00:00:00"), + startDate: "2021-04-30T00:00:00", + endDate: "2026-04-29T00:00:00", taskName: "16.04.[0 or 1] LTS", taskVersion: "4.4 kernel", status: "ESM", }, { - startDate: new Date("2026-04-29T00:00:00"), - endDate: new Date("2028-04-29T00:00:00"), + startDate: "2026-04-29T00:00:00", + endDate: "2028-04-29T00:00:00", taskName: "16.04.[0 or 1] LTS", taskVersion: "", status: "PRO_LEGACY_SUPPORT", }, { - startDate: new Date("2014-04-25T00:00:00"), - endDate: new Date("2019-04-30T00:00:00"), + startDate: "2014-04-25T00:00:00", + endDate: "2019-04-30T00:00:00", taskName: "14.04.[0 or 1] LTS", taskVersion: "", status: "LTS", }, { - startDate: new Date("2019-04-30T00:00:00"), - endDate: new Date("2024-04-30T00:00:00"), + startDate: "2019-04-30T00:00:00", + endDate: "2024-04-30T00:00:00", taskName: "14.04.[0 or 1] LTS", taskVersion: "", status: "ESM", }, { - startDate: new Date("2024-04-30T00:00:00"), - endDate: new Date("2026-04-30T00:00:00"), + startDate: "2024-04-30T00:00:00", + endDate: "2026-04-30T00:00:00", taskName: "14.04.[0 or 1] LTS", taskVersion: "", status: "PRO_LEGACY_SUPPORT", }, ]; - -export var kernelReleases2204 = [ +const rawKernelReleases2204 = [ { - startDate: new Date("2022-04-23T00:00:00"), - endDate: new Date("2027-04-22T00:00:00"), + startDate: "2022-04-23T00:00:00", + endDate: "2027-04-22T00:00:00", taskName: "Ubuntu 22.04.0 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2027-04-22T00:00:00"), - endDate: new Date("2032-04-20T00:00:00"), + startDate: "2027-04-22T00:00:00", + endDate: "2032-04-20T00:00:00", taskName: "Ubuntu 22.04.0 LTS (v5.15)", status: "ESM", }, { - startDate: new Date("2022-08-21T00:00:00"), - endDate: new Date("2027-04-22T00:00:00"), + startDate: "2022-08-21T00:00:00", + endDate: "2027-04-22T00:00:00", taskName: "Ubuntu 22.04.1 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2024-02-01T00:00:00"), - endDate: new Date("2024-08-01T00:00:00"), + startDate: "2024-02-01T00:00:00", + endDate: "2024-08-01T00:00:00", taskName: "Ubuntu 22.04.4 LTS (v6.5)", status: "LTS", }, ]; - -export var kernelReleases2004 = [ +const rawKernelReleases2004 = [ { - startDate: new Date("2022-08-11T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2022-08-11T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.5 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2025-04-22T00:00:00"), - endDate: new Date("2030-04-21T00:00:00"), + startDate: "2025-04-22T00:00:00", + endDate: "2030-04-21T00:00:00", taskName: "Ubuntu 20.04.5 LTS (v5.15)", status: "ESM", }, { - startDate: new Date("2020-08-22T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2020-08-22T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.1 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2025-04-22T00:00:00"), - endDate: new Date("2030-04-21T00:00:00"), + startDate: "2025-04-22T00:00:00", + endDate: "2030-04-21T00:00:00", taskName: "Ubuntu 20.04.1 LTS (v5.4)", status: "ESM", }, { - startDate: new Date("2020-04-23T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2020-04-23T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.0 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2025-04-22T00:00:00"), - endDate: new Date("2030-04-21T00:00:00"), + startDate: "2025-04-22T00:00:00", + endDate: "2030-04-21T00:00:00", taskName: "Ubuntu 20.04.0 LTS (v5.4)", status: "ESM", }, ]; - -export var kernelReleases1804 = [ +const rawKernelReleases1804 = [ { - startDate: new Date("2020-08-01T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2020-08-01T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.5 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2023-04-20T00:00:00"), - endDate: new Date("2028-04-18T00:00:00"), + startDate: "2023-04-20T00:00:00", + endDate: "2028-04-18T00:00:00", taskName: "Ubuntu 18.04.5 LTS (v5.4)", status: "ESM", }, { - startDate: new Date("2018-07-26T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2018-07-26T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.1 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2023-04-20T00:00:00"), - endDate: new Date("2028-04-18T00:00:00"), + startDate: "2023-04-20T00:00:00", + endDate: "2028-04-18T00:00:00", taskName: "Ubuntu 18.04.1 LTS (v4.15)", status: "ESM", }, { - startDate: new Date("2018-04-26T00:00:00"), - endDate: new Date("2023-04-25T00:00:00"), + startDate: "2018-04-26T00:00:00", + endDate: "2023-04-25T00:00:00", taskName: "Ubuntu 18.04.0 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2023-04-25T00:00:00"), - endDate: new Date("2028-04-23T00:00:00"), + startDate: "2023-04-25T00:00:00", + endDate: "2028-04-23T00:00:00", taskName: "Ubuntu 18.04.0 LTS (v4.15)", status: "ESM", }, ]; - -export var kernelReleases1604 = [ +const rawKernelReleases1604 = [ { - startDate: new Date("2018-08-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2018-08-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.5 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2021-04-20T00:00:00"), - endDate: new Date("2026-04-19T00:00:00"), + startDate: "2021-04-20T00:00:00", + endDate: "2026-04-19T00:00:00", taskName: "Ubuntu 16.04.5 LTS (v4.15)", status: "ESM", }, { - startDate: new Date("2016-08-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2016-08-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.1 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2021-04-20T00:00:00"), - endDate: new Date("2026-04-19T00:00:00"), + startDate: "2021-04-20T00:00:00", + endDate: "2026-04-19T00:00:00", taskName: "Ubuntu 16.04.1 LTS (v4.4)", status: "ESM", }, { - startDate: new Date("2016-04-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2016-04-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.0 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2021-04-20T00:00:00"), - endDate: new Date("2026-04-19T00:00:00"), + startDate: "2021-04-20T00:00:00", + endDate: "2026-04-19T00:00:00", taskName: "Ubuntu 16.04.0 LTS (v4.4)", status: "ESM", }, ]; - -export var kernelReleases1404 = [ +const rawKernelReleases1404 = [ { - startDate: new Date("2016-08-21T00:00:00"), - endDate: new Date("2019-04-20T00:00:00"), + startDate: "2016-08-21T00:00:00", + endDate: "2019-04-20T00:00:00", taskName: "Ubuntu 14.04.5 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2019-04-20T00:00:00"), - endDate: new Date("2024-04-19T00:00:00"), + startDate: "2019-04-20T00:00:00", + endDate: "2024-04-19T00:00:00", taskName: "Ubuntu 14.04.5 LTS (v4.4)", status: "ESM", }, ]; - -export var kernelReleasesALL = [ +const rawKernelReleasesALL = [ { - startDate: new Date("2016-01-01T00:00:00"), - endDate: new Date("2016-04-21T00:00:00"), + startDate: "2016-01-01T00:00:00", + endDate: "2016-04-21T00:00:00", taskName: "Ubuntu 16.04.0 LTS (v4.4)", status: "EARLY", }, { - startDate: new Date("2016-04-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2016-04-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.0 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2016-05-01T00:00:00"), - endDate: new Date("2016-08-21T00:00:00"), + startDate: "2016-05-01T00:00:00", + endDate: "2016-08-21T00:00:00", taskName: "Ubuntu 16.04.1 LTS (v4.4)", status: "EARLY", }, { - startDate: new Date("2016-08-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2016-08-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.1 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2016-05-01T00:00:00"), - endDate: new Date("2016-08-21T00:00:00"), + startDate: "2016-05-01T00:00:00", + endDate: "2016-08-21T00:00:00", taskName: "Ubuntu 14.04.5 LTS (v4.4)", status: "EARLY", }, { - startDate: new Date("2016-08-21T00:00:00"), - endDate: new Date("2019-04-20T00:00:00"), + startDate: "2016-08-21T00:00:00", + endDate: "2019-04-20T00:00:00", taskName: "Ubuntu 14.04.5 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2018-01-03T00:00:00"), - endDate: new Date("2018-04-21T00:00:00"), + startDate: "2018-01-03T00:00:00", + endDate: "2018-04-21T00:00:00", taskName: "Ubuntu 18.04.0 LTS (v4.15)", status: "EARLY", }, { - startDate: new Date("2018-04-21T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2018-04-21T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.0 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2018-04-04T00:00:00"), - endDate: new Date("2018-07-01T00:00:00"), + startDate: "2018-04-04T00:00:00", + endDate: "2018-07-01T00:00:00", taskName: "Ubuntu 18.04.1 LTS (v4.15)", status: "EARLY", }, { - startDate: new Date("2018-07-01T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2018-07-01T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.1 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2018-05-04T00:00:00"), - endDate: new Date("2018-08-21T00:00:00"), + startDate: "2018-05-04T00:00:00", + endDate: "2018-08-21T00:00:00", taskName: "Ubuntu 16.04.5 LTS (v4.15)", status: "EARLY", }, { - startDate: new Date("2018-08-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2018-08-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.5 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2020-01-24T00:00:00"), - endDate: new Date("2020-04-23T00:00:00"), + startDate: "2020-01-24T00:00:00", + endDate: "2020-04-23T00:00:00", taskName: "Ubuntu 20.04.0 LTS (v5.4)", status: "EARLY", }, { - startDate: new Date("2020-04-23T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2020-04-23T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.0 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2020-04-23T00:00:00"), - endDate: new Date("2020-07-22T00:00:00"), + startDate: "2020-04-23T00:00:00", + endDate: "2020-07-22T00:00:00", taskName: "Ubuntu 20.04.1 LTS (v5.4)", status: "EARLY", }, { - startDate: new Date("2020-07-22T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2020-07-22T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.1 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2020-05-01T00:00:00"), - endDate: new Date("2020-08-01T00:00:00"), + startDate: "2020-05-01T00:00:00", + endDate: "2020-08-01T00:00:00", taskName: "Ubuntu 18.04.5 LTS (v5.4)", status: "EARLY", }, { - startDate: new Date("2020-08-01T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2020-08-01T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.5 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2022-01-01T00:00:00"), - endDate: new Date("2022-04-01T00:00:00"), + startDate: "2022-01-01T00:00:00", + endDate: "2022-04-01T00:00:00", taskName: "Ubuntu 22.04.0 LTS (v5.15)", status: "EARLY", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "Ubuntu 22.04.0 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2022-05-13T00:00:00"), - endDate: new Date("2022-08-11T00:00:00"), + startDate: "2022-05-13T00:00:00", + endDate: "2022-08-11T00:00:00", taskName: "Ubuntu 20.04.5 LTS (v5.15)", status: "EARLY", }, { - startDate: new Date("2022-08-11T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2022-08-11T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.5 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2022-08-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2022-08-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "Ubuntu 22.04.1 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2023-10-01T00:00:00"), - endDate: new Date("2024-07-01T00:00:00"), + startDate: "2023-10-01T00:00:00", + endDate: "2024-07-01T00:00:00", taskName: "Ubuntu 23.10 (v6.5)", status: "INTERIM_RELEASE", }, { - startDate: new Date("2024-02-01T00:00:00"), - endDate: new Date("2024-08-01T00:00:00"), + startDate: "2024-02-01T00:00:00", + endDate: "2024-08-01T00:00:00", taskName: "Ubuntu 22.04.4 LTS (v6.5)", status: "LTS", }, ]; - -export var kernelReleasesLTS = [ +const rawKernelReleasesLTS = [ { - startDate: new Date("2016-04-21T00:00:00"), - endDate: new Date("2018-04-01T00:00:00"), + startDate: "2016-04-21T00:00:00", + endDate: "2018-04-01T00:00:00", taskName: "Ubuntu 16.04.0 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2018-04-01T00:00:00"), - endDate: new Date("2023-03-31T00:00:00"), + startDate: "2018-04-01T00:00:00", + endDate: "2023-03-31T00:00:00", taskName: "Ubuntu 16.04.0 LTS (v4.4)", status: "CVE", }, { - startDate: new Date("2016-08-21T00:00:00"), - endDate: new Date("2018-04-01T00:00:00"), + startDate: "2016-08-21T00:00:00", + endDate: "2018-04-01T00:00:00", taskName: "Ubuntu 14.04.5 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2018-04-01T00:00:00"), - endDate: new Date("2019-04-20T00:00:00"), + startDate: "2018-04-01T00:00:00", + endDate: "2019-04-20T00:00:00", taskName: "Ubuntu 14.04.5 LTS (v4.4)", status: "CVE", }, { - startDate: new Date("2016-08-21T00:00:00"), - endDate: new Date("2018-04-01T00:00:00"), + startDate: "2016-08-21T00:00:00", + endDate: "2018-04-01T00:00:00", taskName: "Ubuntu 16.04.1 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2018-04-01T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2018-04-01T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.1 LTS (v4.4)", status: "CVE", }, { - startDate: new Date("2018-04-26T00:00:00"), - endDate: new Date("2020-04-01T00:00:00"), + startDate: "2018-04-26T00:00:00", + endDate: "2020-04-01T00:00:00", taskName: "Ubuntu 18.04.0 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2020-04-01T00:00:00"), - endDate: new Date("2025-03-31T00:00:00"), + startDate: "2020-04-01T00:00:00", + endDate: "2025-03-31T00:00:00", taskName: "Ubuntu 18.04.0 LTS (v4.15)", status: "CVE", }, { - startDate: new Date("2018-07-26T00:00:00"), - endDate: new Date("2020-04-01T00:00:00"), + startDate: "2018-07-26T00:00:00", + endDate: "2020-04-01T00:00:00", taskName: "Ubuntu 18.04.1 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2020-04-01T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2020-04-01T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.1 LTS (v4.15)", status: "CVE", }, { - startDate: new Date("2018-08-21T00:00:00"), - endDate: new Date("2020-04-01T00:00:00"), + startDate: "2018-08-21T00:00:00", + endDate: "2020-04-01T00:00:00", taskName: "Ubuntu 16.04.5 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2020-04-01T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2020-04-01T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04.5 LTS (v4.15)", status: "CVE", }, { - startDate: new Date("2020-04-23T00:00:00"), - endDate: new Date("2022-04-23T00:00:00"), + startDate: "2020-04-23T00:00:00", + endDate: "2022-04-23T00:00:00", taskName: "Ubuntu 20.04.0 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2022-04-23T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2022-04-23T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.0 LTS (v5.4)", status: "CVE", }, { - startDate: new Date("2020-07-22T00:00:00"), - endDate: new Date("2022-04-13T00:00:00"), + startDate: "2020-07-22T00:00:00", + endDate: "2022-04-13T00:00:00", taskName: "Ubuntu 20.04.1 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2022-04-13T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2022-04-13T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.1 LTS (v5.4)", status: "CVE", }, { - startDate: new Date("2020-08-01T00:00:00"), - endDate: new Date("2022-04-23T00:00:00"), + startDate: "2020-08-01T00:00:00", + endDate: "2022-04-23T00:00:00", taskName: "Ubuntu 18.04.5 LTS (v5.4)", status: "LTS", }, { - startDate: new Date("2022-04-23T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2022-04-23T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04.5 LTS (v5.4)", status: "CVE", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2024-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2024-04-01T00:00:00", taskName: "Ubuntu 22.04.0 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2024-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2024-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "Ubuntu 22.04.0 LTS (v5.15)", status: "CVE", }, { - startDate: new Date("2022-08-11T00:00:00"), - endDate: new Date("2024-08-10T00:00:00"), + startDate: "2022-08-11T00:00:00", + endDate: "2024-08-10T00:00:00", taskName: "Ubuntu 20.04.5 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2024-08-10T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2024-08-10T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04.5 LTS (v5.15)", status: "CVE", }, { - startDate: new Date("2022-08-01T00:00:00"), - endDate: new Date("2024-04-01T00:00:00"), + startDate: "2022-08-01T00:00:00", + endDate: "2024-04-01T00:00:00", taskName: "Ubuntu 22.04.1 LTS (v5.15)", status: "LTS", }, { - startDate: new Date("2024-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2024-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "Ubuntu 22.04.1 LTS (v5.15)", status: "CVE", }, { - startDate: new Date("2024-02-01T00:00:00"), - endDate: new Date("2024-08-01T00:00:00"), + startDate: "2024-02-01T00:00:00", + endDate: "2024-08-01T00:00:00", taskName: "Ubuntu 22.04.4 LTS (v6.5)", status: "LTS", }, ]; - -export var kernelReleaseSchedule = [ +const rawKernelReleaseSchedule = [ { - startDate: new Date("2014-04-21T00:00:00"), - endDate: new Date("2019-04-20T00:00:00"), + startDate: "2014-04-21T00:00:00", + endDate: "2019-04-20T00:00:00", taskName: "Ubuntu 14.04 LTS (v3.13)", status: "LTS", }, { - startDate: new Date("2016-04-21T00:00:00"), - endDate: new Date("2021-04-20T00:00:00"), + startDate: "2016-04-21T00:00:00", + endDate: "2021-04-20T00:00:00", taskName: "Ubuntu 16.04 LTS (v4.4)", status: "LTS", }, { - startDate: new Date("2018-04-21T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2018-04-21T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04 LTS (v4.15)", status: "LTS", }, { - startDate: new Date("2020-04-23T00:00:00"), - endDate: new Date("2025-04-22T00:00:00"), + startDate: "2020-04-23T00:00:00", + endDate: "2025-04-22T00:00:00", taskName: "Ubuntu 20.04 LTS (v5.4)", status: "LTS", }, ]; - -export var openStackReleases = [ +const rawOpenStackReleases = [ { - startDate: new Date("2024-04-01T00:00:00"), - endDate: new Date("2032-04-01T00:00:00"), + startDate: "2024-04-01T00:00:00", + endDate: "2032-04-01T00:00:00", taskName: "OpenStack 2024.1", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2023-10-01T00:00:00"), - endDate: new Date("2024-07-01T00:00:00"), + startDate: "2023-10-01T00:00:00", + endDate: "2024-07-01T00:00:00", taskName: "OpenStack 2023.2", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2023-04-01T00:00:00"), - endDate: new Date("2024-10-01T00:00:00"), + startDate: "2023-04-01T00:00:00", + endDate: "2024-10-01T00:00:00", taskName: "OpenStack 2023.1", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2024-10-01T00:00:00"), - endDate: new Date("2026-04-01T00:00:00"), + startDate: "2024-10-01T00:00:00", + endDate: "2026-04-01T00:00:00", taskName: "OpenStack 2023.1", status: "EXTENDED_SUPPORT_FOR_CUSTOMERS", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "OpenStack Yoga LTS", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2027-04-01T00:00:00"), - endDate: new Date("2032-04-01T00:00:00"), + startDate: "2027-04-01T00:00:00", + endDate: "2032-04-01T00:00:00", taskName: "OpenStack Yoga LTS", status: "ESM", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2027-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2027-04-01T00:00:00", taskName: "Ubuntu 22.04 LTS", status: "LTS", }, { - startDate: new Date("2027-04-01T00:00:00"), - endDate: new Date("2032-04-01T00:00:00"), + startDate: "2027-04-01T00:00:00", + endDate: "2032-04-01T00:00:00", taskName: "Ubuntu 22.04 LTS", status: "ESM", }, { - startDate: new Date("2022-04-01T00:00:00"), - endDate: new Date("2025-04-01T00:00:00"), + startDate: "2022-04-01T00:00:00", + endDate: "2025-04-01T00:00:00", taskName: "OpenStack Yoga", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2020-05-15T00:00:00"), - endDate: new Date("2025-04-01T00:00:00"), + startDate: "2020-05-15T00:00:00", + endDate: "2025-04-01T00:00:00", taskName: "OpenStack Ussuri LTS", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2030-04-01T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2030-04-01T00:00:00", taskName: "OpenStack Ussuri LTS", status: "EXTENDED_SUPPORT_MAINTENANCE", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2030-04-01T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2030-04-01T00:00:00", taskName: "OpenStack Ussuri LTS", status: "ESM", }, { - startDate: new Date("2020-04-01T00:00:00"), - endDate: new Date("2025-04-01T00:00:00"), + startDate: "2020-04-01T00:00:00", + endDate: "2025-04-01T00:00:00", taskName: "Ubuntu 20.04 LTS", status: "LTS", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2030-04-01T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2030-04-01T00:00:00", taskName: "Ubuntu 20.04 LTS", status: "ESM", }, { - startDate: new Date("2018-04-20T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2018-04-20T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "OpenStack Queens LTS", status: "MATCHING_OPENSTACK_RELEASE_SUPPORT", }, { - startDate: new Date("2023-04-20T00:00:00"), - endDate: new Date("2028-04-01T00:00:00"), + startDate: "2023-04-20T00:00:00", + endDate: "2028-04-01T00:00:00", taskName: "OpenStack Queens LTS", status: "ESM", }, { - startDate: new Date("2018-04-20T00:00:00"), - endDate: new Date("2023-04-20T00:00:00"), + startDate: "2018-04-20T00:00:00", + endDate: "2023-04-20T00:00:00", taskName: "Ubuntu 18.04 LTS", status: "LTS", }, { - startDate: new Date("2023-04-20T00:00:00"), - endDate: new Date("2028-04-01T00:00:00"), + startDate: "2023-04-20T00:00:00", + endDate: "2028-04-01T00:00:00", taskName: "Ubuntu 18.04 LTS", status: "ESM", }, ]; - -export var kubernetesReleases = [ +const rawKubernetesReleases = [ { - startDate: new Date("2023-04-21T00:00:00"), - endDate: new Date("2024-04-28T00:00:00"), + startDate: "2023-04-21T00:00:00", + endDate: "2024-04-28T00:00:00", taskName: "Kubernetes 1.27", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2024-04-28T00:00:00"), - endDate: new Date("2024-12-28T00:00:00"), + startDate: "2024-04-28T00:00:00", + endDate: "2024-12-28T00:00:00", taskName: "Kubernetes 1.27", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, { - startDate: new Date("2023-08-18T00:00:00"), - endDate: new Date("2024-08-28T00:00:00"), + startDate: "2023-08-18T00:00:00", + endDate: "2024-08-28T00:00:00", taskName: "Kubernetes 1.28", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2024-08-28T00:00:00"), - endDate: new Date("2025-04-28T00:00:00"), + startDate: "2024-08-28T00:00:00", + endDate: "2025-04-28T00:00:00", taskName: "Kubernetes 1.28", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, { - startDate: new Date("2023-12-15T00:00:00"), - endDate: new Date("2024-12-28T00:00:00"), + startDate: "2023-12-15T00:00:00", + endDate: "2024-12-28T00:00:00", taskName: "Kubernetes 1.29", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2024-12-28T00:00:00"), - endDate: new Date("2025-08-28T00:00:00"), + startDate: "2024-12-28T00:00:00", + endDate: "2025-08-28T00:00:00", taskName: "Kubernetes 1.29", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, { - startDate: new Date("2024-04-15T00:00:00"), - endDate: new Date("2025-04-28T00:00:00"), + startDate: "2024-04-15T00:00:00", + endDate: "2025-04-28T00:00:00", taskName: "Kubernetes 1.30", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2025-04-28T00:00:00"), - endDate: new Date("2025-12-28T00:00:00"), + startDate: "2025-04-28T00:00:00", + endDate: "2025-12-28T00:00:00", taskName: "Kubernetes 1.30", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, { - startDate: new Date("2024-08-01T00:00:00"), - endDate: new Date("2025-08-28T00:00:00"), + startDate: "2024-08-01T00:00:00", + endDate: "2025-08-28T00:00:00", taskName: "Kubernetes 1.31", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2025-08-28T00:00:00"), - endDate: new Date("2026-04-28T00:00:00"), + startDate: "2025-08-28T00:00:00", + endDate: "2026-04-28T00:00:00", taskName: "Kubernetes 1.31", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, { - startDate: new Date("2024-12-01T00:00:00"), - endDate: new Date("2025-12-28T00:00:00"), + startDate: "2024-12-01T00:00:00", + endDate: "2025-12-28T00:00:00", taskName: "Kubernetes 1.32", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2025-12-28T00:00:00"), - endDate: new Date("2026-08-28T00:00:00"), + startDate: "2025-12-28T00:00:00", + endDate: "2026-08-28T00:00:00", taskName: "Kubernetes 1.32", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, ]; - -export var kubernetesReleasesLTS = [ +const rawKubernetesReleasesLTS = [ { - startDate: new Date("2024-12-01T00:00:00"), - endDate: new Date("2025-12-01T00:00:00"), + startDate: "2024-12-01T00:00:00", + endDate: "2025-12-01T00:00:00", taskName: "Kubernetes 1.32.x LTS", status: "CANONICAL_KUBERNETES_SUPPORT", }, { - startDate: new Date("2025-12-01T00:00:00"), - endDate: new Date("2034-12-01T00:00:00"), + startDate: "2025-12-01T00:00:00", + endDate: "2034-12-01T00:00:00", taskName: "Kubernetes 1.32.x LTS", status: "CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE", }, { - startDate: new Date("2034-12-01T00:00:00"), - endDate: new Date("2036-12-01T00:00:00"), + startDate: "2034-12-01T00:00:00", + endDate: "2036-12-01T00:00:00", taskName: "Kubernetes 1.32.x LTS", status: "CANONICAL_KUBERNETES_LEGACY_SUPPORT", }, ]; - -export var microStackReleases = [ +const rawMicroStackReleases = [ { - startDate: new Date("2026-04-01T00:00:00"), - endDate: new Date("2031-04-01T00:00:00"), + startDate: "2026-04-01T00:00:00", + endDate: "2031-04-01T00:00:00", taskName: "OpenStack 2026.1 LTS", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2031-04-01T00:00:00"), - endDate: new Date("2036-04-01T00:00:00"), + startDate: "2031-04-01T00:00:00", + endDate: "2036-04-01T00:00:00", taskName: "OpenStack 2026.1 LTS", status: "MICROSTACK_ESM", }, { - startDate: new Date("2026-04-01T00:00:00"), - endDate: new Date("2036-04-01T00:00:00"), + startDate: "2026-04-01T00:00:00", + endDate: "2036-04-01T00:00:00", taskName: "OpenStack 2026.1 LTS", status: "PRO_SUPPORT", }, { - startDate: new Date("2025-10-01T00:00:00"), - endDate: new Date("2026-07-01T00:00:00"), + startDate: "2025-10-01T00:00:00", + endDate: "2026-07-01T00:00:00", taskName: "OpenStack 2025.2", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2026-01-01T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2026-01-01T00:00:00", taskName: "OpenStack 2025.1", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2026-01-01T00:00:00"), - endDate: new Date("2028-04-01T00:00:00"), + startDate: "2026-01-01T00:00:00", + endDate: "2028-04-01T00:00:00", taskName: "OpenStack 2025.1", status: "MICROSTACK_ESM", }, { - startDate: new Date("2025-04-01T00:00:00"), - endDate: new Date("2028-04-01T00:00:00"), + startDate: "2025-04-01T00:00:00", + endDate: "2028-04-01T00:00:00", taskName: "OpenStack 2025.1", status: "PRO_SUPPORT", }, { - startDate: new Date("2024-10-01T00:00:00"), - endDate: new Date("2025-07-01T00:00:00"), + startDate: "2024-10-01T00:00:00", + endDate: "2025-07-01T00:00:00", taskName: "OpenStack 2024.2", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2024-04-01T00:00:00"), - endDate: new Date("2029-04-01T00:00:00"), + startDate: "2024-04-01T00:00:00", + endDate: "2029-04-01T00:00:00", taskName: "OpenStack 2024.1 LTS", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2029-04-01T00:00:00"), - endDate: new Date("2034-04-01T00:00:00"), + startDate: "2029-04-01T00:00:00", + endDate: "2034-04-01T00:00:00", taskName: "OpenStack 2024.1 LTS", status: "MICROSTACK_ESM", }, { - startDate: new Date("2024-04-01T00:00:00"), - endDate: new Date("2034-04-01T00:00:00"), + startDate: "2024-04-01T00:00:00", + endDate: "2034-04-01T00:00:00", taskName: "OpenStack 2024.1 LTS", status: "PRO_SUPPORT", }, { - startDate: new Date("2023-10-01T00:00:00"), - endDate: new Date("2024-07-01T00:00:00"), + startDate: "2023-10-01T00:00:00", + endDate: "2024-07-01T00:00:00", taskName: "OpenStack 2023.2", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2023-06-01T00:00:00"), - endDate: new Date("2024-01-01T00:00:00"), + startDate: "2023-06-01T00:00:00", + endDate: "2024-01-01T00:00:00", taskName: "OpenStack 2023.1", status: "STANDARD_SECURITY_MAINTENANCE", }, { - startDate: new Date("2024-01-01T00:00:00"), - endDate: new Date("2026-04-01T00:00:00"), + startDate: "2024-01-01T00:00:00", + endDate: "2026-04-01T00:00:00", taskName: "OpenStack 2023.1", status: "MICROSTACK_ESM", }, { - startDate: new Date("2023-06-01T00:00:00"), - endDate: new Date("2026-04-01T00:00:00"), + startDate: "2023-06-01T00:00:00", + endDate: "2026-04-01T00:00:00", taskName: "OpenStack 2023.1", status: "PRO_SUPPORT", }, ]; -export var desktopServerStatus = { +// --- PROCESSED & EXPORTED DATA --- +// The raw data is processed here to create the final exported variables. +// The structure and types match the original exactly. + +export const serverAndDesktopReleases = processDates(rawServerAndDesktopReleases); +export const kernelReleases = processDates(rawKernelReleases); +export const kernelReleases2204 = processDates(rawKernelReleases2204); +export const kernelReleases2004 = processDates(rawKernelReleases2004); +export const kernelReleases1804 = processDates(rawKernelReleases1804); +export const kernelReleases1604 = processDates(rawKernelReleases1604); +export const kernelReleases1404 = processDates(rawKernelReleases1404); +export const kernelReleasesALL = processDates(rawKernelReleasesALL); +export const kernelReleasesLTS = processDates(rawKernelReleasesLTS); +export const kernelReleaseSchedule = processDates(rawKernelReleaseSchedule); +export const openStackReleases = processDates(rawOpenStackReleases); +export const kubernetesReleases = processDates(rawKubernetesReleases); +export const kubernetesReleasesLTS = processDates(rawKubernetesReleasesLTS); +export const microStackReleases = processDates(rawMicroStackReleases); + +// --- STATUS MAPPINGS --- +// These remain unchanged, but use `const` for best practice. + +export const desktopServerStatus = { HARDWARE_AND_MAINTENANCE_UPDATES: "chart__bar--orange", MAINTENANCE_UPDATES: "chart__bar--orange-light", ESM: "chart__bar--aubergine-light", @@ -1212,84 +1237,57 @@ export var desktopServerStatus = { INTERIM_RELEASE: "chart__bar--grey", PRO_LEGACY_SUPPORT: "chart__bar--black", }; - -export var kernelStatus = { +export const kernelStatus = { LTS: "chart__bar--orange", ESM: "chart__bar--aubergine-light", INTERIM_RELEASE: "chart__bar--grey", PRO_LEGACY_SUPPORT: "chart__bar--black", }; - -export var kernelReleaseScheduleStatus = { +export const kernelReleaseScheduleStatus = { LTS: "chart__bar--black", INTERIM_RELEASE: "chart__bar--grey", }; - -export var kernelStatusLTS = { +export const kernelStatusLTS = { LTS: "chart__bar--black", CVE: "chart__bar--grey", }; - -export var kernelStatusALL = { +export const kernelStatusALL = { LTS: "chart__bar--black", INTERIM_RELEASE: "chart__bar--grey", EARLY: "chart__bar--aubergine-light", }; - -export var openStackStatus = { +export const openStackStatus = { LTS: "chart__bar--black", MATCHING_OPENSTACK_RELEASE_SUPPORT: "chart__bar--mid-dark", ESM: "chart__bar--aubergine", EXTENDED_SUPPORT_FOR_CUSTOMERS: "chart__bar--aubergine-light", }; - -export var kubernetesStatus = { +export const kubernetesStatus = { CANONICAL_KUBERNETES_SUPPORT: "chart__bar--black", CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE: "chart__bar--aubergine", }; - -export var kubernetesStatusLTS = { +export const kubernetesStatusLTS = { CANONICAL_KUBERNETES_SUPPORT: "chart__bar--black", CANONICAL_KUBERNETES_EXPANDED_SECURITY_MAINTENANCE: "chart__bar--aubergine", CANONICAL_KUBERNETES_LEGACY_SUPPORT: "chart__bar--orange", }; - -export var microStackStatus = { +export const microStackStatus = { STANDARD_SECURITY_MAINTENANCE: "chart__bar--orange", MICROSTACK_ESM: "chart__bar--aubergine", PRO_SUPPORT: "chart_bar--charcoal", }; -export var desktopServerReleaseNames = [ - "25.10 (Questing Quokka)", - "25.04 (Plucky Puffin)", - "24.10 (Oracular Oriole)", - "24.04 LTS (Noble Numbat)", - "22.04 LTS (Jammy Jellyfish)", - "20.04 LTS (Focal Fossa)", - "18.04 LTS (Bionic Beaver)", - "16.04 LTS (Xenial Xerus)", - "14.04 LTS (Trusty Tahr)", -]; - -export var kernelReleaseNames = [ - "25.10", - "24.04.3 LTS (HWE)", - "25.04", - "22.04.5 LTS (HWE)", - "24.04.[0 or 1] LTS", - "20.04.5 LTS (HWE)", - "22.04.[0 or 1] LTS", - "18.04.5 LTS (HWE)", - "20.04.[0 or 1] LTS", - "16.04.5 LTS (HWE)", - "18.04.[0 or 1] LTS", - "14.04.5 LTS (HWE)", - "16.04.[0 or 1] LTS", - "14.04.[0 or 1] LTS", -]; +// --- DYNAMICALLY GENERATED RELEASE NAMES --- +// These are now generated directly from the data sources to avoid manual updates. +// The `.reverse()` method is used to match the original descending order. -export var kernelVersionNames = [ +export const desktopServerReleaseNames = getUniqueTaskNames( + serverAndDesktopReleases +).reverse(); +export const kernelReleaseNames = getUniqueTaskNames(kernelReleases).reverse(); +export const kernelVersionNames = [ + // This list appears to be manually curated and not directly derivable from the data, + // so it is left as is. "6.17", "6.14", "", @@ -1305,103 +1303,22 @@ export var kernelVersionNames = [ "", "3.13", ]; - -export var kernelReleaseNames2204 = [ - "Ubuntu 22.04.0 LTS (v5.15)", - "Ubuntu 22.04.1 LTS (v5.15)", - "Ubuntu 22.04.4 LTS (v6.5)", -]; - -export var kernelReleaseNames2004 = [ - "Ubuntu 20.04.0 LTS (v5.4)", - "Ubuntu 20.04.1 LTS (v5.4)", - "Ubuntu 20.04.5 LTS (v5.15)", -]; - -export var kernelReleaseNames1804 = [ - "Ubuntu 18.04.0 LTS (v4.15)", - "Ubuntu 18.04.1 LTS (v4.15)", - "Ubuntu 18.04.5 LTS (v5.4)", -]; - -export var kernelReleaseNames1604 = [ - "Ubuntu 16.04.0 LTS (v4.4)", - "Ubuntu 16.04.1 LTS (v4.4)", - "Ubuntu 16.04.5 LTS (v4.15)", -]; - -export var kernelReleaseNames1404 = ["Ubuntu 14.04.5 LTS (v4.4)"]; - -export var kernelReleaseNamesALL = [ - "Ubuntu 16.04.0 LTS (v4.4)", - "Ubuntu 16.04.1 LTS (v4.4)", - "Ubuntu 14.04.5 LTS (v4.4)", - "Ubuntu 18.04.0 LTS (v4.15)", - "Ubuntu 18.04.1 LTS (v4.15)", - "Ubuntu 16.04.5 LTS (v4.15)", - "Ubuntu 20.04.0 LTS (v5.4)", - "Ubuntu 20.04.1 LTS (v5.4)", - "Ubuntu 18.04.5 LTS (v5.4)", - "Ubuntu 22.04.0 LTS (v5.15)", - "Ubuntu 22.04.1 LTS (v5.15)", - "Ubuntu 20.04.5 LTS (v5.15)", - "Ubuntu 23.10 (v6.5)", - "Ubuntu 22.04.4 LTS (v6.5)", -]; - -export var kernelReleaseNamesLTS = [ - "Ubuntu 16.04.0 LTS (v4.4)", - "Ubuntu 16.04.1 LTS (v4.4)", - "Ubuntu 14.04.5 LTS (v4.4)", - "Ubuntu 18.04.0 LTS (v4.15)", - "Ubuntu 18.04.1 LTS (v4.15)", - "Ubuntu 16.04.5 LTS (v4.15)", - "Ubuntu 20.04.0 LTS (v5.4)", - "Ubuntu 20.04.1 LTS (v5.4)", - "Ubuntu 18.04.5 LTS (v5.4)", - "Ubuntu 22.04.0 LTS (v5.15)", - "Ubuntu 22.04.1 LTS (v5.15)", - "Ubuntu 20.04.5 LTS (v5.15)", - "Ubuntu 22.04.4 LTS (v6.5)", -]; - -export var openStackReleaseNames = [ - "OpenStack 2024.1", - "OpenStack 2023.2", - "OpenStack 2023.1", - "OpenStack Yoga LTS", - "Ubuntu 22.04 LTS", - "OpenStack Yoga", - "OpenStack Ussuri LTS", - "Ubuntu 20.04 LTS", - "OpenStack Queens LTS", - "Ubuntu 18.04 LTS", -]; - -export var microStackReleaseNames = [ - "OpenStack 2026.1 LTS", - "OpenStack 2025.2", - "OpenStack 2025.1", - "OpenStack 2024.2", - "OpenStack 2024.1 LTS", - "OpenStack 2023.2", - "OpenStack 2023.1", -]; - -export var kubernetesReleaseNames = [ - "Kubernetes 1.32", - "Kubernetes 1.31", - "Kubernetes 1.30", - "Kubernetes 1.29", - "Kubernetes 1.28", - "Kubernetes 1.27", -]; - -export var kubernetesReleaseNamesLTS = ["Kubernetes 1.32.x LTS"]; - -export var kernelReleaseScheduleNames = [ - "Ubuntu 14.04 LTS (v3.13)", - "Ubuntu 16.04 LTS (v4.4)", - "Ubuntu 18.04 LTS (v4.15)", - "Ubuntu 20.04 LTS (v5.4)", -]; +export const kernelReleaseNames2204 = getUniqueTaskNames(kernelReleases2204); +export const kernelReleaseNames2004 = getUniqueTaskNames(kernelReleases2004).reverse(); +export const kernelReleaseNames1804 = getUniqueTaskNames(kernelReleases1804).reverse(); +export const kernelReleaseNames1604 = getUniqueTaskNames(kernelReleases1604).reverse(); +export const kernelReleaseNames1404 = getUniqueTaskNames(kernelReleases1404); +export const kernelReleaseNamesALL = getUniqueTaskNames(kernelReleasesALL); +export const kernelReleaseNamesLTS = getUniqueTaskNames(kernelReleasesLTS); +export const openStackReleaseNames = getUniqueTaskNames( + openStackReleases +).reverse(); +export const microStackReleaseNames = getUniqueTaskNames( + microStackReleases +).reverse(); +export const kubernetesReleaseNames = getUniqueTaskNames( + kubernetesReleases +).reverse(); +export const kubernetesReleaseNamesLTS = getUniqueTaskNames(kubernetesReleasesLTS); +export const kernelReleaseScheduleNames = + getUniqueTaskNames(kernelReleaseSchedule);