Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
f1a881e
Quick Updates for Spring Boot 4
jamesfredley Jan 19, 2026
fb217b9
Merge remote-tracking branch 'origin/8.0.x' into spring-boot-4
jamesfredley Mar 20, 2026
530013a
fix: resolve Spring Boot 4 incompatibilities reintroduced by 8.0.x merge
jamesfredley Mar 20, 2026
5aad61d
Merge branch '8.0.x' into spring-boot-4
jamesfredley Mar 21, 2026
6e2d905
Merge branch '8.0.x' into spring-boot-4
jamesfredley Mar 21, 2026
fb98bbe
fix: Remove ThemeSource usage removed in Spring Framework 7.0
jamesfredley Mar 21, 2026
62f8864
fix: correct import ordering in ControllersAutoConfiguration
jamesfredley Mar 21, 2026
f703763
fix: Resolve compilation and test failures for Spring Boot 4 upgrade
jamesfredley Mar 21, 2026
29ce89a
fix: Replace wildcard import with explicit imports in LoggingTransformer
jamesfredley Mar 21, 2026
5c4bb1a
Merge branch '8.0.x' into spring-boot-4
jamesfredley Mar 21, 2026
8e2878a
fix: Resolve CI failures for Spring Boot 4 upgrade
jamesfredley Mar 21, 2026
042ef95
fix: restore reset() behavior in AbstractGrailsMockHttpServletResponse
matrei Mar 26, 2026
577bb41
test: Update assertions in RenderMethodTests
matrei Mar 26, 2026
0717300
test(cleanup): Cleanup RenderMethodTests
matrei Mar 26, 2026
919590f
fix(deps): update to spring-boot 4.0.5 and groovy 4.0.31
matrei Mar 30, 2026
710b3eb
build: minor cleanup
matrei Mar 30, 2026
bcc0972
fix: minor cleanup and removing of `@CompileDynamic`
matrei Mar 30, 2026
eff26da
Merge remote-tracking branch 'origin/8.0.x' into spring-boot-4
jamesfredley Mar 30, 2026
ad9a860
fix: update Spring Boot 4.0 bootstrap API imports to new package
jamesfredley Mar 30, 2026
b0903f7
fix: update autoconfigure exclusion paths for Spring Boot 4 package r…
jamesfredley Mar 30, 2026
6d96a7a
Merge branch '8.0.x' into spring-boot-4
jamesfredley Mar 31, 2026
0fd14cd
fix: address Copilot review feedback on Spring Boot 4 upgrade
jamesfredley Mar 31, 2026
f026c56
fix: address review feedback and architectural improvements for Sprin…
jamesfredley Apr 2, 2026
1314a2e
Fix servlet embedded tests & include the same dependencies as include…
jdaugherty Apr 4, 2026
307c57d
Merge pull request #15554 from apache/spring-boot-4-servletfixes
jamesfredley Apr 6, 2026
6991536
Merge remote-tracking branch 'origin/8.0.x' into spring-boot-4
jamesfredley Apr 7, 2026
d881a3c
Spring Boot 4 embedded server follow-ups: Tomcat, Undertow, JSP test
jamesfredley Apr 7, 2026
ee720c2
revert UrlMappingsAutoConfiguration changes
jdaugherty Apr 7, 2026
95f902f
Remove jackson.version override from BOM, let Spring Boot manage Jackson
jamesfredley Apr 7, 2026
8d23e8a
Fix Spring Boot 4 class relocations in tests, docs, and config
jamesfredley Apr 7, 2026
6a09010
Add NOTICE file to vendored spring-orm subproject
jamesfredley Apr 7, 2026
588d935
Add comprehensive Grails 8 upgrade guide for Spring Boot 4
jamesfredley Apr 7, 2026
ca0ac32
Fix JSP view rendering through Grails layout pipeline on Tomcat 11
jamesfredley Apr 7, 2026
8be9fb3
Update grails-micronaut to micronaut-platform 5.0.0-M1 with JDK 21 to…
jamesfredley Apr 7, 2026
6cba542
Fix Micronaut 5 JDK 21 build issues: groovydoc, SBOM, asset-pipeline
jamesfredley Apr 7, 2026
046b1a3
Fix table template rendering and update forge Undertow test for Sprin…
jamesfredley Apr 7, 2026
0832a3c
Fix javadoc & code style to match Grails
jdaugherty Apr 8, 2026
c51583f
Remove sitemesh3 since it does not support spring boot 4
jdaugherty Apr 8, 2026
4da5513
Remove grails-gsp-spring-boot from project until sitemesh3 is supported
jdaugherty Apr 8, 2026
d1362be
Minimum requirement for Java 21 & update to asset-pipeline to fix NPE
jdaugherty Apr 9, 2026
5232f21
Update docker image to the same java version in GitHub actions
jdaugherty Apr 9, 2026
f57273a
Update java version
jdaugherty Apr 9, 2026
289519a
Prevent duplicate resources on the classpath
jdaugherty Apr 9, 2026
91f3d34
Add task to validate when transitive dependencies force a version not…
jdaugherty Apr 9, 2026
ca0447f
Update dependencies so they are not transitively updated
jdaugherty Apr 9, 2026
2b9e075
Ensure dependencies match the grails-bom on micronaut
jdaugherty Apr 9, 2026
5b3b230
Fix forge to work with java 25
jdaugherty Apr 9, 2026
60c9a41
Remove no longer valid JVM Ignore checks / tests
jdaugherty Apr 9, 2026
5f94d86
Require java 25 for micronaut options
jdaugherty Apr 9, 2026
75e7336
Fix regression on spring/resources where duplicate config values were…
jdaugherty Apr 9, 2026
5e5a2d6
Adopt jackson 3
jdaugherty Apr 9, 2026
f28b048
Remove invalid tests
jdaugherty Apr 9, 2026
fed8476
Update Micronaut forge tests to use Java 25 due to the new requirement
jdaugherty Apr 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .agents/skills/grails-developer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ Activate this skill when developing with Grails 7, including:
## Technology Stack

Grails 7 is built on:
- **Spring Boot**: 3.5.x
- **Spring Framework**: 6.2.x
- **Spring Boot**: 4.0.x
- **Spring Framework**: 7.0.x
- **Groovy**: 4.0.x
- **Gradle**: 8.14.x
- **Spock**: 2.3-groovy-4.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codestyle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/forge-deploy-next.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand All @@ -52,7 +52,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/forge-deploy-prev-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand All @@ -52,7 +52,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/forge-deploy-prev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand All @@ -52,7 +52,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/forge-deploy-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand All @@ -56,7 +56,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/forge-deploy-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand All @@ -52,7 +52,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
java-version: '21'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
58 changes: 41 additions & 17 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,38 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
validateDependencies:
name: 'Validate Dependency Versions'
runs-on: ubuntu-24.04
steps:
- name: "📥 Checkout repository"
uses: actions/checkout@v6
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🔍 Validate grails-core dependency versions"
run: >
./gradlew validateDependencyVersions
--continue
--stacktrace
- name: "🔍 Validate grails-gradle dependency versions"
working-directory: 'grails-gradle'
run: >
./gradlew validateDependencyVersions
--continue
--stacktrace
buildGradle:
name: 'Build Gradle Plugins'
strategy:
fail-fast: false
matrix:
java: [ 17, 25 ]
java: [ 21, 25 ]
runs-on: ubuntu-24.04
steps:
- name: "Output Agent IP" # in the event RAO blocks this agent, this can be used to debug it
Expand Down Expand Up @@ -73,8 +99,6 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
java: 17
- os: ubuntu-latest
java: 21
- os: ubuntu-latest
Expand Down Expand Up @@ -115,7 +139,7 @@ jobs:
matrix:
include:
- os: ubuntu-latest
java: 17
java: 21
runs-on: ${{ matrix.os }}
steps:
- name: "Output Agent IP" # in the event RAO blocks this agent, this can be used to debug it
Expand Down Expand Up @@ -146,10 +170,10 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ 17, 21 ]
java: [ 21, 25 ]
indy: [ false ]
include:
- java: 17
- java: 21
indy: true
runs-on: ubuntu-24.04
steps:
Expand Down Expand Up @@ -197,7 +221,7 @@ jobs:
./tmp1/cli/bin/grails --version
./tmp1/cli/bin/grails-forge-cli --version
- name: "📤 Upload CLI Zip to Workflow Summary Page"
if: ${{ matrix.java == '17' && matrix.indy == false }}
if: ${{ matrix.java == '21' && matrix.indy == false }}
uses: actions/upload-artifact@v7.0.0
with:
name: 'apache-grails-SNAPSHOT-bin.zip'
Expand All @@ -210,10 +234,10 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ 17, 21, 25 ]
java: [ 21, 25 ]
indy: [ false ]
include:
- java: 17
- java: 21
indy: true
runs-on: ubuntu-24.04
steps:
Expand Down Expand Up @@ -251,11 +275,11 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ 17, 25 ]
java: [ 21, 25 ]
mongodb-version: [ '7.0', '8.0' ] # test with supported versions https://www.mongodb.com/legal/support-policy/lifecycles
indy: [ false ]
include:
- java: 17
- java: 21
mongodb-version: '7.0'
indy: true
steps:
Expand Down Expand Up @@ -291,10 +315,10 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ 17, 25 ]
java: [ 21, 25 ]
indy: [ false ]
include:
- java: 17
- java: 21
indy: true
steps:
- name: "Output Agent IP" # in the event RAO blocks this agent, this can be used to debug it
Expand Down Expand Up @@ -334,7 +358,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -384,7 +408,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -443,7 +467,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down Expand Up @@ -508,7 +532,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/groovy-joint-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
java-version: 17
java-version: 21
distribution: liberica
- name: "🗄️ Cache local Maven repository"
uses: actions/cache@v4
Expand Down Expand Up @@ -143,7 +143,7 @@ jobs:
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
java-version: 17
java-version: 21
distribution: liberica
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
java-version: 21
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ permissions: { }
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JAVA_DISTRIBUTION: liberica
JAVA_VERSION: 17.0.18
JAVA_VERSION: 21.0.7
TARGET_BRANCH: ${{ github.ref_name }}
VERSION: ${{ inputs.version }}
jobs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GRAILS_PUBLISH_RELEASE: 'true'
JAVA_DISTRIBUTION: liberica
JAVA_VERSION: 17.0.18 # this must be a specific version for reproducible builds, keep it synced with .sdkmanrc and verification container
JAVA_VERSION: 21.0.7 # this must be a specific version for reproducible builds, keep it synced with .sdkmanrc and verification container
PROJECT_DESC: >
Grails is a powerful Groovy-based web application framework for the JVM,
built on top of Spring Boot, and supported by a rich ecosystem of plugins
Expand Down
Loading
Loading