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
