8.0.0-RC2
Pre-release
Pre-release
·
84 commits
to 8.0.x
since this release
What's Changed
- Move the Groovy 5 compatible changes from the Groovy 6 upgrade to 8.0.x @matrei (#16427)
- Upgrade SiteMesh to 3.3.0-RC3 @codeconsole (#16413)
- fix: nested criteria subqueries bind to the outer criteria under @CompileStatic (#16425) @MartinJesusDev (#16429)
- Validate Grails BOM version properties against the Spring Boot BOM @jdaugherty (#16428)
- Use SkillsJars Gradle plugin 0.1.4 for the agent skills @jdaugherty (#16430)
- Update to asset pipeline 5.2.0-RC3 @jdaugherty (#16426)
- Start @ManagedEntity instance id at 0 for Hibernate 7 @matrei (#16424)
- Resolve links to the most specific controller, namespace and URL mapping @codeconsole (#16272)
- Test fork heap budget on 8.0.x (continues #16168) @sanjana2505006 (#16412)
- Backport #16396 to 7.0.x: resolve error handlers and mapping names without a bound GrailsWebRequest @jdaugherty (#16422)
- 8.0 (test): Wait for afterView() in ErrorsFunctionalSpec instead of racing it @codeconsole (#16421)
- Fixed issue where GrailsExceptionResolver masks original exception with GrailsWebRequest cast failure. @ruthst00 (#16396)
- Recover per-test VNC recording after a failed restart @matrei (#16405)
- 8.0 (fix): Render dates and times in JSON the same way as Spring Boot, and bind them back as rendered @codeconsole (#16411)
- 8.0 (fix): Join a transaction started inside another, as Hibernate does @codeconsole (#16415)
- Publish app-facing agent skills as SkillsJars jars @jamesfredley (#15805)
- Add optional grails-openapi module to describe an application with OpenAPI @codeconsole (#16275)
- Automate repository conventions and stage static analysis enforcement @jamesfredley (#16025)
- Upgrade to Gradle 9.8.0 @codeconsole (#16403)
- Deploy released Forge versions from the release tag @jdaugherty (#16417)
- 8.0 (fix): Skip scaffold pages for plugins that are only on the runtime classpath @codeconsole (#16407)
- Upgrade SiteMesh to 3.3.0-RC2 @codeconsole (#16410)
- File render attachment disposition (continues #15801) @sanjana2505006 (#16386)
- Give unit tests beanRegistrar() and configuration classes; deprecate doWithSpring() @codeconsole (#16399)
- Reference actions/* by major version instead of commit SHA @jdaugherty (#16404)
- Compile scaffold pages by template and domain, and let the resolver look them up @codeconsole (#16398)
- Search every interface when checking whether a class node implements one @codeconsole (#16401)
- Add default configurable Grails security response headers @jamesfredley (#15967)
- Rely on the grails-bom for the Forge grails-quartz version @matrei (#16395)
- Fix documentation title sequence warnings @sanjana2505006 (#15337)
- Preserve view precedence when precompiling scaffolds @codeconsole (#16385)
- Canonicalize interceptor and IP restriction request paths (7.0.x) @matrei (#16394)
- Mark to-one associations read-only after a validation error @matrei (#16390)
- Backport the 8.0.x Forge CLI generated-build wait @matrei (#16393)
- Add artefact name contract characterization spec @jamesfredley (#15998)
- fix: preserve full transaction attribute state in GrailsTransactionAttribute (GORM) copy constructors @borinquenkid (#16064)
- fix: preserve full transaction attribute state in GrailsTransactionAttribute (web) copy constructors @borinquenkid (#16065)
- Mark to-one associations read-only after a validation error in Hibernate 7 @matrei (#16391)
- Use the registered SAX parser feature names @matrei (#16392)
- fix: capture STACK_LOG output via a Logback appender instead of System.err @borinquenkid (#16067)
- Remove jodd-wot from fields tests @jamesfredley (#15965)
- Improve unresolved plugin dependency diagnostics @jamesfredley (#15995)
- Improve hot path virtual-thread and codec performance @jamesfredley (#15828)
- fix: preserve full transaction attribute state in CustomizableRollbackTransactionAttribute copy constructors @borinquenkid (#16063)
- Add unit tests and fix NPE bugs in grails-datamapping-core's jdbc package @borinquenkid (#16153)
- Add specs for ClasspathEntityScanner and ReflectionUtils @borinquenkid (#16188)
- fix(config): bind nested settings maps under Spring 7 @jamesfredley (#16160)
- Add test coverage for grails-datamapping-async and type decorator closures @borinquenkid (#16193)
- Fix flaky PerTestRecordingSpec by waiting for recording files to stabilize @borinquenkid (#16031)
- Backport GORM AST transform test coverage and crash fixes to 8.0.x @jdaugherty (#16389)
- refactor(grails-data-graphql): clean up the entity package @borinquenkid (#16202)
- Add test coverage and clean up grails-datamapping-core validation package @borinquenkid (#16189)
- Add unit test coverage across grails-data-mongodb @borinquenkid (#16285)
- Fix javax.servlet.error.exception in generated error.gsp templates (7.0.x) @sbglasius (#16380)
- Forge: Fix the local-browser Geb feature and rename it to geb-with-local-browsers @matrei (#16382)
- Forge: Remove stale generated sources in the Rocker task @matrei (#16383)
- merge: 7.0.x into 7.1.x @matrei (#16364)
- feat: GORM O(M+N) scaling — GormRegistry, SessionResolver infrastructure, and core-class tests (consolidates #15779, #15780, #15790) @borinquenkid (#16066)
🐛 Bug Fixes
- Contribute the Grails BOM platform lazily so defaultDependencies keep firing @jdaugherty (#16416)
Contributors
@MartinJesusDev, @borinquenkid, @codeconsole, @jamesfredley, @jdaugherty, @matrei, @ruthst00, @sanjana2505006, @sbglasius and github-actions[bot]