You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/10/04 18:24:55 UTC
(grails-core) branch 9.0.x updated (d6a3c5532e -> c3b2ea8fcf)
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a change to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from d6a3c5532e Follow Groovy 6 switch expressions in the GORM query safety check
add 482e1782cd [skip ci] Release v8.0.0-RC2
add 1b4f54eebf [skip ci] Bump version to 8.0.0-SNAPSHOT
add 80a1ff5637 Merge pull request #16487 from apache/merge-back-8.0.0-RC2
add 7d355e9485 Update Grails 8 Upgrade skill based on application upgrade
add 2a3994c1de Merge pull request #16493 from apache/skill-updates
add 47f7c72e82 Compile reloaded classes into the build's own classes directory
add 5dc78857fa Pass the classes directory with / and fall back when it is not relative
add 53d3df2484 Merge branch '8.0.x' into fix/bootrun-project-class-dir-8.0.x
add 3c1a893b79 Point development at the build's own resources directory too, and keep a property the build sets
add e6bc0c7922 Resolve a relative grails.project.resource.dir against the application
add 2d85090c0d Find an @Integration spec's application class on its compile classpath
add 74fbfab3ff Find the application class next to the compile output, wherever the build directory is
add 6e4f5cf4fc Keep BuildSettings.resourcesDir private, checking each case in the forked JVM
add 2368184fd4 Document running more than one instance of a checkout
add 2440d141f5 Merge branch '8.0.x' into fix/bootrun-project-class-dir-8.0.x
add 52ffa6acf3 Keep the development restart marker in the build's own directory
add bdb139d9ad Keep a project.target.dir set by hand ahead of the plugin's target directory
add 938dbb541e Keep each instance's project cache beside its build directory in the guide
add 03699f59ab Say what each property's fallback breaks when it cannot be passed
add 1a2c97b09d Merge pull request #16472 from codeconsole/fix/bootrun-project-class-dir-8.0.x
add 185ab622f5 Restore Hibernate validation error-reset semantics
add 5288a8d87f Expand setupErrorsProperty test coverage
add 657556ac8d Merge pull request #16489 from jdaugherty/fix/hibernate-validation-error-reset
add cf7e8545b9 Keep the MongoClient GORM hands out across a CRaC restore
add b76d6a873c Open no connection to MongoDB until the datastore starts
add 335a3d2e1d Start an embedded MongoDB with the context when it is checkpointed on refresh
add b64b840007 Document checkpointing a GORM for MongoDB application as its context refreshes
add d1926a446c Declare GORM's MongoClient in a Spring Boot application
add b91ec8f76d Stop every client GORM owns, and connect no connection until start
add 4987030acd Note in the upgrade guides that indexes are built when the datastore starts
add 7f5a9270dc Count driver clients by the events the driver reports as it builds them
add 70517cf660 Build a connection registered during start() once, not twice
add f220260869 Keep mock response output lazy after reset
add 8bd0204061 Cover charset chosen after mock response reset
add 009584ad92 Merge pull request #16490 from apache/fix/mock-response-reset-stream
add 75a367057a Type Hibernate 7 comparison values from the property they compare with
add 815583a772 Type non-Comparable comparison values from the property path too
add be84c6dd52 Bind non-Comparable comparison values as criteria parameters
add e175dbaedc Remove the unused HibernateQuery.getJpaCriteriaQuery
add 040cf8a812 Merge pull request #16479 from apache/fix/h7-user-type-comparisons
add c6ef10e3bf Keep a Class user-type in the Hibernate 7 mapping as a Class
add e2d23b1f0b Document the user-type mapping in the Hibernate 7 guide
add 5287b3a002 Check stored Boolean values in the user-type mapping spec
add 19b94d6576 Merge pull request #16480 from apache/fix/h7-global-user-type-class
add 055cc1243f Restore mapped identifiers in GORM ident()
add 468ee47dfc Respect mapped identifier getters in Hibernate proxies
add 5003c0c9b2 Guard ident() against unmapped classes and cover its branches
add 84314f346c Return a proxy's identifier from ident() without loading it
add 4fc83cdc51 Merge pull request #16485 from apache/fix/composite-ident
add 9b6adc7f43 Merge branch '8.0.x' into fix/mongodb-checkpoint-on-refresh-8.0.x
add 89f1986198 Give a background index build a running executor whichever build start() runs
add e115da9b27 Put off a build requested on a connection added while the datastore is stopped
add 5a10bbab5b Hash dependency cache keys from fixed-depth paths
add 99d14daecb Restore subclass command binding in compatibility mode
add e5bbc7dad7 Keep binding protections for proxies and inherited Validateable subclasses
add 9fd34ca839 Limit the inherited constraints fallback to Validateable's accessor
add 3bbecb5dca Merge pull request #16491 from apache/fix/inherited-command-binding
add ad01b6ea3f Implemented suggested fix for the `TEMPLATE_MODEL` leak identified in PR #16453 review after merge. The fix ensures `TEMPLATE_MODEL` is handled the same way as `MODEL_AND_VIEW` during forwards and includes.
add 24df4fa2b4 Implemented jamesfredley's non-blocking recommendation from PR #16492:
add 0089eb135e Read the forwarded response body through TestHttpResponse.body()
add 0bb1d89134 Merge pull request #16492 from ruthst00/fix/12081-interceptor-model-followup
add 94027b2e69 Upgrade SiteMesh to 3.3.0
add 620d549caa Merge pull request #16498 from codeconsole/deps/sitemesh-3.3.0
add 0e2c9cff99 Keep a property's mapping when a '*' default constraint is configured
add af8255aaf4 Add MongoDatastore.findUndeclaredIndexes() and dropUndeclaredIndexes()
add 20f6e3289a Add MongoDatastore.buildIndexAsync(), returning the build's result
add 3063d81c68 Add MongoDatastore.findMissingIndexes()
add e7e9f8f7ec Count a unique index over duplicate values as a failed declaration
add ecbf30a6d7 Keep what is configured on a property that starts from a '*' entry
add e7f0446d28 Start the datastore in the index specs, as the application context does
add 5a261296a1 Build and report only the indexes of the classes mapped to a connection
add cb9e0c4edc Check a reviewed undeclared index again before dropping it
add a4d30e4b1c Compare text indexes field by field in the missing and undeclared reports
add dbbb0aab57 Count only a duplicate key as a failed index declaration
add a9ea86909e Run a synchronous and a background index build one at a time
add 8e44dec475 Tell a build that stops from a declaration that fails in the index guide
add 97dfcc7103 Wrap the declaration comparison in the reports as checkstyle requires
add d71c610fd3 Add a release note for building only the indexes of the classes mapped to a connection
add 26d47a2a2c Merge branch '8.0.x' into feat/mongodb-undeclared-indexes-8.0.x
add cd08a7d289 Say a background build has a caller waiting when buildIndexAsync() started it
add c57d0557b0 Index a class registered at runtime on the collection and database it maps
add 2c4d2ca19b Index a class registered at runtime only on a connection it is mapped to
add 83c8061963 Index a class registered at runtime after any build running on its connection
add d5b93889ec Skip a collection that declares nothing in findMissingIndexes()
add e6c619ec7b Add a release note for indexing a class registered at runtime where its mapping says
add 18d09d16fa Start the datastore in the runtime registration spec, as the index specs do
add 51f6e53106 Merge pull request #16494 from codeconsole/feat/mongodb-undeclared-indexes-8.0.x
add 28956fc267 Register the GORM for MongoDB Spring Boot auto-configuration where Boot reads it
add 44eed4de74 Run a spec's shared initializers and stop MongoDB in the springboot example's extension
add edecc4cf47 Start the springboot example application in its tests
add 05b24407b5 Merge branch '8.0.x' into fix/mongodb-boot-autoconfiguration-registration-8.0.x
add a2b567290f Give a spec its datastore before its own shared initializers run
add 7b8173c8e8 Merge pull request #16496 from codeconsole/fix/mongodb-boot-autoconfiguration-registration-8.0.x
add 7a8701caa6 Merge branch '8.0.x' into fix/mongodb-checkpoint-on-refresh-8.0.x
add 175e4c2812 Merge pull request #16495 from codeconsole/fix/mongodb-checkpoint-on-refresh-8.0.x
add f6c9c5e1c7 Save a multi-tenant instance under the current tenant again
add 841f6fbfaa Use the right @since for the classes of GORM for Hibernate 7
add fa7ed617b9 Remove the @author tags from the classes of GORM for Hibernate 7
add 42f465db52 Merge pull request #16508 from apache/docs/hibernate7-since-8.0
add fa6cf614e5 Apply @ManagedEntity to Hibernate 7 entities mapped with hibernate or GORM
add 11403a46dd Rethrow exceptions from the Hibernate 7 withFlushMode callable
add c9ea2a0c0b Remove the Hibernate 7 Integrator file that Hibernate never reads
add aeca131fa6 Merge pull request #16502 from apache/fix/hibernate7-mapwith-flushmode-integrator
add 36f00398bf Apply the GORM session flush mode to the bound Hibernate 7 session
add 527ccfca9e Merge pull request #16504 from apache/fix/hibernate7-session-flush-mode
add 0a657b3073 Rethrow TenantNotFoundException from the multi-tenant event listener
add 1d3161e1cf Merge pull request #16509 from apache/fix/multi-tenant-listener-tenant-not-found
add 747a786798 Restrict a Hibernate 7 query by the detached criteria passed to add()
add a59b77b198 Add criteria to the given junction in Hibernate 7 queries
add 9a86b07199 Compare whole values in Hibernate 7 eq with ignoreCase
add 6816f847ea Apply the requested lock mode in GrailsHibernateTemplate.lock()
add 47572a5918 Stop managing liquibase-hibernate7 in the Hibernate 7 BOM
add 321898b9b6 Test Hibernate 7 eq with ignoreCase through the query API
add 45769ae883 Merge pull request #16500 from apache/fix/hibernate7-query-template-bom-bugs
add 03c9e65694 Return joined entities and native query entities from Hibernate 7 queries
add c90d00bbab Merge pull request #16506 from apache/fix/hibernate7-hql-joined-alias-select
add 5268168499 Merge remote-tracking branch 'upstream/8.0.x' into fix/multi-tenant-listener-current-tenant
add ef29ca6787 Check that an update does not move a book to another tenant
add 9a8ceda9a4 Merge pull request #16511 from apache/fix/multi-tenant-listener-current-tenant
add 15542ae8e9 Upgrade Asset Pipeline to 5.2.0
add 542ae8ac9b Merge pull request #16514 from apache/deps/asset-pipeline-5.2.0
add 9fa482ba91 Implement sqlRestriction for Hibernate 7 criteria queries
add edc5f687cb Address review feedback on Hibernate 7 sqlRestriction
add c316b7d52c Register the Hibernate 7 junction sqlRestriction as an extension module
add dc8462b47b Merge pull request #16505 from apache/fix/hibernate7-sql-restriction
add a6388e855a Show every container filter in chain order on the welcome page
add 4bbf14837e Add grails-compile-static Forge feature
add 55e7e9c293 Skip disabled filter registrations in the welcome page fallback
add 70470c27f5 Label filters without a readable class name by their registration name
add 63101a12ac Document the grails-compile-static Forge feature in the guide
add 61fa27129b List grails-compile-static under Configuration
add 6eacfd59f6 List each filter map in the order Tomcat applies it, and number none elsewhere
add b8f8c251f7 Render the welcome page's filter list on Tomcat and on Jetty
add 4f54d20054 Merge branch '8.0.x' into feat/welcome-filters-compile-static-8.0.x
add cdc35cb97a Opt each artefact type in on its own in grails-compile-static
add 7599fa986f Badge a filter map that is not for ordinary requests with its dispatcher types
add 2b92bc9ae5 Merge pull request #16499 from codeconsole/feat/welcome-filters-compile-static-8.0.x
add 7ac6568a54 Fix github branch on 7.2.x
add c446533522 Keep the Close Release job going when post-release fails
add 2e108db240 Merge pull request #16488 from apache/ci/post-release-manual-fallback
add 03854b8853 Run every feature of the TCK CrudOperationsSpec
add 150248d5e7 Merge pull request #16507 from apache/fix/tck-crud-operations-ignore-rest
add da5527951a Give Hibernate 5 templates the configured flush mode
add 81c86f01cf Merge pull request #16503 from apache/fix/hibernate-template-flush-mode
add 788b6a2601 Apply @ManagedEntity to entities mapped with hibernate or GORM
add 5248f6699b Rethrow exceptions from the withFlushMode callable
add c4f5871d04 Remove the Integrator file that Hibernate never reads
add a5d536c32c Merge pull request #16501 from apache/fix/hibernate-mapwith-flushmode-integrator
add f0d7af0986 Merge branch '7.0.x' into 7.1.x
add b364fe4952 Merge branch '7.1.x' into 7.2.x
add df80e8128b Merge branch '7.2.x' into 8.0.x
add c16730edd9 Merge branch '8.0.x' into 8.1.x
new c3b2ea8fcf Merge branch '8.1.x' into 9.0.x
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/end-to-end.yml | 3 +-
.github/workflows/gradle.yml | 63 +-
.github/workflows/groovy-snapshot-canary.yml | 5 +-
.github/workflows/release.yml | 36 +
RELEASE.md | 4 +-
dependencies.gradle | 10 +-
.../controller/support/RequestForwarder.groovy | 2 +
.../controller/support/RequestForwarderSpec.groovy | 83 ++
.../orm/hibernate/AbstractHibernateDatastore.java | 16 +-
.../orm/hibernate/GrailsHibernateTemplate.java | 17 +-
.../grails/orm/hibernate/HibernateDatastore.java | 12 +-
.../org/grails/orm/hibernate/cfg/Mapping.groovy | 6 +-
.../compiler/HibernateEntityTransformation.groovy | 2 +-
.../proxy/ByteBuddyGroovyInterceptor.java | 9 +-
.../hibernate/support/HibernateRuntimeUtils.groovy | 26 +-
.../org.hibernate.integrator.spi.Integrator | 1 -
.../hibernate/mapping/MappingBuilderSpec.groovy | 25 +
.../grails/gorm/tests/MappedIdentifierSpec.groovy | 161 +++
.../gorm/tests/ValidationErrorResetSpec.groovy | 151 +++
.../tests/proxy/ProxyIdentifierAccessSpec.groovy | 175 ++++
.../hibernate/DefaultMappingGlobalEntrySpec.groovy | 98 ++
.../GrailsHibernateTemplateFlushModeSpec.groovy | 89 ++
.../orm/hibernate/HibernateDatastoreSpec.groovy | 70 +-
.../HibernateEntityTransformationSpec.groovy | 22 +
.../support/HibernateRuntimeUtilsErrorsSpec.groovy | 165 +++
.../grails/orm/HibernateCriteriaBuilder.java | 31 +-
.../orm/hibernate/GrailsHibernateTemplate.java | 3 +-
.../grails/orm/hibernate/HibernateDatastore.java | 20 +-
.../org/grails/orm/hibernate/HibernateSession.java | 38 +-
.../org/grails/orm/hibernate/cfg/Mapping.groovy | 6 +-
.../domainbinding/binder/JoinedSubClassBinder.java | 2 +-
.../binder/SingleTableSubclassBinder.java | 2 +-
.../domainbinding/binder/UnionSubclassBinder.java | 2 +-
.../generator/GrailsNativeGenerator.java | 3 +-
.../hibernate/HibernateMappingBuilder.groovy | 2 +-
.../hibernate/HibernateMappingKeyword.groovy | 3 +-
.../util/MultiTenantFilterBinder.java | 2 +-
.../util/MultiTenantFilterDefinitionBinder.java | 2 +-
.../compiler/HibernateEntityTransformation.groovy | 2 +-
.../proxy/ByteBuddyGroovyInterceptor.java | 12 +-
.../proxy/ByteBuddyGroovyProxyFactory.java | 3 +-
.../hibernate/proxy/GrailsProxyFactoryFactory.java | 3 +-
.../proxy/GroovyProxyInterceptorLogic.java | 3 +-
.../orm/hibernate/proxy/HibernateProxyHandler.java | 3 +-
.../grails/orm/hibernate/query/AliasRegistry.java | 3 +-
.../{HibernateAlias.java => EqualsIgnoreCase.java} | 15 +-
.../orm/hibernate/query/ExpressionResolver.java | 3 +-
.../orm/hibernate/query/GrailsQueryFlushMode.java | 3 +-
.../query/GrailsSqlRestrictionFunction.java | 106 ++
...> GrailsSqlRestrictionFunctionContributor.java} | 19 +-
.../hibernate/query/Hibernate7CountProjection.java | 3 +-
.../query/HibernateDetachedCriteriaExtension.java | 67 ++
.../hibernate/query/HibernatePagedResultList.java | 3 +-
.../grails/orm/hibernate/query/HibernateQuery.java | 50 +-
.../hibernate/query/HibernateQueryExecutor.java | 19 +-
.../orm/hibernate/query/HqlListQueryBuilder.java | 4 +-
.../orm/hibernate/query/HqlQueryContext.java | 47 +-
.../grails/orm/hibernate/query/JoinTracker.java | 3 +-
.../hibernate/query/JpaCriteriaQueryCreator.java | 22 +-
.../orm/hibernate/query/JpaProjectionAdapter.java | 3 +-
.../hibernate/query/JpaProjectionTranslator.java | 4 +-
.../orm/hibernate/query/JpaQueryContext.java | 33 +-
.../orm/hibernate/query/MutationHqlQuery.java | 3 +-
.../orm/hibernate/query/PredicateGenerator.java | 123 ++-
.../grails/orm/hibernate/query/SqlRestriction.java | 133 +++
.../hibernate/support/HibernateRuntimeUtils.groovy | 26 +-
.../org.hibernate.integrator.spi.Integrator | 1 -
.../org.codehaus.groovy.runtime.ExtensionModule | 3 +
.../org.hibernate.boot.model.FunctionContributor | 1 +
.../mapping/HibernateMappingBuilderSpec.groovy | 9 +
.../hibernate/mapping/MappingBuilderSpec.groovy | 25 +
.../gorm/tests/HqlSelectResultTypeSpec.groovy | 87 ++
.../grails/gorm/tests/MappedIdentifierSpec.groovy | 161 +++
.../gorm/tests/SqlRestrictionHibernate7Spec.groovy | 160 +++
.../gorm/tests/UserTypeComparisonSpec.groovy | 443 ++++++++
.../gorm/tests/ValidationErrorResetSpec.groovy | 151 +++
.../tests/hibernatequery/HibernateQuerySpec.groovy | 96 +-
.../JpaCriteriaQueryCreatorSpec.groovy | 73 +-
.../hibernatequery/PredicateGeneratorSpec.groovy | 40 +
.../tests/proxy/ProxyIdentifierAccessSpec.groovy | 175 ++++
.../orm/HibernateCriteriaBuilderDirectSpec.groovy | 30 +-
...bernateCriteriaBuilderSqlRestrictionSpec.groovy | 534 ++++++++++
.../hibernate/DefaultMappingGlobalEntrySpec.groovy | 98 ++
.../hibernate/GrailsHibernateTemplateSpec.groovy | 21 +
.../orm/hibernate/HibernateDatastoreSpec.groovy | 43 +-
.../orm/hibernate/HibernateSessionSpec.groovy | 67 +-
.../orm/hibernate/UserTypeMappingSpec.groovy | 218 ++++
.../grails/orm/hibernate/cfg/MappingSpec.groovy | 4 +
.../HibernateEntityTransformationSpec.groovy | 21 +-
.../proxy/ByteBuddyGroovyInterceptorSpec.groovy | 9 +-
.../orm/hibernate/query/HqlQueryContextSpec.groovy | 33 +-
.../orm/hibernate/query/JpaQueryContextSpec.groovy | 43 +
.../support/HibernateRuntimeUtilsSpec.groovy | 44 +-
.../ormdsl/customHibernateTypes.adoc | 25 +-
.../docs/src/docs/asciidoc/querying/criteria.adoc | 22 +-
.../docs/asciidoc/querying/detachedCriteria.adoc | 11 +-
.../MongoDbGormAutoConfiguration.groovy | 139 ++-
...rk.boot.autoconfigure.AutoConfiguration.imports | 0
.../MongoDbGormAutoConfigurationClientSpec.groovy | 218 ++++
.../MongoDbGormAutoConfigurationCloseSpec.groovy | 103 +-
...ongoDbGormAutoConfigurationDiscoverySpec.groovy | 98 ++
.../datastore/mapping/mongo/IndexBuildResult.java | 39 +
.../datastore/mapping/mongo/MissingIndex.java | 24 +-
.../datastore/mapping/mongo/MongoDatastore.java | 1058 ++++++++++++++++----
.../datastore/mapping/mongo/UndeclaredIndex.java | 28 +-
.../MongoConnectionSourceFactory.groovy | 18 +-
.../mongo/connections/RestartableMongoClient.java | 376 +++++++
.../bootstrap/ConnectsWhenStartedSpec.groovy | 154 +++
.../MongoDbDataStoreSpringInitializerSpec.groovy | 26 +
.../gorm/mongo/BuildIndexAsyncResultSpec.groovy | 598 +++++++++++
.../gorm/mongo/BuildIndexesAsyncSpec.groovy | 27 +-
.../mongo/BuildIndexesBackgroundFailureSpec.groovy | 2 +-
.../BuildIndexesClassificationCostSpec.groovy | 1 +
.../BuildIndexesDefaultConstraintsSpec.groovy | 91 ++
.../mongo/BuildIndexesFailureSummarySpec.groovy | 68 +-
.../gorm/mongo/BuildIndexesHookSpec.groovy | 1 +
.../gorm/mongo/BuildIndexesKeyOrderSpec.groovy | 1 +
.../gorm/mongo/BuildIndexesLifecycleSpec.groovy | 138 +++
.../gorm/mongo/BuildIndexesNameConflictSpec.groovy | 2 +
.../BuildIndexesPartialClassificationSpec.groovy | 1 +
.../mongo/BuildIndexesRecreateSummarySpec.groovy | 1 +
.../mongo/BuildIndexesStaleSnapshotSpec.groovy | 1 +
.../gorm/mongo/BuildIndexesSummaryLogSpec.groovy | 1 +
.../mongo/BuildIndexesUnfinishedSummarySpec.groovy | 3 +-
.../BuildIndexesUnreadableIndexListSpec.groovy | 1 +
.../gorm/mongo/DocumentMappingSpec.groovy | 18 +-
.../datastore/gorm/mongo/MissingIndexesSpec.groovy | 350 +++++++
.../gorm/mongo/UndeclaredIndexesSpec.groovy | 535 ++++++++++
.../BuildIndexesPerConnectionSpec.groovy | 176 +++-
.../mongo/MongoDatastoreLifecycleSpec.groovy | 268 ++++-
.../connections/RestartableMongoClientSpec.groovy | 293 ++++++
.../asciidoc/gettingStarted/advancedConfig.adoc | 15 +-
.../asciidoc/gettingStarted/embeddedMongo.adoc | 12 +
.../docs/asciidoc/gettingStarted/springBoot.adoc | 2 +
.../asciidoc/gettingStarted/springDataInterop.adoc | 2 +-
.../docs/asciidoc/introduction/releaseNotes.adoc | 12 +-
.../docs/asciidoc/introduction/upgradeNotes.adoc | 33 +-
.../src/docs/asciidoc/querying/queryIndexes.adoc | 103 +-
.../mongodb/embedded/EmbeddedMongoInitializer.java | 138 ++-
.../EmbeddedMongoStartedWithTheContextSpec.groovy | 258 +++++
.../SpringDataMongoGormRestoreSpec.groovy | 8 +-
.../partitioned/PartitionMultiTenancySpec.groovy | 39 +
.../grails/datastore/gorm/GormInstanceApi.groovy | 31 +-
.../multitenancy/MultiTenantEventListener.java | 13 +-
.../datastore/gorm/GormInstanceApiIdentSpec.groovy | 257 +++++
.../datastore/gorm/GormInstanceApiSpec.groovy | 5 +-
.../MultiTenantEventListenerSpec.groovy | 62 +-
.../testing/tck/tests/CrudOperationsSpec.groovy | 6 +-
.../tck/tests/ValidationHibernateSpec.groovy | 7 +-
.../data/testing/tck/tests/ValidationSpec.groovy | 8 +-
.../grails/datastore/mapping/config/Entity.groovy | 3 +
.../DefaultMappingConfigurationBuilder.groovy | 13 +-
.../DefaultMappingConfigurationBuilderSpec.groovy | 52 +
.../guide/gettingStarted/developmentReloading.adoc | 32 +
grails-doc/src/en/guide/introduction/whatsNew.adoc | 31 +
.../grailsCompileStatic.adoc | 7 +
.../src/en/guide/upgrading/upgrading80x.adoc | 9 +
grails-doc/src/en/ref/Controllers/bindData.adoc | 2 +
grails-doc/src/en/ref/Dependency Versions.adoc | 2 +-
grails-doc/src/en/ref/Domain Classes/ident.adoc | 22 +-
grails-doc/src/en/ref/Domain Classes/load.adoc | 6 +-
grails-doc/src/en/ref/Domain Classes/validate.adoc | 4 +
.../build/gradle/templates/buildGradle.rocker.raw | 13 +
.../GrailsCompileStatic.java} | 42 +-
.../src/main/resources/gsp/index.gsp | 137 ++-
.../src/main/resources/i18n/messages.properties | 6 +-
.../src/main/resources/i18n/messages_cs.properties | 6 +-
.../src/main/resources/i18n/messages_da.properties | 6 +-
.../src/main/resources/i18n/messages_de.properties | 6 +-
.../src/main/resources/i18n/messages_es.properties | 6 +-
.../src/main/resources/i18n/messages_fr.properties | 6 +-
.../src/main/resources/i18n/messages_it.properties | 6 +-
.../src/main/resources/i18n/messages_ja.properties | 6 +-
.../src/main/resources/i18n/messages_nb.properties | 6 +-
.../src/main/resources/i18n/messages_nl.properties | 6 +-
.../src/main/resources/i18n/messages_pl.properties | 6 +-
.../main/resources/i18n/messages_pt_BR.properties | 6 +-
.../main/resources/i18n/messages_pt_PT.properties | 6 +-
.../src/main/resources/i18n/messages_ru.properties | 6 +-
.../src/main/resources/i18n/messages_sk.properties | 6 +-
.../src/main/resources/i18n/messages_sv.properties | 6 +-
.../src/main/resources/i18n/messages_th.properties | 6 +-
.../main/resources/i18n/messages_zh_CN.properties | 6 +-
.../main/resources/i18n/messages_zh_TW.properties | 6 +-
.../feature/grails/GrailsCompileStaticSpec.groovy | 72 ++
.../grails/forge/feature/view/GrailsGspSpec.groovy | 11 +-
.../org/grails/forge/create/CreateAppSpec.groovy | 11 +
.../model/src/main/groovy/grails/io/IOUtils.groovy | 30 +-
.../main/groovy/grails/util/BuildSettings.groovy | 52 +-
.../org/grails/io/support/MainClassFinder.groovy | 41 +
.../src/test/groovy/grails/io/IOUtilsSpec.groovy | 13 +
.../groovy/grails/util/BuildSettingsPrinter.groovy | 19 +-
.../groovy/grails/util/BuildSettingsSpec.groovy | 117 +++
.../grails/io/support/MainClassFinderSpec.groovy | 126 +++
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 33 +-
.../core/GrailsProjectOutputDirProvider.groovy | 153 +++
.../core/GrailsGradlePluginToolchainSpec.groovy | 55 +
.../core/GrailsProjectOutputDirProviderSpec.groovy | 112 +++
.../test-projects/bootrun-classes-dir/build.gradle | 30 +
.../gradle.properties | 0
.../grails-app/conf/.keep | 0
.../bootrun-classes-dir/settings.gradle | 1 +
.../org/grails/openapi/GrailsModelConverter.groovy | 5 +
.../groovy/grails/openapi/CommandObjectSpec.groovy | 53 +
.../skeleton/grails-app/i18n/messages.properties | 6 +-
.../grails-app/i18n/messages_cs.properties | 6 +-
.../grails-app/i18n/messages_da.properties | 6 +-
.../grails-app/i18n/messages_de.properties | 6 +-
.../grails-app/i18n/messages_es.properties | 6 +-
.../grails-app/i18n/messages_fr.properties | 6 +-
.../grails-app/i18n/messages_it.properties | 6 +-
.../grails-app/i18n/messages_ja.properties | 6 +-
.../grails-app/i18n/messages_nb.properties | 6 +-
.../grails-app/i18n/messages_nl.properties | 6 +-
.../grails-app/i18n/messages_pl.properties | 6 +-
.../grails-app/i18n/messages_pt_BR.properties | 6 +-
.../grails-app/i18n/messages_pt_PT.properties | 6 +-
.../grails-app/i18n/messages_ru.properties | 6 +-
.../grails-app/i18n/messages_sk.properties | 6 +-
.../grails-app/i18n/messages_sv.properties | 6 +-
.../grails-app/i18n/messages_th.properties | 6 +-
.../grails-app/i18n/messages_zh_CN.properties | 6 +-
.../grails-app/i18n/messages_zh_TW.properties | 6 +-
.../web/skeleton/grails-app/views/index.gsp | 137 ++-
.../skills/grails-8-upgrade/SKILL.md | 278 ++++-
.../AbstractGrailsMockHttpServletResponse.groovy | 3 +-
.../gorm/DirtyCheckBindingController.groovy | 17 +-
.../groovy/gorm/DirtyCheckBindingSpec.groovy | 67 +-
.../gorm/DirtyCheckBindingController.groovy | 17 +-
.../groovy/gorm/DirtyCheckBindingSpec.groovy | 67 +-
.../functional/tests/ModelInterceptor.groovy | 2 +
.../tests/RenderTemplateController.groovy | 32 +
.../tests/ModelInterceptorIntSpec.groovy | 40 +
.../src/test/groovy/example/ApplicationSpec.groovy | 96 ++
.../test/groovy/example/SharedDatastoreSpec.groovy | 64 +-
.../example/SpringBootStartMongoExtension.groovy | 4 +-
.../functional/tests/ModelInterceptor.groovy | 2 +
.../tests/RenderTemplateController.groovy | 32 +
.../tests/ModelInterceptorIntSpec.groovy | 40 +
.../welcome-page-jetty/build.gradle | 94 ++
.../grails-app/conf/application.yml | 2 +-
.../grails-app/conf/spring/resources.groovy | 52 +
.../welcomepagejetty}/UrlMappings.groovy | 6 +-
.../init/welcomepagejetty}/Application.groovy | 6 +-
.../WelcomePageFiltersJettySpec.groovy | 94 ++
.../welcomepagejetty/WelcomePageFilters.groovy | 49 +-
.../build.gradle | 46 +-
.../grails-app/conf/application.yml | 2 +-
.../grails-app/conf/spring/resources.groovy | 60 ++
.../controllers/welcomepage}/UrlMappings.groovy | 6 +-
.../init/welcomepage}/Application.groovy | 6 +-
.../welcomepage/WelcomePageFiltersSpec.groovy | 98 ++
.../groovy/welcomepage/WelcomePageFilters.groovy | 85 ++
.../test/mixin/DomainProxyBindingSpec.groovy | 92 ++
.../test/mixin/InheritedCommandBindingSpec.groovy | 398 ++++++++
.../GrailsMockHttpServletResponseTests.groovy | 92 ++
.../IntegrationTestAstTransformation.groovy | 27 +-
.../IntegrationTestApplicationClassSpec.groovy | 116 +++
.../grails/web/databinding/DataBindingUtils.java | 35 +-
.../web/databinding/BindingIncludeLists.java | 72 +-
.../web/databinding/DataBindingUtilsSpec.groovy | 55 +-
.../org/grails/web/mapping/UrlMappingUtils.java | 9 +
.../grails/web/mapping/UrlMappingUtilsSpec.groovy | 134 +++
settings.gradle | 4 +
264 files changed, 13708 insertions(+), 969 deletions(-)
delete mode 100644 grails-data-hibernate5/core/src/main/resources/META-INF/org.hibernate.integrator.spi.Integrator
create mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/MappedIdentifierSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/ValidationErrorResetSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/proxy/ProxyIdentifierAccessSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/DefaultMappingGlobalEntrySpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/GrailsHibernateTemplateFlushModeSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/support/HibernateRuntimeUtilsErrorsSpec.groovy
copy grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/{HibernateAlias.java => EqualsIgnoreCase.java} (68%)
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/GrailsSqlRestrictionFunction.java
copy grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/{HibernateAlias.java => GrailsSqlRestrictionFunctionContributor.java} (60%)
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateDetachedCriteriaExtension.java
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/SqlRestriction.java
delete mode 100644 grails-data-hibernate7/core/src/main/resources/META-INF/org.hibernate.integrator.spi.Integrator
create mode 100644 grails-data-hibernate7/core/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/HqlSelectResultTypeSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/MappedIdentifierSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/SqlRestrictionHibernate7Spec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/UserTypeComparisonSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/ValidationErrorResetSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/proxy/ProxyIdentifierAccessSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/orm/HibernateCriteriaBuilderSqlRestrictionSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/DefaultMappingGlobalEntrySpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/UserTypeMappingSpec.groovy
rename grails-data-mongodb/boot-plugin/src/main/resources/META-INF/{services => }/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports (100%)
create mode 100644 grails-data-mongodb/boot-plugin/src/test/groovy/org/grails/datastore/gorm/mongodb/boot/autoconfigure/MongoDbGormAutoConfigurationClientSpec.groovy
create mode 100644 grails-data-mongodb/boot-plugin/src/test/groovy/org/grails/datastore/gorm/mongodb/boot/autoconfigure/discovered/MongoDbGormAutoConfigurationDiscoverySpec.groovy
create mode 100644 grails-data-mongodb/core/src/main/groovy/org/grails/datastore/mapping/mongo/IndexBuildResult.java
copy grails-test-examples/openapi-rest-api/grails-app/domain/openapirest/Book.groovy => grails-data-mongodb/core/src/main/groovy/org/grails/datastore/mapping/mongo/MissingIndex.java (58%)
copy grails-test-examples/app1/src/main/groovy/functionaltests/springevents/CustomApplicationEvent.groovy => grails-data-mongodb/core/src/main/groovy/org/grails/datastore/mapping/mongo/UndeclaredIndex.java (56%)
create mode 100644 grails-data-mongodb/core/src/main/groovy/org/grails/datastore/mapping/mongo/connections/RestartableMongoClient.java
create mode 100644 grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/ConnectsWhenStartedSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/BuildIndexAsyncResultSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/BuildIndexesDefaultConstraintsSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/MissingIndexesSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/UndeclaredIndexesSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/mapping/mongo/connections/RestartableMongoClientSpec.groovy
create mode 100644 grails-data-mongodb/embedded/src/test/groovy/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoStartedWithTheContextSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormInstanceApiIdentSpec.groovy
copy grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{other/HibernateValidator.java => grails/GrailsCompileStatic.java} (59%)
create mode 100644 grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsCompileStaticSpec.groovy
copy grails-spring-security/plugin/src/main/groovy/grails/plugin/springsecurity/Application.groovy => grails-gradle/model/src/test/groovy/grails/util/BuildSettingsPrinter.groovy (63%)
create mode 100644 grails-gradle/model/src/test/groovy/grails/util/BuildSettingsSpec.groovy
create mode 100644 grails-gradle/model/src/test/groovy/org/grails/io/support/MainClassFinderSpec.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsProjectOutputDirProvider.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsProjectOutputDirProviderSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/bootrun-classes-dir/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => bootrun-classes-dir}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid => bootrun-classes-dir}/grails-app/conf/.keep (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/bootrun-classes-dir/settings.gradle
create mode 100644 grails-test-examples/mongodb/springboot/src/test/groovy/example/ApplicationSpec.groovy
copy grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/MultiplePropertySetterSpec.groovy => grails-test-examples/mongodb/springboot/src/test/groovy/example/SharedDatastoreSpec.groovy (51%)
create mode 100644 grails-test-examples/welcome-page-jetty/build.gradle
copy grails-test-examples/{gsp-compile-static => welcome-page-jetty}/grails-app/conf/application.yml (96%)
create mode 100644 grails-test-examples/welcome-page-jetty/grails-app/conf/spring/resources.groovy
copy {grails-data-graphql/plugin/grails-app/controllers/org/grails/gorm/graphql/plugin => grails-test-examples/welcome-page-jetty/grails-app/controllers/welcomepagejetty}/UrlMappings.groovy (90%)
copy grails-test-examples/{app4/grails-app/init/app4 => welcome-page-jetty/grails-app/init/welcomepagejetty}/Application.groovy (97%)
create mode 100644 grails-test-examples/welcome-page-jetty/src/integration-test/groovy/welcomepagejetty/WelcomePageFiltersJettySpec.groovy
copy grails-spring-security/compat/src/main/groovy/org/springframework/security/web/access/channel/ChannelProcessingFilter.groovy => grails-test-examples/welcome-page-jetty/src/main/groovy/welcomepagejetty/WelcomePageFilters.groovy (53%)
copy grails-test-examples/{gsp-compile-static => welcome-page}/build.gradle (56%)
copy grails-test-examples/{gsp-compile-static => welcome-page}/grails-app/conf/application.yml (96%)
create mode 100644 grails-test-examples/welcome-page/grails-app/conf/spring/resources.groovy
copy {grails-data-graphql/plugin/grails-app/controllers/org/grails/gorm/graphql/plugin => grails-test-examples/welcome-page/grails-app/controllers/welcomepage}/UrlMappings.groovy (90%)
copy grails-test-examples/{app5/grails-app/init/app5 => welcome-page/grails-app/init/welcomepage}/Application.groovy (98%)
create mode 100644 grails-test-examples/welcome-page/src/integration-test/groovy/welcomepage/WelcomePageFiltersSpec.groovy
create mode 100644 grails-test-examples/welcome-page/src/main/groovy/welcomepage/WelcomePageFilters.groovy
create mode 100644 grails-test-suite-uber/src/test/groovy/grails/test/mixin/DomainProxyBindingSpec.groovy
create mode 100644 grails-test-suite-uber/src/test/groovy/grails/test/mixin/InheritedCommandBindingSpec.groovy
create mode 100644 grails-testing-support-core/src/test/groovy/org/grails/compiler/injection/testing/IntegrationTestApplicationClassSpec.groovy
(grails-core) 01/01: Merge branch '8.1.x' into 9.0.x
Posted by jd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit c3b2ea8fcf3d6104643787d70e00eb3c261e8ad1
Merge: d6a3c5532e c16730edd9
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Sun Oct 4 14:01:30 2026 -0400
Merge branch '8.1.x' into 9.0.x
.github/workflows/end-to-end.yml | 3 +-
.github/workflows/gradle.yml | 63 +-
.github/workflows/groovy-snapshot-canary.yml | 5 +-
.github/workflows/release.yml | 36 +
RELEASE.md | 4 +-
dependencies.gradle | 10 +-
.../controller/support/RequestForwarder.groovy | 2 +
.../controller/support/RequestForwarderSpec.groovy | 83 ++
.../orm/hibernate/AbstractHibernateDatastore.java | 16 +-
.../orm/hibernate/GrailsHibernateTemplate.java | 17 +-
.../grails/orm/hibernate/HibernateDatastore.java | 12 +-
.../org/grails/orm/hibernate/cfg/Mapping.groovy | 6 +-
.../compiler/HibernateEntityTransformation.groovy | 2 +-
.../proxy/ByteBuddyGroovyInterceptor.java | 9 +-
.../hibernate/support/HibernateRuntimeUtils.groovy | 26 +-
.../org.hibernate.integrator.spi.Integrator | 1 -
.../hibernate/mapping/MappingBuilderSpec.groovy | 25 +
.../grails/gorm/tests/MappedIdentifierSpec.groovy | 161 +++
.../gorm/tests/ValidationErrorResetSpec.groovy | 151 +++
.../tests/proxy/ProxyIdentifierAccessSpec.groovy | 175 ++++
.../hibernate/DefaultMappingGlobalEntrySpec.groovy | 98 ++
.../GrailsHibernateTemplateFlushModeSpec.groovy | 89 ++
.../orm/hibernate/HibernateDatastoreSpec.groovy | 70 +-
.../HibernateEntityTransformationSpec.groovy | 22 +
.../support/HibernateRuntimeUtilsErrorsSpec.groovy | 165 +++
.../grails/orm/HibernateCriteriaBuilder.java | 31 +-
.../orm/hibernate/GrailsHibernateTemplate.java | 3 +-
.../grails/orm/hibernate/HibernateDatastore.java | 20 +-
.../org/grails/orm/hibernate/HibernateSession.java | 38 +-
.../org/grails/orm/hibernate/cfg/Mapping.groovy | 6 +-
.../domainbinding/binder/JoinedSubClassBinder.java | 2 +-
.../binder/SingleTableSubclassBinder.java | 2 +-
.../domainbinding/binder/UnionSubclassBinder.java | 2 +-
.../generator/GrailsNativeGenerator.java | 3 +-
.../hibernate/HibernateMappingBuilder.groovy | 2 +-
.../hibernate/HibernateMappingKeyword.groovy | 3 +-
.../util/MultiTenantFilterBinder.java | 2 +-
.../util/MultiTenantFilterDefinitionBinder.java | 2 +-
.../compiler/HibernateEntityTransformation.groovy | 2 +-
.../proxy/ByteBuddyGroovyInterceptor.java | 12 +-
.../proxy/ByteBuddyGroovyProxyFactory.java | 3 +-
.../hibernate/proxy/GrailsProxyFactoryFactory.java | 3 +-
.../proxy/GroovyProxyInterceptorLogic.java | 3 +-
.../orm/hibernate/proxy/HibernateProxyHandler.java | 3 +-
.../grails/orm/hibernate/query/AliasRegistry.java | 3 +-
.../orm/hibernate/query/EqualsIgnoreCase.java | 20 +-
.../orm/hibernate/query/ExpressionResolver.java | 3 +-
.../orm/hibernate/query/GrailsQueryFlushMode.java | 3 +-
.../query/GrailsSqlRestrictionFunction.java | 106 ++
.../GrailsSqlRestrictionFunctionContributor.java | 22 +-
.../hibernate/query/Hibernate7CountProjection.java | 3 +-
.../query/HibernateDetachedCriteriaExtension.java | 67 ++
.../hibernate/query/HibernatePagedResultList.java | 3 +-
.../grails/orm/hibernate/query/HibernateQuery.java | 50 +-
.../hibernate/query/HibernateQueryExecutor.java | 19 +-
.../orm/hibernate/query/HqlListQueryBuilder.java | 4 +-
.../orm/hibernate/query/HqlQueryContext.java | 47 +-
.../grails/orm/hibernate/query/JoinTracker.java | 3 +-
.../hibernate/query/JpaCriteriaQueryCreator.java | 22 +-
.../orm/hibernate/query/JpaProjectionAdapter.java | 3 +-
.../hibernate/query/JpaProjectionTranslator.java | 4 +-
.../orm/hibernate/query/JpaQueryContext.java | 33 +-
.../orm/hibernate/query/MutationHqlQuery.java | 3 +-
.../orm/hibernate/query/PredicateGenerator.java | 123 ++-
.../grails/orm/hibernate/query/SqlRestriction.java | 133 +++
.../hibernate/support/HibernateRuntimeUtils.groovy | 26 +-
.../org.hibernate.integrator.spi.Integrator | 1 -
.../org.codehaus.groovy.runtime.ExtensionModule | 3 +
.../org.hibernate.boot.model.FunctionContributor | 1 +
.../mapping/HibernateMappingBuilderSpec.groovy | 9 +
.../hibernate/mapping/MappingBuilderSpec.groovy | 25 +
.../gorm/tests/HqlSelectResultTypeSpec.groovy | 87 ++
.../grails/gorm/tests/MappedIdentifierSpec.groovy | 161 +++
.../gorm/tests/SqlRestrictionHibernate7Spec.groovy | 160 +++
.../gorm/tests/UserTypeComparisonSpec.groovy | 443 ++++++++
.../gorm/tests/ValidationErrorResetSpec.groovy | 151 +++
.../tests/hibernatequery/HibernateQuerySpec.groovy | 96 +-
.../JpaCriteriaQueryCreatorSpec.groovy | 73 +-
.../hibernatequery/PredicateGeneratorSpec.groovy | 40 +
.../tests/proxy/ProxyIdentifierAccessSpec.groovy | 175 ++++
.../orm/HibernateCriteriaBuilderDirectSpec.groovy | 30 +-
...bernateCriteriaBuilderSqlRestrictionSpec.groovy | 534 ++++++++++
.../hibernate/DefaultMappingGlobalEntrySpec.groovy | 98 ++
.../hibernate/GrailsHibernateTemplateSpec.groovy | 21 +
.../orm/hibernate/HibernateDatastoreSpec.groovy | 43 +-
.../orm/hibernate/HibernateSessionSpec.groovy | 67 +-
.../orm/hibernate/UserTypeMappingSpec.groovy | 218 ++++
.../grails/orm/hibernate/cfg/MappingSpec.groovy | 4 +
.../HibernateEntityTransformationSpec.groovy | 21 +-
.../proxy/ByteBuddyGroovyInterceptorSpec.groovy | 9 +-
.../orm/hibernate/query/HqlQueryContextSpec.groovy | 33 +-
.../orm/hibernate/query/JpaQueryContextSpec.groovy | 43 +
.../support/HibernateRuntimeUtilsSpec.groovy | 44 +-
.../ormdsl/customHibernateTypes.adoc | 25 +-
.../docs/src/docs/asciidoc/querying/criteria.adoc | 22 +-
.../docs/asciidoc/querying/detachedCriteria.adoc | 11 +-
.../MongoDbGormAutoConfiguration.groovy | 139 ++-
...rk.boot.autoconfigure.AutoConfiguration.imports | 0
.../MongoDbGormAutoConfigurationClientSpec.groovy | 218 ++++
.../MongoDbGormAutoConfigurationCloseSpec.groovy | 103 +-
...ongoDbGormAutoConfigurationDiscoverySpec.groovy | 98 ++
.../datastore/mapping/mongo/IndexBuildResult.java | 39 +
.../datastore/mapping/mongo/MissingIndex.java | 31 +-
.../datastore/mapping/mongo/MongoDatastore.java | 1058 ++++++++++++++++----
.../datastore/mapping/mongo/UndeclaredIndex.java | 32 +-
.../MongoConnectionSourceFactory.groovy | 18 +-
.../mongo/connections/RestartableMongoClient.java | 376 +++++++
.../bootstrap/ConnectsWhenStartedSpec.groovy | 154 +++
.../MongoDbDataStoreSpringInitializerSpec.groovy | 26 +
.../gorm/mongo/BuildIndexAsyncResultSpec.groovy | 598 +++++++++++
.../gorm/mongo/BuildIndexesAsyncSpec.groovy | 27 +-
.../mongo/BuildIndexesBackgroundFailureSpec.groovy | 2 +-
.../BuildIndexesClassificationCostSpec.groovy | 1 +
.../BuildIndexesDefaultConstraintsSpec.groovy | 91 ++
.../mongo/BuildIndexesFailureSummarySpec.groovy | 68 +-
.../gorm/mongo/BuildIndexesHookSpec.groovy | 1 +
.../gorm/mongo/BuildIndexesKeyOrderSpec.groovy | 1 +
.../gorm/mongo/BuildIndexesLifecycleSpec.groovy | 138 +++
.../gorm/mongo/BuildIndexesNameConflictSpec.groovy | 2 +
.../BuildIndexesPartialClassificationSpec.groovy | 1 +
.../mongo/BuildIndexesRecreateSummarySpec.groovy | 1 +
.../mongo/BuildIndexesStaleSnapshotSpec.groovy | 1 +
.../gorm/mongo/BuildIndexesSummaryLogSpec.groovy | 1 +
.../mongo/BuildIndexesUnfinishedSummarySpec.groovy | 3 +-
.../BuildIndexesUnreadableIndexListSpec.groovy | 1 +
.../gorm/mongo/DocumentMappingSpec.groovy | 18 +-
.../datastore/gorm/mongo/MissingIndexesSpec.groovy | 350 +++++++
.../gorm/mongo/UndeclaredIndexesSpec.groovy | 535 ++++++++++
.../BuildIndexesPerConnectionSpec.groovy | 176 +++-
.../mongo/MongoDatastoreLifecycleSpec.groovy | 268 ++++-
.../connections/RestartableMongoClientSpec.groovy | 293 ++++++
.../asciidoc/gettingStarted/advancedConfig.adoc | 15 +-
.../asciidoc/gettingStarted/embeddedMongo.adoc | 12 +
.../docs/asciidoc/gettingStarted/springBoot.adoc | 2 +
.../asciidoc/gettingStarted/springDataInterop.adoc | 2 +-
.../docs/asciidoc/introduction/releaseNotes.adoc | 12 +-
.../docs/asciidoc/introduction/upgradeNotes.adoc | 33 +-
.../src/docs/asciidoc/querying/queryIndexes.adoc | 103 +-
.../mongodb/embedded/EmbeddedMongoInitializer.java | 138 ++-
.../EmbeddedMongoStartedWithTheContextSpec.groovy | 258 +++++
.../SpringDataMongoGormRestoreSpec.groovy | 8 +-
.../partitioned/PartitionMultiTenancySpec.groovy | 39 +
.../grails/datastore/gorm/GormInstanceApi.groovy | 31 +-
.../multitenancy/MultiTenantEventListener.java | 13 +-
.../datastore/gorm/GormInstanceApiIdentSpec.groovy | 257 +++++
.../datastore/gorm/GormInstanceApiSpec.groovy | 5 +-
.../MultiTenantEventListenerSpec.groovy | 62 +-
.../testing/tck/tests/CrudOperationsSpec.groovy | 6 +-
.../tck/tests/ValidationHibernateSpec.groovy | 7 +-
.../data/testing/tck/tests/ValidationSpec.groovy | 8 +-
.../grails/datastore/mapping/config/Entity.groovy | 3 +
.../DefaultMappingConfigurationBuilder.groovy | 13 +-
.../DefaultMappingConfigurationBuilderSpec.groovy | 52 +
.../guide/gettingStarted/developmentReloading.adoc | 32 +
grails-doc/src/en/guide/introduction/whatsNew.adoc | 31 +
.../grailsCompileStatic.adoc | 7 +
.../src/en/guide/upgrading/upgrading80x.adoc | 9 +
grails-doc/src/en/ref/Controllers/bindData.adoc | 2 +
grails-doc/src/en/ref/Dependency Versions.adoc | 2 +-
grails-doc/src/en/ref/Domain Classes/ident.adoc | 22 +-
grails-doc/src/en/ref/Domain Classes/load.adoc | 6 +-
grails-doc/src/en/ref/Domain Classes/validate.adoc | 4 +
.../build/gradle/templates/buildGradle.rocker.raw | 13 +
.../forge/feature/grails/GrailsCompileStatic.java | 62 ++
.../src/main/resources/gsp/index.gsp | 137 ++-
.../src/main/resources/i18n/messages.properties | 6 +-
.../src/main/resources/i18n/messages_cs.properties | 6 +-
.../src/main/resources/i18n/messages_da.properties | 6 +-
.../src/main/resources/i18n/messages_de.properties | 6 +-
.../src/main/resources/i18n/messages_es.properties | 6 +-
.../src/main/resources/i18n/messages_fr.properties | 6 +-
.../src/main/resources/i18n/messages_it.properties | 6 +-
.../src/main/resources/i18n/messages_ja.properties | 6 +-
.../src/main/resources/i18n/messages_nb.properties | 6 +-
.../src/main/resources/i18n/messages_nl.properties | 6 +-
.../src/main/resources/i18n/messages_pl.properties | 6 +-
.../main/resources/i18n/messages_pt_BR.properties | 6 +-
.../main/resources/i18n/messages_pt_PT.properties | 6 +-
.../src/main/resources/i18n/messages_ru.properties | 6 +-
.../src/main/resources/i18n/messages_sk.properties | 6 +-
.../src/main/resources/i18n/messages_sv.properties | 6 +-
.../src/main/resources/i18n/messages_th.properties | 6 +-
.../main/resources/i18n/messages_zh_CN.properties | 6 +-
.../main/resources/i18n/messages_zh_TW.properties | 6 +-
.../feature/grails/GrailsCompileStaticSpec.groovy | 72 ++
.../grails/forge/feature/view/GrailsGspSpec.groovy | 11 +-
.../org/grails/forge/create/CreateAppSpec.groovy | 11 +
.../model/src/main/groovy/grails/io/IOUtils.groovy | 30 +-
.../main/groovy/grails/util/BuildSettings.groovy | 52 +-
.../org/grails/io/support/MainClassFinder.groovy | 41 +
.../src/test/groovy/grails/io/IOUtilsSpec.groovy | 13 +
.../groovy/grails/util/BuildSettingsPrinter.groovy | 21 +-
.../groovy/grails/util/BuildSettingsSpec.groovy | 117 +++
.../grails/io/support/MainClassFinderSpec.groovy | 126 +++
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 33 +-
.../core/GrailsProjectOutputDirProvider.groovy | 153 +++
.../core/GrailsGradlePluginToolchainSpec.groovy | 55 +
.../core/GrailsProjectOutputDirProviderSpec.groovy | 112 +++
.../test-projects/bootrun-classes-dir/build.gradle | 30 +
.../bootrun-classes-dir/gradle.properties | 1 +
.../bootrun-classes-dir/grails-app/conf/.keep | 0
.../bootrun-classes-dir/settings.gradle | 1 +
.../org/grails/openapi/GrailsModelConverter.groovy | 5 +
.../groovy/grails/openapi/CommandObjectSpec.groovy | 53 +
.../skeleton/grails-app/i18n/messages.properties | 6 +-
.../grails-app/i18n/messages_cs.properties | 6 +-
.../grails-app/i18n/messages_da.properties | 6 +-
.../grails-app/i18n/messages_de.properties | 6 +-
.../grails-app/i18n/messages_es.properties | 6 +-
.../grails-app/i18n/messages_fr.properties | 6 +-
.../grails-app/i18n/messages_it.properties | 6 +-
.../grails-app/i18n/messages_ja.properties | 6 +-
.../grails-app/i18n/messages_nb.properties | 6 +-
.../grails-app/i18n/messages_nl.properties | 6 +-
.../grails-app/i18n/messages_pl.properties | 6 +-
.../grails-app/i18n/messages_pt_BR.properties | 6 +-
.../grails-app/i18n/messages_pt_PT.properties | 6 +-
.../grails-app/i18n/messages_ru.properties | 6 +-
.../grails-app/i18n/messages_sk.properties | 6 +-
.../grails-app/i18n/messages_sv.properties | 6 +-
.../grails-app/i18n/messages_th.properties | 6 +-
.../grails-app/i18n/messages_zh_CN.properties | 6 +-
.../grails-app/i18n/messages_zh_TW.properties | 6 +-
.../web/skeleton/grails-app/views/index.gsp | 137 ++-
.../skills/grails-8-upgrade/SKILL.md | 278 ++++-
.../AbstractGrailsMockHttpServletResponse.groovy | 3 +-
.../gorm/DirtyCheckBindingController.groovy | 17 +-
.../groovy/gorm/DirtyCheckBindingSpec.groovy | 67 +-
.../gorm/DirtyCheckBindingController.groovy | 17 +-
.../groovy/gorm/DirtyCheckBindingSpec.groovy | 67 +-
.../functional/tests/ModelInterceptor.groovy | 2 +
.../tests/RenderTemplateController.groovy | 32 +
.../tests/ModelInterceptorIntSpec.groovy | 40 +
.../src/test/groovy/example/ApplicationSpec.groovy | 96 ++
.../test/groovy/example/SharedDatastoreSpec.groovy | 63 ++
.../example/SpringBootStartMongoExtension.groovy | 4 +-
.../functional/tests/ModelInterceptor.groovy | 2 +
.../tests/RenderTemplateController.groovy | 32 +
.../tests/ModelInterceptorIntSpec.groovy | 40 +
.../welcome-page-jetty/build.gradle | 94 ++
.../grails-app/conf/application.yml | 23 +
.../grails-app/conf/spring/resources.groovy | 52 +
.../welcomepagejetty/UrlMappings.groovy} | 21 +-
.../init/welcomepagejetty/Application.groovy} | 24 +-
.../WelcomePageFiltersJettySpec.groovy | 94 ++
.../welcomepagejetty/WelcomePageFilters.groovy | 66 ++
grails-test-examples/welcome-page/build.gradle | 84 ++
.../welcome-page/grails-app/conf/application.yml | 23 +
.../grails-app/conf/spring/resources.groovy | 60 ++
.../controllers/welcomepage/UrlMappings.groovy} | 21 +-
.../init/welcomepage/Application.groovy} | 24 +-
.../welcomepage/WelcomePageFiltersSpec.groovy | 98 ++
.../groovy/welcomepage/WelcomePageFilters.groovy | 85 ++
.../test/mixin/DomainProxyBindingSpec.groovy | 92 ++
.../test/mixin/InheritedCommandBindingSpec.groovy | 398 ++++++++
.../GrailsMockHttpServletResponseTests.groovy | 92 ++
.../IntegrationTestAstTransformation.groovy | 27 +-
.../IntegrationTestApplicationClassSpec.groovy | 116 +++
.../grails/web/databinding/DataBindingUtils.java | 35 +-
.../web/databinding/BindingIncludeLists.java | 72 +-
.../web/databinding/DataBindingUtilsSpec.groovy | 55 +-
.../org/grails/web/mapping/UrlMappingUtils.java | 9 +
.../grails/web/mapping/UrlMappingUtilsSpec.groovy | 134 +++
settings.gradle | 4 +
264 files changed, 13938 insertions(+), 943 deletions(-)