codeconsole commented on code in PR #16408:
URL: https://github.com/apache/grails-core/pull/16408#discussion_r4199533680


##########
grails-doc/src/en/guide/upgrading/upgrading91x.adoc:
##########
@@ -0,0 +1,70 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+https://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+
+=== Upgrade Instructions for Grails 9.0 to Grails 9.1
+
+This guide outlines the changes introduced in Grails 9.1 and the steps 
required to upgrade your application.
+
+==== 1. Spring Boot 4.2 and Spring Framework 7.1
+
+Grails 9.1 moves from Spring Boot 4.1 to Spring Boot {springBootVersion} and 
from Spring Framework 7.0 to Spring Framework {springVersion}.
+The managed versions that change include Spring Security 7.2, Spring Data 
2026.1, Micrometer 1.18 and Reactor 2026.0.
+Review the 
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.2-Release-Notes[Spring
 Boot 4.2 Release Notes] and the 
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.1-Release-Notes[Spring
 Framework 7.1 Release Notes] for the changes that affect your application.
+
+==== 2. graphql-java 26 for GraphQL Applications
+
+Spring Boot 4.2 manages graphql-java 26, so applications using the GraphQL 
plugin (`grails-data-graphql`) move from graphql-java 25 to graphql-java 26.1.
+graphql-java 26.0 contains breaking changes, listed in its 
https://github.com/graphql-java/graphql-java/releases/tag/v26.0[release notes].
+The ones that can affect a Grails application are:
+
+* *Query complexity limits are enforced by default.*
+A query nested more than 100 levels deep, or selecting more than 100,000 
fields, now fails validation with a `MaxQueryDepthExceeded` or 
`MaxQueryFieldsExceeded` error.
+To raise the limits, or to turn them off, set new defaults when the 
application starts, for example in `BootStrap.groovy`:
++
+[source,groovy]
+----
+import graphql.validation.QueryComplexityLimits
+
+class BootStrap {
+
+    def init = {
+        
QueryComplexityLimits.setDefaultLimits(QueryComplexityLimits.newLimits()
+                .maxDepth(150)
+                .maxFieldsCount(200_000)
+                .build())
+        // or, to turn the limits off:
+        // QueryComplexityLimits.setDefaultLimits(QueryComplexityLimits.NONE)
+    }
+}
+----
++
+graphql-java's parser separately rejects a query nested more than about 165 
levels deep, so a `maxDepth` above that has no effect.
+
+* *Schemas built in code are validated like schemas built from SDL.*
+A non-null argument or input field can no longer be deprecated.

Review Comment:
   Applied in 7b91b998ce, thanks.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to