Show Navigation

Grails 7.0.0-M3 - Release Announcement

By James Fredley

March 5, 2025

The Grails Foundation is excited for the release of Grails Framework 7.0.0-M3.
We encourage you to try this pre-release and provide your feedback here.

The next milestone is planned to be released under the Apache Software Foundation as Apache Grails 7.0.0-M4.

NOTE: Due to a release problem, 7.0.0-M2 was skipped.

Mailing Lists Changes

As we transition to Apache more communications will occur on our new Apache 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/[email protected]
Subscribe: Send a blank email to [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]
Subscribe: Send a blank email to [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-M3, check out the Grails 7.0.0-M1 Release Blog Post

With the release of Grails 7.0.0-M3, we have:

  • Consolidated several main/core Git repositories/Gradle projects to drastically reduce the time to publish a release. This resulted in the version of many dependencies changing and in some cases skipping major versions to match with the consolidated project. The old project Git repository default branch readme has been updated to point to the new location. Existing issues and PRs have been migrated when possible.
  • Consolidated 10 active profiles into a single Git repository/Gradle Project.
  • Consolidated 6 Spring Security plugins into the Spring Security Core Git repository.
  • Updated the Web and Base Grails profiles to generate runnable Grails 7 applications.
  • Changed so that hibernate-ehcache is no longer provided by the hibernate5 plugin. See details
  • Fixed documentation (asciidoc, groovydoc & javadoc) generation and publishing across many projects.
  • Ensured tests run during build and CI across many projects.
  • Updated ContainerGebSpec in geb with:
    • Cross-platform file input support.
    • IDE hints and auto-completion of Browser.*, Page.* and WebDriver.pageSource methods.
    • Recycling of the recording container.
    • Delegation to the current page object.
    • Inclusion of the ScreenshotReporter by default.
    • Fix of log message for reports directory.
  • Updated grails-gradle-plugin with:
    • End-to-end tests.
    • Fix of configScript handling.
    • Inclusion of testFixtures in version resolving for POM generation in org.grails.grails-publish.
    • Fix to include AST sources in javadoc and source jars.
    • Fix to org.grails.grails-publish to ensure sources and javadoc are published by default.
    • Changes and standardization of profile task names so they can be used with the Java Gradle Plugin.
    • Changes to not require Java or Groovy Gradle Plugins for profile publishing.
    • Fix of profile publishing to support the Java Gradle Plugin.
    • Consolidation of profiles into a single Gradle multi-project build.
  • Updated database-migration-plugin with:
    • Move to gorm-hibernate5 project.
    • Exclusion of liquibase-commercial to prevent it from being exported.
    • Loading of migrations from embedded jars (plugins).
    • Allowing the loading of classpath resources for sqlFile changesets.
  • Replaced tomcat-jdbc with HikariCP in default generated applications from grails-shell CLI and grails-forge CLI.
  • Updated asset-pipeline to resolve missing graalvm asset compiler dependencies for bootRun, unit test and integration tests.
  • Leveraged grails-bom versions wherever possible to simplify updates across the projects.
  • Consolidated any versions not set by grails-bom in gradle.properties across projects.
  • Allowed disabling of AutoTimestamp on insertion event if values are not null.
  • Allowed customization of AutoTimestamp dateCreated and lastUpdated properties.
  • Added GSP Pagination support for Bootstrap 5.
  • Fixed configuration loading in the quartz plugin.
  • Fixed an error in grails-bom with handling inherited BOMs from spring-boot-dependencies.

Dependency Upgrades

In this release, we've upgraded several dependency versions, including but not limited to the following:

  • Asset Pipeline 5.0.8
  • Groovy 4.0.25
  • Jna 5.16.0
  • MongoDB driver: 5.3.1
  • Slf4j 2.0.16
  • Spring Boot 3.4.2
  • Spring Framework 6.2.2
  • See all in the grails-bom.

As part of the Grails 7.0.0-M3 release we have also released milestones of the following:

  • org.grails.plugins:async:7.0.0-M3
  • org.grails.plugins:audit-logging:6.0.0-M4
  • org.grails.plugins:cache:8.0.0-M3
  • org.grails.plugins:converters:7.0.0-M3
  • org.grails.plugins:database-migration:9.0.0-M3
  • org.grails.plugins:events:7.0.0-M3
  • org.grails.plugins:fields:6.0.0-M3
  • org.grails.plugins:geb:5.0.0-M3
  • org.grails.plugins:grails-redis:5.0.0-M3
  • org.grails.plugins:grails-web-console:7.0.0-M2
  • org.grails.plugins:gsp:7.0.0-M3
  • org.grails.plugins:hibernate5:9.0.0-M3
  • org.grails.plugins:mongodb:9.0.0-M3
  • org.grails.plugins:quartz:4.0.0-M2
  • org.grails.plugins:scaffolding:6.0.0-M3
  • org.grails.plugins:spring-security-acl:7.0.0-M3
  • org.grails.plugins:spring-security-cas:7.0.0-M3
  • org.grails.plugins:spring-security-core:7.0.0-M3
  • org.grails.plugins:spring-security-ldap:7.0.0-M3
  • org.grails.plugins:spring-security-oauth2:7.0.0-M3
  • org.grails.plugins:spring-security-rest:7.0.0-M3
  • org.grails.plugins:spring-security-rest-gorm:7.0.0-M3
  • org.grails.plugins:spring-security-rest-grailscache:7.0.0-M3
  • org.grails.plugins:spring-security-rest-memcached:7.0.0-M3
  • org.grails.plugins:spring-security-rest-redis:7.0.0-M3
  • org.grails.plugins:spring-security-rest-testapp-profile:7.0.0-M3
  • org.grails.plugins:spring-security-ui:7.0.0-M3
  • org.grails.plugins:views-gradle:4.0.0-M3
  • org.grails.plugins:views-json:4.0.0-M3
  • org.grails.plugins:views-json-templates:9.0.0-M3
  • org.grails.plugins:views-markup:4.0.0-M3
  • org.grails.profiles:angular:10.0.2
  • org.grails.profiles:base:10.0.2
  • org.grails.profiles:plugin:10.0.2
  • org.grails.profiles:profile:10.0.2
  • org.grails.profiles:react:10.0.2
  • org.grails.profiles:rest-api:10.0.2
  • org.grails.profiles:rest-api-plugin:10.0.2
  • org.grails.profiles:vue:10.0.2
  • org.grails.profiles:web:10.0.2
  • org.grails.profiles:web-plugin:10.0.2
  • org.grails:grails-async:7.0.0-M3
  • org.grails:grails-async-gpars:7.0.0-M3
  • org.grails:grails-async-rxjava:7.0.0-M3
  • org.grails:grails-async-rxjava2:7.0.0-M3
  • org.grails:grails-bootstrap:7.0.0-M3
  • org.grails:grails-codecs:7.0.0-M3
  • org.grails:grails-console:7.0.0-M3
  • org.grails:grails-core:7.0.0-M3
  • org.grails:grails-databinding:7.0.0-M3
  • org.grails:grails-datastore-async:9.0.0-M3
  • org.grails:grails-datastore-core:9.0.0-M3
  • org.grails:grails-datastore-gorm:9.0.0-M3
  • org.grails:grails-datastore-gorm-async:9.0.0-M3
  • org.grails:grails-datastore-gorm-hibernate5:9.0.0-M3
  • org.grails:grails-datastore-gorm-mongodb:9.0.0-M3
  • org.grails:grails-datastore-gorm-rx:9.0.0-M3
  • org.grails:grails-datastore-gorm-support:9.0.0-M3
  • org.grails:grails-datastore-gorm-tck:9.0.0-M3
  • org.grails:grails-datastore-gorm-test:9.0.0-M3
  • org.grails:grails-datastore-gorm-validation:9.0.0-M3
  • org.grails:grails-datastore-web:9.0.0-M3
  • org.grails:grails-dependencies:7.0.0-M3
  • org.grails:grails-docs:7.0.0-M3
  • org.grails:grails-encoder:7.0.0-M3
  • org.grails:grails-events-gpars:7.0.0-M3
  • org.grails:grails-events-rxjava:7.0.0-M3
  • org.grails:grails-events-rxjava2:7.0.0-M3
  • org.grails:grails-gorm-testing-support:9.0.0-M3
  • org.grails:grails-gradle-model:7.0.0-M3
  • org.grails:grails-gradle-plugin:7.0.0-M4
  • org.grails:grails-gsp:7.0.0-M3
  • org.grails:grails-logging:7.0.0-M3
  • org.grails:grails-plugin-codecs:7.0.0-M3
  • org.grails:grails-plugin-controllers:7.0.0-M3
  • org.grails:grails-plugin-databinding:7.0.0-M3
  • org.grails:grails-plugin-datasource:7.0.0-M3
  • org.grails:grails-plugin-domain-class:7.0.0-M3
  • org.grails:grails-plugin-i18n:7.0.0-M3
  • org.grails:grails-plugin-interceptors:7.0.0-M3
  • org.grails:grails-plugin-mimetypes:7.0.0-M3
  • org.grails:grails-plugin-rest:7.0.0-M3
  • org.grails:grails-plugin-services:7.0.0-M3
  • org.grails:grails-plugin-url-mappings:7.0.0-M3
  • org.grails:grails-plugin-validation:7.0.0-M3
  • org.grails:grails-shell:7.0.0-M3
  • org.grails:grails-spring:7.0.0-M3
  • org.grails:grails-test:7.0.0-M3
  • org.grails:grails-testing-support:7.0.0-M3
  • org.grails:grails-test-suite-base:7.0.0-M3
  • org.grails:grails-test-suite-persistence:7.0.0-M3
  • org.grails:grails-test-suite-uber:7.0.0-M3
  • org.grails:grails-test-suite-web:7.0.0-M3
  • org.grails:grails-web:7.0.0-M3
  • org.grails:grails-web-boot:7.0.0-M3
  • org.grails:grails-web-common:7.0.0-M3
  • org.grails:grails-web-databinding:7.0.0-M3
  • org.grails:grails-web-gsp:7.0.0-M3
  • org.grails:grails-web-mvc:7.0.0-M3
  • org.grails:grails-web-taglib:7.0.0-M3
  • org.grails:grails-web-testing-support:7.0.0-M3
  • org.grails:grails-web-url-mappings:7.0.0-M3
  • org.grails:grails7-wrapper:6.0.0
  • org.grails:views-json-testing-support:4.0.0-M3

Installing Grails 7.0.0-M3

Try out Grails 7.0.0-M3 today by visiting the online app creator * Grails Forge. Alternatively, you can quickly install Grails 7.0.0-M3 using the SDKMan.

  1. If you don't have SDKMan installed, follow the instructions at SDKMan Installation Guide to set it up.

  2. Once SDKMan is installed, open your terminal and run the following command to install Grails 7.0.0-M3:

    sdk install grails 7.0.0-M3
    
  3. You're all set! To verify the installation, run:

    grails --version
    

Upgrading Your Existing Applications to Grails 7.0.0-M3

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-M3 as the desired version.

    grailsVersion=7.0.0-M3
    # 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-M3/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-M3.

By following these steps, you should be able to transition your existing Grails application to Grails 7.0.0-M3.

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 and generate a new Grails application with Grails 7.0.0-M3. 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 or Dependabot 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-M3. Happy coding!

Why should you try out Grails 7.0.0-M3?

  • 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 over the next few weeks.
  • Apache Grails 7.0.0-M4 will be released thereafter under the Apache Software Foundation.
  • Based on feedback, an Apache Grails final milestone or RC release is targeted for April 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-M3 possible.
Special thanks to:

Their dedication and hard work have significantly contributed to the release of Grails 7.0.0-M3.

Join the Grails Slack Community, share your feedback, and contribute to making Grails Framework even better in the future. Happy coding!

You might also like ...