From 98d82cbbf2f7f1d6097ba501ac82f3e9f17cad01 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 09:29:55 +0200 Subject: [PATCH 01/18] fix: remove redundant config `grails.gorm.reactor.events: false` --- .../base/skeleton/grails-app/conf/application.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index d2f48dfe9a9..66e17eeff50 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -2,11 +2,6 @@ grails: profile: @grails.profile@ codegen: defaultPackage: @grails.codegen.defaultPackage@ - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' From 3b5675fcc1fa87164e131822ae62be4ac904f7e2 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 09:31:31 +0200 Subject: [PATCH 02/18] fix: reorder `info` config values to top --- .../base/skeleton/grails-app/conf/application.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index 66e17eeff50..bc121a38102 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -1,12 +1,12 @@ -grails: - profile: @grails.profile@ - codegen: - defaultPackage: @grails.codegen.defaultPackage@ info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' +grails: + profile: @grails.profile@ + codegen: + defaultPackage: @grails.codegen.defaultPackage@ spring: jmx: unique-names: true From 13765da5d7762f45339658a538b3edb17d0975b0 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 09:32:41 +0200 Subject: [PATCH 03/18] fix: reorder `grails.codegen.profile` to match forge --- grails-profiles/base/skeleton/grails-app/conf/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index bc121a38102..d5d77d51099 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -4,9 +4,9 @@ info: version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' grails: - profile: @grails.profile@ codegen: defaultPackage: @grails.codegen.defaultPackage@ + profile: @grails.profile@ spring: jmx: unique-names: true From 4e971b04cd9f6973ea8ed5847929c87e814b942d Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 09:34:19 +0200 Subject: [PATCH 04/18] fix: remove `spring.main.banner-mode: off` --- grails-profiles/base/skeleton/grails-app/conf/application.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index d5d77d51099..5fbd65a00ef 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -10,8 +10,6 @@ grails: spring: jmx: unique-names: true - main: - banner-mode: "off" groovy: template: check-template-location: false From b72ab56e1f78697b54d9de7f4af80266de7325c1 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 09:49:26 +0200 Subject: [PATCH 05/18] fix: remove redundant `spring.jmx.unique-names: true` Java Management Extensions (JMX) is disabled by default so there is no reason to have this config in generated applications. --- grails-profiles/base/skeleton/grails-app/conf/application.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index 5fbd65a00ef..21240e395f0 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -8,8 +8,6 @@ grails: defaultPackage: @grails.codegen.defaultPackage@ profile: @grails.profile@ spring: - jmx: - unique-names: true groovy: template: check-template-location: false From 97e8a4a65e9962ae4f8c7c104bddc5b9776bf77c Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 09:59:33 +0200 Subject: [PATCH 06/18] fix: rm redundant `spring.groovy.template.check-template-location: false` --- grails-profiles/base/skeleton/grails-app/conf/application.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index 21240e395f0..2ab1b02e52b 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -8,9 +8,6 @@ grails: defaultPackage: @grails.codegen.defaultPackage@ profile: @grails.profile@ spring: - groovy: - template: - check-template-location: false devtools: restart: additional-exclude: From 309605b66e12c3ab5ec47514b48715bd2eba606d Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Mon, 13 Apr 2026 14:48:25 +0200 Subject: [PATCH 07/18] fix: rm redundant `grails.mime.disable.accept.header.userAgents` The same default values are already set in `HttpServletResponseExtension` (`grails-mimetypes`). --- .../java/org/grails/forge/feature/view/GrailsGsp.java | 1 - .../java/org/grails/forge/feature/view/json/ViewJson.java | 1 - .../org/grails/forge/feature/view/markup/ViewMarkup.java | 1 - .../org/grails/forge/feature/view/GrailsGspSpec.groovy | 1 - .../grails/forge/feature/view/json/ViewJsonSpec.groovy | 1 - .../web/skeleton/grails-app/conf/application.yml | 8 -------- 6 files changed, 13 deletions(-) diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java index 2c86c0de923..5cabbcd708c 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java @@ -79,7 +79,6 @@ public void processSelectedFeatures(FeatureContext featureContext) { @Override public void apply(GeneratorContext generatorContext) { final Map config = generatorContext.getConfiguration(); - config.put("grails.mime.disable.accept.header.userAgents", Arrays.asList("Gecko", "WebKit", "Presto", "Trident")); config.put("grails.mime.types.all", "*/*"); config.put("grails.mime.types.atom", "application/atom+xml"); config.put("grails.mime.types.css", "text/css"); diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/json/ViewJson.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/json/ViewJson.java index 6bc89715100..82b6d16a107 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/json/ViewJson.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/json/ViewJson.java @@ -63,7 +63,6 @@ public String getDescription() { @Override public void apply(GeneratorContext generatorContext) { final Map config = generatorContext.getConfiguration(); - config.put("grails.mime.disable.accept.header.userAgents", Arrays.asList("Gecko", "WebKit", "Presto", "Trident")); config.put("grails.mime.types.json", Arrays.asList("application/json", "text/json")); config.put("grails.mime.types.hal", Arrays.asList("application/hal+json", "application/hal+xml")); config.put("grails.mime.types.xml", Arrays.asList("text/xml", "application/xml")); diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/markup/ViewMarkup.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/markup/ViewMarkup.java index 318f5942d70..76260932fba 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/markup/ViewMarkup.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/markup/ViewMarkup.java @@ -59,7 +59,6 @@ public String getDescription() { @Override public void apply(GeneratorContext generatorContext) { final Map config = generatorContext.getConfiguration(); - config.put("grails.mime.disable.accept.header.userAgents", Arrays.asList("Gecko", "WebKit", "Presto", "Trident")); config.put("grails.mime.types.xml", Arrays.asList("text/xml", "application/xml")); config.put("grails.mime.types.atom", "application/atom+xml"); config.put("grails.mime.types.json", Arrays.asList("application/json", "text/json")); diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy index b654cd79c00..4edca48429d 100644 --- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy +++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy @@ -73,7 +73,6 @@ class GrailsGspSpec extends ApplicationContextSpec implements CommandOutputFixtu final GeneratorContext ctx = buildGeneratorContext(["grails-gsp"]) then: - ctx.getConfiguration().get("grails.mime.disable.accept.header.userAgents") == Arrays.asList("Gecko", "WebKit", "Presto", "Trident") ctx.getConfiguration().get("grails.mime.types.all") == "*/*" ctx.getConfiguration().get("grails.mime.types.atom") == "application/atom+xml" ctx.getConfiguration().get("grails.mime.types.css") == "text/css" diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy index 9c2acc55751..1e6e4862ac1 100644 --- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy +++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy @@ -106,7 +106,6 @@ class ViewJsonSpec extends ApplicationContextSpec implements CommandOutputFixtur final GeneratorContext ctx = buildGeneratorContext(["views-json"], new Options(null), ApplicationType.REST_API) then: - ctx.getConfiguration().get("grails.mime.disable.accept.header.userAgents") == Arrays.asList("Gecko", "WebKit", "Presto", "Trident") ctx.getConfiguration().get("grails.mime.types.json") == Arrays.asList("application/json", "text/json") ctx.getConfiguration().get("grails.mime.types.hal") == Arrays.asList("application/hal+json", "application/hal+xml") ctx.getConfiguration().get("grails.mime.types.xml") == Arrays.asList("text/xml", "application/xml") diff --git a/grails-profiles/web/skeleton/grails-app/conf/application.yml b/grails-profiles/web/skeleton/grails-app/conf/application.yml index 4f7340587f7..a362ce9dbb8 100644 --- a/grails-profiles/web/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/web/skeleton/grails-app/conf/application.yml @@ -1,13 +1,5 @@ grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml From 2f4dde80b69298c3090d2ff40873b6d937cea297 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 09:04:21 +0200 Subject: [PATCH 08/18] fix: rm `spring.devtools.restart.additional-exclude` Forge apps do not add this and it seems to work fine without it. --- .../base/skeleton/grails-app/conf/application.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index 2ab1b02e52b..c17c5b69f0e 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -7,16 +7,6 @@ grails: codegen: defaultPackage: @grails.codegen.defaultPackage@ profile: @grails.profile@ -spring: - devtools: - restart: - additional-exclude: - - '*.gsp' - - '**/*.gsp' - - '*.gson' - - '**/*.gson' - - 'logback-spring.xml' - - '*.properties' environments: development: management: From aa4ad8140832d5eb976dd7d1f14add0dace8a41e Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 09:30:05 +0200 Subject: [PATCH 09/18] fix: rm actuator config Align with Forge-created apps. --- .../base/skeleton/grails-app/conf/application.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/grails-profiles/base/skeleton/grails-app/conf/application.yml b/grails-profiles/base/skeleton/grails-app/conf/application.yml index c17c5b69f0e..1c6b9779df4 100644 --- a/grails-profiles/base/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/base/skeleton/grails-app/conf/application.yml @@ -7,16 +7,3 @@ grails: codegen: defaultPackage: @grails.codegen.defaultPackage@ profile: @grails.profile@ -environments: - development: - management: - endpoints: - enabled-by-default: true - web: - base-path: '/actuator' - exposure: - include: '*' - production: - management: - endpoints: - enabled-by-default: false From 8cae583645c0a972b69f4879f2c367ce705e4d0f Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 10:15:23 +0200 Subject: [PATCH 10/18] fix: rm redundant `grails.controllers.defaultScope: singleton` Default is already `singleton`. --- .../rest-api/skeleton/grails-app/conf/application.yml | 2 -- grails-profiles/web/skeleton/grails-app/conf/application.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml index 8f0ddcea82a..e7a1b869bcc 100644 --- a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml @@ -28,7 +28,5 @@ grails: urlmapping: cache: maxsize: 1000 - controllers: - defaultScope: singleton converters: encoding: UTF-8 diff --git a/grails-profiles/web/skeleton/grails-app/conf/application.yml b/grails-profiles/web/skeleton/grails-app/conf/application.yml index a362ce9dbb8..462b5299416 100644 --- a/grails-profiles/web/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/web/skeleton/grails-app/conf/application.yml @@ -26,8 +26,6 @@ grails: urlmapping: cache: maxsize: 1000 - controllers: - defaultScope: singleton converters: encoding: UTF-8 views: From 0206230c9fe022e1f2751f7e038d2c6b3c506889 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 10:19:08 +0200 Subject: [PATCH 11/18] fix: rm redundant `grails.urlmapping.cache.maxsize: 1000` Default is already set in `DefaultUrlMappingsHolder`, but to 5000. --- .../rest-api/skeleton/grails-app/conf/application.yml | 3 --- grails-profiles/web/skeleton/grails-app/conf/application.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml index e7a1b869bcc..98d85ff4c83 100644 --- a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml @@ -25,8 +25,5 @@ grails: rss: application/rss+xml text: text/plain all: '*/*' - urlmapping: - cache: - maxsize: 1000 converters: encoding: UTF-8 diff --git a/grails-profiles/web/skeleton/grails-app/conf/application.yml b/grails-profiles/web/skeleton/grails-app/conf/application.yml index 462b5299416..5f53d8b037a 100644 --- a/grails-profiles/web/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/web/skeleton/grails-app/conf/application.yml @@ -23,9 +23,6 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 converters: encoding: UTF-8 views: From e2b08c9c4427ab682dbf445e715b8332c5fb564c Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 10:23:04 +0200 Subject: [PATCH 12/18] fix: rm redundant `grails.converters.encoding: UTF-8` Default is already set to `UTF-8` in `ConvertersConfigurationInitializer`. --- .../rest-api/skeleton/grails-app/conf/application.yml | 2 -- grails-profiles/web/skeleton/grails-app/conf/application.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml index 98d85ff4c83..c784e6c4ee3 100644 --- a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml @@ -25,5 +25,3 @@ grails: rss: application/rss+xml text: text/plain all: '*/*' - converters: - encoding: UTF-8 diff --git a/grails-profiles/web/skeleton/grails-app/conf/application.yml b/grails-profiles/web/skeleton/grails-app/conf/application.yml index 5f53d8b037a..88153e2c093 100644 --- a/grails-profiles/web/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/web/skeleton/grails-app/conf/application.yml @@ -23,8 +23,6 @@ grails: xml: - text/xml - application/xml - converters: - encoding: UTF-8 views: default: codec: html From e3d542bbd5a9d152e9e2efa271ecd5bec15938a1 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 10:34:57 +0200 Subject: [PATCH 13/18] fix: rm redundant `grails.views.default.codec: html` Default is already set to `html` in `OutputEncodingSettings`. --- .../java/org/grails/forge/feature/web/GrailsWeb.java | 5 ----- .../grails/forge/feature/web/GrailsWebSpec.groovy | 12 ------------ .../web/skeleton/grails-app/conf/application.yml | 2 -- 3 files changed, 19 deletions(-) diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java index 7490d01dde0..fd3fc10487f 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java @@ -51,9 +51,4 @@ public boolean supports(ApplicationType applicationType) { return applicationType != ApplicationType.PLUGIN; } - @Override - public void apply(GeneratorContext generatorContext) { - final Map config = generatorContext.getConfiguration(); - config.put("grails.views.default.codec", "html"); - } } diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy index ac506a34b31..4b6904f57a7 100644 --- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy +++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy @@ -19,14 +19,11 @@ package org.grails.forge.feature.web -import groovy.yaml.YamlSlurper import org.grails.forge.ApplicationContextSpec import org.grails.forge.application.ApplicationType import org.grails.forge.fixture.CommandOutputFixture import org.grails.forge.options.DevelopmentReloading -import org.grails.forge.options.JdkVersion import org.grails.forge.options.Options -import org.grails.forge.options.TestFramework class GrailsWebSpec extends ApplicationContextSpec implements CommandOutputFixture{ @@ -39,13 +36,4 @@ class GrailsWebSpec extends ApplicationContextSpec implements CommandOutputFixtu buildGradle.contains("apply plugin: \"org.apache.grails.gradle.grails-web\"") } - void "test grails-web configuration"() { - when: - final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS)) - final String applicationYaml = output["grails-app/conf/application.yml"] - def config = new YamlSlurper().parseText(applicationYaml) - - then: - config.grails.views.default.codec == 'html' - } } diff --git a/grails-profiles/web/skeleton/grails-app/conf/application.yml b/grails-profiles/web/skeleton/grails-app/conf/application.yml index 88153e2c093..bd9400cb3ab 100644 --- a/grails-profiles/web/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/web/skeleton/grails-app/conf/application.yml @@ -24,8 +24,6 @@ grails: - text/xml - application/xml views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml From 7c0fe85219bcda13e94a4f0695b328bbd83f5166 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 10:50:44 +0200 Subject: [PATCH 14/18] fix: rm redundant `grails.views.gsp.*` config These are already defaults. --- .../src/main/java/org/grails/forge/feature/view/GrailsGsp.java | 3 --- .../groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy | 3 --- grails-profiles/web/skeleton/grails-app/conf/application.yml | 3 --- 3 files changed, 9 deletions(-) diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java index 5cabbcd708c..fc2a21a8bfa 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java @@ -95,10 +95,7 @@ public void apply(GeneratorContext generatorContext) { config.put("grails.mime.types.xml", Arrays.asList("text/xml", "application/xml")); config.put("grails.views.gsp.encoding", "UTF-8"); config.put("grails.views.gsp.htmlcodec", "xml"); - config.put("grails.views.gsp.codecs.expression", "html"); config.put("grails.views.gsp.codecs.scriptlet", "html"); - config.put("grails.views.gsp.codecs.taglib", "none"); - config.put("grails.views.gsp.codecs.staticparts", "none"); generatorContext.addDependency(Dependency.builder() .groupId("org.apache.grails") .artifactId("grails-gsp") diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy index 4edca48429d..e76a02a9410 100644 --- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy +++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy @@ -62,10 +62,7 @@ class GrailsGspSpec extends ApplicationContextSpec implements CommandOutputFixtu then: ctx.getConfiguration().containsKey("grails.views.gsp.encoding") ctx.getConfiguration().containsKey("grails.views.gsp.htmlcodec") - ctx.getConfiguration().containsKey("grails.views.gsp.codecs.expression") ctx.getConfiguration().containsKey("grails.views.gsp.codecs.scriptlet") - ctx.getConfiguration().containsKey("grails.views.gsp.codecs.taglib") - ctx.getConfiguration().containsKey("grails.views.gsp.codecs.staticparts") } void "test mime configuration"() { diff --git a/grails-profiles/web/skeleton/grails-app/conf/application.yml b/grails-profiles/web/skeleton/grails-app/conf/application.yml index bd9400cb3ab..f5171b9bcac 100644 --- a/grails-profiles/web/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/web/skeleton/grails-app/conf/application.yml @@ -28,7 +28,4 @@ grails: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none From 7cbdd755991949056e3250a39a88a39a952bd3e5 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 11:07:52 +0200 Subject: [PATCH 15/18] fix: rm additional redundant userAgent config These are already defaults. --- .../rest-api/skeleton/grails-app/conf/application.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml index c784e6c4ee3..91371ed9fff 100644 --- a/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml +++ b/grails-profiles/rest-api/skeleton/grails-app/conf/application.yml @@ -1,13 +1,5 @@ grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json From b56f8ee7ea793972614519ea010626268a983c12 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 12:07:30 +0200 Subject: [PATCH 16/18] test: update config in functional tests apps This updates the configuration in the functional test apps to mirror the changes in generated config values. --- .../app1/grails-app/conf/application.yml | 26 +-------- .../app2/grails-app/conf/application.yml | 25 -------- .../app3/grails-app/conf/application.yml | 18 ------ .../grails-app/conf/application.yml | 11 ---- .../cache/grails-app/conf/application.yml | 48 +--------------- .../grails-app/conf/application.yml | 27 +-------- .../demo33/grails-app/conf/application.yml | 53 +---------------- .../exploded/grails-app/conf/application.yml | 28 +-------- .../grails-app/conf/application.yml | 35 +----------- .../test/app/ConfigurationPrioritySpec.groovy | 2 +- .../app/EnvironmentConfigurationSpec.groovy | 28 +++------ .../grails-app/conf/application.yml | 13 ----- .../geb/grails-app/conf/application.yml | 13 ----- .../gorm/grails-app/conf/application.yml | 28 +-------- .../grails-app/conf/application.yml | 13 ----- .../grails-app/conf/application.yml | 13 ----- .../grails-app/conf/application.yml | 8 --- .../grails-app/conf/application.yml | 13 ----- .../grails-app/conf/application.yml | 20 +------ .../grails-app/conf/application.yml | 20 +------ .../grails-app/conf/application.yml | 20 +------ .../grails-app/conf/application.yml | 8 --- .../grails-app/conf/application.yml | 20 +------ .../grails-app/conf/application.yml | 28 ++------- .../issue450/grails-app/conf/application.yml | 18 ------ .../grails-app/conf/application.yml | 32 +---------- .../grails-app/conf/application.yml | 44 +------------- .../grails-app/conf/application.yml | 8 --- .../grails-app/conf/application.yml | 8 --- .../grails-app/conf/application.yml | 27 +-------- .../grails-app/conf/application.yml | 34 ----------- .../grails-app/conf/application.yml | 43 -------------- .../micronaut/grails-app/conf/application.yml | 50 ---------------- .../base/grails-app/conf/application.yml | 38 ++++--------- .../grails-app/conf/application.yml | 29 +--------- .../grails-app/conf/application.yml | 29 +--------- .../grails-app/conf/application.yml | 20 +------ .../grails-app/conf/application.yml | 31 ---------- .../grails-app/conf/application.yml | 28 +-------- .../exploded/grails-app/conf/application.yml | 43 +------------- .../exploded/PluginDependencySpec.groovy | 2 +- .../grails-app/conf/application.yml | 43 +------------- .../loadafter/grails-app/conf/application.yml | 43 +------------- .../loadfirst/grails-app/conf/application.yml | 36 ++---------- .../grails-app/conf/application.yml | 36 ++---------- .../grails-app/conf/application.yml | 28 +-------- .../grails-app/conf/application.yml | 57 ------------------- .../grails-app/conf/application.yml | 31 +--------- 48 files changed, 58 insertions(+), 1218 deletions(-) diff --git a/grails-test-examples/app1/grails-app/conf/application.yml b/grails-test-examples/app1/grails-app/conf/application.yml index 919c1c342e6..926a9dcafad 100644 --- a/grails-test-examples/app1/grails-app/conf/application.yml +++ b/grails-test-examples/app1/grails-app/conf/application.yml @@ -23,10 +23,6 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false --- grails11951: @@ -47,14 +43,6 @@ reactor: backlog: 1024 grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -77,27 +65,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html cors: enabled: true mappings: diff --git a/grails-test-examples/app2/grails-app/conf/application.yml b/grails-test-examples/app2/grails-app/conf/application.yml index a0faaa432cd..1bf8acd6573 100644 --- a/grails-test-examples/app2/grails-app/conf/application.yml +++ b/grails-test-examples/app2/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,27 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlets: html - taglib: none - staticparts: none --- dataSource: diff --git a/grails-test-examples/app3/grails-app/conf/application.yml b/grails-test-examples/app3/grails-app/conf/application.yml index 6dfd9774cf7..14a273379b2 100755 --- a/grails-test-examples/app3/grails-app/conf/application.yml +++ b/grails-test-examples/app3/grails-app/conf/application.yml @@ -23,11 +23,6 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: @@ -61,28 +56,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlets: html - taglib: none - staticparts: none - --- dataSource: pooled: true diff --git a/grails-test-examples/async-events-pubsub-demo/grails-app/conf/application.yml b/grails-test-examples/async-events-pubsub-demo/grails-app/conf/application.yml index 5dd6865fa7f..223cbdb9a7a 100644 --- a/grails-test-examples/async-events-pubsub-demo/grails-app/conf/application.yml +++ b/grails-test-examples/async-events-pubsub-demo/grails-app/conf/application.yml @@ -19,18 +19,7 @@ info: version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' grails: - views: - default: - codec: html mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json diff --git a/grails-test-examples/cache/grails-app/conf/application.yml b/grails-test-examples/cache/grails-app/conf/application.yml index 507c44bb638..436586cee9d 100644 --- a/grails-test-examples/cache/grails-app/conf/application.yml +++ b/grails-test-examples/cache/grails-app/conf/application.yml @@ -18,45 +18,14 @@ grails: profile: web-plugin codegen: defaultPackage: cache - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - jmx: - unique-names: true - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - devtools: - restart: - exclude: - - grails-app/views/** - - grails-app/i18n/** - - grails-app/conf/** -management: - endpoints: - enabled-by-default: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -80,27 +49,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none -endpoints: - jmx: - unique-names: true + scriptlet: html --- environments: test: diff --git a/grails-test-examples/datasources/grails-app/conf/application.yml b/grails-test-examples/datasources/grails-app/conf/application.yml index e0a696cb509..efadbd30a16 100644 --- a/grails-test-examples/datasources/grails-app/conf/application.yml +++ b/grails-test-examples/datasources/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,27 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- grails: diff --git a/grails-test-examples/demo33/grails-app/conf/application.yml b/grails-test-examples/demo33/grails-app/conf/application.yml index cf2ad7ff0da..7572f5593c5 100644 --- a/grails-test-examples/demo33/grails-app/conf/application.yml +++ b/grails-test-examples/demo33/grails-app/conf/application.yml @@ -21,52 +21,17 @@ grails: spring: transactionManagement: proxies: false - gorm: - # Whether to autowire entities. - # Disabled by default for performance reasons. - autowire: false - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' spring: - jmx: - unique-names: true main: - banner-mode: "off" allow-circular-references: true - groovy: - template: - check-template-location: false - devtools: - restart: - additional-exclude: - - '*.gsp' - - '**/*.gsp' - - '*.gson' - - '**/*.gson' - - 'logback.groovy' - - '*.properties' -management: - endpoints: - enabled-by-default: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -90,28 +55,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none -endpoints: - jmx: - unique-names: true - + scriptlet: html --- hibernate: cache: diff --git a/grails-test-examples/exploded/grails-app/conf/application.yml b/grails-test-examples/exploded/grails-app/conf/application.yml index 0b40eb43ff1..c8de9f47fe7 100755 --- a/grails-test-examples/exploded/grails-app/conf/application.yml +++ b/grails-test-examples/exploded/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,28 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none - + scriptlet: html --- dataSource: pooled: true diff --git a/grails-test-examples/external-configuration/grails-app/conf/application.yml b/grails-test-examples/external-configuration/grails-app/conf/application.yml index 6070638697a..9f39f11d0ca 100644 --- a/grails-test-examples/external-configuration/grails-app/conf/application.yml +++ b/grails-test-examples/external-configuration/grails-app/conf/application.yml @@ -17,34 +17,14 @@ grails: profile: web codegen: defaultPackage: test.app - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -68,24 +48,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- hibernate: cache: @@ -133,6 +101,7 @@ environments: --- test: config: + number: 12345 value: "From application.yml" --- grails: diff --git a/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/ConfigurationPrioritySpec.groovy b/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/ConfigurationPrioritySpec.groovy index deddfb4de89..d28bbad1e46 100644 --- a/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/ConfigurationPrioritySpec.groovy +++ b/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/ConfigurationPrioritySpec.groovy @@ -217,7 +217,7 @@ class ConfigurationPrioritySpec extends Specification { def "deeply nested properties are accessible"() { when: "accessing deeply nested property" - def codec = grailsApplication.config.getProperty('grails.views.gsp.codecs.expression', String) + def codec = grailsApplication.config.getProperty('grails.views.gsp.codecs.scriptlet', String) then: "property is retrieved" codec == 'html' diff --git a/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/EnvironmentConfigurationSpec.groovy b/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/EnvironmentConfigurationSpec.groovy index 2bbfdb79900..e3028af9851 100644 --- a/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/EnvironmentConfigurationSpec.groovy +++ b/grails-test-examples/external-configuration/src/integration-test/groovy/test/app/EnvironmentConfigurationSpec.groovy @@ -103,23 +103,23 @@ class EnvironmentConfigurationSpec extends Specification { then: "nested properties are accessible" config.getProperty('grails.mime.types.json', List) != null - config.getProperty('grails.controllers.defaultScope', String) == 'singleton' + config.getProperty('grails.mime.types.text', String) == 'text/plain' } def "can access configuration as flat properties"() { when: "getting flat property" - def defaultScope = grailsApplication.config.getProperty('grails.controllers.defaultScope', String) + def textMimeType = grailsApplication.config.getProperty('grails.mime.types.text', String) then: "property is retrieved" - defaultScope == 'singleton' + textMimeType == 'text/plain' } def "configuration supports type conversion"() { when: "getting property with type conversion" - def cacheMaxSize = grailsApplication.config.getProperty('grails.urlmapping.cache.maxsize', Integer) + def number = grailsApplication.config.getProperty('test.config.number', Integer) then: "property is converted to integer" - cacheMaxSize == 1000 + number == 12345 } def "configuration supports default values"() { @@ -150,7 +150,6 @@ class EnvironmentConfigurationSpec extends Specification { then: "GSP encoding is configured" config.getProperty('grails.views.gsp.encoding', String) == 'UTF-8' - config.getProperty('grails.views.default.codec', String) == 'html' } // ========== Hibernate Configuration Tests ========== @@ -179,19 +178,6 @@ class EnvironmentConfigurationSpec extends Specification { config.getProperty('info.app.name', String) != null } - // ========== Spring Configuration Tests ========== - - def "Spring banner mode is configured"() { - expect: "banner mode is off" - grailsApplication.config.getProperty('spring.main.banner-mode', String) == 'off' - } - - def "Spring template location check is disabled"() { - expect: "template check is false" - grailsApplication.config.getProperty('spring.groovy.template.check-template-location', Boolean) == false || - grailsApplication.config.getProperty('spring.groovy.template.check-template-location', String) == 'false' - } - // ========== Environment Object Tests ========== def "Environment object provides utility methods"() { @@ -212,10 +198,10 @@ class EnvironmentConfigurationSpec extends Specification { def "configuration is immutable at runtime by default"() { when: "attempting to modify config" - def originalValue = grailsApplication.config.getProperty('grails.controllers.defaultScope', String) + def originalValue = grailsApplication.config.getProperty('grails.mime.types.text', String) then: "original value is accessible" - originalValue == 'singleton' + originalValue == 'text/plain' // Note: Modern Spring Boot configuration is generally immutable // Runtime changes require specific mechanisms diff --git a/grails-test-examples/geb-gebconfig/grails-app/conf/application.yml b/grails-test-examples/geb-gebconfig/grails-app/conf/application.yml index f77a9078618..d6e352bcc10 100644 --- a/grails-test-examples/geb-gebconfig/grails-app/conf/application.yml +++ b/grails-test-examples/geb-gebconfig/grails-app/conf/application.yml @@ -20,25 +20,12 @@ info: grailsVersion: '@info.app.grailsVersion@' grails: views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml diff --git a/grails-test-examples/geb/grails-app/conf/application.yml b/grails-test-examples/geb/grails-app/conf/application.yml index f77a9078618..d6e352bcc10 100644 --- a/grails-test-examples/geb/grails-app/conf/application.yml +++ b/grails-test-examples/geb/grails-app/conf/application.yml @@ -20,25 +20,12 @@ info: grailsVersion: '@info.app.grailsVersion@' grails: views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml diff --git a/grails-test-examples/gorm/grails-app/conf/application.yml b/grails-test-examples/gorm/grails-app/conf/application.yml index 99e6b377045..1d72d9b2d19 100644 --- a/grails-test-examples/gorm/grails-app/conf/application.yml +++ b/grails-test-examples/gorm/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,28 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none - + scriptlet: html --- hibernate: cache: diff --git a/grails-test-examples/gsp-layout/grails-app/conf/application.yml b/grails-test-examples/gsp-layout/grails-app/conf/application.yml index 6268c7cc9ef..b0b45f1170a 100644 --- a/grails-test-examples/gsp-layout/grails-app/conf/application.yml +++ b/grails-test-examples/gsp-layout/grails-app/conf/application.yml @@ -21,14 +21,6 @@ info: grails: profile: web mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -57,9 +49,4 @@ grails: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none - default: - codec: html diff --git a/grails-test-examples/gsp-sitemesh3/grails-app/conf/application.yml b/grails-test-examples/gsp-sitemesh3/grails-app/conf/application.yml index 6268c7cc9ef..b0b45f1170a 100644 --- a/grails-test-examples/gsp-sitemesh3/grails-app/conf/application.yml +++ b/grails-test-examples/gsp-sitemesh3/grails-app/conf/application.yml @@ -21,14 +21,6 @@ info: grails: profile: web mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -57,9 +49,4 @@ grails: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none - default: - codec: html diff --git a/grails-test-examples/hibernate5/grails-data-service-multi-datasource/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-data-service-multi-datasource/grails-app/conf/application.yml index d942b19b728..cc05f77ccdf 100644 --- a/grails-test-examples/hibernate5/grails-data-service-multi-datasource/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-data-service-multi-datasource/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: example mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' html: diff --git a/grails-test-examples/hibernate5/grails-data-service/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-data-service/grails-app/conf/application.yml index 8aa46131839..0e0ac568a9c 100644 --- a/grails-test-examples/hibernate5/grails-data-service/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-data-service/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: example mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json @@ -49,11 +41,6 @@ grails: rss: application/rss+xml text: text/plain all: '*/*' - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 --- hibernate: cache: diff --git a/grails-test-examples/hibernate5/grails-database-per-tenant/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-database-per-tenant/grails-app/conf/application.yml index d19b3d9495a..485b49398cc 100644 --- a/grails-test-examples/hibernate5/grails-database-per-tenant/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-database-per-tenant/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: datasources mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -54,25 +46,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- grails: gorm: diff --git a/grails-test-examples/hibernate5/grails-hibernate/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-hibernate/grails-app/conf/application.yml index 4f1364963bd..e93a35cc5c9 100644 --- a/grails-test-examples/hibernate5/grails-hibernate/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-hibernate/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: functional.tests mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -55,22 +47,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- hibernate: configClass: functional.tests.CustomHibernateMappingContextConfiguration diff --git a/grails-test-examples/hibernate5/grails-multiple-datasources/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-multiple-datasources/grails-app/conf/application.yml index 112ea1ced83..956951da7a3 100644 --- a/grails-test-examples/hibernate5/grails-multiple-datasources/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-multiple-datasources/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: datasources mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -54,25 +46,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- dataSources: dataSource: diff --git a/grails-test-examples/hibernate5/grails-multitenant-multi-datasource/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-multitenant-multi-datasource/grails-app/conf/application.yml index eb97d252a51..2ab5f035c8d 100644 --- a/grails-test-examples/hibernate5/grails-multitenant-multi-datasource/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-multitenant-multi-datasource/grails-app/conf/application.yml @@ -28,14 +28,6 @@ grails: mode: DISCRIMINATOR tenantResolverClass: org.grails.datastore.mapping.multitenancy.resolvers.SystemPropertyTenantResolver mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' html: diff --git a/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/grails-app/conf/application.yml index 5c6540f718f..642b4d6f093 100644 --- a/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-partitioned-multi-tenancy/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: datasources mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -54,25 +46,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- grails: gorm: diff --git a/grails-test-examples/hibernate5/grails-schema-per-tenant/grails-app/conf/application.yml b/grails-test-examples/hibernate5/grails-schema-per-tenant/grails-app/conf/application.yml index 1f54ffcc714..2691a1b117a 100644 --- a/grails-test-examples/hibernate5/grails-schema-per-tenant/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/grails-schema-per-tenant/grails-app/conf/application.yml @@ -14,24 +14,16 @@ # limitations under the License. info: - app: - name: '@info.app.name@' - version: '@info.app.version@' - grailsVersion: '@info.app.grailsVersion@' + app: + name: '@info.app.name@' + version: '@info.app.version@' + grailsVersion: '@info.app.grailsVersion@' --- grails: profile: web codegen: defaultPackage: schemapertenant mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -54,25 +46,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- grails: gorm: diff --git a/grails-test-examples/hibernate5/issue450/grails-app/conf/application.yml b/grails-test-examples/hibernate5/issue450/grails-app/conf/application.yml index d5c5f62fe7f..f78e81fe715 100644 --- a/grails-test-examples/hibernate5/issue450/grails-app/conf/application.yml +++ b/grails-test-examples/hibernate5/issue450/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: multitenantcomposite mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -55,22 +47,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none --- grails: gorm: diff --git a/grails-test-examples/hyphenated/grails-app/conf/application.yml b/grails-test-examples/hyphenated/grails-app/conf/application.yml index f7c4f42b3e6..be778a1b977 100644 --- a/grails-test-examples/hyphenated/grails-app/conf/application.yml +++ b/grails-test-examples/hyphenated/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -62,24 +49,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html web: url: converter: hyphenated @@ -90,11 +65,6 @@ hibernate: use_second_level_cache: true use_query_cache: false region.factory_class: 'org.hibernate.cache.ehcache.EhCacheRegionFactory' - -endpoints: - jmx: - unique-names: true - dataSource: pooled: true jmxExport: true diff --git a/grails-test-examples/issue-11102/grails-app/conf/application.yml b/grails-test-examples/issue-11102/grails-app/conf/application.yml index f69ad796b63..8f62cc34dc2 100644 --- a/grails-test-examples/issue-11102/grails-app/conf/application.yml +++ b/grails-test-examples/issue-11102/grails-app/conf/application.yml @@ -18,40 +18,14 @@ grails: profile: web codegen: defaultPackage: issue11102 - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - -# Spring Actuator Endpoints are Disabled by Default -endpoints: - enabled: false - jmx: - enabled: true - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -75,28 +49,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none -endpoints: - jmx: - unique-names: true - + scriptlet: html --- hibernate: cache: diff --git a/grails-test-examples/issue-11767/grails-app/conf/application.yml b/grails-test-examples/issue-11767/grails-app/conf/application.yml index 8418f75dbb7..7c92e158963 100644 --- a/grails-test-examples/issue-11767/grails-app/conf/application.yml +++ b/grails-test-examples/issue-11767/grails-app/conf/application.yml @@ -25,14 +25,6 @@ info: grailsVersion: '@info.app.grailsVersion@' grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml diff --git a/grails-test-examples/issue-15228/grails-app/conf/application.yml b/grails-test-examples/issue-15228/grails-app/conf/application.yml index af9d03596e4..b1f3d9689ee 100644 --- a/grails-test-examples/issue-15228/grails-app/conf/application.yml +++ b/grails-test-examples/issue-15228/grails-app/conf/application.yml @@ -20,14 +20,6 @@ info: grailsVersion: '@info.app.grailsVersion@' grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml diff --git a/grails-test-examples/issue-698-domain-save-npe/grails-app/conf/application.yml b/grails-test-examples/issue-698-domain-save-npe/grails-app/conf/application.yml index d36c26d8195..0af3ad83f25 100644 --- a/grails-test-examples/issue-698-domain-save-npe/grails-app/conf/application.yml +++ b/grails-test-examples/issue-698-domain-save-npe/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,27 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- dataSource: diff --git a/grails-test-examples/issue-views-182/grails-app/conf/application.yml b/grails-test-examples/issue-views-182/grails-app/conf/application.yml index f11824fb936..a1d9853071f 100644 --- a/grails-test-examples/issue-views-182/grails-app/conf/application.yml +++ b/grails-test-examples/issue-views-182/grails-app/conf/application.yml @@ -18,40 +18,14 @@ grails: profile: rest-api codegen: defaultPackage: issueviews182 - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - -# Spring Actuator Endpoints are Disabled by Default -endpoints: - enabled: false - jmx: - enabled: true - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json @@ -69,14 +43,6 @@ grails: rss: application/rss+xml text: text/plain all: '*/*' - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 - --- hibernate: cache: diff --git a/grails-test-examples/micronaut-groovy-only/grails-app/conf/application.yml b/grails-test-examples/micronaut-groovy-only/grails-app/conf/application.yml index 31ee37a67ab..de21d81d008 100644 --- a/grails-test-examples/micronaut-groovy-only/grails-app/conf/application.yml +++ b/grails-test-examples/micronaut-groovy-only/grails-app/conf/application.yml @@ -18,48 +18,17 @@ grails: profile: web codegen: defaultPackage: micronautgroovyonly - gorm: - reactor: - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - jmx: - unique-names: true - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - devtools: - restart: - additional-exclude: - - '*.gsp' - - '**/*.gsp' - - '*.gson' - - '**/*.gson' - - 'logback.groovy' - - '*.properties' -management: - endpoints: - enabled-by-default: false app: name: test-micronaut-groovy-only --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -83,18 +52,6 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 -management: - endpoints: - jmx: - unique-names: true - --- hibernate: cache: diff --git a/grails-test-examples/micronaut/grails-app/conf/application.yml b/grails-test-examples/micronaut/grails-app/conf/application.yml index a226b49ec26..bd145bfb929 100644 --- a/grails-test-examples/micronaut/grails-app/conf/application.yml +++ b/grails-test-examples/micronaut/grails-app/conf/application.yml @@ -18,50 +18,17 @@ grails: profile: web codegen: defaultPackage: micronaut - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - jmx: - unique-names: true - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - devtools: - restart: - additional-exclude: - - '*.gsp' - - '**/*.gsp' - - '*.gson' - - '**/*.gson' - - 'logback.groovy' - - '*.properties' -management: - endpoints: - enabled-by-default: false app: name: test-micronaut-app --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -85,29 +52,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none -management: - endpoints: - jmx: - unique-names: true - --- hibernate: cache: diff --git a/grails-test-examples/mongodb/base/grails-app/conf/application.yml b/grails-test-examples/mongodb/base/grails-app/conf/application.yml index 3e408ad7290..e577ec6e4a6 100644 --- a/grails-test-examples/mongodb/base/grails-app/conf/application.yml +++ b/grails-test-examples/mongodb/base/grails-app/conf/application.yml @@ -20,26 +20,18 @@ info: grailsVersion: '@info.app.grailsVersion@' --- grails: - profile: web - codegen: - defaultPackage: functional.tests - gorm: - failOnError: true - mongodb: - url: mongodb://${spring.data.mongodb.host:localhost}:${spring.data.mongodb.port:27017}/mydb - options: - maxWaitTime: 10000 + profile: web + codegen: + defaultPackage: functional.tests + gorm: + failOnError: true + mongodb: + url: mongodb://${spring.data.mongodb.host:localhost}:${spring.data.mongodb.port:27017}/mydb + options: + maxWaitTime: 10000 --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -63,19 +55,9 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html diff --git a/grails-test-examples/mongodb/database-per-tenant/grails-app/conf/application.yml b/grails-test-examples/mongodb/database-per-tenant/grails-app/conf/application.yml index 02629b9e616..a13c179ff6a 100644 --- a/grails-test-examples/mongodb/database-per-tenant/grails-app/conf/application.yml +++ b/grails-test-examples/mongodb/database-per-tenant/grails-app/conf/application.yml @@ -24,11 +24,8 @@ info: version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' spring: - groovy: - template: - check-template-location: false - main: - allow-circular-references: true + main: + allow-circular-references: true --- grails: @@ -48,14 +45,6 @@ grails: --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -79,21 +68,9 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html diff --git a/grails-test-examples/mongodb/gson-templates/grails-app/conf/application.yml b/grails-test-examples/mongodb/gson-templates/grails-app/conf/application.yml index 181833e47bf..5dd4e4b0eb0 100644 --- a/grails-test-examples/mongodb/gson-templates/grails-app/conf/application.yml +++ b/grails-test-examples/mongodb/gson-templates/grails-app/conf/application.yml @@ -24,9 +24,6 @@ info: version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' spring: - groovy: - template: - check-template-location: false autoconfigure: exclude: # No need to start MongoDB, we only need access to the Point class from gorm-mongodb @@ -34,14 +31,6 @@ spring: --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json @@ -65,29 +54,13 @@ grails: multipartForm: multipart/form-data pdf: application/pdf all: '*/*' - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- -endpoints: - jmx: - unique-names: true - dataSource: pooled: true jmxExport: true diff --git a/grails-test-examples/mongodb/hibernate5/grails-app/conf/application.yml b/grails-test-examples/mongodb/hibernate5/grails-app/conf/application.yml index 4bfc75fa834..676d77ac135 100644 --- a/grails-test-examples/mongodb/hibernate5/grails-app/conf/application.yml +++ b/grails-test-examples/mongodb/hibernate5/grails-app/conf/application.yml @@ -24,14 +24,6 @@ grails: codegen: defaultPackage: functional.tests mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -55,22 +47,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- hibernate: dialect: 'org.hibernate.dialect.H2Dialect' diff --git a/grails-test-examples/mongodb/test-data-service/grails-app/conf/application.yml b/grails-test-examples/mongodb/test-data-service/grails-app/conf/application.yml index 89d63128cd7..499b6e3aaf9 100644 --- a/grails-test-examples/mongodb/test-data-service/grails-app/conf/application.yml +++ b/grails-test-examples/mongodb/test-data-service/grails-app/conf/application.yml @@ -18,40 +18,17 @@ grails: profile: rest-api codegen: defaultPackage: example - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' spring: - jmx: - unique-names: true main: - banner-mode: "off" allow-circular-references: true - groovy: - template: - check-template-location: false -management: - endpoints: - enabled-by-default: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json @@ -69,14 +46,6 @@ grails: rss: application/rss+xml text: text/plain all: '*/*' - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 - --- grails: mongodb: diff --git a/grails-test-examples/namespaces/grails-app/conf/application.yml b/grails-test-examples/namespaces/grails-app/conf/application.yml index c94ec4674b8..aeb01fe27f7 100644 --- a/grails-test-examples/namespaces/grails-app/conf/application.yml +++ b/grails-test-examples/namespaces/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,28 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none - + scriptlet: html --- dataSource: pooled: true diff --git a/grails-test-examples/plugins/exploded/grails-app/conf/application.yml b/grails-test-examples/plugins/exploded/grails-app/conf/application.yml index efe666466fb..54c115b9187 100755 --- a/grails-test-examples/plugins/exploded/grails-app/conf/application.yml +++ b/grails-test-examples/plugins/exploded/grails-app/conf/application.yml @@ -18,40 +18,14 @@ grails: profile: web-plugin codegen: defaultPackage: exploded - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - -# Spring Actuator Endpoints are Disabled by Default -endpoints: - enabled: false - jmx: - enabled: true - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -75,24 +49,9 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none -endpoints: - jmx: - unique-names: true + scriptlet: html diff --git a/grails-test-examples/plugins/exploded/src/integration-test/groovy/exploded/PluginDependencySpec.groovy b/grails-test-examples/plugins/exploded/src/integration-test/groovy/exploded/PluginDependencySpec.groovy index a497c904df4..42b90228cc8 100644 --- a/grails-test-examples/plugins/exploded/src/integration-test/groovy/exploded/PluginDependencySpec.groovy +++ b/grails-test-examples/plugins/exploded/src/integration-test/groovy/exploded/PluginDependencySpec.groovy @@ -102,7 +102,7 @@ class PluginDependencySpec extends Specification { then: "config values are accessible" // The actual value depends on plugin load order - config.getProperty('grails.controllers.defaultScope', String) != null + config.getProperty('grails.mime.types.text', String) != null } // ========== Plugin Bean Registration Tests ========== diff --git a/grails-test-examples/plugins/issue11005/grails-app/conf/application.yml b/grails-test-examples/plugins/issue11005/grails-app/conf/application.yml index 1ec4ed7ece1..1251da42183 100644 --- a/grails-test-examples/plugins/issue11005/grails-app/conf/application.yml +++ b/grails-test-examples/plugins/issue11005/grails-app/conf/application.yml @@ -18,40 +18,14 @@ grails: profile: web-plugin codegen: defaultPackage: issue11005 - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - -# Spring Actuator Endpoints are Disabled by Default -endpoints: - enabled: false - jmx: - enabled: true - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -75,24 +49,9 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none -endpoints: - jmx: - unique-names: true + scriptlet: html diff --git a/grails-test-examples/plugins/loadafter/grails-app/conf/application.yml b/grails-test-examples/plugins/loadafter/grails-app/conf/application.yml index af99f61abd4..aab0f8da7df 100755 --- a/grails-test-examples/plugins/loadafter/grails-app/conf/application.yml +++ b/grails-test-examples/plugins/loadafter/grails-app/conf/application.yml @@ -18,40 +18,14 @@ grails: profile: web-plugin codegen: defaultPackage: loadafter - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - -# Spring Actuator Endpoints are Disabled by Default -endpoints: - enabled: false - jmx: - enabled: true - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -75,24 +49,9 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none -endpoints: - jmx: - unique-names: true + scriptlet: html diff --git a/grails-test-examples/plugins/loadfirst/grails-app/conf/application.yml b/grails-test-examples/plugins/loadfirst/grails-app/conf/application.yml index 6fd5d9fdd88..81cbf18801b 100644 --- a/grails-test-examples/plugins/loadfirst/grails-app/conf/application.yml +++ b/grails-test-examples/plugins/loadfirst/grails-app/conf/application.yml @@ -15,30 +15,17 @@ --- grails: - profile: web-plugin - codegen: - defaultPackage: loadfirst + profile: web-plugin + codegen: + defaultPackage: loadfirst info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,28 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none - + scriptlet: html --- dataSource: pooled: true @@ -122,5 +96,3 @@ environments: testOnReturn: false jdbcInterceptors: ConnectionState defaultTransactionIsolation: TRANSACTION_READ_COMMITTED - - diff --git a/grails-test-examples/plugins/loadsecond/grails-app/conf/application.yml b/grails-test-examples/plugins/loadsecond/grails-app/conf/application.yml index a4e87fe8070..95928325f2f 100644 --- a/grails-test-examples/plugins/loadsecond/grails-app/conf/application.yml +++ b/grails-test-examples/plugins/loadsecond/grails-app/conf/application.yml @@ -15,30 +15,17 @@ --- grails: - profile: web-plugin - codegen: - defaultPackage: loadsecond + profile: web-plugin + codegen: + defaultPackage: loadsecond info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,28 +48,15 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 hibernate: cache: queries: false views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none - + scriptlet: html --- dataSource: pooled: true @@ -122,5 +96,3 @@ environments: testOnReturn: false jdbcInterceptors: ConnectionState defaultTransactionIsolation: TRANSACTION_READ_COMMITTED - - diff --git a/grails-test-examples/scaffolding-fields/grails-app/conf/application.yml b/grails-test-examples/scaffolding-fields/grails-app/conf/application.yml index ec0a9175201..033d3e5aee6 100644 --- a/grails-test-examples/scaffolding-fields/grails-app/conf/application.yml +++ b/grails-test-examples/scaffolding-fields/grails-app/conf/application.yml @@ -23,22 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -61,25 +48,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none - + scriptlet: html --- hibernate: cache: diff --git a/grails-test-examples/scaffolding/grails-app/conf/application.yml b/grails-test-examples/scaffolding/grails-app/conf/application.yml index d7a856590b1..f299e589311 100644 --- a/grails-test-examples/scaffolding/grails-app/conf/application.yml +++ b/grails-test-examples/scaffolding/grails-app/conf/application.yml @@ -17,58 +17,14 @@ grails: profile: web codegen: defaultPackage: com.example - gorm: - reactor: - # Whether to translate GORM events into Reactor events - # Disabled by default for performance reasons - events: false info: app: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - jmx: - unique-names: true - main: - banner-mode: "off" - groovy: - template: - check-template-location: false - devtools: - restart: - additional-exclude: - - '*.gsp' - - '**/*.gsp' - - '*.gson' - - '**/*.gson' - - 'logback-spring.xml' - - '*.properties' -environments: - development: - management: - endpoints: - enabled-by-default: true - web: - base-path: '/actuator' - exposure: - include: '*' - production: - management: - endpoints: - enabled-by-default: false - --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: all: '*/*' atom: application/atom+xml @@ -92,25 +48,12 @@ grails: xml: - text/xml - application/xml - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html scriptlet: html - taglib: none - staticparts: none - --- hibernate: cache: diff --git a/grails-test-examples/views-functional-tests/grails-app/conf/application.yml b/grails-test-examples/views-functional-tests/grails-app/conf/application.yml index 479ff5bf667..c1296f0931d 100644 --- a/grails-test-examples/views-functional-tests/grails-app/conf/application.yml +++ b/grails-test-examples/views-functional-tests/grails-app/conf/application.yml @@ -23,21 +23,9 @@ info: name: '@info.app.name@' version: '@info.app.version@' grailsVersion: '@info.app.grailsVersion@' -spring: - groovy: - template: - check-template-location: false --- grails: mime: - disable: - accept: - header: - userAgents: - - Gecko - - WebKit - - Presto - - Trident types: json: - application/json @@ -61,24 +49,12 @@ grails: multipartForm: multipart/form-data pdf: application/pdf all: '*/*' - urlmapping: - cache: - maxsize: 1000 - controllers: - defaultScope: singleton - converters: - encoding: UTF-8 views: - default: - codec: html gsp: encoding: UTF-8 htmlcodec: xml codecs: - expression: html - scriptlets: html - taglib: none - staticparts: none + scriptlet: html --- hibernate: cache: @@ -86,11 +62,6 @@ hibernate: use_second_level_cache: false use_query_cache: false #region.factory_class: 'org.hibernate.cache.ehcache.EhCacheRegionFactory' - -endpoints: - jmx: - unique-names: true - dataSource: pooled: true jmxExport: true From 3479842490b01af3951518693b1c0b9611442d80 Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Tue, 14 Apr 2026 15:45:54 +0200 Subject: [PATCH 17/18] chore: remove unused imports --- .../src/main/java/org/grails/forge/feature/web/GrailsWeb.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java index fd3fc10487f..faf85e9bdf7 100644 --- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java +++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/web/GrailsWeb.java @@ -20,12 +20,10 @@ import jakarta.inject.Singleton; import org.grails.forge.application.ApplicationType; -import org.grails.forge.application.generator.GeneratorContext; import org.grails.forge.feature.DefaultFeature; import org.grails.forge.feature.Feature; import org.grails.forge.options.Options; -import java.util.Map; import java.util.Set; @Singleton From fa1d3576b3e5df03a4df77b72c5317952228727e Mon Sep 17 00:00:00 2001 From: Mattias Reichel Date: Wed, 15 Apr 2026 09:22:19 +0200 Subject: [PATCH 18/18] docs: update upgrade guide Document the removal of redundant properties in generated `application.yml` files. --- .../src/en/guide/upgrading/upgrading60x.adoc | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc index f23399f7f47..9c9dc3d17bd 100644 --- a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc +++ b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc @@ -869,3 +869,43 @@ The legacy `org.grails.web.converters.marshaller.json.EnumMarshaller` and `org.g ==== 13. Upgrading the Spring Security Plugin If your application uses the Grails Spring Security plugin, please consult the https://apache.github.io/grails-spring-security/snapshot/guide/index.html#upgrading-from-previous-versions[Upgrading from Previous Versions] section of the Spring Security plugin documentation for specific upgrade instructions related to Grails 7. + +==== 14. Changes in CLI- and Forge-generated configuration files + +From Grails 7.0.11 onwards, the CLIs (`grails-shell-cli` and `grails-forge-cli`) and the https://start.grails.org[Grails Forge website] no longer include several previously generated properties in `application.yml`. + +Most of the removed entries simply restated framework defaults, so omitting them reduces clutter without changing behavior. However, `grails.urlmapping.cache.maxsize` is a special case: older generated applications explicitly set it to `1000`, while the framework default is now `5000`. If you want to preserve the older generated cache size, keep that property in your application. + +If the application you are upgrading relies on a custom value for any of the following properties, or if you want to preserve the previous generated value of `grails.urlmapping.cache.maxsize`, keep that setting in your `application.yml` file. + +These are the properties that were removed from generated `application.yml` files: + +[source,yml] +.application.yml +---- +grails: + controllers: + defaultScope: singleton # already framework default + converters: + encoding: UTF-8 # already framework default + mime: + disable: + accept: + header: + userAgents: # already framework default + - Gecko + - WebKit + - Presto + - Trident + urlmapping: + cache: + maxsize: 1000 # Attention! framework default: 5000 + views: + default: + codec: html # redundant because GSP expressions already default to html encoding + gsp: + codecs: + expression: html # already framework default + taglib: none # already framework default + staticparts: none # already framework default +----