Thanks James D. and James F.

To move this forward, I am calling for consensus on a revised plan based on our 
discussion. While James F. and I are aligned on moving Micronaut, I need to 
clarify the architectural reality of the datamapping layer and why keeping 
Hibernate 5 fully supported is unfeasible.

To be precise: the datamapping core is performing okay right now after the 
recent O(M+N) fix that has not been approved yet. However, the architecture is 
highly brittle because it relies heavily on subclassing, which breaks 
encapsulation.

I want to rewrite this foundation to establish a strict contract with 
consistent interactions. We need this clean, interface-driven architecture to 
easily bring in Elasticsearch,  would be a massive boon for the framework.

Here is the proposed roadmap for consensus:

Datamapping Core & Hibernate Strategy 

    A. The Core Evolution: The datamapping layer is moving away from the 
brittle subclassing model to a clean, contract-driven architecture that can 
easily support integrations like ES and H7. 

    B. Grails 8.x: H5 is deprecated. Ensuring backwards compatibility for an 
EOL framework tethered to the old inheritance model is a massive time sink that 
actively blocks our progress. 

    C. Grails 9.x: H5 is completely removed.

I cannot spend the next six months dragging an EOL module through a fundamental 
architectural cleanup. We need to drop it so we can build a clean, extensible 
datamapping layer and unlock Elasticsearch.

Please come to the Grails meeting to discuss this

Walter

> On Jun 16, 2026, at 3:15 PM, James Fredley <[email protected]> wrote:
> 
> Thank you for the excellent summary.  Moving grails-micronaut to a side repo 
> is the right path, then just need to decide on 8.1.x or 9.0.x for that split.
> 
> James Fredley
> 
> On 2026/06/16 13:06:46 James Daugherty wrote:
>> Hi Everyone,
>> 
>> For the last 2 weekly meetings we have discussed the problems of
>> integrating Micronaut & Spring.  Both James Fredley & I have spent a
>> significant amount of time ensuring Micronaut continues to work with
>> Grails.  While we have a solution for Grails 8, we don't think we can
>> continue this support without a champion to help in this area. Here
>> are the problems we've encountered:
>> 
>> 1. Micronaut & Spring are updating dependencies at a different pace.
>> This is really our core issue.  For example, in Spring Boot 3.5.x
>> Netty was updated to 4.1.x, while Micronaut jumped to 4.2.x.  These
>> version mismatches introduce hard incompatibilities which makes us
>> choose which framework to prefer.  Because Spring chose the lower
>> version, we were forced to choose Netty 4.1.x, which meant that the
>> Micronaut version had to be kept at a lower version.  During 8.0's
>> development, this was even more extreme due to the Micronaut 5.x
>> development.
>> 
>> 2. The downgrading of dependencies means CVEs in our dependent
>> libraries often will exist and we will be unable to update.  This is a
>> huge blocker for us.  We can't release insecure software.  Without
>> members on either the Micronaut or Spring teams, we can't really help
>> resolve these issues.  Micronaut has been helpful in updating
>> libraries when we request, but we don't think it's reasonable to ask
>> them to downgrade - we're not involved in their framework development.
>> 
>> 3. Micronaut made the decision to jump all the way to Java 25 in
>> Micronaut 5, even though 21 is still supported.  Spring made the
>> decision to support all the way back to 21.  We had discussed going to
>> 25, but we wanted to choose the minimum JVM version that would be
>> supported for the life expectancy of Grails 8 (so we chose 21).  This
>> means that the micronaut portions of our build have to be built with
>> Java 25, while the rest is built with Java 21.  This is another huge
>> issue for us because the ASF Security team requires reproducible
>> builds.  Which means a significant amount of work had to go into our
>> verification process to support this divergence.
>> 
>> 4. We have not seen significant contributions to the Micronaut support
>> in Grails.  Only James Fredley & James Daugherty have been evolving
>> it.  Without a champion to help with these problems, we are spending
>> too much of our time on Micronaut and not enough on other core
>> priorities (i.e. Hibernate 7).
>> 
>> 5. We believe there are a low number of users still using the
>> Micronaut support and thus the effort to continue this support is
>> higher than the reward.
>> 
>> This email is meant to start a wider discussion: we want to move the
>> micronaut support into a side repository.  If we can find a champion
>> to help maintain it, then we can keep publishing it separate from
>> Grails.  Otherwise, we will eventually archive that integration and
>> abandon it.
>> 
>> -James
>> 

Reply via email to