We meet every week via a google meeting. The times alternate each week to encourage attendance from multiple time zones. Each week we will provide a summary here to facilitate historical preservation & further discussion. If you would like to join this meeting, you can do so here: https://meet.google.com/her-tjpt-xmf
Notes: * We have made a pass at an initial INFOQ article. We discussed the article & decided to wait to release it until after RC1. * RC1 Status Updates - goal to vote by August 4th - blocker - command resolution fixed by https://github.com/apache/grails-core/pull/14926 - blocker - shadowjar license (how do we handle this? automation? switch away from a shadow jar which could cause issues on windows due to the pathing jar issues previously) - other issue - not compatible with SpringApplicationBuilder, so can't have multiple contexts - other issue - need our code styling merged prior to the release of 7 * Code Style PR - initial PR: https://github.com/apache/grails-core/pull/14903 - reworking PR here: https://github.com/apache/grails-core/pull/14925 * Grails 7.0.0-M5 Plugin Updates - Spring Security - https://github.com/apache/grails-spring-security/pull/1143 - Redis - https://github.com/apache/grails-redis/pull/189 - Quartz - https://github.com/apache/grails-quartz/pull/152 - Separate from ASF, we updated the mail plugin due to demand by the community * Copied Spring Code Removal - https://github.com/apache/grails-core/pull/14922 - Grails 7 copied the Annotation related visitor code from Spring so that the performance optimization by Graeme would continue to work in Grails 7. However, the Spring team rewrote their code because of performance and due to known regressions/issues with the annotation code. - Adopting upstream Spring code allows us to: -- fix these regressions / issues -- not diverge from Spring -- removes a blocker for (possible? future?) graalvm compatibility -- confirm the performance issues are no longer present -- cleans up our LICENSE / NOTICE files * Groovy 4.0.28 released - Fixes our @Delegate & @DelegateTo reproducibility issues - Discussion on how the current version of maven means the poms do not support exclusions. We can't easily diverge from the Spring BOM as a result. - Decided to wait for Spring 3.5.4 since it will ship Groovy 4.0.28 * Spring 7 - we discussed various Spring 7 topics and when we would adopt it. This will likely be for Spring Framework 7 / Spring Boot 4 in the Grails 8.x release. Details follow. * Spring 7 - Deprecation of XML Definitions - Spring 7 is not removing the API for xml definitions, but they have said it would be unsupported (starting with mvc) going forward. It’s not clear if they’re planning on *all* xml configuration, but they’re starting with MVC - Spring 7 will add programmatic bean registration due to the removal - We need to decide if we want to adopt modern spring annotations or continue to maintain a DSL that will now require a translation layer to the programmatic API * Spring 7 - Jackson 3 Support - ticket created, will have to follow-up on impacts * Spring 7 - Groovy 5 - blocked by Spock not working - https://github.com/spockframework/spock/discussions/2160 * Spring 7 - Proposal to simplify logging - Spring does not ship with logging configuration by default, instead they have a series of properties that can be set to default log configuration. - Goal of Grails is to have convention over configuration, so the proposal is to remove these files from app generation by default, switch to a similar property approach, and then offer an optional generation as part of our app generators * Grails Dependency Proposal - https://github.com/apache/grails-core/pull/14924 - need to consider a Grails application always providing a certain # of dependencies so plugin authors can opt out of exporting them through the use of `implementation` - This PR is a path forward for convention over configuration for plugin authors & reducing the need to release plugins more frequently as we evolve faster. -James