Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1143 commits
Select commit Hold shift + click to select a range
cd2c8d1
hibernate 7: linting and expanding tests
borinquenkid Mar 29, 2026
5d11c06
chore: fix CodeNarc violations in grails-datamapping-tck and improve …
borinquenkid Mar 30, 2026
4aea0cb
chore: fix final CodeNarc indentation violation in grails-datamapping…
borinquenkid Mar 30, 2026
980cbe9
chore: fix Apache Rat audit failures
borinquenkid Mar 30, 2026
b8b16f8
fix: various build and test failures in Hibernate 7 and GSP modules
borinquenkid Mar 30, 2026
8d9b371
datamapping-core complilation
borinquenkid Mar 30, 2026
240b972
codenarc
borinquenkid Mar 30, 2026
f3e0f35
Merge branch '8.0.x' into 8.0.x-hibernate7
jdaugherty Mar 30, 2026
ac62344
linting
borinquenkid Mar 31, 2026
e36e38a
Merge remote-tracking branch 'jamesfredley/spring-boot-4' into 8.0.x-…
borinquenkid Mar 31, 2026
713487d
testing violations plugins
borinquenkid Apr 1, 2026
a004b00
chore: fix grails-data-hibernate7-dbmigration tests and compatibility
borinquenkid Apr 1, 2026
64310a7
chore: fix SpotBugs violations in grails-data-hibernate7-dbmigration
borinquenkid Apr 1, 2026
e8ee4ba
hibernate7 codeNarc fixes
borinquenkid Apr 1, 2026
e649743
refactor: change SimpleValueBinder constructor visibility to private
borinquenkid Apr 1, 2026
6929305
refactor: BasicValueIdCreator and SimpleValueBinder refactoring
borinquenkid Apr 1, 2026
1a7eb80
refactor: encapsulate identifier resolution in BasicValueIdCreator
borinquenkid Apr 1, 2026
e90fb81
Merge branch 'spring-boot-4' into 8.0.x-hibernate7
jamesfredley Apr 1, 2026
c6bb085
fix: DynamicFinder boolean+OR query junction logic
jamesfredley Apr 2, 2026
0d8f43d
fix: @DelegateAsync AST transform classloader regression
jamesfredley Apr 2, 2026
20131c0
fix: restore non-hibernate7 test coverage
jamesfredley Apr 2, 2026
cb25275
Merge branch 'fix/restore-non-hibernate7-test-coverage' into 8.0.x-hi…
jamesfredley Apr 2, 2026
2cf2ad1
refactor: rename BasicValueIdCreator to BasicValueCreator and consoli…
borinquenkid Apr 1, 2026
c8944ed
style: fix CodeNarc violations in TCK specs
jamesfredley Apr 2, 2026
ecf8caf
refactor: rename of HibernateProperty hierarchy
borinquenkid Apr 2, 2026
6fd8c13
Merge remote-tracking branch 'origin/8.0.x-hibernate7' into 8.0.x-hib…
borinquenkid Apr 2, 2026
33f1a2f
test: expand HibernateProxyHandler7Spec to match hibernate5 test cove…
jamesfredley Apr 2, 2026
e0e272c
fix: add Groovy proxy support to HibernateProxyHandler.isInitialized()
jamesfredley Apr 2, 2026
1a66edc
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid Apr 2, 2026
148d718
refactor: address Copilot review feedback on PR #15548
jamesfredley Apr 2, 2026
8a035be
fix: normalize Groovy GString to String in Hibernate 7 criteria queries
jamesfredley Apr 2, 2026
6641b98
Merge pull request #15549 from apache/fix/h7-multi-datasource-execute…
jamesfredley Apr 2, 2026
2687842
refactor: replace DSL identity config with typed identity properties …
borinquenkid Apr 2, 2026
101d0bc
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid Apr 2, 2026
fbced2d
refactor: move generator name resolution into HibernatePersistentProp…
borinquenkid Apr 2, 2026
14dd3f8
test: add getGeneratorName() coverage to HibernatePersistentPropertySpec
borinquenkid Apr 2, 2026
67fb91e
refactor: throw MappingException in getIdentityProperty() instead of …
borinquenkid Apr 2, 2026
a7830a6
refactor: simplify binder signatures; fix composite identity parts type
borinquenkid Apr 3, 2026
e0b59e1
refactor: remove RootClass param from IdentityBinder.bindIdentity
borinquenkid Apr 3, 2026
8bdc7e3
fix: H7 merge upserts correctly and mutates caller instance
borinquenkid Apr 3, 2026
93c5928
test: DetachedCriteria list returns PagedResultList only when max is set
borinquenkid Apr 3, 2026
6382464
fix: remove double populateArgumentsForCriteria call in DetachedCrite…
borinquenkid Apr 3, 2026
9598b9d
Merge remote-tracking branch 'origin/spring-boot-4' into 8.0.x-hibern…
jamesfredley Apr 3, 2026
945c907
fix: PagedResultList totalCount leaks ORDER BY into COUNT query on H2
borinquenkid Apr 3, 2026
8c2ae2e
test: restore multi-row validation for findAll* boolean property finders
borinquenkid Apr 3, 2026
eaacee2
H7: incorrect messages
borinquenkid Apr 3, 2026
78b8b36
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid Apr 3, 2026
1497ea4
H7: fix style violations and update agent guidelines
borinquenkid Apr 3, 2026
9d723a8
H7: update agent guidelines for test aggregation
borinquenkid Apr 3, 2026
d52a9e5
H7: make test aggregation more robust by scanning all root directories
borinquenkid Apr 3, 2026
6658a08
fix: DefaultUrlCreator generates correct URL for controller-only links
borinquenkid Apr 3, 2026
9c79935
fix: remove @PendingFeatureIf from many-to-many sorting test in H5
borinquenkid Apr 3, 2026
19f30df
H7: remove unused resolveIdentifierProperty method and update tests
borinquenkid Apr 3, 2026
f71182d
H7: finalize agent guidelines and fix style violations
borinquenkid Apr 3, 2026
3975f3a
fix: VersionBinder type default and VersionBinderSpec integration tests
borinquenkid Apr 3, 2026
1acfea2
Add HibernateVersionProperty for version slot in entity model
borinquenkid Apr 3, 2026
23d9233
Fix VersionBinder type regression: let bindSimpleValue resolve type
borinquenkid Apr 3, 2026
06e4d20
groovy linting
borinquenkid Apr 3, 2026
10cdfc2
H7 simplify signature of EnumTypeBinder bindEnumType
borinquenkid Apr 3, 2026
6cc9fda
Merge pull request #15548 from apache/fix/groovy-proxy-isinitialized
jamesfredley Apr 3, 2026
d0e34b2
H7 clean up arguments of SimpleValueBinder
borinquenkid Apr 3, 2026
a171d14
H7: enforce test coverage and verify collection binding ownership model
borinquenkid Apr 4, 2026
f9841b3
H7: refactor collection binding with HibernateCollectionProperty and …
borinquenkid Apr 4, 2026
e2d9374
Merge pull request #15550 from apache/8.0.x-hibernate7-dev
jdaugherty Apr 4, 2026
df1f06c
H7: fix composite identity and collection binding issues, and update …
borinquenkid Apr 4, 2026
be24bd5
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid Apr 4, 2026
956ee4e
H7 added a scenario for CollectionSecondPassBinder
borinquenkid Apr 4, 2026
f6e9177
H7 Features & Refactoring
borinquenkid Apr 4, 2026
b7f518e
H7: renames and removing unused arguments in collection second pass b…
borinquenkid Apr 5, 2026
ad10d58
H7: expand test coverage for ManyToMany properties and List second pa…
borinquenkid Apr 5, 2026
a8d5db2
H7: rewrite ListSecondPassBinder using fluent and modular method stru…
borinquenkid Apr 5, 2026
6c7709c
H7: rewrite CollectionBinder using fluent and modular method structure
borinquenkid Apr 5, 2026
ed3a305
H7: refactor table resolution logic into TableForManyCalculator
borinquenkid Apr 5, 2026
00e5bb8
H7: encapsulate collection configuration within HibernateToManyProperty
borinquenkid Apr 6, 2026
075b59e
H7: finalize encapsulation fixes and expand property specifications
borinquenkid Apr 6, 2026
f8eae48
H7: move validateOwningSide logic to HibernateToManyProperty implemen…
borinquenkid Apr 6, 2026
f4ead27
H7: refactor MapSecondPassBinder
borinquenkid Apr 6, 2026
eaf4cc1
H7: update HibernateGormAutoConfigurationSpec
borinquenkid Apr 6, 2026
dc7237e
Register HibernateGormAutoConfiguration and GormCompilerAutoConfigura…
borinquenkid Apr 6, 2026
ec320d6
Update README: clarify JVM integration strategy for GORM Hibernate
borinquenkid Apr 6, 2026
228a834
Increase coverage for low-coverage H7 classes
borinquenkid Apr 6, 2026
5e38fda
Refactor anonymous HibernateGormEnhancer to SchemaTenantGormEnhancer …
borinquenkid Apr 7, 2026
98482ed
Fix unchecked cast warnings in withSession/withNewSession(String, Clo…
borinquenkid Apr 7, 2026
d8e01ce
Test and fix unused public methods in HibernateDatastore
borinquenkid Apr 7, 2026
13566eb
H7: aggregate Jacoco Coverage
borinquenkid Apr 7, 2026
0eea605
test(hibernate7): increase HibernateMappingContextConfiguration cover…
borinquenkid Apr 7, 2026
0ee471a
test(hibernate7): increase HibernateSimpleIdentity coverage to 100%
borinquenkid Apr 7, 2026
3f20f01
test(hibernate7): increase MutationQueryDelegate coverage to 90%+
borinquenkid Apr 7, 2026
d0190db
test: add specs for HibernateEventListeners and HibernateSimpleIdenti…
borinquenkid Apr 7, 2026
030c74c
test: add specs for HqlQueryDelegate and CacheConfig (cov-07, cov-10)
borinquenkid Apr 7, 2026
aecede0
test: add JoinTable/MappingCacheHolder/DiscriminatorConfig/CompositeI…
borinquenkid Apr 7, 2026
3ce6685
test: add SelectQueryDelegate and HibernateEmbeddedPersistentEntity s…
borinquenkid Apr 7, 2026
7a62408
test: add SoftKeySpec and expand GrailsHibernateUtilSpec coverage
borinquenkid Apr 7, 2026
ae69bcc
test: expand EventListenerIntegratorSpec and add HibernateConnectionS…
borinquenkid Apr 7, 2026
25395c9
test: expand MappingSpec and add HibernateMappingKeywordSpec for cove…
borinquenkid Apr 7, 2026
9e79cd5
test: extend HibernateBasicProperty, MultiTenantEventListener, and Cl…
borinquenkid Apr 7, 2026
83bf9ed
test: extend IdentityEnumType, CollectionType, and add HibernateIdent…
borinquenkid Apr 7, 2026
538e5ca
feat(h7): embedded collection binding infrastructure + coverage impro…
borinquenkid Apr 7, 2026
99d3ac7
test(h7): expand IncrementGeneratorSpec to cover protected method bra…
borinquenkid Apr 7, 2026
166b54b
test(h7): expand coverage for ClassBinder, SingleTableSubclassBinder,…
borinquenkid Apr 7, 2026
cc9a4e2
test(h7): expand PredicateGenerator and GrailsNativeGenerator coverage
borinquenkid Apr 7, 2026
ecec29a
test(h7): expand HibernateEventListener coverage with 8 new event typ…
borinquenkid Apr 7, 2026
19afcf4
test(h7): expand coverage for HibernatePersistentProperty and TraitPr…
borinquenkid Apr 7, 2026
24d5e1c
test(h7): add GrailsBytecodeProvider spec and expand proxy factory co…
borinquenkid Apr 7, 2026
0ffa00b
test(h7): expand PropertyDefinitionDelegate and SimpleIdBinder coverage
borinquenkid Apr 7, 2026
561beb9
test(h7): expand HibernateToManyProperty and NamespaceNameExtractor c…
borinquenkid Apr 7, 2026
5e57ce3
chore: mark GrailsTableGenerator, ColumnBinder, ManyToOneBinder, Tabl…
borinquenkid Apr 7, 2026
5e73a97
test(h7): expand ByteBuddyGroovyProxyFactory coverage and mark stale …
borinquenkid Apr 7, 2026
737d308
test(h7): expand DefaultColumnNameFetcher coverage and mark Hibernate…
borinquenkid Apr 7, 2026
f3b332f
chore: mark all 90%+ JaCoCo violations as covered (stale reports)
borinquenkid Apr 7, 2026
ed8e95a
chore: mark GrailsSessionContext as covered (stale JaCoCo report)
borinquenkid Apr 7, 2026
c541328
test(h7): expand GrailsSessionContextSpec coverage
borinquenkid Apr 7, 2026
d23f7af
test(h7): extract protected JTA methods in GrailsSessionContext for t…
borinquenkid Apr 7, 2026
24267ca
fix(h7): correct retrieveAll(Iterable) criteria IN predicate and add …
borinquenkid Apr 7, 2026
b494c8f
test(h7): extract closeConnectionSources/closeGormEnhancer hooks and …
borinquenkid Apr 7, 2026
473d398
test(h7): expand HibernateConnectionSourceFactory coverage to 18 tests
borinquenkid Apr 7, 2026
3dd58d5
test(h7): expand HibernateCriteriaBuilder coverage across both specs …
borinquenkid Apr 7, 2026
b03041e
test(h7): create ByteBuddyGroovyInterceptorSpec for direct proxy inte…
borinquenkid Apr 7, 2026
ad4dd39
feat(h7): extract TransactionResources abstraction and expand GrailsH…
borinquenkid Apr 7, 2026
e3bb5a4
test(h7): expand HibernateGormInstanceApi coverage to 23 tests
borinquenkid Apr 7, 2026
56b06bf
test(h7): expand ChildHibernateDatastore coverage with missing getDat…
borinquenkid Apr 7, 2026
103c88b
test(h7): expand HibernateGormStaticApi coverage to 61 tests
borinquenkid Apr 7, 2026
7c7ce43
test(h7): expand ClosureEventTriggeringInterceptor coverage to 19 tests
borinquenkid Apr 7, 2026
5a5c252
chore: stop tracking JACOCO_COVERAGE_VIOLATIONS.md
borinquenkid Apr 7, 2026
8ef1c34
test(h7): expand GrailsHibernateUtil, SchemaTenantGormEnhancer and Ma…
borinquenkid Apr 7, 2026
a463efa
test(h7): expand HibernateConnectionSourceFactory coverage to 25 tests
borinquenkid Apr 7, 2026
02aeb2d
test(h7): expand HibernateToManyCollectionProperty, SingleTableSubcla…
borinquenkid Apr 7, 2026
217e1e3
test(h7): expand HibernateProxyHandler coverage to 28 tests
borinquenkid Apr 7, 2026
1b8bcad
test(h7): expand HibernateEventListener coverage to 17 tests
borinquenkid Apr 7, 2026
451572f
test(h7): expand PredicateGenerator coverage to 30 tests
borinquenkid Apr 7, 2026
ca6cb65
test(h7): expand IndexBinder coverage to 100% (7 tests)
borinquenkid Apr 7, 2026
22fcdcf
test(h7): expand HibernateMappingFactory coverage to 29 tests
borinquenkid Apr 7, 2026
0f9b6a0
test(h7): expand HibernateMappingContext, SortConfig and PersistentEn…
borinquenkid Apr 8, 2026
a99b300
test(h7): expand VersionBinder, IdentityBinder, SimpleIdBinder, Prima…
borinquenkid Apr 8, 2026
762f0c5
test(h7): expand ClassPropertiesBinder and DefaultDiscriminatorBinder…
borinquenkid Apr 8, 2026
b8da369
test(h7): expand CascadeBehaviorFetcher and GrailsPropertyBinder cove…
borinquenkid Apr 8, 2026
65ba0d2
test(h7): expand ManyToOneBinder coverage to 100%
borinquenkid Apr 8, 2026
353b064
test(h7): expand NamingStrategyProvider and DefaultColumnNameFetcher …
borinquenkid Apr 8, 2026
6864c7d
test(h7): expand TableForManyCalculator coverage to 100%
borinquenkid Apr 8, 2026
6561fc6
test(h7): expand HibernateToManyProperty and HibernatePersistentPrope…
borinquenkid Apr 8, 2026
e11ad2d
test(h7): expand MapSecondPassBinder and HibernateHqlQuery coverage
borinquenkid Apr 8, 2026
f3a7757
test(h7): expand HibernateOneToOneProperty coverage to cover missing …
borinquenkid Apr 8, 2026
ccf8e88
test(h7): expand MutationQueryDelegate and MultiTenantEventListener c…
borinquenkid Apr 8, 2026
0adbba1
test(h7): expand PropertyConfig and HibernateAssociationQuery coverage
borinquenkid Apr 8, 2026
4ceeb1c
test(h7): expand UniqueKeyForColumnsCreator coverage with public cons…
borinquenkid Apr 8, 2026
cde1731
test(h7): expand CollectionSecondPassBinder coverage for componentBin…
borinquenkid Apr 8, 2026
29697cd
fix: make gorm and app1 functional tests H7-compatible
borinquenkid Apr 8, 2026
2955206
fix(h7): fix 3 H7 GORM bugs — NonUniqueResultException, aggregate ret…
borinquenkid Apr 8, 2026
1d3e873
fix(h7): prevent 'two representations of same collection' in addTo/sa…
borinquenkid Apr 9, 2026
0aa7872
fix(test): correct GormCriteriaQueriesSpec to use safe HQL overloads …
borinquenkid Apr 9, 2026
3a1cd7a
Merge branch '8.0.x' into 8.0.x-hibernate7
jdaugherty Apr 9, 2026
76eab15
Merge remote-tracking branch 'upstream/8.0.x-hibernate7' into 8.0.x-h…
jdaugherty Apr 9, 2026
fc9b9de
Fix bad merge
jdaugherty Apr 9, 2026
0684786
Remove old hibernate6 licenses
jdaugherty Apr 9, 2026
e15e02e
Remove old TODO
jdaugherty Apr 9, 2026
e78924f
Remove jandex from sbom & adopt newer coordinates
jdaugherty Apr 9, 2026
6fa604f
Remove variances
jdaugherty Apr 9, 2026
78fccb9
Remove LGPL reference
jdaugherty Apr 9, 2026
208a7e5
H7: CodeStyle
borinquenkid Apr 9, 2026
8b99381
Refactored Vendored Spring ORM Code
borinquenkid Apr 9, 2026
276bf44
Merge branch '8.0.x-hibernate7' into 8.0.x-hibernate7-dev
borinquenkid Apr 9, 2026
753607e
chore: fix code style plugin and resolve code quality violations
borinquenkid Apr 10, 2026
34805d2
chore: resolve several spotbugs and pmd violations
borinquenkid Apr 10, 2026
939e5ea
fix: address Copilot PR review comments
borinquenkid Apr 10, 2026
c800469
Merge remote-tracking branch 'upstream/8.0.x-hibernate7-dev' into 8.0…
jdaugherty Apr 10, 2026
732d30f
Merge remote-tracking branch 'upstream/8.0.x' into 8.0.x-hibernate7
jdaugherty Apr 10, 2026
1507355
Restore commenting
jdaugherty Apr 10, 2026
ac0f947
Fix versions coming from the boms and do not hard code versions acros…
jdaugherty Apr 10, 2026
8bc5d30
fix broken dbmigration tests
borinquenkid Apr 10, 2026
914e07a
H7 increase test coverge
borinquenkid Apr 10, 2026
ec12198
Update check-qual to match micronaut version
jdaugherty Apr 10, 2026
1896fbc
fix testcontainer harness
borinquenkid Apr 10, 2026
82e19ca
Add enforcePlatform() on grails-bom for micronaut projects to ensure …
jdaugherty Apr 10, 2026
8e9a15b
Be sure to add strictly()
jdaugherty Apr 10, 2026
8efa692
Update checker-qual version to fix mismatch between Micronaut & postg…
jdaugherty Apr 10, 2026
bad9047
Update byte budy to a version that doesn't conflict across the boms
jdaugherty Apr 10, 2026
a6c3762
revert strictly and redeclare constraints for consistent selection
jdaugherty Apr 10, 2026
588b102
H7 extended tests
borinquenkid Apr 10, 2026
19c9273
Agents fix and add skills
borinquenkid Apr 11, 2026
2c631bf
Update .agents/skills/style-fixer/SKILL.md
borinquenkid Apr 11, 2026
bf25aef
Update .agents/skills/style-fixer/SKILL.md
borinquenkid Apr 11, 2026
9c4d969
Update .agents/skills/style-fixer/SKILL.md
borinquenkid Apr 11, 2026
946fb95
Update .agents/skills/test-fixer/SKILL.md
borinquenkid Apr 11, 2026
18bd36c
Update .agents/skills/test-fixer/SKILL.md
borinquenkid Apr 11, 2026
425f287
PR Comments
borinquenkid Apr 11, 2026
5678bcc
Merge branch '8.0.x_fix_skills' into 8.0.x-hibernate7-dev
borinquenkid Apr 11, 2026
f87096a
Remove remnants of old docker container
jdaugherty Apr 11, 2026
62d1f79
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and improve HibernateGormI…
borinquenkid Apr 11, 2026
fa24208
H7 expanded tests
borinquenkid Apr 11, 2026
985df2b
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateAssociati…
borinquenkid Apr 11, 2026
fad6341
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and improve HibernatePersi…
borinquenkid Apr 11, 2026
36d07f1
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateEnumPrope…
borinquenkid Apr 11, 2026
993d8ca
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and improve HibernateBasic…
borinquenkid Apr 11, 2026
9012561
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateSimplePro…
borinquenkid Apr 11, 2026
1db6b34
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateVersionPr…
borinquenkid Apr 11, 2026
8e4c29a
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateCustomEnu…
borinquenkid Apr 11, 2026
9467035
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateCustomPro…
borinquenkid Apr 11, 2026
9bc0eb5
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and finalize HibernateGorm…
borinquenkid Apr 11, 2026
0bae97a
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and improve HibernateToMan…
borinquenkid Apr 11, 2026
877317c
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateToOneProp…
borinquenkid Apr 11, 2026
ca93e30
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and improve HibernateToMan…
borinquenkid Apr 11, 2026
7015e7b
docs: Update JACOCO_COVERAGE_VIOLATIONS.md and add HibernateSimpleEnu…
borinquenkid Apr 11, 2026
0dbcef8
H7 expanded tests
borinquenkid Apr 12, 2026
966c04f
codebase memory skill
borinquenkid Apr 12, 2026
3513351
Fix ServiceNotFoundException by using context class loader in Default…
borinquenkid Apr 12, 2026
e6f6e24
Refactor nested datastore classes and fix lifecycle issues in multite…
borinquenkid Apr 12, 2026
1855162
Fix query engine predicates and subquery data mismatches
borinquenkid Apr 12, 2026
0007124
Refactor JPA query engine to support Hibernate 7 SQM requirements
borinquenkid Apr 12, 2026
47232df
chore: update .gitignore to ignore all violation reports and remove a…
borinquenkid Apr 12, 2026
edbe4f4
H7 fix Query Generation
borinquenkid Apr 13, 2026
55bb4de
1 Implement HQL query engine components for Hibernate 7
borinquenkid Apr 13, 2026
5970c38
Refactor HQL query engine for Hibernate 7 stability and modularity
borinquenkid Apr 14, 2026
25d8fb6
Cleanup
borinquenkid Apr 14, 2026
f2bc8d9
fix SelectQueryDelegate
borinquenkid Apr 14, 2026
81d1b00
fixed SelectHqlQuery
borinquenkid Apr 14, 2026
289e011
fixed MutationQueryDelegate
borinquenkid Apr 14, 2026
af8c8b6
fixed MutationHqlQuery
borinquenkid Apr 14, 2026
84e4c13
fixed HqlQueryMethods
borinquenkid Apr 14, 2026
ac8b572
fixed HqlQueryDelegate
borinquenkid Apr 14, 2026
b860b29
fixed HqlQueryContext
borinquenkid Apr 14, 2026
6caf953
fixed HibernateHqlQueryCreator
borinquenkid Apr 14, 2026
9d5f1fe
fixed HqlListQueryBuilder
borinquenkid Apr 14, 2026
3ac7edc
fixed HibernateGormStaticApi
borinquenkid Apr 14, 2026
858025b
fixed HibernateSession
borinquenkid Apr 15, 2026
be8c108
Modernize HQL engine and fix subquery selection for Hibernate 7
borinquenkid Apr 15, 2026
310b3a8
more fixes
borinquenkid Apr 15, 2026
473431d
more fixes
borinquenkid Apr 15, 2026
6b83646
more fixes
borinquenkid Apr 16, 2026
4807c1c
CodeStyke and CodeNarc
borinquenkid Apr 16, 2026
9635c50
Parameterize Geb container images and modernize Hibernate 7 tests
borinquenkid Apr 16, 2026
9d92eef
Merge remote-tracking branch 'upstream/8.0.x-hibernate7-dev' into 8.0…
jdaugherty Apr 17, 2026
1d84a8d
Fix bad merge, cleanup onlyIf checks, and remove code that was not su…
jdaugherty Apr 17, 2026
8d64f9e
Update rat config & add missing licenses
jdaugherty Apr 17, 2026
2b6cd05
Merge branch '8.0.x' into 8.0.x-hibernate7
jdaugherty Apr 17, 2026
f57b692
Restore formatting & fix bad merges
jdaugherty Apr 17, 2026
1f9b485
Revert non-lazy expansion
jdaugherty Apr 17, 2026
01017ff
Revert bad merge
jdaugherty Apr 17, 2026
a1cd4df
Add workaround for javaparser mismatch & micronaut not updating
jdaugherty Apr 17, 2026
61818f0
fixed OOM
borinquenkid Apr 17, 2026
629e94a
fix build failures: increase CI test memory, fix compilation in Multi…
borinquenkid Apr 17, 2026
6b29d8b
update Hibernate 7 documentation
borinquenkid Apr 17, 2026
d53fe20
Upgrade Testcontainers to 2.0.4 and use new artifact naming convention
borinquenkid Apr 17, 2026
af9e533
fix spec
borinquenkid Apr 18, 2026
da8ba1a
Force targetCompatibility for all AbstractCompile tasks to prevent Ja…
borinquenkid Apr 18, 2026
3a0fe5f
analysis of OOM
borinquenkid Apr 18, 2026
751a7d8
H7: Reduced instances of GrailHibernateTemplates
borinquenkid Apr 18, 2026
848c778
H7: Refactor InstanceApiHelper to a per-datastore singleton and updat…
borinquenkid Apr 19, 2026
b9bc3a9
update RAT
borinquenkid Apr 21, 2026
5246ee1
Remove micronaut workaround
jdaugherty Apr 22, 2026
6e09712
Merge remote-tracking branch 'origin/8.0.x-hibernate7' into 8.0.x-hib…
borinquenkid Apr 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
104 changes: 104 additions & 0 deletions .agents/skills/codebase-memory/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
name: codebase-memory-setup
description: Helps the developer set up codebase-memory-mcp locally
license: Apache-2.0
---
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.
-->

---
name: codebase-memory-setup
description: >
Verify and set up the codebase-memory MCP server for Grails-Core architectural navigation.
Use this skill at the start of any Grails-Core session to detect whether the MCP server is
active, prompt the user to install it if missing, and provide step-by-step configuration
instructions. Trigger whenever working with grails-core and MCP tool availability is unknown,
or when the user asks about faster codebase navigation, architectural mode, or MCP setup.
---

# Codebase Memory MCP: Environment Verification & Setup

This skill governs how to verify, onboard, and configure the `codebase-memory` MCP server when
working in the Grails-Core repository. It enables "Architectural Mode" — a significantly faster
mode of codebase navigation using graph-based memory tools.

---

## Step 1: Detect Operating Mode (Mandatory on Load)

Before doing anything else, check your available tool definitions for the presence of any of
these tools:

- `index_repository`
- `search_graph`
- `trace_call_path`
- `query_graph`

| Condition | Mode |
|---|---|
| Tools **present** | **Architectural Mode** — proceed normally |
| Tools **absent** | **Standard Mode** — proceed to Step 2 |

---

## Step 2: Proactive Onboarding (Standard Mode Only)

If the MCP server is **not** detected, interrupt the current flow (unless addressing a critical
fix) and present the following message to the user:

> "I've detected that this repository is optimized for **Codebase Memory MCP**, which allows me
> to navigate the Grails-Core architecture 90% faster. However, the server is not currently
> running in your environment. Would you like me to help you install it now?"

Wait for the user's response before continuing.

---

## Step 3: Installation (If User Approves)

The package ships as a **static binary** (not npm). Use the appropriate one-liner for the user's
platform, or run it yourself if you have shell access.

**macOS / Linux (bash):**

```bash
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
```

**Windows (PowerShell):**

```powershell
irm https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/scripts/setup-windows.ps1 | iex
```

Both scripts download the correct binary for the platform, place it on the PATH, and run
`codebase-memory-mcp install` to auto-configure all detected agents (Claude Code, Zed, Cursor,
etc.) in one step.

> **Note:** `npm install -g codebase-memory-mcp` will not work — ignore any documentation
> suggesting this.

After the script completes, restart the agent environment.

### Index the Repository

Once the server is active, index grails-core by telling the agent:

```
"Index this project"
```

The agent will call `index_repository` and build the knowledge graph automatically.

---

## Step 4: Verify Activation

Confirm that `index_repository`, `search_graph`, `trace_call_path`, and `query_graph` are now
available. If they are, **Architectural Mode** is active — proceed with the original task.

If tools are still missing, ask the user to confirm the install script completed without errors
and that the agent environment was fully restarted.
25 changes: 5 additions & 20 deletions .agents/skills/grails-developer/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,13 @@
<!--
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
---
name: grails-developer
description: Comprehensive guide for Grails 7 development, covering web applications, REST APIs, GORM, controllers, services, views, plugins, and testing with Spock and Geb
license: Apache-2.0
compatibility: opencode, claude, grok, gemini, copilot, cursor, windsurf
metadata:
audience: developers
frameworks: grails
versions: 7
---
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.
-->

## What I Do

Expand Down
26 changes: 5 additions & 21 deletions .agents/skills/groovy-developer/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,13 @@
<!--
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
---
name: groovy-developer
description: Expert guide for Groovy 4 development, covering concise syntax, closures, DSLs, metaprogramming, static compilation, and integration with Java 17 and Grails
license: Apache-2.0
compatibility: opencode, claude, grok, gemini, copilot, cursor, windsurf
metadata:
audience: developers
languages: groovy, java
versions: 4.0
paradigms: dynamic, static, functional, object-oriented, DSL-oriented
---
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.
-->

## What I Do

Expand Down
119 changes: 119 additions & 0 deletions .agents/skills/hibernate-developer/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---
name: hibernate-developer
description: Guide for working in the grails-data-hibernate7 module, especially Hibernate 7 domain binding, mapping migration, generators, and integration tests. Use this when changing code or tests under grails-data-hibernate7.
license: Apache-2.0
---
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.
-->

## What I Do

- Provide repository-specific guidance for the `grails-data-hibernate7` project.
- Help with Hibernate 7 migration work in domain binding, mapping metadata, identifiers, generators, collections, and second-pass binding.
- Guide changes around `GrailsDomainBinder`, `GrailsPropertyBinder`, `IdentityBinder`, `VersionBinder`, collection binders, and related utilities.
- Keep changes aligned with the testing constraints and migration status documented in `grails-data-hibernate7/AGENTS.md`.

## When to Use Me

Activate this skill when working on the Hibernate 7 module, especially for:

- Changes under `grails-data-hibernate7/**`.
- Hibernate 7 mapping and metadata binding work.
- Identifier, version, collection, association, or generator binding changes.
- Hibernate 7 regression fixes and migration follow-up tasks.
- Specs that exercise Hibernate-backed mapping behavior rather than lightweight unit behavior.

## Module Context

This skill is for the Grails framework's Hibernate 7 integration module, not for a Grails application. Prefer guidance from this skill over generic Grails app patterns when working in `grails-data-hibernate7`.

`GrailsDomainBinder` is the main entry point for binding Grails domain classes to Hibernate metadata. Changes often ripple through:

- `org.grails.orm.hibernate.cfg`
- `org.grails.orm.hibernate.cfg.domainbinding`
- `org.grails.orm.hibernate.cfg.domainbinding.collectionType`
- `org.grails.orm.hibernate.cfg.domainbinding.secondpass`
- `org.grails.orm.hibernate.cfg.domainbinding.generator`

## Key Classes and Responsibilities

### Main Binding Flow

- `GrailsDomainBinder`: central coordinator for Hibernate 7 mapping contribution.
- `GrailsPropertyBinder`: main coordinator for converting persistent properties into Hibernate `Value` instances.
- `PropertyFromValueCreator`: shared utility for creating Hibernate `Property` instances from a bound `Value`.

### Identifier and Version Binding

- `IdentityBinder`: coordinates identifier binding.
- `SimpleIdBinder`: handles simple identifiers.
- `CompositeIdBinder`: handles composite identifiers.
- `VersionBinder`: binds optimistic locking version properties.
- `NaturalIdentifierBinder`: binds `naturalId` properties.

### Associations and Collections

- `OneToOneBinder`, `ManyToOneBinder`, `ManyToOneValuesBinder`: association binding.
- `CollectionBinder`: collection mapping.
- `CollectionSecondPassBinder`, `ListSecondPassBinder`, `MapSecondPassBinder`: second-pass association and collection binding.
- `CollectionHolder` plus the collection type classes: carry collection metadata through binding.

### Value and Column Binding

- `SimpleValueBinder`: binds simple properties.
- `SimpleValueColumnBinder`: binds columns to simple values.
- `ComponentBinder`, `ComponentPropertyBinder`: embedded/component binding.
- `EnumTypeBinder`: enum mapping.

### Generators

- `BasicValueCreator`: creates identifier values and generators.
- `GrailsSequenceWrapper`, `GrailsSequenceGeneratorEnum`: generator integration helpers.
- `GrailsIdentityGenerator`, `GrailsIncrementGenerator`, `GrailsNativeGenerator`, `GrailsSequenceStyleGenerator`, `GrailsTableGenerator`: Grails-specific Hibernate 7 generator implementations.

## Current Module Guidance

Keep these module-specific expectations in mind:

- `GrailsPropertyBinder` has already been simplified to a unified binder-dispatch structure. Preserve that consolidation instead of reintroducing scattered property creation or ad hoc branching.
- Property creation and addition should stay centralized through callers using `PropertyFromValueCreator` where applicable.
- Utility classes in `domainbinding.util` should prefer Hibernate-aware GORM types internally, but public signatures may still need base interfaces when Spock mocks require them.
- `GrailsIncrementGenerator` still contains reflection-based Hibernate 7 compatibility workarounds; avoid broad refactors unless the change explicitly addresses that area.

## Testing Rules

When touching `grails-data-hibernate7`, test through real Hibernate wiring rather than assuming mocks are enough.

- Use `HibernateGormDatastoreSpec` for Hibernate 7 integration and domain-binding specifications.
- Prefer `manager.addAllDomainClasses([...])` in `setupSpec()` to register entities for specs.
- Define test entities as top-level classes in the same Groovy spec file.
- Ensure test domain class names are globally unique within the package to avoid collisions during parallel execution.
- Prefer real entities over heavy mocking for binder logic.

## Change Workflow

1. Identify which binder, creator, generator, fetcher, or second-pass class owns the behavior.
2. Trace whether the change affects only `Value` creation, `Property` creation, or both.
3. Preserve the existing separation between logical mapping decisions and Hibernate object construction.
4. Update or add specs in `grails-data-hibernate7` that exercise the affected behavior through the public Hibernate-backed path.
5. Run the relevant Hibernate 7 module tests, and expand test coverage when binder flow or entity registration behavior changes.

## Pitfalls to Avoid

- Do not treat this module like a simple Grails application layer; it is framework and mapping infrastructure code.
- Do not reintroduce duplicated property-creation logic if a shared binder or creator already owns it.
- Do not rely on unit-only mocking for Hibernate internals when the behavior depends on real metadata binding.
- Do not use nested or inner entity classes in Hibernate 7 specs when top-level classes are required for AST transforms and reliable registration.

## Known Status and Constraints

- The Hibernate 7 binder migration is largely in migrated state across the main binders, collection types, second-pass binders, generators, and utilities.
- Unidirectional many-to-many support in `CollectionSecondPassBinder` is implemented.
- `GrailsIncrementGenerator` reflection hacks remain a known temporary compromise until a later Hibernate upgrade removes the need.

## Source of Truth

This skill is derived from `grails-data-hibernate7/AGENTS.md`. When the module guidance changes, update this skill so agents can load the same rules directly from `.agents/skills/hibernate-developer/SKILL.md`.
25 changes: 5 additions & 20 deletions .agents/skills/java-developer/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,13 @@
<!--
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
---
name: java-developer
description: Guide for developing in Java 17 LTS, including modern features, best practices, and integration with Groovy/Grails projects
license: Apache-2.0
compatibility: opencode, claude, grok, gemini, copilot, cursor, windsurf
metadata:
audience: developers
languages: java
versions: 17
---
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.
-->

## What I Do

Expand Down
Loading
Loading