borinquenkid opened a new pull request, #16350: URL: https://github.com/apache/grails-core/pull/16350
## Summary Removes Hibernate 5 support from the framework. Hibernate 5 is LGPL-licensed; Hibernate 7 is Apache-licensed, so this is a license-compliance change, not just a cleanup — Hibernate 7 (`grails-data-hibernate7`) is now the framework's sole GORM-for-Hibernate implementation. - Deletes the `grails-data-hibernate5` module family, `grails-hibernate5-bom`, and the dedicated Hibernate 5 functional-test examples. Every general-purpose test module that merely used Hibernate 5 as its GORM datastore (app1/app2/app3, geb, scaffolding, redis, spring-security/*, graphql/*, `grails-test-suite-persistence`, `grails-test-suite-uber`, `grails-fields`, `grails-views-gson`, `end-to-end/legacy-commands`) is switched to `grails-data-hibernate7`/`grails-hibernate7-bom`. - Removes the `hibernate5Functional` CI job and dead `onlyHibernate5Tests`/`skipHibernate5Tests` flags. Adds a `grails-profiles/base/features/hibernate7` feature (replacing the deleted `hibernate5` one) wired into the web/rest-api/rest-api-plugin profiles. - A broad sweep caught real production-code and test fallout beyond build config: an orphaned AST-transform-priority constant in `grails-common`, dead plugin-load-order entries in mongodb/quartz/spring-security, a real BOM-validation-allowlist gap in `grails-gradle`/`build-logic` (a typo'd `bom = 'grails-hibernate5-bom'` would previously have been silently accepted before failing confusingly downstream), and 9 GORM TCK spec files with dead `hibernate5.gorm.suite` conditions. - Updates the `grails-doc`/`grails-data-docs` guide prose (~55 files) that referenced Hibernate 5 as the framework default or linked to the now-removed module's docs. - `grails-forge` (the separate application-generator build) had its own fully parallel `GormImpl.HIBERNATE5` option and `GrailsDataHibernate5` feature class, defaulting to Hibernate 5. Removes it; `GormImpl.DEFAULT_OPTION` becomes `HIBERNATE7`. Explicitly requesting the removed value is now rejected with a clear error at every layer (CLI flag, `--features` flag, `GormImpl.parse`) rather than silently substituted. Historical/version-scoped references were deliberately left alone: `RENAME.md`, the Grails 7→8 upgrade skill and upgrade guides (where Hibernate 5 was still current), and `@Issue` links to the old `grails/gorm-hibernate5` GitHub repository. ## Test plan - [x] `./gradlew help` — full-repo configuration check, clean - [x] Every touched module compiled/tested individually during development (`grails-common`, `grails-datamapping-tck`, `grails-quartz`, `grails-spring-security`, `grails-data-mongodb`, `grails-data-hibernate7-dbmigration`, `build-logic` plugin specs, `grails-gradle`, `grails-profiles-base/web/rest-api/rest-api-plugin`) - [x] `./gradlew :grails-doc:publishGuide` — full guide render, zero unresolved attribute placeholders - [x] `./gradlew build` for the full `grails-forge` project (core, api, cli, analytics-postgres, and the netty/undertow/tomcat runners) — all tests pass, including new regression coverage proving `gorm-hibernate5` and `--gorm hibernate5` are cleanly rejected - [ ] Full monorepo `./gradlew build --rerun-tasks` was not run given the scope of this change (1269 files); CI will cover it 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
