This is an automated email from the ASF dual-hosted git repository. jamesfredley pushed a commit to branch docs/spring-security-upgrade-instructions in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 7e85db270cd923a2983c0f531918540dccf45437 Author: James Fredley <[email protected]> AuthorDate: Sat Feb 28 19:29:40 2026 -0500 docs: add Spring Security plugin upgrade instructions Document the consolidation of separate Spring Security plugin repositories into apache/grails-spring-security and the artifact coordinate changes, including the spring-security-core to grails-spring-security rename. Fixes #15388 Assisted-by: Claude Code <[email protected]> --- .../src/en/guide/upgrading/upgrading60x.adoc | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc index 383561c9eb..1808630a03 100644 --- a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc +++ b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc @@ -865,3 +865,87 @@ grails: * **8.0**: `SimpleEnumMarshaller` will become the default The legacy `org.grails.web.converters.marshaller.json.EnumMarshaller` and `org.grails.web.converters.marshaller.xml.EnumMarshaller` classes are marked as `@Deprecated(forRemoval = true, since = "7.0.2")` and will be removed in Grails 8.0. + +===== 12.27 Spring Security Plugins + +In Grails 7, the previously separate Spring Security plugin repositories have been consolidated into a single repository: https://github.com/apache/grails-spring-security[apache/grails-spring-security]. This repository now contains the core plugin and all extension plugins (ACL, CAS, LDAP, OAuth2, REST, and UI). + +Along with the consolidation, the artifact coordinates have changed to follow the new Apache namespace. The most notable change is that `spring-security-core` has been renamed to `grails-spring-security` (dropping the `-core` suffix). + +====== Dependency Changes + +Update your `build.gradle` dependencies as follows: + +[cols="1,1",options="header"] +|=== +| Old Dependency | New Dependency + +| `org.grails.plugins:spring-security-core` +| `org.apache.grails:grails-spring-security` + +| `org.grails.plugins:spring-security-acl` +| `org.apache.grails:grails-spring-security-acl` + +| `org.grails.plugins:spring-security-cas` +| `org.apache.grails:grails-spring-security-cas` + +| `org.grails.plugins:spring-security-ldap` +| `org.apache.grails:grails-spring-security-ldap` + +| `org.grails.plugins:spring-security-oauth2` +| `org.apache.grails:grails-spring-security-oauth2` + +| `org.grails.plugins:spring-security-rest` +| `org.apache.grails:grails-spring-security-rest` + +| `org.grails.plugins:spring-security-rest-gorm` +| `org.apache.grails:grails-spring-security-rest-datamapping` + +| `org.grails.plugins:spring-security-rest-grailscache` +| `org.apache.grails:grails-spring-security-grails-cache` + +| `org.grails.plugins:spring-security-rest-memcached` +| `org.apache.grails:grails-spring-security-rest-memcached` + +| `org.grails.plugins:spring-security-rest-redis` +| `org.apache.grails:grails-spring-security-rest-redis` + +| `org.grails.plugins:spring-security-ui` +| `org.apache.grails:grails-spring-security-ui` +|=== + +====== Example + +A typical Spring Security Core dependency change: + +[source,groovy] +.build.gradle +---- +// Before (Grails 6) +implementation 'org.grails.plugins:spring-security-core:6.1.1' + +// After (Grails 7) +implementation 'org.apache.grails:grails-spring-security' +---- + +NOTE: With the unified Grails BOM (see <<_4_unified_bill_of_materials>>), versions are managed automatically when using a Grails Gradle plugin. You no longer need to specify the version explicitly. + +====== REST Plugin Token Storage Submodules + +If you use the Spring Security REST plugin with a specific token storage backend, note the following renames: + +* `spring-security-rest-gorm` is now `grails-spring-security-rest-datamapping` (reflecting the rename of GORM to Grails Data Mapping) +* `spring-security-rest-grailscache` is now `grails-spring-security-grails-cache` + +====== Automated Migration + +The coordinate rename script referenced in <<_5_coordinate_changes>> also handles Spring Security artifacts. Running it will update your Gradle files automatically: + +[source,bash] +---- +./rename_gradle_artifacts.sh -l my/project/location +---- + +====== Documentation + +The Spring Security plugin documentation is available at https://apache.github.io/grails-spring-security/[apache.github.io/grails-spring-security].
