{"id":167869,"date":"2025-11-07T12:17:11","date_gmt":"2025-11-07T12:17:11","guid":{"rendered":"https:\/\/www.europesays.com\/ie\/167869\/"},"modified":"2025-11-07T12:17:11","modified_gmt":"2025-11-07T12:17:11","slug":"grails-7-0-now-under-the-apache-software-foundation-delivers-enhancements-for-micronaut-and-gorm","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/ie\/167869\/","title":{"rendered":"Grails 7.0, Now Under the Apache Software Foundation, Delivers Enhancements for Micronaut and GORM"},"content":{"rendered":"<p>The <a href=\"https:\/\/grails.apache.org\/blog\/2025-10-18-introducing-grails-7.html\" rel=\"nofollow noopener\" target=\"_blank\">release<\/a> of <a href=\"https:\/\/grails.apache.org\/blog\/\" rel=\"nofollow noopener\" target=\"_blank\">Apache Grails<\/a> 7.0.0 delivers bug fixes and notable changes such as: the ability to disable Micronaut auto configuration through the Grails plugin; improved reproducibility with implementations of <a href=\"https:\/\/grails.apache.org\/docs\/latest\/grails-data\/\" rel=\"nofollow noopener\" target=\"_blank\">Grails Object Relational Mapper<\/a> (GORM) services; and a temporary removal of the GORM for Neo4J. Grails 7.0 requires a minimal version of JDK 17 (with testing validated up to JDK 21) and compliance with Spring Boot 3.5 and Jakarta EE 10.<\/p>\n<p>Due to some issues with Micronaut test code coverage, enhancements to the <strong><a href=\"https:\/\/github.com\/apache\/grails-core\/blob\/7.0.x\/grails-gradle\/plugins\/src\/main\/groovy\/org\/grails\/gradle\/plugin\/core\/GrailsGradlePlugin.groovy\" rel=\"nofollow noopener\" target=\"_blank\">GrailsGradlePlugin<\/a><\/strong> and <strong><a href=\"https:\/\/github.com\/apache\/grails-core\/blob\/7.0.x\/grails-gradle\/plugins\/src\/main\/groovy\/org\/grails\/gradle\/plugin\/core\/GrailsExtension.groovy\" rel=\"nofollow noopener\" target=\"_blank\">GrailsExtension<\/a><\/strong> classes provided the ability to use the Grails plugin to disable Micronaut auto configuration so that these issues can be locally debugged.<\/p>\n<p>Reproducibility issues in <a href=\"https:\/\/github.com\/apache\/grails-spring-security\/blob\/7.0.x\/README.md\" rel=\"nofollow noopener\" target=\"_blank\">Grails Spring Security<\/a> with the <a href=\"https:\/\/grails.apache.org\/blog\/2025-09-11-grails-7-rc2.html\" rel=\"nofollow noopener\" target=\"_blank\">second release candidate<\/a> of Grails 7.0.0 caused a random ordering of closures generated for GORM services causing them to be mismatched. This was resolved with changes to the <strong><a href=\"https:\/\/github.com\/apache\/grails-core\/blob\/7.0.x\/grails-datamapping-core\/src\/main\/groovy\/org\/grails\/datastore\/gorm\/services\/transform\/ServiceTransformation.groovy\" rel=\"nofollow noopener\" target=\"_blank\">ServiceTransformation<\/a><\/strong> class.<\/p>\n<p><a href=\"https:\/\/grails.apache.org\/docs-legacy-gorm\/latest\/neo4j\/manual\/\" rel=\"nofollow noopener\" target=\"_blank\">GORM for Neo4J<\/a> has been temporarily removed until it is compatible with Grails 7.0 or 8.0. This required deleting the implementation of the <strong>Neo4jGorm<\/strong> feature from <a href=\"https:\/\/start.grails.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Grails Forge<\/a>, a starter application for building Grails applications, and its associated tests. The <strong><a href=\"https:\/\/github.com\/apache\/grails-core\/blob\/7.0.x\/grails-forge\/grails-forge-core\/src\/main\/java\/org\/grails\/forge\/options\/GormImpl.java\" rel=\"nofollow noopener\" target=\"_blank\">GormImpl<\/a><\/strong> enum has also been updated to remove the Neo4j option along with a cleanup of the <strong><a href=\"https:\/\/github.com\/apache\/grails-core\/blob\/7.0.x\/grails-forge\/grails-forge-core\/src\/test\/groovy\/org\/grails\/forge\/feature\/database\/MongoGormSpec.groovy\" rel=\"nofollow noopener\" target=\"_blank\">MongoGormSpec<\/a><\/strong> class to eliminate any references to Neo4j.<\/p>\n<p>Originally named Groovy on Rails, Grails was co-founded in 2005 by <a href=\"https:\/\/github.com\/graemerocher\" rel=\"nofollow noopener\" target=\"_blank\">Graeme Rocher<\/a>, <a href=\"http:\/\/glaforge.appspot.com\/page\/contact-me\" rel=\"nofollow noopener\" target=\"_blank\">Guillaume LaForge<\/a>, Steven Devijver and <a href=\"https:\/\/dierk.github.io\/Home\/\" rel=\"nofollow noopener\" target=\"_blank\">Dierk K\u00f6nig<\/a> at the now-defunct G2One, an open-source Groovy\/Grails company that provided training, consultancy, support and products around <a href=\"https:\/\/groovy-lang.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Groovy<\/a> and <a href=\"https:\/\/grails.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Grails<\/a>.<\/p>\n<p>Grails, now known as Apache Grails, had made its way through a number of companies via acquisitions and spin-offs that included: G2One from 2005-2008; SpringSource\/Pivotal from 2008-2015; <a href=\"https:\/\/objectcomputing.com\/\" rel=\"nofollow noopener\" target=\"_blank\">Object Computing, Inc.<\/a> (OCI) from 2015-2021; the Grails Foundation\/Unity Foundation from 2021-2025; and now the<a href=\"https:\/\/www.apache.org\/\" rel=\"nofollow noopener\" target=\"_blank\"> Apache Software Foundation<\/a> (ASF) as of June 2025.<\/p>\n<p>OCI <a href=\"https:\/\/www.infoq.com\/news\/2021\/01\/oci-grails-foundation\/\" rel=\"nofollow noopener\" target=\"_blank\">established<\/a> the Grails Foundation in October 2021 as a not-for-profit company established to advance innovation and adoption of the Grails framework. The foundation oversaw &#8220;software roadmap and development, best practices and processes, repository control, documentation and support, and fundraising related to the open source framework.&#8221; The foundation received initial funding of $200,000 from OCI for development and evangelism.<\/p>\n<p>In October 2025, the ASF <a href=\"https:\/\/grails.apache.org\/blog\/2025-10-07-apache-grails-graduation-top-level-project.html\" rel=\"nofollow noopener\" target=\"_blank\">announced<\/a> that the Grails project, donated to the foundation in June 2025 from OCI, had graduated from an <strong>Incubating<\/strong> project to a <strong>Top-Level<\/strong> project. The process to ultimately donate Grails was initiated in May 2024 with this <a href=\"https:\/\/objectcomputing.com\/how-we-share\/news1\/2024\/05\/10\/open-letter-our-open-source-communities\" rel=\"nofollow noopener\" target=\"_blank\">open letter<\/a> by <a href=\"https:\/\/www.linkedin.com\/in\/gmbremehr\/\" rel=\"nofollow noopener\" target=\"_blank\">Gina Bremehr,<\/a> CEO at OCI, describing a &#8220;marked decline in enterprise adoption and commercial investment&#8221; in Grails. The <a href=\"https:\/\/grails.apache.org\/blog\/2025-06-10-grails-7-m4.html\" rel=\"nofollow noopener\" target=\"_blank\">fourth milestone release<\/a> of Grails 7.0.0, delivered in June 2025, was the first release under the auspices of the ASF.<\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/sbglasius\/\" rel=\"nofollow noopener\" target=\"_blank\">S\u00f8ren Berg Glasius<\/a>, Apache Groovy Project Management Committee Member, describing the incubation to top-level process, told InfoQ:<\/p>\n<blockquote><p>&#13;<\/p>\n<p>Grails, with a history spanning nearly two decades, entered the Apache Incubator in 2024 after transitioning to a community-governed, vendor-neutral project. The ASF incubation period was characterized by structural changes necessary to align with Apache&#8217;s principles of meritocracy and sustainability.<\/p>\n<p>&#13;<br \/>\n&#13;<\/p>\n<p>Graduation to top-level status in October 2025 confirms that Grails now meets Apache&#8217;s standards for independent management, a healthy contributor base, and a regular release cadence, following The Apache Way.<\/p>\n<p>&#13;\n<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.linkedin.com\/in\/jamesfredley\/\" rel=\"nofollow noopener\" target=\"_blank\">James Fredley<\/a>, Apache Grails Project Management Committee Chair and Founder and CEO of Triumph Interactive, describing the release of Grails 7.0, told InfoQ:<\/p>\n<blockquote><p>&#13;<\/p>\n<p>Apache Grails 7.0.0, our first stable release following graduation to an Apache Software Foundation Top-Level Project, culminates 18 months of collaborative work and introduces major dependency upgrades and features.<\/p>\n<p>&#13;<br \/>\n&#13;<\/p>\n<p>This release empowers developers with streamlined full-stack workflows and enhanced security and compliance, and preserves Grails&#8217; foundational DRY and convention-over-configuration principles, all driven by thousands of community commits.<\/p>\n<p>&#13;\n<\/p><\/blockquote>\n<p>More details on this release may be found in the <a href=\"https:\/\/github.com\/apache\/grails-core\/releases\/tag\/v7.0.0\" rel=\"nofollow noopener\" target=\"_blank\">release notes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"The release of Apache Grails 7.0.0 delivers bug fixes and notable changes such as: the ability to disable&hellip;\n","protected":false},"author":2,"featured_media":167870,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[267],"tags":[1705,365,362,363,364,366,7266,18,117,96370,96368,19,17,18297,96369],"class_list":{"0":"post-167869","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-arts-and-design","8":"tag-architecture-design","9":"tag-arts","10":"tag-arts-and-design","11":"tag-artsanddesign","12":"tag-artsdesign","13":"tag-design","14":"tag-development","15":"tag-eire","16":"tag-entertainment","17":"tag-grails","18":"tag-grails-7-released","19":"tag-ie","20":"tag-ireland","21":"tag-java","22":"tag-micronaut"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@ie\/115508375908337580","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/posts\/167869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/comments?post=167869"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/posts\/167869\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/media\/167870"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/media?parent=167869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/categories?post=167869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/ie\/wp-json\/wp\/v2\/tags?post=167869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}