Releases: apache/grails-core
Release list
8.0.0-M2
What's Changed
- Ensure that the GlobalGrailsClassInjectorTransformation fails in the grails-core build if the wrong directory is passed @jdaugherty (#15799)
- 8.0.x - make configurable: allow-bean-definition-overriding / allow-circular-references @codeconsole (#15765)
- Add Grails 8 upgrade skill @jamesfredley (#15798)
- Add opt-in to compile all controllers, services and tag libraries with @GrailsCompileStatic @codeconsole (#15759)
- Add Gradle tasks and Git hooks for IntelliJ-based code formatting (#15535) @sanjana2505006 (#15555)
- Improve virtual thread cleanup for ThreadLocals @jamesfredley (#15797)
- Disable Jansi in generated logback-spring.xml to fix console logging after DevTools restart @jamesfredley (#15694)
- Guard child datastore entity registration against a null GORM enhancer (late registration NPE) @jamesfredley (#15776)
- Update OpenTelemetry to 1.62.0 (CVE-2026-45292) @fdevans (#15739)
- 8.0.x FIX: Overriding bean definition for bean 'dispatcherServlet' with a different definition @codeconsole (#15775)
- Refresh Grails 8 platform upgrade docs @jamesfredley (#15770)
- fix: align H7 HibernateGormStaticApi internal SQL method names with H5 @borinquenkid (#15768)
- Replace usages of deprecated external APIs @matrei (#15722)
- Modernize Grails 8 content negotiation: framework MIME defaults and honor the Accept header @codeconsole (#15758)
- Add Grails request-lifecycle + GSP rendering observability (inline micrometer spans + uri route fix) @codeconsole (#15750)
- Support TTL indexes in the GORM-Mongo mapping DSL and reconcile index option changes @codeconsole (#15747)
- Use config-driven Grails version docs @jamesfredley (#15769)
- Update Spring Boot to 3.5.16 @jamesfredley (#15767)
- Hibernate 7 - Step 2 @jdaugherty (#15568)
- Fix stop-app using a PID file instead of Actuator or JMX @jamesfredley (#15698)
- build(deps): update Gradle to 9.6.0 @jamesfredley (#15763)
- Update to Gradle 8.14.5 @jamesfredley (#15762)
- Convert SiteMesh 3 taglibs to method handlers and use SiteMesh 3.3.0-M1 @codeconsole (#15746)
- Do not close an externally-supplied MongoClient in GORM for MongoDB @codeconsole (#15743)
- fix(codecs): stop overriding the codecLookup bean definition @codeconsole (#15752)
- Merge 7.1.2 @jdaugherty (#15753)
- 8.x Register CriteriaTypeCheckingExtension and cover createCriteria().{} closures @codeconsole (#15720)
- Add
@GrailsCompileStaticsupport for controllers that call tag libs @jdaugherty (#15669) - fix(ci): seed vMAJOR.MINOR.0 for release branches with no published release @jamesfredley (#15742)
- fix(ci): remove filter-by-range from release-drafter to stop v0.1.0 draft flood @jamesfredley (#15741)
- Expand Hibernate 7 functional coverage and query parity @jamesfredley (#15731)
- 8.x Make SiteMesh 3 the default GSP layout @codeconsole (#15713)
- fix: parse ASCII minus in locale-aware number binding @jamesfredley (#15726)
- feat(deps): Bump Micronaut platform to 5.0.0 (GA) @jamesfredley (#15677)
- Make domain properties nullable by default (Grails 8) @codeconsole (#15721)
- 8.x Add Class-typed getAttribute reads for session, request and servletContext @codeconsole (#15732)
- 7.2.x (grails-scaffolding) - Parameterize the @scaffold controller superclass so scaffolded controller members aren't type-erased @codeconsole (#15729)
- Add
httpPostForm()method toHttpClientSupport@matrei (#15735) - Update Spring Boot 4.1 dependency versions @jamesfredley (#15727)
- Update Spring Boot to 3.5.15 @jamesfredley (#15728)
- Update Spock to 2.4-groovy-4.0 and align test dependencies @jamesfredley (#15703)
- fix: Order milestone and release candidate versions in VersionComparator @jamesfredley (#15696)
- Add typed attribute converters for session, request, flash and servletContext @codeconsole (#15715)
- Parameterize the @scaffold service superclass so scaffolded service methods aren't type-erased @codeconsole (#15717)
- Add MongoClientSettingsBuilderCustomizer hook for the Mongo client @codeconsole (#15716)
- Hibernate 7 - Step 1 @jdaugherty (#15654)
- Remove no-op failOnError argument from DeleteEntityDataFetcher @jamesfredley (#15692)
- [INFRA] Set up default rulesets for default and release branches @asf-gitbox-commits (#15665)
- Step 1 (PR-H): Add grails-jacoco convention plugin + Codecov coverage (depends on PR-G) @jamesfredley (#15687)
- Enable SiteMesh 3 on the 8.x (Spring Boot 4) line @codeconsole (#15710)
- Step 1 (PR-G): Add grails-code-analysis convention plugin + violation aggregation @jamesfredley (#15686)
- Add test coverage for Map-based multi-field sort @jamesfredley (#15691)
- fix(ci): comprehensive overhaul of release-drafter setup @jamesfredley (#15623)
- Step 1 (PR-C): Add addAllDomainClasses helper to GrailsDataTckManager @jamesfredley (#15683)
- Fix bindData binding id/version when domain extends a @DirtyCheck base (#15681) @jamesfredley (#15699)
- Fix constraints overwriting mapping index configuration (#15680) @codeconsole (#15700)
- fix: renormalize 8.0.x-only CRLF gradlew.bat files to LF @jamesfredley (#15709)
- fix: renormalize CRLF-committed files to LF per .gitattributes @jamesfredley (#15708)
- Step 1 (PR-F): Add grails-hibernate5-micronaut BOM (Micronaut BOM split) @jamesfredley (#15689)
- AGENTS.md: link the project's security model for agent discoverability @potiuk (#15706)
- Pin SiteMesh 3 to 3.2.3 release and drop snapshot repo resolution @codeconsole (#15705)
- fix(deps): Bump Spring Boot to 4.1.0-RC1 @jamesfredley (#15704)
- ci: audit and update GitHub Actions to ASF-approved versions @jamesfredley (#15690)
- fix(deps): Bump Spring Boot to 4.0.6 @jamesfredley (#15676)
- Upgrade to Gradle 9.5.1 @jamesfredley (#15672)
- Where Query documentation improvements @gsartori (#15599)
- Add THREAT_MODEL.md per the Apache security threat-model rubric @jamesfredley (#15664)
- Step 1 (PR-B): Async project defensive coding cleanup @jamesfredley (#15682)
- docs: fix typos in RELEASE.md @jamesfredley (#15619)
- Fix 8.0.x build break introduced by 7.2.x merge (6ebc60c) @jamesfredley (#15673)
- 7.1.x FIX: Rank URL mapping specificity by literal token count before wildcard captures @codeconsole (#15645)
- backport: close mongo connections between tests @matrei (#15634)
- Preserving Parameter Names @rahulshishodia (#15382)
- Make capturing Liquibase log output more reliable @marcphilipp (#15662)
- fix 4x exception logging @codeconsole (#15564)
- fix(deps): Bump Groovy to 4.0.32 @matrei (#15637)
- test(deps): bump
grails-spring-securityto 7.0.3-SNAPSHOT @matrei (#15658) - Font fixes @paulk-asert (#15643)
- fix: enforce LF line endings for shell scripts, gradlew, KEYS @jamesfredley (#15622)
- Restore micronaut-jackson-databind for grails-forge-web-netty JSON runtime @jamesfredley (#15651)
- Add flyway-database-postgresql for grails-forge-analytics-postgres native deploy @jamesfredley (#15648)
- Fix forge dockerBuildNative logback init cascade from JGit @jamesfredley (#15647)
- Fix forge dockerBuildNative class-initialization conflicts @jamesfredley (#15646)
- Native gorm mongodb String to ObjectId conversion @codeconsole (#15583)
- Migrate grails data graphql to grails 7.2.x @kirpi4ik (#15587)
- Post 8.0.0-M1 Fixes @jdaugherty (#15629)
- Enable Code Coverage @jdaugherty (#15633)
- Add jetty test app @jdaugherty (#15632)
- Filterless Sitemesh 3 @codeconsole (#15585)
- #10279 - add test to show issue no longer exists @jdaugherty (#15630)
- Bump actions/cache from 4 to 5 @dependabot[bot] (#15291)
🚀 Features
- feat: Replace Spring Dependency Management plugin with Gradle platform + lightweight BOM property overrides @jamesfredley (#15467)
- Add method-based TagLib syntax with legacy compatibility, benchmarks, and docs @davydotcom (#15465)
Contributors
@asf-gitbox-commits, @borinquenkid, @codeconsole, @davydotcom, @fdevans, @gsartori, @jamesfredley, @jdaugherty, @kirpi4ik, @marcphilipp, @matrei, @paulk-asert, @potiuk, @rahulshishodia, @sanjana2505006, dependabot[bot] and github-actions[bot]
7.2.0
What's Changed
- Filterless Sitemesh 3 by @codeconsole in #15585
- Migrate grails data graphql to grails 7.2.x by @kirpi4ik in #15587
- Native gorm mongodb String to ObjectId conversion by @codeconsole in #15583
- Pin SiteMesh 3 to 3.2.3 release and drop snapshot repo resolution by @codeconsole in #15705
- Fix constraints overwriting mapping index configuration (#15680) by @codeconsole in #15700
- Remove no-op failOnError argument from DeleteEntityDataFetcher by @jamesfredley in #15692
- Parameterize the @scaffold service superclass so scaffolded service methods aren't type-erased by @codeconsole in #15717
- 7.2.x (grails-scaffolding) - Parameterize the @scaffold controller superclass so scaffolded controller members aren't type-erased by @codeconsole in #15729
New Contributors
Full Changelog: v7.1.3...v7.2.0
7.1.3
What's Changed
- Update Spring Boot to 3.5.16 @jamesfredley (#15767)
- Fix stop-app using a PID file instead of Actuator or JMX @jamesfredley (#15698)
- Update to Gradle 8.14.5 @jamesfredley (#15762)
- Merge 7.1.2 @jdaugherty (#15753)
- fix(ci): seed vMAJOR.MINOR.0 for release branches with no published release @jamesfredley (#15742)
Contributors
@codeconsole, @jamesfredley, @jdaugherty and github-actions[bot]
7.0.13
What's Changed
- Update Spring Boot to 3.5.16 @jamesfredley (#15767)
- Fix stop-app using a PID file instead of Actuator or JMX @jamesfredley (#15698)
- Update to Gradle 8.14.5 @jamesfredley (#15762)
- fix(ci): seed vMAJOR.MINOR.0 for release branches with no published release @jamesfredley (#15742)
Contributors
@codeconsole, @jamesfredley, @jdaugherty and github-actions[bot]
7.1.2
What's Changed
- fix(ci): remove filter-by-range from release-drafter to stop v0.1.0 draft flood @jamesfredley (#15741)
- fix: parse ASCII minus in locale-aware number binding @jamesfredley (#15726)
- Update Spring Boot to 3.5.15 @jamesfredley (#15728)
- fix: Order milestone and release candidate versions in VersionComparator @jamesfredley (#15696)
- [INFRA] Set up default rulesets for default and release branches @asf-gitbox-commits (#15665)
- Add test coverage for Map-based multi-field sort @jamesfredley (#15691)
- fix(ci): comprehensive overhaul of release-drafter setup @jamesfredley (#15623)
- Fix bindData binding id/version when domain extends a @DirtyCheck base (#15681) @jamesfredley (#15699)
- fix: renormalize CRLF-committed files to LF per .gitattributes @jamesfredley (#15708)
- ci: audit and update GitHub Actions to ASF-approved versions @jamesfredley (#15690)
- Where Query documentation improvements @gsartori (#15599)
- 7.1.x FIX: Rank URL mapping specificity by literal token count before wildcard captures @codeconsole (#15645)
- backport: close mongo connections between tests @matrei (#15634)
- Make capturing Liquibase log output more reliable @marcphilipp (#15662)
- fix 4x exception logging @codeconsole (#15564)
- fix(deps): Bump Groovy to 4.0.32 @matrei (#15637)
- test(deps): bump
grails-spring-securityto 7.0.3-SNAPSHOT @matrei (#15658) - Font fixes @paulk-asert (#15643)
- fix: enforce LF line endings for shell scripts, gradlew, KEYS @jamesfredley (#15622)
- Post 8.0.0-M1 Fixes @jdaugherty (#15629)
- Enable Code Coverage @jdaugherty (#15633)
- Add jetty test app @jdaugherty (#15632)
- #10279 - add test to show issue no longer exists @jdaugherty (#15630)
- Bump actions/cache from 4 to 5 @dependabot[bot] (#15291)
- feat: allow CORS requests from grails.apache.org for Forge @jamesfredley (#15618)
- Add
settings.gradlefile to wrapper Forge verification app @matrei (#15616)
Contributors
@asf-gitbox-commits, @codeconsole, @dependabot[bot], @gsartori, @jamesfredley, @jdaugherty, @marcphilipp, @matrei, @paulk-asert, dependabot[bot] and github-actions[bot]
7.0.12
What's Changed
- fix(ci): remove filter-by-range from release-drafter to stop v0.1.0 draft flood @jamesfredley (#15741)
- Update Spring Boot to 3.5.15 @jamesfredley (#15728)
- fix: Order milestone and release candidate versions in VersionComparator @jamesfredley (#15696)
- [INFRA] Set up default rulesets for default and release branches @asf-gitbox-commits (#15665)
- Add test coverage for Map-based multi-field sort @jamesfredley (#15691)
- fix(ci): comprehensive overhaul of release-drafter setup @jamesfredley (#15623)
- Fix bindData binding id/version when domain extends a @DirtyCheck base (#15681) @jamesfredley (#15699)
- fix: renormalize CRLF-committed files to LF per .gitattributes @jamesfredley (#15708)
- ci: audit and update GitHub Actions to ASF-approved versions @jamesfredley (#15690)
- Where Query documentation improvements @gsartori (#15599)
- backport: close mongo connections between tests @matrei (#15634)
- Make capturing Liquibase log output more reliable @marcphilipp (#15662)
- fix(deps): Bump Groovy to 4.0.32 @matrei (#15637)
- test(deps): bump
grails-spring-securityto 7.0.3-SNAPSHOT @matrei (#15658) - Font fixes @paulk-asert (#15643)
- fix: enforce LF line endings for shell scripts, gradlew, KEYS @jamesfredley (#15622)
- Post 8.0.0-M1 Fixes @jdaugherty (#15629)
- Enable Code Coverage @jdaugherty (#15633)
- Add jetty test app @jdaugherty (#15632)
- #10279 - add test to show issue no longer exists @jdaugherty (#15630)
- Bump actions/cache from 4 to 5 @dependabot[bot] (#15291)
- feat: allow CORS requests from grails.apache.org for Forge @jamesfredley (#15618)
- Add
settings.gradlefile to wrapper Forge verification app @matrei (#15616)
Contributors
@asf-gitbox-commits, @dependabot[bot], @gsartori, @jamesfredley, @jdaugherty, @marcphilipp, @matrei, @paulk-asert, dependabot[bot] and github-actions[bot]
8.0.0-M1
What's Changed
- Make GSP Gradle plugin order-independent by @matrei in #15273
- merge 7.1.x into 8.0.x by @jamesfredley in #15357
- merge 7.1.x into 8.0.x by @jamesfredley in #15450
- fix: remove unused GroovyPlugin import from GrailsGradlePlugin by @jamesfredley in #15451
- Merge 7.1.x into 8.0.x by @jamesfredley in #15472
- chore: Merge 7.1.x into 8.0.x by @jamesfredley in #15521
- Spring Boot Follow-ups by @jdaugherty in #15554
- Upgrade to Spring Boot 4.0.5 and Spring Framework 7.0.6 by @jamesfredley in #15541
- Remove deprecated classes and methods for Grails 8 by @matrei in #15565
- Fix forge dockerBuildNative by using a Java 21 GraalVM base image by @jamesfredley in #15579
- Fix forge dockerBuildNative builder stage to use Java 21 GraalVM image by @jamesfredley in #15580
- Upgrade JLine to 3.30.6 and Jansi to 2.4.2 by @jamesfredley in #15367
- fix(ci): bump verifyWrapper JDK to 21 on 8.0.x by @jamesfredley in #15604
- Upgrade to Gradle 9.4.1 and Micronaut 4 by @jamesfredley in #15365
- 8.0.x splitbom by @jdaugherty in #15608
- Spring security updates by @jdaugherty in #15609
- Add
settings.gradlefile to wrapper Forge verification app by @matrei in #15616 - fix(ci): exclude Grails-Micronaut island from Groovy joint validation build by @jamesfredley in #15615
- fix(grails-gsp): eliminate race condition in FormTagLib2Tests.testDatePickerTag by @jamesfredley in #15612
- feat: allow CORS requests from grails.apache.org for Forge by @jamesfredley in #15618
- fix(sbom): mix projectPath into deterministic UUID seed by @jamesfredley in #15614
- Fix for WARNING in Java 25: Use of the three-letter time zone ID ... is deprecated and it will be removed in a future release by @codeconsole in #15432
- fix(sbom): make per-module SBOM and groovydoc output byte-reproducible by @jamesfredley in #15625
- Set minimum Java Version to 21 for Grails 8.x by @jdaugherty in #15628
Full Changelog: v7.1.1...v8.0.0-M1
7.1.1
What's Changed
- chore: merge 7.1.0->7.1.x; bump to 7.1.1-SNAPSHOT by @github-actions[bot] in #15577
- Establish a Pull Request Template by @jdaugherty in #15578
- Clean up labels used in the forge ui by @matrei in #15576
- fix: prompt before removing old SVN release folder during promotion by @chloeb-smith in #15584
- Upgrade to Spring Boot 3.5.14 by @jamesfredley in #15595
- merge 7.0.x into 7.1.x by @jamesfredley in #15600
- Cleanup and align
application.ymlin generated applications by @matrei in #15574 - Replace config-properties.yml with standard spring-configuration-metadata.json by @jamesfredley in #15426
- fix(wrapper): honor PREFERRED_GRAILS_VERSION and repair publish CI by @jamesfredley in #15598
- Update
formActionSubmitdocumentation by @matrei in #15582 - chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #15573
- fix(ci): run wrapper verification after publishForge to avoid first-bump 404 by @jamesfredley in #15602
- build: bootstrap Gradle plugin repositories by @matrei in #15597
- fix(ci): restore executable bit on grailsw before verify by @jamesfredley in #15603
- #15386 - Update CONTRIBUTING.md to include guidelines for contributio… by @jdaugherty in #15594
- maintain: switch to shared develocity key by @jdaugherty in #15496
- docs: fix plugin reference links in Application Properties by @jamesfredley in #15606
- Backport Grails Bom Restructure from Hibernate 7 branch by @jdaugherty in #15605
- build - do not include merge PRs from releases in release notes by @jdaugherty in #15610
- 7.1.x BUGFIX - AST transforms do not compile when using custom build dir by @codeconsole in #15601
New Contributors
- @chloeb-smith made their first contribution in #15584
Full Changelog: v7.1.0...v7.1.1
7.0.11
What's Changed
- fix(deps): Bump Groovy to 4.0.31 by @matrei in #15544
- fix(deps): Bump Asset Pipeline to 5.0.34 by @matrei in #15545
- Add
settings.gradleto Forge verification app by @matrei in #15546 - Add test slicing to the build by @matrei in #15547
- chore: merge 7.0.10->7.0.x; bump to 7.0.11-SNAPSHOT by @github-actions[bot] in #15553
- Establish a Pull Request Template by @jdaugherty in #15578
- Clean up labels used in the forge ui by @matrei in #15576
- fix: prompt before removing old SVN release folder during promotion by @chloeb-smith in #15584
- Upgrade to Spring Boot 3.5.14 by @jamesfredley in #15595
- Cleanup and align
application.ymlin generated applications by @matrei in #15574 - Replace config-properties.yml with standard spring-configuration-metadata.json by @jamesfredley in #15426
- fix(wrapper): honor PREFERRED_GRAILS_VERSION and repair publish CI by @jamesfredley in #15598
- Update
formActionSubmitdocumentation by @matrei in #15582 - chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #15573
- fix(ci): run wrapper verification after publishForge to avoid first-bump 404 by @jamesfredley in #15602
- build: bootstrap Gradle plugin repositories by @matrei in #15597
- fix(ci): restore executable bit on grailsw before verify by @jamesfredley in #15603
- #15386 - Update CONTRIBUTING.md to include guidelines for contributio… by @jdaugherty in #15594
- maintain: switch to shared develocity key by @jdaugherty in #15496
- docs: fix plugin reference links in Application Properties by @jamesfredley in #15606
- Backport Grails Bom Restructure from Hibernate 7 branch by @jdaugherty in #15605
- build - do not include merge PRs from releases in release notes by @jdaugherty in #15610
New Contributors
- @chloeb-smith made their first contribution in #15584
Full Changelog: v7.0.10...v7.0.11
7.1.0
What's Changed
- g:flashMessages tag @codeconsole (#15560)
- Do not fail mergeTestReports for partial previous test task runs @jdaugherty (#15563)
- Add contextPath support to the grails-geb so it's easier to write tests in a multiproject environment @jdaugherty (#15562)
- change url mapping wildcard validation config value and address edge case direct mapping @codeconsole (#15542)
- Add test slicing to the build @matrei (#15547)
- Add
settings.gradleto Forge verification app @matrei (#15546) - fix(deps): Bump Asset Pipeline to 5.0.34 @matrei (#15545)
- fix(deps): Bump Groovy to 4.0.31 @matrei (#15544)