This is an automated email from the ASF dual-hosted git repository. matrei pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit d41484e81b4fa532ae2a24570e25cfac653f7d79 Merge: 7af49e11be cb72050f7f Author: Mattias Reichel <[email protected]> AuthorDate: Tue Jan 20 09:01:31 2026 +0100 Merge branch '7.0.x' into 7.1.x # Conflicts: # gradle.properties # grails-core/src/test/groovy/grails/util/GrailsUtilTests.java # grails-forge/grails-forge-core/src/main/resources/gsp/index.gsp # grails-profiles/web/skeleton/grails-app/views/index.gsp .github/workflows/groovy-joint-workflow.yml | 5 +- .github/workflows/release.yml | 2 + .idea/codeStyles/Project.xml | 6 + .../gradle/tasks/bom/CoordinateHolder.groovy | 2 +- .../tasks/bom/CoordinateVersionHolder.groovy | 10 + .../tasks/bom/ExtractDependenciesTask.groovy | 24 +- .../gradle/tasks/bom/PropertyNameCalculator.groovy | 28 +- build-logic/plugins/build.gradle | 4 + .../buildsrc/GrailsCodeStyleExtension.groovy | 53 +++ .../grails/buildsrc/GrailsCodeStylePlugin.groovy | 171 +++++++++ .../checkstyle/checkstyle-suppressions.xml | 0 .../checkstyle/checkstyle.xml | 0 .../codenarc/codenarc.groovy | 0 build-logic/settings.gradle | 9 +- buildSrc/build.gradle | 2 +- buildSrc/settings.gradle | 9 +- dependencies.gradle | 8 +- gradle/code-style-config.gradle | 69 ---- gradle/docs-dependencies.gradle | 17 + grails-async/core/build.gradle | 2 +- grails-async/gpars/build.gradle | 2 +- grails-async/plugin/build.gradle | 2 +- grails-async/rxjava/build.gradle | 2 +- grails-async/rxjava2/build.gradle | 2 +- grails-async/rxjava3/build.gradle | 2 +- grails-bom/build.gradle | 58 ++- grails-bootstrap/build.gradle | 2 +- grails-cache/build.gradle | 2 +- grails-codecs-core/build.gradle | 2 +- grails-codecs/build.gradle | 2 +- grails-common/build.gradle | 2 +- grails-console/build.gradle | 2 +- grails-controllers/build.gradle | 2 +- grails-converters/build.gradle | 2 +- grails-core/build.gradle | 2 +- .../grails/dev/commands/ApplicationCommand.groovy | 41 ++- grails-data-docs/stage/build.gradle | 17 + grails-data-hibernate5/boot-plugin/build.gradle | 2 +- grails-data-hibernate5/core/build.gradle | 2 +- grails-data-hibernate5/dbmigration/README.md | 4 +- grails-data-hibernate5/dbmigration/build.gradle | 2 +- grails-data-hibernate5/docs/build.gradle | 17 + .../asciidoc/gettingStarted/outsideGrails.adoc | 2 +- grails-data-hibernate5/grails-plugin/build.gradle | 2 +- grails-data-mongodb/boot-plugin/build.gradle | 2 +- .../src/test/resources/docker-java.properties | 2 + grails-data-mongodb/bson/build.gradle | 2 +- grails-data-mongodb/core/build.gradle | 2 +- grails-data-mongodb/docs/build.gradle | 17 + grails-data-mongodb/ext/build.gradle | 2 +- grails-data-mongodb/grails-plugin/build.gradle | 2 +- grails-data-mongodb/gson-templates/build.gradle | 2 +- grails-data-neo4j/docs/build.gradle | 17 + grails-data-simple/build.gradle | 2 +- grails-databinding-core/build.gradle | 2 +- grails-databinding/build.gradle | 2 +- grails-datamapping-async/build.gradle | 2 +- grails-datamapping-core/build.gradle | 2 +- grails-datamapping-rx/build.gradle | 2 +- grails-datamapping-support/build.gradle | 2 +- grails-datamapping-tck/build.gradle | 2 +- grails-datamapping-validation/build.gradle | 2 +- grails-datasource/build.gradle | 2 +- grails-datastore-async/build.gradle | 2 +- grails-datastore-core/build.gradle | 2 +- grails-datastore-web/build.gradle | 2 +- grails-doc/build.gradle | 19 +- grails-doc/src/en/guide/REST/domainResources.adoc | 15 + grails-doc/src/en/guide/REST/hypermedia/hal.adoc | 13 + .../src/en/guide/REST/versioningResources.adoc | 13 + .../guide/cache/cacheUsage/cacheConfiguration.adoc | 2 +- grails-doc/src/en/guide/conf/docengine.adoc | 21 +- grails-doc/src/en/guide/conf/environments.adoc | 27 ++ grails-doc/src/en/guide/contributing.adoc | 2 +- .../guide/plugins/artefactApi/customArtefacts.adoc | 2 +- .../src/en/guide/profiles/pluginProfile.adoc | 2 +- .../src/en/guide/profiles/profileProfile.adoc | 2 +- .../en/guide/profiles/restAPIPluginProfile.adoc | 2 +- .../src/en/guide/profiles/restAPIProfile.adoc | 2 +- .../src/en/guide/profiles/webPluginProfile.adoc | 2 +- grails-doc/src/en/guide/profiles/webProfile.adoc | 2 +- grails-doc/src/en/guide/security/codecs.adoc | 10 + .../src/en/guide/security/xssPrevention.adoc | 34 ++ .../spring/propertyPlaceholderConfiguration.adoc | 9 + .../en/guide/theWebLayer/contentNegotiation.adoc | 42 +++ .../guide/theWebLayer/controllers/dataBinding.adoc | 56 ++- .../gsp/GSPBasics/variablesAndScopes.adoc | 8 +- .../gsp/taglibs/taglibVariablesAndScopes.adoc | 8 +- .../interceptors/interceptorOrdering.adoc | 9 + .../urlmappings/customizingUrlFormat.adoc | 11 + .../src/en/guide/upgrading/upgrading60x.adoc | 93 ++++- grails-doc/src/en/ref/Constraints/nullable.adoc | 14 + grails-doc/src/en/ref/Controllers/withFormat.adoc | 16 + grails-doc/src/en/ref/Domain Classes/save.adoc | 14 + grails-doc/src/en/ref/Plug-ins/dataSource.adoc | 13 + .../src/en/ref/Servlet API/servletContext.adoc | 2 +- .../src/en/ref/Tag Libraries/actionName.adoc | 13 +- .../src/en/ref/Tag Libraries/controllerName.adoc | 14 +- grails-doc/src/en/ref/Tag Libraries/flash.adoc | 11 +- grails-doc/src/en/ref/Tag Libraries/pageScope.adoc | 5 +- grails-doc/src/en/ref/Tag Libraries/params.adoc | 26 +- grails-doc/src/en/ref/Tag Libraries/request.adoc | 16 +- grails-doc/src/en/ref/Tag Libraries/response.adoc | 13 +- .../src/en/ref/Tag Libraries/servletContext.adoc | 20 +- grails-doc/src/en/ref/Tag Libraries/session.adoc | 27 +- grails-domain-class/build.gradle | 2 +- grails-encoder/build.gradle | 2 +- grails-events/compat/build.gradle | 2 +- grails-events/core/build.gradle | 2 +- grails-events/gpars/build.gradle | 2 +- grails-events/plugin/build.gradle | 2 +- grails-events/rxjava/build.gradle | 2 +- grails-events/rxjava2/build.gradle | 2 +- grails-events/rxjava3/build.gradle | 2 +- grails-events/spring/build.gradle | 2 +- grails-events/transforms/build.gradle | 2 +- grails-fields/build.gradle | 2 +- grails-forge/buildSrc/settings.gradle | 6 + ...uppressions.xml => checkstyle-suppressions.xml} | 0 grails-forge/config/checkstyle/checkstyle.xml | 2 +- grails-forge/gradle.properties | 3 + grails-forge/gradle/code-style-config.gradle | 42 +-- grails-forge/gradle/doc-config.gradle | 19 +- .../forge/feature/assetPipeline/AssetPipeline.java | 59 ++- .../build/gradle/templates/buildGradle.rocker.raw | 5 + .../resources/assets/images/advancedgrails.svg | 6 +- .../assets/images/apple-touch-icon-retina.png | Bin 7038 -> 0 bytes .../resources/assets/images/apple-touch-icon.png | Bin 3077 -> 0 bytes .../src/main/resources/assets/images/community.svg | 9 + .../main/resources/assets/images/documentation.svg | 4 +- .../src/main/resources/assets/images/favicon.ico | Bin 5558 -> 27198 bytes .../assets/images/grails-cupsonly-logo-white.svg | 26 -- .../src/main/resources/assets/images/groovy.svg | 1 + .../src/main/resources/assets/images/java.svg | 1 + .../src/main/resources/assets/images/slack.svg | 18 - .../main/resources/assets/images/spring-boot.svg | 20 ++ .../src/main/resources/assets/images/spring.svg | 1 + .../main/resources/assets/javascripts/welcome.js | 116 ++++++ .../main/resources/assets/stylesheets/welcome.css | 63 ++++ .../src/main/resources/gsp/index.gsp | 397 +++++++++++++++++---- .../src/main/resources/gsp/main.gsp | 113 +++--- .../feature/assetPipeline/AssetPipelineSpec.groovy | 42 ++- grails-forge/settings.gradle | 9 +- grails-geb/build.gradle | 2 +- grails-gradle/buildSrc/settings.gradle | 8 +- grails-gradle/common/build.gradle | 2 +- grails-gradle/gradle/code-style-config.gradle | 61 ---- grails-gradle/gradle/docs-config.gradle | 17 + grails-gradle/model/build.gradle | 2 +- grails-gradle/plugins/build.gradle | 8 +- .../gradle/plugin/core/GrailsGradlePlugin.groovy | 11 +- .../gradle/plugin/web/GrailsWebGradlePlugin.groovy | 40 ++- grails-gradle/settings.gradle | 9 +- grails-gradle/tasks/build.gradle | 2 +- grails-gsp/core/build.gradle | 2 +- grails-gsp/grails-layout/build.gradle | 2 +- grails-gsp/grails-sitemesh3/build.gradle | 2 +- grails-gsp/grails-taglib/build.gradle | 2 +- grails-gsp/grails-web-gsp-taglib/build.gradle | 2 +- grails-gsp/grails-web-gsp/build.gradle | 2 +- grails-gsp/grails-web-jsp/build.gradle | 2 +- grails-gsp/grails-web-taglib/build.gradle | 2 +- grails-gsp/plugin/build.gradle | 2 +- grails-i18n/build.gradle | 2 +- grails-interceptors/build.gradle | 2 +- grails-logging/build.gradle | 2 +- grails-mimetypes/build.gradle | 2 +- grails-profiles/base/features/geb2/feature.yml | 2 +- grails-profiles/base/skeleton/build.gradle | 5 + .../grails-app/assets/images/advancedgrails.svg | 6 +- .../assets/images/apple-touch-icon-retina.png | Bin 7038 -> 0 bytes .../grails-app/assets/images/apple-touch-icon.png | Bin 3077 -> 0 bytes .../grails-app/assets/images/community.svg | 9 + .../grails-app/assets/images/documentation.svg | 4 +- .../skeleton/grails-app/assets/images/favicon.ico | Bin 5558 -> 27198 bytes .../assets/images/grails-cupsonly-logo-white.svg | 26 -- .../skeleton/grails-app/assets/images/groovy.svg | 1 + .../web/skeleton/grails-app/assets/images/java.svg | 1 + .../skeleton/grails-app/assets/images/slack.svg | 18 - .../grails-app/assets/images/spring-boot.svg | 20 ++ .../skeleton/grails-app/assets/images/spring.svg | 1 + .../grails-app/assets/javascripts/welcome.js | 115 ++++++ .../grails-app/assets/stylesheets/welcome.css | 63 ++++ .../web/skeleton/grails-app/views/index.gsp | 397 +++++++++++++++++---- .../web/skeleton/grails-app/views/layouts/main.gsp | 113 +++--- grails-rest-transforms/build.gradle | 2 +- grails-scaffolding/build.gradle | 2 +- grails-services/build.gradle | 2 +- grails-shell-cli/build.gradle | 2 +- grails-spring/build.gradle | 2 +- grails-test-core/build.gradle | 2 +- grails-test-suite-base/build.gradle | 5 +- grails-testing-support-core/build.gradle | 2 +- grails-testing-support-datamapping/build.gradle | 2 +- grails-testing-support-mongodb/build.gradle | 2 +- grails-testing-support-views-gson/build.gradle | 2 +- grails-testing-support-web/build.gradle | 2 +- grails-url-mappings/build.gradle | 2 +- grails-validation/build.gradle | 2 +- grails-views-core/build.gradle | 2 +- grails-views-gson/build.gradle | 2 +- grails-views-markup/build.gradle | 2 +- grails-web-boot/build.gradle | 2 +- grails-web-common/build.gradle | 2 +- grails-web-core/build.gradle | 2 +- grails-web-databinding/build.gradle | 2 +- grails-web-mvc/build.gradle | 2 +- grails-web-url-mappings/build.gradle | 2 +- .../reporting/UrlMappingsReportCommand.groovy | 21 +- .../resources/META-INF/services/grails.factories | 1 - grails-wrapper/build.gradle | 2 +- settings.gradle | 9 +- 212 files changed, 2479 insertions(+), 838 deletions(-)
