diff --git a/posts/2025-08-10-grails-7-rc1.md b/posts/2025-08-10-grails-7-rc1.md new file mode 100644 index 00000000000..9e02a9ea6fd --- /dev/null +++ b/posts/2025-08-10-grails-7-rc1.md @@ -0,0 +1,249 @@ +--- +version: 7.0.0-RC1 +priorVersion: 7.0.0-M5 +title: Apache Grails (Incubating) [%version] - Release Announcement +date: July 10, 2025 +description: The Apache Grails (incubating) community is excited to announce the Milestone [%version] release of the Grails Framework! +author: James Fredley +image: grails-blog-index-3.png + +--- + +# [%title] + +[%author] + +[%date] + +[%description] \ +We encourage you to try this pre-release version and provide your feedback [here](https://github.com/apache/grails-core/issues). + +## Download Source Code and Binary Distributions + +[Apache Grails Downloads](/download.html) + +## What's Changed +For changes made in Grails 7 prior to [%version], check out the following blog posts: +* [Grails 7.0.0-M1](/blog/2024-12-23-grails-7-m1.html) +* [Grails 7.0.0-M3](/blog/2025-03-05-grails-7-m3.html) +* [Grails 7.0.0-M4](/blog/2025-06-10-grails-7-m4.html) +* [Grails 7.0.0-M5](/blog/2025-07-15-grails-7-m5.html) + +### [%version] Changes: +* Add permissions to release environments by @jdaugherty in #14795 +* Asset plugin forking compiler @jdaugherty (#14948) +* Update base, web and rest-api profiles to more closely match Forge @jamesfredley (#14942) +* #14886 - add licensing to distributed shadowJar @jdaugherty (#14945) +* Add non-default, optional virtual thread feature to Forge for Java 24+ @jamesfredley (#14941) +* remove: pdf publishing due to licensing issues & no longer using inside of Grails documentation @jdaugherty (#14940) +* Update to spring-boot 3.5.4 & groovy 4.0.28 @jamesfredley (#14934) +* feature: add grails-dependency proposal @jdaugherty (#14924) +* Enhance CreateReleaseDropDownTask so it can be reused by grails-spring-security @jamesfredley (#14929) +* remove old asm & AnnotationMetadataReader supporting classes; adopt SimpleMetadataReaderFactory @jdaugherty (#14922) +* Set spring boot dev tools as a default feature in forge to match profiles @jamesfredley (#14921) +* Use version variables + minor copy and formatting adjustments @jamesfredley (#14908) +* Dependency minor/patch version updates before 7.0.0-RC1 @jamesfredley (#14909) +* Fix build performance issues @jprinet (#14895) +* Merge 7.0.0 m5 release tag @jamesfredley (#14907) +* Enhance documentation for grails-shell vs grails-forge CLIs, plus Gra… @jamesfredley (#14906) +* Add version support message for IntelliJ Grails Plugin @jamesfredley (#14905) +* Update GitHub repository homepage URL @jamesfredley (#14902) +* Deprecated Removals @jdaugherty (#14901) +* Fix snapshot docs URL, currently only appears on snapshot docs @jamesfredley (#14900) +* Restore Sitemesh3GrailsPlugin @jdaugherty (#14891) +* Wrapper Improvements found by M5 Release @jdaugherty (#14896) +* Fix issue reported by GitHub CodeQL @matrei (#14936) +* fix: #14918 adjust the class loader used for command loading to ensure the delegating cli can find all commands @jdaugherty (#14926) +* fix: #14910 - make property files reproducible by default (per day) @jdaugherty (#14919) +* fix: issues found by M5 release verification @jdaugherty (#14904) +* fix: #13705 - revert changes to Metadata from micronaut removal @jdaugherty (#14897) +* fix: #13668 - update for SpringBoot resource split into subclass @jdaugherty (#14888) +* #14930 - make views reproducible by sorting views always @jdaugherty (#14946) +* build(deps): bump google-github-actions/auth from 2.1.10 to 2.1.11 @dependabot[bot] (#14939) +* build(deps): bump google-github-actions/setup-gcloud from 2.1.4 to 2.1.5 @dependabot[bot] (#14938) +* fix: #14910 - make property files reproducible by default (per day) @jdaugherty (#14919) +* doc: #14892 - update RELEASE.md for workflow changes and grails-forge repo merge @jdaugherty (#14893) +* fix: #13705 - revert changes to Metadata from micronaut removal @jdaugherty (#14897) + +Full Changelog: [v[%priorVersion]...v[%version]](https://github.com/apache/grails-core/compare/v[%priorVersion]...v[%version]) + +Upgrade instructions are available in the [documentation](https://docs.grails.org/[%version]/guide/single.html#upgrading60x). + +## Dependency Upgrades +In this release, we've upgraded several dependency versions, including but not limited to the following: + +* Asset Pipeline 5.0.12 (now cloud.wondrify.asset-pipeline) +* Groovy 4.0.28 +* Spring Framework 6.2.9 +* Spring Boot 3.5.4 +* Gradle 8.14.3 +* See all in the [grails-bom](https://docs.grails.org/[%version]/ref/Versions/Grails%20BOM.html). + +## Generating a new Grails [%version] application with Grails Forge +Try out Grails today by visiting our online application generator [Grails Forge](https://start.grails.org). This is the quickest and the recommended way to get started with Grails. + +After installing JetBrains' IntelliJ IDEA 2025.2 or later and the [Grails Plugin](https://plugins.jetbrains.com/plugin/18504-grails), the Grails Application Forge will also be available under New Project in IntelliJ IDEA. + +Within your newly generated project you can access the Grails CLIs with the Grails Wrapper. + +See the [Types of CLI](https://docs.grails.org/[%version]/guide/gettingStarted.html#_types_of_command_line_interface_cli) section in the documentation for details on each CLI. + +grail-shell-cli + +```shell +grailsw +``` + +grails-forge-cli + +```shell +grailsw -t forge +``` + +## Installing Grails CLIs [%version] with SDKMan +Alternatively, you can quickly install Grails [%version] CLIs (grails-shell-cli and grails-forge-cli) using [SDKMan](https://sdkman.io). + +See the [Types of CLI](https://docs.grails.org/[%version]/guide/gettingStarted.html#_types_of_command_line_interface_cli) section in the documentation for details on each CLI. + +1. If you don't have SDKMan installed, follow the instructions at [SDKMan Installation Guide](https://sdkman.io/install) to set it up. +2. Once SDKMan is installed, open your terminal and run the following command to install Grails [%version]: + + ```shell + sdk install grails [%version] + ``` + +3. You're all set! To verify the installation, run: + + ```shell + grails --version + ``` + +The Grails Shell CLI can be accessed as: + +```shell +grails +``` +or +```shell +grails-shell-cli +``` +The Grails Forge CLI can be accessed as: +```shell +grails -t forge +``` +or +```shell +grails-forge-cli +``` + +## Upgrading Your Existing Applications to Grails [%version] +If you already have a Grails application and want to upgrade to the latest version, follow these steps: + +1. Open the project in your favorite IDE (preferably JetBrains' IntelliJ IDEA 2025.2 or later). +2. Update your application's `gradle.properties` file to specify Grails [%version] as the desired version. + + ```properties + grailsVersion=[%version] + ``` + +3. Make any necessary adjustments to your application code, configuration, and dependencies to ensure compatibility with + the new version. [See Upgrade Guide](https://docs.grails.org/[%version]/guide/single.html#upgrading60x) + +Normally, Grails Core dependencies are automatically updated using the Grails Bill of Materials (BOM). However, if you +have specific versions defined in your build configuration, you may need to manually update them to align with +Grails [%version]. + +By following these steps, you should be able to transition your existing Grails application to Grails [%version]. + +### Exploring Alternative Approaches +If manual dependency updates seem daunting, or you want a more streamlined approach, consider the following alternatives: + +#### 1. Use Grails Forge Website +Visit [Grails Forge](https://start.grails.org) and generate a new Grails application with Grails [%version]. Compare the +versions in the newly generated application with your existing one to identify any discrepancies. This can serve as a +reference point for your update. + +#### 2. Automated Dependency Update Bots +Configure automated dependency update bots like [Renovate](https://docs.renovatebot.com) or +[Dependabot](https://dependabot.com) with your source control platform (e.g., GitHub). These bots can automatically +detect and update outdated dependencies in your project, including Grails dependencies, saving you time and effort in +manual updates. + +With these steps and alternative approaches, you should be well on your way to enjoying the exciting features and +improvements in Grails [%version]. + +## Why should you try out Grails [%version]? +* Help us test this major upgrade of the Grails Framework and provide feedback. +* Be ready for when Grails 7 is released. + +## Grails 7 Release Schedule +* We will continue to work on [updating and fixing issues](https://github.com/orgs/apache/projects/487/views/2) over the next few + weeks. +* Based on feedback, an Apache Grails RC or Final release is targeted for September 2025. + +## Apache Grails Mailing Lists +### Users Mailing List +The users mailing list will be a General purpose list for questions and discussion about Grails.\ +**Web Archive:** [https://lists.apache.org/list.html?users@grails.apache.org](https://lists.apache.org/list.html?users@grails.apache.org) \ +**Subscribe:** Send a blank email to [users-subscribe@grails.apache.org](mailto:users-subscribe@grails.apache.org) + +### Dev Mailing List +The dev mailing list is focused on the framework implementation and its evolution. \ +**Web Archive:** [https://lists.apache.org/list.html?dev@grails.apache.org](https://lists.apache.org/list.html?dev@grails.apache.org) \ +**Subscribe:** Send a blank email to [dev-subscribe@grails.apache.org](mailto:dev-subscribe@grails.apache.org) + +When participating in mailing lists, you should never include any personally identifiable information (PII) like +your address, phone number or email address, as all messages sent to these lists are publicly accessible and archived, +meaning anyone can view your information. Make sure your email client does not add your signature with these items. + +## Thank you! +A huge thank you to our amazing community for supporting the Grails Framework over the past 20 years! We’re excited for +the future and grateful for the opportunity to continue innovating and pushing Grails forward together. + +## Contributors +We would like to extend our heartfelt thanks to all the contributors who made Grails [%version] possible. \ +Special thanks to: + +* [James Daugherty](https://github.com/jdaugherty) +* [James Fredley](https://github.com/jamesfredley) +* [Mattias Reichel](https://github.com/matrei) +* [Scott Murphy](https://github.com/codeconsole) +* [Brian Koehmstedt](https://github.com/bkoehm) +* [Søren Berg Glasius](https://github.com/sbglasius) +* [Paul King](https://github.com/paulk-asert) +* [Jonas Pammer](https://github.com/JonasPammer) +* [Gianluca Sartori](https://github.com/gsartori) +* [David Estes](https://github.com/davydotcom) +* [Michael Yan](https://github.com/rainboyan) +* [Jude Vargas](https://github.com/JudeRV) +* [Thomas Rasmussen](https://github.com/dauer) +* [Laura Estremera](https://github.com/irllyliketoast) +* [Hallie Uczen](https://github.com/shadowchaser000) +* [Jérôme Prinet](https://github.com/jprinet) +* [Stephen Lynch](https://github.com/lynchie14) +* [Andrew Herring](https://github.com/dreewh) +* [Yasuharu Nakano](https://github.com/nobeans) +* [Aaron Mondelblatt](https://github.com/amondel2) +* [Arjang Chinichian](https://github.com/arjangch) +* [Felix Scheinost](https://github.com/felixscheinost) +* [gandharvas](https://github.com/gandharvas) +* [zyro](https://github.com/zyro23) + +Recent Contributors by Project: + +* [grails-core](https://github.com/apache/grails-core/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-spring-security](https://github.com/apache/grails-spring-security/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-static-website](https://github.com/apache/grails-static-website/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-forge-ui](https://github.com/apache/grails-forge-ui/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-quartz](https://github.com/apache/grails-quartz/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-gradle-publish](https://github.com/apache/incubator-grails-gradle-publish/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-redis](https://github.com/apache/grails-redis/graphs/contributors[%6MonthsBackForGitHub]) +* [grails-github-actions](https://github.com/apache/grails-github-actions/graphs/contributors[%6MonthsBackForGitHub]) + +[Combined Commit List](https://github.com/search?q=repo%3Aapache%2Fgrails-core+repo%3Aapache%2Fgrails-spring-security+repo%3Aapache%2Fgrails-static-website+repo%3Aapache%2Fgrails-forge-ui+repo%3Aapache%2Fgrails-quartz+repo%3Aapache%2Fincubator-grails-gradle-publish+repo%3Agrails-redis+repo%3Agrails-github-actions+is%3Apublic&type=commits&s=committer-date&o=desc) + +Their dedication and hard work have significantly contributed to the release of Grails [%version]. + +Join the [Grails Slack Community](https://grails.slack.com), share your feedback, and contribute to making Grails Framework even better in +the future. Happy coding! +