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]

Reply via email to