I also agree, while I have not seen the described behaviour (could be because I'm still not using Grails 7 that much)
Den lør. 17. jan. 2026 kl. 23.58 skrev James Fredley < [email protected]>: > I believe this is the right approach for now, especially given it is just > a few lines in the generated build.gradle files. > > Disabling it provides closer to Groovy 3 and 5, compile and execution > results and removes the performance penalty seen with Invoke Dynamic for > Grails 7. > > Once Invoke Dynamic no longer needs to be disabled for Grails 7 > applications, by default, we can quickly reverse course. > > James Fredley > > On 2026/01/17 19:54:05 James Daugherty wrote: > > Hi Everyone, > > > > As discussed in the weekly dev meeting, I am proposing we disable > > invoke dynamic on newly generated Grails 7 applications. There are > > multiple reasons for this: > > > > 1. Some of the issues I've found with Groovy aren't being back ported > > that affect invoke dynamic (mostly CompileStatic issues). These > > issues are only being fixed in Groovy 5, which we will not adopt until > > Grails 8. > > > > 2. Performance regressions have been well documented under > > https://github.com/apache/grails-core/issues/15293 The Groovy team > > needs time to address these issues. > > > > 3. Disabling will only occur on newly generated applications & can > > easily be changed to opt-in to invoke dynamic if desired. > > > > While invoke dynamic will be the only option when we adopt Groovy 5, > > the first impression of using Grails 7 is that it's slower, and > > GrailsCompileStatic does not work in some scenarios. These issues > > don't exist if invoke dynamic is disabled. > > > > I've created https://github.com/apache/grails-core/issues/15321 to > > capture this request & > > https://github.com/apache/grails-core/pull/15322 to actually disable > > it. > > > > What are people's thoughts on this approach? > > > > Regards, > > James > > > -- Med venlig hilsen, Søren Berg Glasius Hedevej 1, Gl. Rye, 8680 Ry Mobile: +45 40 44 91 88 --- Press ESC once to quit - twice to save the changes.
