diff --git a/RENAME.md b/RENAME.md index 2c0708ea827..aeac8be2482 100644 --- a/RENAME.md +++ b/RENAME.md @@ -131,7 +131,7 @@ Below is a reference of all migrated artifacts - both their old and new name. | org.grails.plugins | spring-security-oauth2 | org.apache.grails | grails-spring-security-oauth2 | | | grails-spring-security | | org.grails.plugins | spring-security-rest | org.apache.grails | grails-spring-security-rest | | | grails-spring-security | | org.grails.plugins | spring-security-rest-gorm | org.apache.grails | grails-spring-security-rest-datamapping | | | grails-spring-security | -| org.grails.plugins | spring-security-rest-grailscache | org.apache.grails | grails-spring-security-grails-cache | | | grails-spring-security | +| org.grails.plugins | spring-security-rest-grailscache | org.apache.grails | grails-spring-security-rest-grailscache | | | grails-spring-security | | org.grails.plugins | spring-security-rest-memcached | org.apache.grails | grails-spring-security-rest-memcached | | | grails-spring-security | | org.grails.plugins | spring-security-rest-redis | org.apache.grails | grails-spring-security-rest-redis | | | grails-spring-security | | org.grails.plugins | spring-security-ui | org.apache.grails | grails-spring-security-ui | | | grails-spring-security | @@ -164,7 +164,7 @@ Below is a reference of all migrated artifacts - both their old and new name. | org.grails.profiles | react | org.apache.grails.profiles | react | | | grails-profiles | | org.grails.profiles | rest-api | org.apache.grails.profiles | rest-api | | | grails-profiles | | org.grails.profiles | rest-api-plugin | org.apache.grails.profiles | rest-api-plugin | | | grails-profiles | -| org.grails.plugins | spring-security-rest-testapp-profile | org.apache.grails.profiles | spring-security-rest-testapp | | | grails-spring-security | +| org.grails.plugins | spring-security-rest-testapp-profile | org.apache.grails.profiles | spring-security-rest-testapp-profile | | | grails-spring-security | | org.grails.profiles | vue | org.apache.grails.profiles | vue | | | grails-profiles | | org.grails.profiles | web | org.apache.grails.profiles | web | | | grails-profiles | | org.grails.profiles | web-plugin | org.apache.grails.profiles | web-plugin | | | grails-profiles | diff --git a/etc/bin/rename_gradle_artifacts.sh b/etc/bin/rename_gradle_artifacts.sh index f0e0318fa21..7e96ee0acc4 100755 --- a/etc/bin/rename_gradle_artifacts.sh +++ b/etc/bin/rename_gradle_artifacts.sh @@ -292,10 +292,10 @@ mappings+=("${redis_mappings[@]}") echo "Mapping grails-security artifacts" declare -a security_mappings=( "org[.]grails[.]plugins:spring-security-ui|org.apache.grails:grails-spring-security-ui" - "org[.]grails[.]plugins:spring-security-rest-testapp-profile|org.apache.grails.profiles:spring-security-rest-testapp" + "org[.]grails[.]plugins:spring-security-rest-testapp-profile|org.apache.grails.profiles:spring-security-rest-testapp-profile" "org[.]grails[.]plugins:spring-security-rest-redis|org.apache.grails:grails-spring-security-rest-redis" "org[.]grails[.]plugins:spring-security-rest-memcached|org.apache.grails:grails-spring-security-rest-memcached" - "org[.]grails[.]plugins:spring-security-rest-grailscache|org.apache.grails:grails-spring-security-grails-cache" + "org[.]grails[.]plugins:spring-security-rest-grailscache|org.apache.grails:grails-spring-security-rest-grailscache" "org[.]grails[.]plugins:spring-security-rest-gorm|org.apache.grails:grails-spring-security-rest-datamapping" "org[.]grails[.]plugins:spring-security-rest|org.apache.grails:grails-spring-security-rest" "org[.]grails[.]plugins:spring-security-oauth2|org.apache.grails:grails-spring-security-oauth2" @@ -307,10 +307,10 @@ declare -a security_mappings=( declare -a excluded_security_mappings=( "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-ui['\"]|exclude module:'grails-spring-security-ui'" "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest['\"]|exclude module:'grails-spring-security-rest'" - "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-testapp-profile['\"]|exclude module:'spring-security-rest-testapp'" + "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-testapp-profile['\"]|exclude module:'spring-security-rest-testapp-profile'" "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-redis['\"]|exclude module:'grails-spring-security-rest-redis'" "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-memcached['\"]|exclude module:'grails-spring-security-rest-memcached'" - "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-grailscache['\"]|exclude module:'grails-spring-security-grails-cache'" + "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-grailscache['\"]|exclude module:'grails-spring-security-rest-grailscache'" "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-rest-gorm['\"]|exclude module:'grails-spring-security-rest-datamapping'" "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-oauth2['\"]|exclude module:'grails-spring-security-oauth2'" "exclude[[:space:]]+module[[:space:]]*:[[:space:]]*['\"]spring-security-ldap['\"]|exclude module:'grails-spring-security-ldap'" diff --git a/grails-doc/src/en/guide/upgrading/upgrading60x.adoc b/grails-doc/src/en/guide/upgrading/upgrading60x.adoc index 383561c9eb3..460d06f67d7 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-rest-grailscache` + +| `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-rest-grailscache` + +====== 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].