|
| 1 | +--- |
| 2 | +version: 7.0.0-RC1 |
| 3 | +priorVersion: 7.0.0-M5 |
| 4 | +title: Apache Grails (Incubating) [%version] - Release Announcement |
| 5 | +date: July 10, 2025 |
| 6 | +description: The Apache Grails (incubating) community is excited to announce the Milestone [%version] release of the Grails Framework! |
| 7 | +author: James Fredley |
| 8 | +image: grails-blog-index-3.png |
| 9 | + |
| 10 | +--- |
| 11 | + |
| 12 | +# [%title] |
| 13 | + |
| 14 | +[%author] |
| 15 | + |
| 16 | +[%date] |
| 17 | + |
| 18 | +[%description] \ |
| 19 | +We encourage you to try this pre-release version and provide your feedback [here](https://github.com/apache/grails-core/issues). |
| 20 | + |
| 21 | +## Download Source Code and Binary Distributions |
| 22 | + |
| 23 | +[Apache Grails Downloads](/download.html) |
| 24 | + |
| 25 | +## What's Changed |
| 26 | +For changes made in Grails 7 prior to [%version], check out the following blog posts: |
| 27 | +* [Grails 7.0.0-M1](/blog/2024-12-23-grails-7-m1.html) |
| 28 | +* [Grails 7.0.0-M3](/blog/2025-03-05-grails-7-m3.html) |
| 29 | +* [Grails 7.0.0-M4](/blog/2025-06-10-grails-7-m4.html) |
| 30 | +* [Grails 7.0.0-M5](/blog/2025-07-15-grails-7-m5.html) |
| 31 | + |
| 32 | +### [%version] Changes: |
| 33 | +* Add permissions to release environments by @jdaugherty in #14795 |
| 34 | +* Asset plugin forking compiler @jdaugherty (#14948) |
| 35 | +* Update base, web and rest-api profiles to more closely match Forge @jamesfredley (#14942) |
| 36 | +* #14886 - add licensing to distributed shadowJar @jdaugherty (#14945) |
| 37 | +* Add non-default, optional virtual thread feature to Forge for Java 24+ @jamesfredley (#14941) |
| 38 | +* remove: pdf publishing due to licensing issues & no longer using inside of Grails documentation @jdaugherty (#14940) |
| 39 | +* Update to spring-boot 3.5.4 & groovy 4.0.28 @jamesfredley (#14934) |
| 40 | +* feature: add grails-dependency proposal @jdaugherty (#14924) |
| 41 | +* Enhance CreateReleaseDropDownTask so it can be reused by grails-spring-security @jamesfredley (#14929) |
| 42 | +* remove old asm & AnnotationMetadataReader supporting classes; adopt SimpleMetadataReaderFactory @jdaugherty (#14922) |
| 43 | +* Set spring boot dev tools as a default feature in forge to match profiles @jamesfredley (#14921) |
| 44 | +* Use version variables + minor copy and formatting adjustments @jamesfredley (#14908) |
| 45 | +* Dependency minor/patch version updates before 7.0.0-RC1 @jamesfredley (#14909) |
| 46 | +* Fix build performance issues @jprinet (#14895) |
| 47 | +* Merge 7.0.0 m5 release tag @jamesfredley (#14907) |
| 48 | +* Enhance documentation for grails-shell vs grails-forge CLIs, plus Gra… @jamesfredley (#14906) |
| 49 | +* Add version support message for IntelliJ Grails Plugin @jamesfredley (#14905) |
| 50 | +* Update GitHub repository homepage URL @jamesfredley (#14902) |
| 51 | +* Deprecated Removals @jdaugherty (#14901) |
| 52 | +* Fix snapshot docs URL, currently only appears on snapshot docs @jamesfredley (#14900) |
| 53 | +* Restore Sitemesh3GrailsPlugin @jdaugherty (#14891) |
| 54 | +* Wrapper Improvements found by M5 Release @jdaugherty (#14896) |
| 55 | +* Fix issue reported by GitHub CodeQL @matrei (#14936) |
| 56 | +* fix: #14918 adjust the class loader used for command loading to ensure the delegating cli can find all commands @jdaugherty (#14926) |
| 57 | +* fix: #14910 - make property files reproducible by default (per day) @jdaugherty (#14919) |
| 58 | +* fix: issues found by M5 release verification @jdaugherty (#14904) |
| 59 | +* fix: #13705 - revert changes to Metadata from micronaut removal @jdaugherty (#14897) |
| 60 | +* fix: #13668 - update for SpringBoot resource split into subclass @jdaugherty (#14888) |
| 61 | +* #14930 - make views reproducible by sorting views always @jdaugherty (#14946) |
| 62 | +* build(deps): bump google-github-actions/auth from 2.1.10 to 2.1.11 @dependabot[bot] (#14939) |
| 63 | +* build(deps): bump google-github-actions/setup-gcloud from 2.1.4 to 2.1.5 @dependabot[bot] (#14938) |
| 64 | +* fix: #14910 - make property files reproducible by default (per day) @jdaugherty (#14919) |
| 65 | +* doc: #14892 - update RELEASE.md for workflow changes and grails-forge repo merge @jdaugherty (#14893) |
| 66 | +* fix: #13705 - revert changes to Metadata from micronaut removal @jdaugherty (#14897) |
| 67 | + |
| 68 | +Full Changelog: [v[%priorVersion]...v[%version]](https://github.com/apache/grails-core/compare/v[%priorVersion]...v[%version]) |
| 69 | + |
| 70 | +Upgrade instructions are available in the [documentation](https://docs.grails.org/[%version]/guide/single.html#upgrading60x). |
| 71 | + |
| 72 | +## Dependency Upgrades |
| 73 | +In this release, we've upgraded several dependency versions, including but not limited to the following: |
| 74 | + |
| 75 | +* Asset Pipeline 5.0.12 (now cloud.wondrify.asset-pipeline) |
| 76 | +* Groovy 4.0.28 |
| 77 | +* Spring Framework 6.2.9 |
| 78 | +* Spring Boot 3.5.4 |
| 79 | +* Gradle 8.14.3 |
| 80 | +* See all in the [grails-bom](https://docs.grails.org/[%version]/ref/Versions/Grails%20BOM.html). |
| 81 | + |
| 82 | +## Generating a new Grails [%version] application with Grails Forge |
| 83 | +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. |
| 84 | + |
| 85 | +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. |
| 86 | + |
| 87 | +Within your newly generated project you can access the Grails CLIs with the grails wrapper |
| 88 | + |
| 89 | +See [Types of CLI](https://docs.grails.org/[%version]/guide/gettingStarted.html#downloadingAndInstalling) for details on each CLI |
| 90 | + |
| 91 | +grail-shell-cli |
| 92 | + |
| 93 | +```shell |
| 94 | +grailsw |
| 95 | +``` |
| 96 | + |
| 97 | +grails-forge-cli |
| 98 | + |
| 99 | +```shell |
| 100 | +grailsw -t forge |
| 101 | +``` |
| 102 | + |
| 103 | +## Installing Grails CLIs [%version] with SDKMan |
| 104 | +Alternatively, you can quickly install Grails [%version] CLIs (grails-shell-cli and grails-forge-cli) using [SDKMan](https://sdkman.io/). |
| 105 | + |
| 106 | +See [Types of CLI](https://docs.grails.org/[%version]/guide/gettingStarted.html#downloadingAndInstalling) for details on each CLI |
| 107 | + |
| 108 | +1. If you don't have SDKMan installed, follow the instructions at [SDKMan Installation Guide](https://sdkman.io/install/) |
| 109 | + to set it up. |
| 110 | +2. Once SDKMan is installed, open your terminal and run the following command to install Grails [%version]: |
| 111 | + |
| 112 | + ```shell |
| 113 | + sdk install grails [%version] |
| 114 | + ``` |
| 115 | + |
| 116 | +3. You're all set! To verify the installation, run: |
| 117 | +
|
| 118 | + ```shell |
| 119 | + grails --version |
| 120 | + ``` |
| 121 | +
|
| 122 | +The Grails Shell CLI can be accessed as: |
| 123 | +
|
| 124 | +```shell |
| 125 | +grails |
| 126 | +``` |
| 127 | +or |
| 128 | +```shell |
| 129 | +grails-shell-cli |
| 130 | +``` |
| 131 | +The Grails Forge CLI can be accessed as: |
| 132 | +```shell |
| 133 | +grails -t forge |
| 134 | +``` |
| 135 | +or |
| 136 | +```shell |
| 137 | +grails-forge-cli |
| 138 | +``` |
| 139 | +
|
| 140 | +## Upgrading Your Existing Applications to Grails [%version] |
| 141 | +If you already have a Grails application and want to upgrade to the latest version, follow these steps: |
| 142 | +
|
| 143 | +1. Open the project in your favorite IDE (preferably JetBrains' IntelliJ IDEA 2025.2 or later). |
| 144 | +2. Update your application's `gradle.properties` file to specify Grails [%version] as the desired version. |
| 145 | +
|
| 146 | + ```properties |
| 147 | + grailsVersion=[%version] |
| 148 | + ``` |
| 149 | +
|
| 150 | +3. Make any necessary adjustments to your application code, configuration, and dependencies to ensure compatibility with |
| 151 | + the new version. [See Upgrade Guide](https://docs.grails.org/[%version]/guide/single.html#upgrading60x) |
| 152 | +
|
| 153 | +Normally, Grails Core dependencies are automatically updated using the Grails Bill of Materials (BOM). However, if you |
| 154 | +have specific versions defined in your build configuration, you may need to manually update them to align with |
| 155 | +Grails [%version]. |
| 156 | +
|
| 157 | +By following these steps, you should be able to transition your existing Grails application to Grails [%version]. |
| 158 | +
|
| 159 | +### Exploring Alternative Approaches |
| 160 | +If manual dependency updates seem daunting, or you want a more streamlined approach, consider the following alternatives: |
| 161 | +
|
| 162 | +#### 1. Use Grails Forge Website |
| 163 | +Visit [Grails Forge](https://start.grails.org) and generate a new Grails application with Grails [%version]. Compare the |
| 164 | +versions in the newly generated application with your existing one to identify any discrepancies. This can serve as a |
| 165 | +reference point for your update. |
| 166 | +
|
| 167 | +#### 2. Automated Dependency Update Bots |
| 168 | +Configure automated dependency update bots like [Renovate](https://docs.renovatebot.com/) or |
| 169 | +[Dependabot](https://dependabot.com/) with your source control platform (e.g., GitHub). These bots can automatically |
| 170 | +detect and update outdated dependencies in your project, including Grails dependencies, saving you time and effort in |
| 171 | +manual updates. |
| 172 | +
|
| 173 | +With these steps and alternative approaches, you should be well on your way to enjoying the exciting features and |
| 174 | +improvements in Grails [%version]. |
| 175 | +
|
| 176 | +## Why should you try out Grails [%version]? |
| 177 | +* Help us test this major upgrade of the Grails Framework and provide feedback. |
| 178 | +* Be ready for when Grails 7 is released. |
| 179 | +
|
| 180 | +## Grails 7 Release Schedule |
| 181 | +* We will continue to work on [updating and fixing issues](https://github.com/orgs/apache/projects/487/views/2) over the next few |
| 182 | + weeks. |
| 183 | +* Based on feedback, an Apache Grails RC or Final release is targeted for September 2025. |
| 184 | +
|
| 185 | +## Apache Grails Mailing Lists |
| 186 | +### Users Mailing List |
| 187 | +The users mailing list will be a General purpose list for questions and discussion about Grails.\ |
| 188 | +**Web Archive:** [https://lists.apache.org/[email protected]](https://lists.apache.org/[email protected]) \ |
| 189 | +**Subscribe:** Send a blank email to [[email protected]](mailto:[email protected]) |
| 190 | +
|
| 191 | +### Dev Mailing List |
| 192 | +The dev mailing list is focused on the framework implementation and its evolution. \ |
| 193 | +**Web Archive:** [https://lists.apache.org/[email protected]](https://lists.apache.org/[email protected]) \ |
| 194 | +**Subscribe:** Send a blank email to [[email protected]](mailto:[email protected]) |
| 195 | +
|
| 196 | +When participating in mailing lists, you should never include any personally identifiable information (PII) like |
| 197 | +your address, phone number or email address, as all messages sent to these lists are publicly accessible and archived, |
| 198 | +meaning anyone can view your information. Make sure your email client does not add your signature with these items. |
| 199 | +
|
| 200 | +## Thank you! |
| 201 | +A huge thank you to our amazing community for supporting the Grails Framework over the past 20 years! We’re excited for |
| 202 | +the future and grateful for the opportunity to continue innovating and pushing Grails forward together. |
| 203 | +
|
| 204 | +## Contributors |
| 205 | +We would like to extend our heartfelt thanks to all the contributors who made Grails [%version] possible. \ |
| 206 | +Special thanks to: |
| 207 | +
|
| 208 | +* [James Daugherty](https://github.com/jdaugherty) |
| 209 | +* [James Fredley](https://github.com/jamesfredley) |
| 210 | +* [Mattias Reichel](https://github.com/matrei) |
| 211 | +* [Scott Murphy](https://github.com/codeconsole) |
| 212 | +* [Brian Koehmstedt](https://github.com/bkoehm) |
| 213 | +* [Søren Berg Glasius](https://github.com/sbglasius) |
| 214 | +* [Paul King](https://github.com/paulk-asert) |
| 215 | +* [Jonas Pammer](https://github.com/JonasPammer) |
| 216 | +* [Gianluca Sartori](https://github.com/gsartori) |
| 217 | +* [David Estes](https://github.com/davydotcom) |
| 218 | +* [Michael Yan](https://github.com/rainboyan) |
| 219 | +* [Jude Vargas](https://github.com/JudeRV) |
| 220 | +* [Thomas Rasmussen](https://github.com/dauer) |
| 221 | +* [Laura Estremera](https://github.com/irllyliketoast) |
| 222 | +* [Hallie Uczen](https://github.com/shadowchaser000) |
| 223 | +* [Jérôme Prinet](https://github.com/jprinet) |
| 224 | +* [Stephen Lynch](https://github.com/lynchie14) |
| 225 | +* [Andrew Herring](https://github.com/dreewh) |
| 226 | +* [Yasuharu Nakano](https://github.com/nobeans) |
| 227 | +* [Aaron Mondelblatt](https://github.com/amondel2) |
| 228 | +* [Arjang Chinichian](https://github.com/arjangch) |
| 229 | +* [Felix Scheinost](https://github.com/felixscheinost) |
| 230 | +* [gandharvas](https://github.com/gandharvas) |
| 231 | +* [zyro](https://github.com/zyro23) |
| 232 | +
|
| 233 | +Recent Contributors by Project: |
| 234 | +
|
| 235 | +* [grails-core](https://github.com/apache/grails-core/graphs/contributors[%6MonthsBackForGitHub]) |
| 236 | +* [grails-spring-security](https://github.com/apache/grails-spring-security/graphs/contributors[%6MonthsBackForGitHub]) |
| 237 | +* [grails-static-website](https://github.com/apache/grails-static-website/graphs/contributors[%6MonthsBackForGitHub]) |
| 238 | +* [grails-forge-ui](https://github.com/apache/grails-forge-ui/graphs/contributors[%6MonthsBackForGitHub]) |
| 239 | +* [grails-quartz](https://github.com/apache/grails-quartz/graphs/contributors[%6MonthsBackForGitHub]) |
| 240 | +* [grails-gradle-publish](https://github.com/apache/incubator-grails-gradle-publish/graphs/contributors[%6MonthsBackForGitHub]) |
| 241 | +* [grails-redis](https://github.com/apache/grails-redis/graphs/contributors[%6MonthsBackForGitHub]) |
| 242 | +* [grails-github-actions](https://github.com/apache/grails-github-actions/graphs/contributors[%6MonthsBackForGitHub]) |
| 243 | +
|
| 244 | +[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) |
| 245 | +
|
| 246 | +Their dedication and hard work have significantly contributed to the release of Grails [%version]. |
| 247 | +
|
| 248 | +Join the [Grails Slack Community](https://grails.slack.com), share your feedback, and contribute to making Grails Framework even better in |
| 249 | +the future. Happy coding! |
| 250 | +
|
0 commit comments