What's Changed
- Add grails.mongodb.buildIndexes and buildIndexesAsync for MongoDB index creation on startup @codeconsole (#16208)
- fix(deps): update dependencies on 8.0.x @matrei (#16361)
- feature: enhance supported lock modes in Gorm across Hibernate 5 & 7 @jdaugherty (#16344)
- Declare the servlet API compileOnlyApi in grails-web-core and grails-mimetypes @matrei (#16360)
- Automate configuration metadata for @ConfigurationProperties modules @jamesfredley (#16047)
- docs: @configuration classes in resources.groovy are no longer processed @matrei (#16359)
- Generate configuration metadata from Groovy DSL sources @jamesfredley (#16048)
- 8.0.0-SNAPSHOT grails-converters needs compileOnlyApi for jakarta.servlet-api @codeconsole (#16356)
- Give read-only transactions the same meaning on Mongo as on Hibernate @codeconsole (#16214)
- Call the asset classpath configuration statically @matrei (#16352)
- Adopting Spring Boot Multipart Configuration for File Uploads @gsartori (#16040)
- Modernize Grails async integration for Spring Boot 4.1 @codeconsole (#16230)
- Run GSP in a Spring Boot application without the Grails plugin lifecycle @codeconsole (#16184)
- M6 Bug Fix generated GSP views: scaffolded count model field type and welcome page static compilation @codeconsole (#16322)
- Add VirtualThreadPromiseFactory seed @jamesfredley (#15960)
- beans DSL: silent-failure diagnostics, new declaration forms, the rest of the @conditional* family @codeconsole (#16292)
- Keep the embedded MongoDB tests from hanging CI jobs for six hours @codeconsole (#16338)
- Default String id storage to ObjectId, fix association id coercion, and deprecate the non-codec engine @codeconsole (#16297)
- Keep collection properties dirty-checked after reassignment; track iterator-based removals @codeconsole (#16282)
- Return Long from count() instead of silently narrowing to Integer @codeconsole (#16323)
- Preserve generated Groovy compiler script producer dependencies @codeconsole (#16327)
- Characterize data-binding allowlist through public binding API @jamesfredley (#16003)
- refactor: move Grails Micronaut to apache/grails-micronaut @jamesfredley (#16320)
- Fix SAX parser feature URIs and reject DOCTYPE declarations @jamesfredley (#16331)
- Validate dynamic finder and HQL list sort property names @jamesfredley (#16333)
- Canonicalize interceptor and security matcher request paths @jamesfredley (#16332)
- Fix marshalling of non-public classes and Serializable beans @sbglasius (#16296)
- test(grails-datamapping-core): restore the transaction service specs lost in the 7.2.x merge @sbglasius (#16316)
- Canonicalize interceptor and security matcher paths once @jamesfredley (#16330)
- Share SAX feature identifiers and make DOCTYPE rejection configurable @jamesfredley (#16328)
- Review follow-up: keep alias sorting working, validate fetch keys, share the path check @jamesfredley (#16329)
- Keep GORM entities on the DevTools restart classloader @jamesfredley (#16299)
- Resolve the DevTools restart loader through the parent chain @jdaugherty (#16324)
- Reduce per-request work, and rework hidden HTTP method and multipart handling @codeconsole (#16149)
- Pin that the compiler config generator stays off the runtime classpath @matrei (#16325)
- Include groovydoc in the Groovy Snapshot Canary Build @matrei (#16309)
- Update Groovy to 5.1.2 @matrei (#16321)
- build: disable Groovy invokedynamic for the Grails 8 compile @jamesfredley (#16178)
- build(ci): bound concurrent JVMs on the macOS runner @jamesfredley (#16167)
- ci: pin the remaining actions to ASF-approved SHAs on 8.0.x @sbglasius (#16315)
- merge: 7.1.x into 7.2.x @sbglasius (#16314)
- merge: 7.0.x into 7.1.x @sbglasius (#16313)
- ci: pin every action to an ASF-approved SHA @sbglasius (#16308)
- Add test coverage and fix real bugs in grails-datamapping-core's services package @borinquenkid (#16156)
- test(grails-data-hibernate7): re-enable Oracle in the RLikeHibernate7Spec dialect matrix @borinquenkid (#16027)
- Fix fields template lookup leak from accessor-keyed memoization @jamesfredley (#16302)
- Merge 7.2.x into 8.0.x @jamesfredley (#16305)
- Merge 7.1.x into 7.2.x @jamesfredley (#16304)
- Merge 7.0.x into 7.1.x @jamesfredley (#16303)
- Add Forge AWS next-snapshot and older slots @jamesfredley (#16301)
- Allow concurrent documentation publishing @jamesfredley (#16110)
- Support mapping every controller as a REST resource @codeconsole (#16273)
- Fix Groovy compilation on Gradle 9.7 and upgrade to 9.7.1 @codeconsole (#16114)
- Fix params and attrs entries shadowed by bean accessors on Groovy 5 @sbglasius (#16293)
- M6 FIX: Require a username and password on the spring-boot-starter-security User @codeconsole (#16291)
- Register a generated auto-configuration where it is generated @codeconsole (#16224)
- Fix JsonScanner number parsing for bare exponents and -Infinity @borinquenkid (#16284)
- Fix async group & add associated feature @jdaugherty (#16288)
- Correct typo in grails-core docs generation step @matrei (#16283)
- Remove dead xml-apis dependency exclusions @codeconsole (#16279)
- docs: fix broken external and internal links in Groovydocs @borinquenkid (#16005)
- Let autoConfigurationName name a package as well as a class @codeconsole (#16221)
- Reuse an embedded MongoDB only when it is running the backend being asked for @codeconsole (#16216)
- Bump Hibernate 7 versions @matrei (#16211)
- Fix Grails Forge build on Gradle 9 by bumping Shadow to 8.3.11 @codeconsole (#16274)
- Document the PATCH mapping generated by resources and single @codeconsole (#16271)
- GORM Native Datastore Id Support @codeconsole (#16222)
- fix: sync Forge AWS GitHub deploy with working 8.0.x @jamesfredley (#16265)
- fix: sync Forge AWS GitHub deploy with working 8.0.x @jamesfredley (#16264)
- fix: sync Forge AWS GitHub deploy with working 8.0.x @jamesfredley (#16263)
- fix: Elastic Beanstalk managed policies for GitHub deploys @jamesfredley (#16262)
- fix: grant Forge AWS deploy role Auto Scaling describe @jamesfredley (#16261)
- fix: grant Forge AWS deploy role S3 ACL on EB bucket @jamesfredley (#16260)
- Use SLF4J for runtime diagnostics @jamesfredley (#15993)
- Merge 7.2.x Forge AWS docs into 8.0.x @jamesfredley (#16257)
- Merge 7.1.x Forge AWS docs into 7.2.x @jamesfredley (#16256)
- Merge 7.0.x Forge AWS docs into 7.1.x @jamesfredley (#16255)
- docs: retire GCP Forge deploys and document AWS @jamesfredley (#16254)
- fix: apply Shadow so Forge AWS packaging works on Micronaut 4 @jamesfredley (#16253)
- fix: simplify Forge AWS deploy to branch and slot @jamesfredley (#16251)
- fix: simplify Forge AWS deploy to branch and slot @jamesfredley (#16250)
- fix: simplify Forge AWS deploy to branch and slot @jamesfredley (#16249)
- fix: simplify Forge AWS deploy to branch and slot @jamesfredley (#16248)
- fix: pin Forge AWS credentials action to ASF allowlist SHA @jamesfredley (#16246)
- fix: pin Forge AWS credentials action to ASF allowlist SHA @jamesfredley (#16245)
- fix: pin Forge AWS credentials action to ASF allowlist SHA @jamesfredley (#16244)
- fix: grant Forge AWS deploy role Elastic Beanstalk S3 access @jamesfredley (#16243)
- fix: pin Forge AWS credentials action to ASF allowlist SHA @jamesfredley (#16242)
- Merge 7.2.x Forge AWS into 8.0.x @jamesfredley (#16240)
- Merge 7.1.x Forge AWS into 7.2.x @jamesfredley (#16239)
- Merge 7.0.x Forge AWS into 7.1.x @jamesfredley (#16238)
- feat: migrate Forge deployments to AWS Elastic Beanstalk @jamesfredley (#16236)
- Fix join-table foreign keys to use resolved entity table names (#15736) @gsartori (#16028)
- Rename the Groovy Snapshot Canary Build workflow @matrei (#16181)
- Move test fixtures out of the production classpaths @matrei (#16227)
- Address review feedback on databinding whitelist characterization spec @borinquenkid (#16054)
Contributors
@borinquenkid, @codeconsole, @gsartori, @jamesfredley, @jdaugherty, @matrei, @sanjana2505006, @sbglasius and github-actions[bot]