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