What's Changed
- 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, @gsartori, @jamesfredley, @jdaugherty, @kirpi4ik, @marcphilipp, @matrei, @paulk-asert, @potiuk, @rahulshishodia, dependabot[bot] and github-actions[bot]