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]

Reply via email to