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]