Holds data.json
used for the Silverstripe CMS roadmap and support timeline and validates that its data is correct
The other files in the repository are for validating that data.json
:
- has a validate JSON structure according to
data.schema.json
- has validate support lengths according to the Silverstripe release policy
To validate data.json
after updated it:
nvm use
npm install
npm run validate
![IMPORTANT] Also review any
releaseDateExtra
,supportEndsExtra
, andstatusOverride
values which may need to be updated.
Review the dates for the current version and other s to ensure they are correct. Most of the values will likely already be correct, though do double check them.
For the new minor version:
- set
releaseDate
to todays date inYYYY-MM-DD
format
If the new minor has a "Standard" supportLength
(i.e. is NOT the final minor in the major series):
- set
partialSupport
to thereleaseDate
of the next minor version inYYYY-MM
format - set
supportEnds
to thereleaseDate
of the next minor version,+6 months
inYYYY-MM
format
If the new minor has an "Extended" supportLength
(i.e. is the final minor in the major series):
- set
partialSupport
toreleaseDate
,+1 year
,+1 day
inYYYY-MM-DD
format - set
supportEnds
andsupportEndsExtra
to thereleaseDate
andreleaseDateExtra
of the major version two majors ahead e.g. for 6.4 this would be 8.0
For the prior minor version in the major series, which will have "Standard" supportLength
:
- set
partialSupport
to thereleaseDate
of the new release inYYYY-MM-DD
format - set
supportEnds
to thereleaseDate
of the new version,+6 months
,+1 day
inYYYY-MM-DD
format
![NOTE] The reason that
+1 day
is added in some situations is because of support commitments such as "6 months", and releases are made part way through a day e.g. at 10am. Adding+1 day
ensures that the 6 month commitment is fullfilled, with a partial days worth of "bonus support" added
For final minor version two majors ago (e.g if 6.0 was just released, update 4.13), which will have "Extended" supportLength
:
- set
supportEnds
to thereleaseDate
of the new version inYYYY-MM-DD
format - set
supportEndsExtra
tonull
Add in the subsequent minor versions for this major version series (e.g. if 6.0 was just released, add in 6.1, 6.2, 6.3, and 6.4)
For each of the new minor versions
- set
version
to the new version e.g. "6.1" - set
releaseDate
to thereleaseDate
of the prior version+6 months
, with either "April" or "October" as the month inYYYY-MM
format. For the "x.1" version this must be "October" and may be as few as 3 months from the "x.0" release. - set
releaseDateExtra
tonull
- set
features
to[]
, unless we have already planned the roadmap for the new version and it is ready to be published
For each of the new minor verisons, except for the last one in the series:
- set
supportLength
to "Standard" - set
partialSupport
to thereleaseDate
of this version+6 months
, inYYYY-MM
format - set
partialSupportExtra
tonull
- set
supportEnds
to thereleaseDate
of this version+1 year
, inYYYY-MM
format - set
supportEndsExtra
tonull
For the last minor version in the series
- set
supportLength
to "Extended" - set
partialSupport
to thereleaseDate
of this version+1 year
, inYYYY-MM
format - set
partialSupportExtra
tonull
- set
supportEnds
to thereleaseDate
of this version+2 years
, inYYYY-MM
format - set
supportEndsExtra
to thesupportEnds
of this version+2 months
, inYYYY-MM
format
Add the initial minor version of the next major series (e.g. if 6.0 was just released, add 7.0)
- set
version
to the new version e.g. "8.0" - set
supportLength
to "Standard" - set
releaseDate
to thereleaseDate
of the new version+2 years
, with "April" as the month, inYYYY-MM
format - set
releaseDateExtra
to thereleaseDate
of the new version+2 years
, with "June" as the month, inYYYY-MM
format - set
partialSupport
to thereleaseDate
of the new version+2 years
, with "October" as the month, inYYYY-MM
format - set
partialSupportExtra
tonull
- set
supportEnds
to thereleaseDate
of the new version+3 years
, with "April" as the month, inYYYY-MM
format - set
supportEndsExtra
tonull
- set
features
to[]
For the final minor version one major ago (e.g if 6.0 was just released, update 5.4), which will have "Extended" supportLength
:
- set
supportEnds
to thereleaseDate
of the next major version inYYYY-MM
format - set
supportEndsExtra
to thereleaseDateExtra
of the next major version inYYYY-MM
format