This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a commit to branch 7.0.0-M4-blog-post
in repository https://gitbox.apache.org/repos/asf/grails-static-website.git

commit 08e9123da9df552c1fd34847e2200c3e0eb81070
Author: James Fredley <[email protected]>
AuthorDate: Mon Jun 9 15:55:24 2025 -0400

    Draft 7.0.0-M4 blog post
---
 posts/2025-06-10-grails-7-m4.md | 195 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 195 insertions(+)

diff --git a/posts/2025-06-10-grails-7-m4.md b/posts/2025-06-10-grails-7-m4.md
new file mode 100644
index 0000000000..c89a98ecd7
--- /dev/null
+++ b/posts/2025-06-10-grails-7-m4.md
@@ -0,0 +1,195 @@
+---
+title: Apache Grails 7.0.0-M4 - Release Announcement
+date: June 10, 2025
+description: The Apache Software Foundation™ is excited to announce the 
Milestone 4 release of Grails Framework 7!
+author: James Fredley
+image: grails-blog-index-3.png
+---
+
+# [%title]
+
+[%author]
+
+[%date]
+
+The Apache Software Foundation is excited for the release of Grails Framework 
7.0.0-M4. \
+We encourage you to try this pre-release and provide your feedback 
[here](https://github.com/apache/grails-core/issues).
+
+### 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/[email protected]](https://lists.apache.org/[email protected])
 \
+**Subscribe:** Send a blank email to 
[[email protected]](mailto:[email protected]])
+
+### Dev Mailing List
+The dev mailing list is focused on the framework implementation and its 
evolution. \
+**Web Archive:** 
[https://lists.apache.org/[email protected]](https://lists.apache.org/[email protected])
 \
+**Subscribe:** Send a blank email to 
[[email protected]](mailto:[email protected])
+
+When participating in Apache 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.
+
+## What's Changed
+For changes made in Grails 7 prior to 7.0.0-M4, check out the [Grails 7.0.0-M1 
Release Blog Post](/blog/2024-12-23-grails-7-m1.html) and [Grails 7.0.0-M3 
Release Blog Post](/blog/2025-03-05-grails-7-m3.html)
+
+Apache Grails (incubating) 7.0.0-M4 is the first release for Grails under the 
Apache Software Foundation (ASF). This release focuses first on meeting the 
requirements of the ASF & improving the developer experience of Grails itself & 
Grails Applications. As part of this transition, the developers moved to a mono 
repository, reworked the way the various Grails CLIs work, modernized its build 
system, modernized the various Grails Gradle Tasks, modernized the various 
Grails Gradle Plugins,  [...]
+
+### With the release of Grails 7.0.0-M4, we have:
+* PR #14750 - support non-persistent super classes for @Autotimestamp
+* Issue #14745 - remove deprecated doc method on Grails Plugins
+* Issue #14745 - remove duplicate grails.factories & grails-plugin.xml files 
now that AST generation is working correctly
+* Issue #14745 - switch to Spring Boot 3.5.0-RC1 with Spring Framework 6.2.7 
due to bug (https://github.com/spring-projects/spring-framework/issues/34796)
+* Issue #14745 - change the grails-gradle-model to export Groovy 3 due to 
Gradle Task isolation in later versions of Gradle
+* Issue #14745 - rework the FindMainTask to correctly set the main Application 
class on BootWar, BootJar, & BootRun
+* Issue # 14745 - remove org.grails.plugins.CodecGrailsPlugin; use 
org.grails.plugins.codecs.CodecsGrailsPlugin instead
+* Issue # 14745 - remove the remaining pathingJar task functions
+* Issue # 14745 - fix a databinding scenario in DataBindingUtils to lookup a 
domain object
+* PR #14749 - retire Mongo 5.0 & 6.0 test pipelines since those versions are 
end of support
+* PR #14746 - switch to asset-pipeline-gradle to 5.0.9
+* PR #14743 - remove redundant buildScript from test projects
+* Issue #14706 - rework grailsw to be usable indepedendently of SDKMAN installs
+* Issue #14706 - rework grails-shell-cli to be usable independently of SDKMAN 
installs
+* Issue #14706 - rework the command cli to support a grailsw that can 
self-update either forge or legacy shell cli
+* Issue #14706 - distribute a delegating CLI that can call either forge or the 
legacy shell cli
+* Issue #14706 - rework the legacy shell cli to correctly find profiles
+* Issue #14706 - rework both grailsw & grails-shell-cli to be testable outside 
of releases
+* Issue #14679 - generate reproducible groovydoc jars
+* Issue #14679 - fix profile compilation to generate reproducible jars
+* Issue #14679 - ensure groovydoc is used instead of javadoc for documentation 
jars
+* PR #14709 - switch to Gradle 8.14
+* PR #14678 - add support for external config locations
+* Refactor grails into a mono repo (grails-views, gsp, data mapping, geb, etc 
are all merged into core now)
+* As part of the mono repo transition, several Deprecated classes were removed 
from the views project; see the upgrade guide for the details.
+* Issue #14679 - refactor grails build to be parallel & lazy
+* Issue #14679 - change all Grails gradle tasks to support Caching where 
appropriate and support lazy style configuration
+* Issue #14679 - Redesign the Grails Data TCK to support modern versions of 
Java
+* Issue #14679 - Support consistent property dates in generated property files 
when SOURCE_DATE_EPOCH is set
+* Issue #14679 - Make grails.factories generation reproducible
+* Issue #14679 - Refactor Grails AST Transformations to take advantage of 
Groovy's TransformWithPriority and enforce transforms always run in the order 
defined by the class `GroovyTransformOrder`
+* Issue #14679 - Remove manifest attributes that could vary on the Grails jars 
(Built-By, Created-By etc)
+* Issue #14679 - Fix sourcejar creation to not contain duplicates
+* Issue #14679 - Fix javadoc jars to be generated based on groovydoc & to not 
contain duplicates
+* Issue #14679 - Change AST transforms to be reproducible by adopting 
determined ordering collections
+* Issue #14679 - Configure Grails jars per Gradle's reproducibility 
requirements (fixed permissions, reproducible file order, etc)
+* Issue #13850 - introduce `grails-common` to share common code between Grails 
Data Mapping & Grails-Core
+* Issue #14679 - add scripts to confirm reproducibility of Grails; currently 
14 of 290 jars are reproducible
+* Issue #14679 - make TagLib lookups reproducible
+* PR# 14671 - switch to webjars for test css/js assets instead of checked in 
files
+* The Grails Gradle plugin had a bug that caused plugin resolution issues that 
was fixed after the last milestone.
+* Rework the grails bom to generate valid Gradle modules, be easier to 
maintain, and valid pom files.  Enhance the documentation process to parse the 
bom & generate the published versions in the grails doc.
+
+And in addition to all of this:
+
+* We changed all coordinates of Grails to be org.apache.grails based. See 
https://github.com/apache/grails-core/blob/7.0.x/RENAME.md for how we mapped 
these libraries.  There is also a script documented in the upgrade guide to 
assist in upgrading.
+* Significant test fixes
+* Significant documentation updates & changes
+* Addition of license headers to Grails Source
+* Addition of NOTICE to Grails Source
+* Created https://repo.grails.org/grails/restricted/ to replace 
https://repo.grails.org/grails/core longer term.  This virtual repo's scope is 
significantly reduced to help reduce the chance of using outdated libraries.
+
+Upgrade instructions are available in the documentation.
+
+## Dependency Upgrades
+In this release, we've upgraded several dependency versions, including but not 
limited to the following:
+
+* Asset Pipeline 5.0.9
+* Groovy 4.0.27
+* Spring Framework 6.2.7
+* Spring Boot 3.5.0
+* Gradle 8.14
+* Spock 2.3-groovy-4.0
+* See all in the 
[grails-bom](https://docs.grails.org/7.0.0-M4/ref/Versions/Grails%20BOM.html).
+
+## Installing Grails 7.0.0-M4
+Try out Grails 7.0.0-M4 today by visiting the online app creator * [Grails 
Forge](https://start.grails.org/).
+Alternatively, you can quickly install Grails 7.0.0-M4 using the 
[SDKMan](https://sdkman.io/).
+
+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 7.0.0-M4:
+
+    ```shell
+    sdk install grails 7.0.0-M4
+    ```
+
+3. You're all set! To verify the installation, run:
+
+    ```shell
+    grails --version
+    ```
+
+## Upgrading Your Existing Applications to Grails 7.0.0-M4
+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).
+2. Update your application's `gradle.properties` file to specify Grails 
7.0.0-M4 as the desired version.
+
+    ```properties
+    grailsVersion=7.0.0-M4
+    # The Grails Gradle Plugin version is now available in the BOM
+    # and can be omitted if your project adds the Grails BOM to the
+    # buildscript dependencies.
+    grailsGradlePluginVersion=7.0.0-M4
+    ```
+
+3. Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
+   the new version. See 
https://docs.grails.org/7.0.0-M4/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 7.0.0-M4.
+
+By following these steps, you should be able to transition your existing 
Grails application to Grails 7.0.0-M4.
+
+### 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 7.0.0-M4. 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 7.0.0-M4. Happy coding!
+
+## Why should you try out Grails 7.0.0-M4?
+* 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) over the next few
+  weeks.
+* Based on feedback, an Apache Grails RC release is targeted for July 2025.
+
+## Thank you!
+A huge thank you to our amazing community for supporting the Grails Framework 
over the past 19 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 7.0.0-M4 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)
+* [Søren Berg Glasius](https://github.com/sbglasius)
+* [David Estes](https://github.com/davydotcom)
+* [Aaron Mondelblatt](https://github.com/amondel2)
+* [Arjang Chinichian](https://github.com/arjangch)
+* [Jonas Pammer](https://github.com/JonasPammer)
+* [Brian Koehmstedt](https://github.com/bkoehm)
+* [Gianluca Sartori](https://github.com/gsartori)
+* [Paul King](https://github.com/paulk-asert)
+
+Their dedication and hard work have significantly contributed to the release 
of Grails 7.0.0-M4.
+
+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!
+

Reply via email to