jdaugherty opened a new pull request, #16553:
URL: https://github.com/apache/grails-core/pull/16553

   ## Summary
   
   Forge UI needs to know when a Grails release line stops being supported so 
it can flag deprecated or unsupported versions. Grails Forge now returns that 
date from `/versions`:
   
   ```json
   {
     "versions": { "grails.version": "7.0.17", "...": "..." },
     "endOfSupport": "2026-10-31",
     "_links": { "...": "..." }
   }
   ```
   
   - The date is stored once per release branch as `grailsEndOfSupport` (ISO 
`yyyy-MM-dd`) in the root `gradle.properties`.
   - It is written into the forge version info at build time. An invalid date 
fails the forge build.
   - Snapshot builds never report it: `endOfSupport` is omitted from the 
response.
   - It is not added to the `versions` map, which stays a map of dependency 
versions.
   
   ## Per-branch values
   
   Each branch keeps its own value. When this is merged up, `gradle.properties` 
will be set per branch:
   
   | Branch | `grailsEndOfSupport` |
   | --- | --- |
   | 7.0.x | 2026-10-31 |
   | 7.1.x | 2026-10-31 |
   | 7.2.x | 2026-12-31 |
   | 8.0.x | 2027-07-31 |
   | 8.1.x | 2027-07-31 |
   | 9.0.x | 2027-12-31 |
   
   ## Testing
   
   - `VersionInfoSpec`: a release build reports the date. A snapshot build, a 
missing value or a malformed value reports nothing. The date never appears in 
the versions map.
   - `ApplicationControllerSpec`: the current snapshot build's `/versions` does 
not include `endOfSupport`.
   - Checked that `grailsVersionInfo` fails for a malformed date 
(`20207-07-31`).
   
   Forge UI will need a matching change to read `endOfSupport`.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to