jamesfredley commented on issue #16122:
URL: https://github.com/apache/grails-core/issues/16122#issuecomment-5957720442
The dynamic and map-style `Metadata` reads still fail on current 8.0.x
(`d13aa3328220eba6c517d49a9569e4b091d646e0`), and that is the removal described
here. `grails.util.Metadata` has no `get(Object)` and no single-argument
`getProperty(String)`, so `Metadata.current.'some.key'` still raises
`MissingPropertyException` and `Metadata.current.get('some.key')` still raises
`MissingMethodException`. Those methods were removed in
`2110c45f367b9955da734afcc5dfd56d133941f7` and were not restored. A
compatibility shim was not added.
The migration path in the expected behaviour is now in the Grails 8 upgrade
guide, section 23.1, "Metadata dynamic and map-style access":
https://grails.apache.org/docs/8.0.x/guide/upgrading.html#_23_1_metadata_dynamic_and_map_style_access
Replace `Metadata.current.'info.app.grailsVersion'` and
`Metadata.current.get('info.app.name')` with
`Metadata.current.getProperty('info.app.grailsVersion', String, null)` and
`Metadata.current.getProperty('info.app.name', String, null)`. Nested keys can
use `Metadata.current.navigate('some', 'nested', 'key')`. A published plugin
has to be rebuilt; there is no Metadata compatibility shim. That section landed
in https://github.com/apache/grails-core/pull/16141 (`2c8b338f1ce`, 2026-08-12)
and is in `v8.0.0-M6`, `v8.0.0-RC1`, and `v8.0.0-RC2`.
--
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]