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

Participants: James Fredley, Mattias Reichel, Paul King, Scott Murphy, Gianluca Sartori, Søren Berg Glasius

1. Incompatibilities found for Grails 7 plugins in Grails 8

- All Plugin breaking changes must be documented at a minimum
- Collectively we need to decide if we will add compatibility shims for any of the now known plugin breaking changes - Grails 7 plugins break at runtime after removal of Metadata dynamic and map-style key access: https://github.com/apache/grails-core/issues/16122 - Grails 7 plugins exposing a generic trait with fields fail with MalformedParameterizedTypeException on Grails 8: https://github.com/apache/grails-core/issues/16123 - Incomplete Jackson 2 classpath breaks Grails 8 startup with NoClassDefFoundError in DefaultHttpMessageConverters: https://github.com/apache/grails-core/issues/16124 - Plugins built against pre-Apache org.grails coordinates fail on Grails 8 with an empty-version resolution error: https://github.com/apache/grails-core/issues/16125 - Some of those changes across many plugins in grails-plugins and gpc could be handled by https://github.com/grails-plugins/grails-plugin-template (see the two open PRs)

2. Allowing concurrent publishes to grails-website

- This will come up during any multi-version release
- Thread: https://lists.apache.org/thread/or5ngzr91r3nh26ptmyygcnhgr9s4wfz
- https://github.com/apache/grails-github-actions/pull/110 – Safely retry concurrent documentation pushes - When another publisher advances the destination branch first, the action recognizes a genuine non-fast-forward rejection, fetches the new tip into the existing shallow checkout, confirms the fetched tip descends from the originally observed tip, rebases the unpublished local deployment commit, and retries a normal push (maximum five attempts). - There is no force-push. Conflicts, non-descendant history, and unrelated failures fail closed without modifying the remote. - https://github.com/apache/grails-core/pull/16110 – Allow concurrent documentation publishing - Removes the repository-local grails-docs-publish queue so independent documentation jobs can proceed once the action-level retry is available. Git’s normal fast-forward rules then coordinate updates to the shared branch.

3. Unset default nullable domain property passes validation but fails at the database: https://github.com/apache/grails-core/pull/16136

4. 8.0.0-M6

- Appears to be more open items than can be completed by Sunday, so M6 is more likely than RC1
- Add opt-in deny-by-default data binding and always honor bindable:false
  - https://github.com/apache/grails-core/pull/15947
- Clear omitted bindData fields when nullMissing is enabled
  - https://github.com/apache/grails-core/pull/15950
- Add opt-in legacy Holder shim for early plugin registration
- adds some Grails 7 plugin compatibility in Grails 8 - I flipped this to opt-in
  - https://github.com/apache/grails-core/pull/16101
- Configure generated applications for component scanning
  - this was waiting on some stuff we already cleaned up for Grails 8
  - https://github.com/apache/grails-core/pull/16111
- AOT
  - https://github.com/apache/grails-core/pull/16094
  - Uses Spring APT for Leyden, GraalVM native, etc
- TagLibs
  - Static compilation https://github.com/apache/grails-core/pull/16134
- i18n
  - use pure spring boot solution
  - removes duplicate code
  - https://github.com/apache/grails-core/pull/16102

Regards,
James

Reply via email to