This is an automated email from the ASF dual-hosted git repository. jamesfredley pushed a commit to branch grails-apache-org-docs in repository https://gitbox.apache.org/repos/asf/grails-static-website.git
commit e5d2f3ccc75a5927dde298e7a95618e1c17b7f12 Author: James Fredley <[email protected]> AuthorDate: Thu Oct 9 20:20:42 2025 -0400 Update documentation links to grails.apache.org/docs/ Replaced all references to docs.grails.org with grails.apache.org/docs across Groovy, YAML, HTML, and Markdown files to reflect the new documentation URL. This ensures consistency and prevents broken links throughout the project. --- .../grails/documentation/DocumentationPage.groovy | 10 ++++----- conf/modules.yml | 26 +++++++++++----------- conf/profiles.yml | 4 ++-- conf/questions.yml | 2 +- pages/index.html | 4 ++-- posts/2016-05-28.md | 2 +- posts/2016-07-22.md | 2 +- posts/2016-08-31.md | 6 ++--- posts/2016-09-28.md | 2 +- posts/2017-06-28.md | 2 +- posts/2017-07-26.md | 4 ++-- posts/2017-11-21.md | 2 +- posts/2018-05-24.md | 2 +- posts/2019-02-19.md | 2 +- posts/2019-07-11.md | 2 +- posts/2022-07-18-rce-vulnerability.md | 2 +- posts/2022-09-28-static-binding-bug.md | 2 +- posts/2023-03-29-grails-6-m2.md | 4 ++-- posts/2023-07-25-introducing-grails-6.md | 2 +- posts/2024-12-23-grails-7-m1.md | 2 +- posts/2025-03-05-grails-7-m3.md | 2 +- posts/2025-06-10-grails-7-m4.md | 6 ++--- posts/2025-07-15-grails-7-m5.md | 10 ++++----- posts/2025-08-10-grails-7-rc1.md | 10 ++++----- posts/2025-09-11-grails-7-rc2.md | 10 ++++----- ...7-apache-grails-graduation-top-level-project.md | 2 +- 26 files changed, 62 insertions(+), 62 deletions(-) diff --git a/buildSrc/src/main/groovy/org/grails/documentation/DocumentationPage.groovy b/buildSrc/src/main/groovy/org/grails/documentation/DocumentationPage.groovy index bf6fd7fd89f..4a3d5bcea56 100644 --- a/buildSrc/src/main/groovy/org/grails/documentation/DocumentationPage.groovy +++ b/buildSrc/src/main/groovy/org/grails/documentation/DocumentationPage.groovy @@ -41,10 +41,10 @@ class DocumentationPage { } ul { li { - a(href: "https://docs.grails.org/${version}/", 'User Guide') + a(href: "https://grails.apache.org/docs/${version}/", 'User Guide') } li { - a(href: "https://docs.grails.org/${version}/api/", 'API Reference') + a(href: "https://grails.apache.org/docs/${version}/api/", 'API Reference') } } } @@ -87,21 +87,21 @@ class DocumentationPage { div(class: 'versionselector') { h4 'Single Page - User Guide' - select(onchange: "window.location.href='https://docs.grails.org/' + this.value + '/'") { + select(onchange: "window.location.href='https://grails.apache.org/docs/' + this.value + '/'") { option 'Select a version' mkp.yield('[%versions]') } } div(class: 'versionselector') { h4 'User Guide' - select(onchange: "window.location.href='https://docs.grails.org/' + this.value") { + select(onchange: "window.location.href='https://grails.apache.org/docs/' + this.value") { option 'Select a version' mkp.yield('[%versions]') } } div(class: 'versionselector') { h4 'API Reference' - select(onchange: "window.location.href='https://docs.grails.org/' + this.value + '/api'") { + select(onchange: "window.location.href='https://grails.apache.org/docs/' + this.value + '/api'") { option 'Select a version' mkp.yield('[%versions]') } diff --git a/conf/modules.yml b/conf/modules.yml index 09790345c36..9a6c2fe3ce5 100644 --- a/conf/modules.yml +++ b/conf/modules.yml @@ -1,40 +1,40 @@ modules: upgrade: title: Upgrade Documentation - url: https://docs.grails.org/latest/guide/upgrading.html + url: https://grails.apache.org/docs/latest/guide/upgrading.html categoryImage: '[%url]/images/upgrade.svg' category: Upgrade categoryDescription: Upgrade guides for the latest version of Grails async: title: Async Grails - url: https://docs.grails.org/latest/guide/async.html + url: https://grails.apache.org/docs/latest/guide/async.html category: Async categoryImage: '[%url]/images/async.svg' testing: title: Testing Framework - url: https://docs.grails.org/latest/guide/testing.html + url: https://grails.apache.org/docs/latest/guide/testing.html categoryImage: '[%url]/images/testing.svg' category: Testing gormhibernate: - categoryUrl: https://docs.grails.org/latest/grails-data/ + categoryUrl: https://grails.apache.org/docs/latest/grails-data/ categoryImage: '[%url]/images/gorm.svg' category: GORM - Data Access Toolkit title: GORM Hibernate - url: https://docs.grails.org/latest/grails-data/hibernate5/manual/ + url: https://grails.apache.org/docs/latest/grails-data/hibernate5/manual/ gormmongodb: - categoryUrl: https://docs.grails.org/latest/grails-data/ + categoryUrl: https://grails.apache.org/docs/latest/grails-data/ categoryImage: '[%url]/images/gorm.svg' category: GORM - Data Access Toolkit title: GORM MongoDb - url: https://docs.grails.org/latest/grails-data/mongodb/manual/ + url: https://grails.apache.org/docs/latest/grails-data/mongodb/manual/ gormneo4j: - categoryUrl: https://docs.grails.org/latest/grails-data/ + categoryUrl: https://grails.apache.org/docs/latest/grails-data/ categoryImage: '[%url]/images/gorm.svg' category: GORM - Data Access Toolkit title: GORM Neo4j url: https://gorm.grails.org/latest/neo4j/manual/index.html gormgraphql: - categoryUrl: https://docs.grails.org/latest/grails-data/ + categoryUrl: https://grails.apache.org/docs/latest/grails-data/ categoryImage: '[%url]/images/gorm.svg' category: GORM - Data Access Toolkit title: Graphql @@ -43,17 +43,17 @@ modules: categoryImage: '[%url]/images/views.svg' category: Views title: GSP - url: https://docs.grails.org/latest/guide/theWebLayer.html#gsp + url: https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp jsonviews: categoryImage: '[%url]/images/views.svg' category: Views title: JSON Views - url: https://docs.grails.org/latest/guide/theWebLayer.html#gson + url: https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson markupviews: categoryImage: '[%url]/images/views.svg' category: Views title: Markup Views - url: https://docs.grails.org/latest/guide/theWebLayer.html#markup + url: https://grails.apache.org/docs/latest/guide/theWebLayer.html#markup springsecuritycore: categoryImage: '[%url]/images/security.svg' category: Security @@ -103,7 +103,7 @@ modules: categoryImage: '[%url]/images/relationaldb.svg' category: Database title: Database Migration Plugin - url: https://docs.grails.org/latest/grails-data/hibernate5/manual/index.html#databaseMigration + url: https://grails.apache.org/docs/latest/grails-data/hibernate5/manual/index.html#databaseMigration redis: categoryImage: '[%url]/images/documentation.svg' category: Redis diff --git a/conf/profiles.yml b/conf/profiles.yml index 115cfaa86c9..51d9cc0dc26 100644 --- a/conf/profiles.yml +++ b/conf/profiles.yml @@ -67,10 +67,10 @@ profiles: url: 'https://github.com/macprzepiora/web-vaadin8' category: 'Third-Party Profiles' image: '[%url]/images/profiles.svg' - description: 'Use the following documentation to learn how to [create your own application profiles](https://docs.grails.org/latest/guide/profiles.html#creatingProfiles)' + description: 'Use the following documentation to learn how to [create your own application profiles](https://grails.apache.org/docs/latest/guide/profiles.html#creatingProfiles)' ember: title: 'Ember' url: 'https://github.com/hgarfer/grails-profile-ember' category: 'Third-Party Profiles' image: '[%url]/images/profiles.svg' - description: 'Use the following documentation to learn how to [create your own application profiles](https://docs.grails.org/latest/guide/profiles.html#creatingProfiles)' + description: 'Use the following documentation to learn how to [create your own application profiles](https://grails.apache.org/docs/latest/guide/profiles.html#creatingProfiles)' diff --git a/conf/questions.yml b/conf/questions.yml index f5585f72604..c6d80f9bf65 100644 --- a/conf/questions.yml +++ b/conf/questions.yml @@ -42,7 +42,7 @@ questions: - slug: 'question_docs' title: 'How can I contribute to improving the documentation?' - answer: 'Grails documentation comes in several forms:<br/>- the [reference documentation](https://docs.grails.org/latest/) contains language specification, user guides, a getting started tutorial, and more.<br/>- the [GroovyDoc APIs](api.html) documents the classes of the Grails code base<br/>- [GitHub](https://github.com/apache/grails-static-website) allows users to contribute to this website.<br/>Contributing to the Grails.org website is fairly easy. Create a GitHub account or sign [...] + answer: 'Grails documentation comes in several forms:<br/>- the [reference documentation](https://grails.apache.org/docs/latest/) contains language specification, user guides, a getting started tutorial, and more.<br/>- the [GroovyDoc APIs](api.html) documents the classes of the Grails code base<br/>- [GitHub](https://github.com/apache/grails-static-website) allows users to contribute to this website.<br/>Contributing to the Grails.org website is fairly easy. Create a GitHub account [...] - slug: 'question_code' title: 'How can I contribute to Grails code?' diff --git a/pages/index.html b/pages/index.html index 722a2b5f935..e4f84e47998 100644 --- a/pages/index.html +++ b/pages/index.html @@ -17,13 +17,13 @@ body: home <div class="calltoaction"> <b>Read the docs</b> <h2> - <a href="https://docs.grails.org/7.0.0-RC2/">Documentation + <a href="https://grails.apache.org/docs/7.0.0-RC2/">Documentation <span class="version">7.0.0-RC2</span> </a> </h2> <br> <h2> - <a href="https://docs.grails.org/[%latest]/">Documentation + <a href="https://grails.apache.org/docs/[%latest]/">Documentation <span class="version">[%latest]</span> </a> </h2> diff --git a/posts/2016-05-28.md b/posts/2016-05-28.md index 3bd56808c3e..0b425d0350f 100644 --- a/posts/2016-05-28.md +++ b/posts/2016-05-28.md @@ -201,7 +201,7 @@ Now that we have our backend largely ready to go, we’re ready to set up React. > Question: Why Do This? > -> Why not use separate backend and front-end apps? In a microservice architecture, the work we’ve done might be sufficient - we could now build a separate React/node-based front-end application independent of our Grails backend. This is a great strategy, and [Grails 3.1 ships with a profile](https://docs.grails.org/latest/guide/profiles.html#creatingProfiles) tailored to this use case (web-api). Another option is to take advantage of Gradle multi-project builds, with separate projects fo [...] +> Why not use separate backend and front-end apps? In a microservice architecture, the work we’ve done might be sufficient - we could now build a separate React/node-based front-end application independent of our Grails backend. This is a great strategy, and [Grails 3.1 ships with a profile](https://grails.apache.org/docs/latest/guide/profiles.html#creatingProfiles) tailored to this use case (web-api). Another option is to take advantage of Gradle multi-project builds, with separate proj [...] > > In this article, however, we’re considering the use of React as the “view” > (the V in MVC) in a standard Grails application. And although we’re sharing > a project directory, the React code and Grails artifacts are independent, > and will communicate at runtime via our restful API just as if they were > separate apps. The only thing tying these two apps together is the same > Gradle build, which gives us the benefits described earlier in the article > (in fact, it would be quite easy to split out [...] > diff --git a/posts/2016-07-22.md b/posts/2016-07-22.md index 02360cab68f..4a0b8a0c468 100644 --- a/posts/2016-07-22.md +++ b/posts/2016-07-22.md @@ -36,7 +36,7 @@ On the Grails side, Grails 3.2 ships with release candidates of the new AngularJ Grails 3.2 has also been updated to the latest and greatest dependencies including Spring Boot 1.4 RC1 and Spring 4.3. -Check out the [What's New in Grails 3.2 Guide](https://docs.grails.org/3.2.x/guide/introduction.html#whatsNew) for information on all the updates. +Check out the [What's New in Grails 3.2 Guide](https://grails.apache.org/docs/3.2.x/guide/introduction.html#whatsNew) for information on all the updates. We're inching closer to an RC now so it is a great time to try your applications and [report issues](https://github.com/apache/grails-core/issues)! diff --git a/posts/2016-08-31.md b/posts/2016-08-31.md index 87753a2c27b..00c30397c2a 100644 --- a/posts/2016-08-31.md +++ b/posts/2016-08-31.md @@ -42,7 +42,7 @@ This article will not go into detail about YAML syntax. For that see [the main Y ## The Config Property in GrailsApplication -The [GrailsApplication](https://docs.grails.org/3.1.10/api/grails/core/GrailsApplication.html) interface defines the [getConfig](https://docs.grails.org/3.1.10/api/grails/core/GrailsApplication.html#getConfig()) method which returns a [Config](https://docs.grails.org/3.1.10/api/grails/config/Config.html) object. In the Spring application context is a bean named `grailsApplication` which is an instance of a class which implements the `GrailsApplication` interface. Retrieving the config ob [...] +The [GrailsApplication](https://grails.apache.org/docs/3.1.10/api/grails/core/GrailsApplication.html) interface defines the [getConfig](https://grails.apache.org/docs/3.1.10/api/grails/core/GrailsApplication.html#getConfig()) method which returns a [Config](https://grails.apache.org/docs/3.1.10/api/grails/config/Config.html) object. In the Spring application context is a bean named `grailsApplication` which is an instance of a class which implements the `GrailsApplication` interface. Ret [...] ```yaml # grails-app/conf/application.yml @@ -99,7 +99,7 @@ Integer maxLineNumbers = config.getProperty('max.line.numbers', Integer, 2112) ### Required Properties -For required properties you could write application code that reacts however is appropriate if the property doesn't exist. You could also use the [getRequiredProperty](https://docs.grails.org/3.1.10/api/grails/config/ConfigMap.html#getRequiredProperty(java.lang.String,%20java.lang.Class)) method which will throw an exception if a requested property does not exist. +For required properties you could write application code that reacts however is appropriate if the property doesn't exist. You could also use the [getRequiredProperty](https://grails.apache.org/docs/3.1.10/api/grails/config/ConfigMap.html#getRequiredProperty(java.lang.String,%20java.lang.Class)) method which will throw an exception if a requested property does not exist. ```groovy // retrieve the max.line.numbers config value @@ -129,7 +129,7 @@ class SomeController { ### Config Injection Using GrailsConfigurationAware -An alternative is to retrieve the config value only once and then hold on to it so that it may be used later as many times as necessary. One way to do this is to have the config injected into any bean by implementing the [GrailsConfigurationAware](https://docs.grails.org/3.1.10/api/grails/core/support/GrailsConfigurationAware.html) interface. There is a bean post processor that will discover all beans that implement at that interface and that post processor will invoke the [setConfigurat [...] +An alternative is to retrieve the config value only once and then hold on to it so that it may be used later as many times as necessary. One way to do this is to have the config injected into any bean by implementing the [GrailsConfigurationAware](https://grails.apache.org/docs/3.1.10/api/grails/core/support/GrailsConfigurationAware.html) interface. There is a bean post processor that will discover all beans that implement at that interface and that post processor will invoke the [setCon [...] ```groovy import grails.config.Config diff --git a/posts/2016-09-28.md b/posts/2016-09-28.md index 3196c3b53b7..5475e91c9be 100644 --- a/posts/2016-09-28.md +++ b/posts/2016-09-28.md @@ -49,6 +49,6 @@ Grails 3.2 bundles all of the goodness of GORM 6, plus a whole bunch of new feat * REST improvements * Latest and greatest libraries (Spring Boot 1.4, Gradle 3.0, etc.) -These are just some of the highlights. I recommend checking out the dedicated ["What's New"](https://docs.grails.org/3.2.x/guide/introduction.html#whatsNew) section in the brand new Asciidoctor-based [user guide](https://docs.grails.org/3.2.x) for more information. +These are just some of the highlights. I recommend checking out the dedicated ["What's New"](https://grails.apache.org/docs/3.2.x/guide/introduction.html#whatsNew) section in the brand new Asciidoctor-based [user guide](https://grails.apache.org/docs/3.2.x) for more information. Finally, thanks to all those who contributed feedback and issue reports to the release. We look forward to the continued participation of the Grails community as the framework continues to evolve. diff --git a/posts/2017-06-28.md b/posts/2017-06-28.md index 34db1ea24f7..76ca58a0b86 100644 --- a/posts/2017-06-28.md +++ b/posts/2017-06-28.md @@ -13,7 +13,7 @@ image: 2017-06-28.jpg Tags: #ssl #deployment -The [Grails<sup>®</sup> _run-app_ command documentation](https://docs.grails.org/latest/ref/Command%20Line/run-app.html) describes how to use the _-https_ flag to serve your app over HTTPS. +The [Grails<sup>®</sup> _run-app_ command documentation](https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html) describes how to use the _-https_ flag to serve your app over HTTPS. > https - Start an HTTPS server (on port 8443 by default) alongside the main > server. Just to be clear, the application will be accessible via HTTPS and > HTTP. A self-signed key will be generated. Intended for development use only. diff --git a/posts/2017-07-26.md b/posts/2017-07-26.md index e0c2a87d61c..91071db74d7 100644 --- a/posts/2017-07-26.md +++ b/posts/2017-07-26.md @@ -13,7 +13,7 @@ image: 2017-07-26.jpg Tags: #release -Just in time for [Gr8Conf US](https://gr8conf.us/), the [Grails<sup>®</sup> team](https://objectcomputing.com/products/2gm-team) at [Object Computing, Inc.](https://objectcomputing.com/) (OCI) is pleased to announce the release of [Grails 3.3 GA](https://docs.grails.org/3.3.x/). +Just in time for [Gr8Conf US](https://gr8conf.us/), the [Grails<sup>®</sup> team](https://objectcomputing.com/products/2gm-team) at [Object Computing, Inc.](https://objectcomputing.com/) (OCI) is pleased to announce the release of [Grails 3.3 GA](https://grails.apache.org/docs/3.3.x/). Grails 3.3 includes a number of significant improvements, most notably to GORM with GORM 6.1, which we [released earlier](/blog/2017-03-27.html) in order to gather feedback from Grails 3.2.x users. @@ -23,4 +23,4 @@ Other highlights of Grails 3.3 include the new [EventBus](https://async.grails.o Overall there is an abundance of new features and improvements that developers will be able to take advantage of, from the [new testing framework](https://testing.grails.org/) to improvemments to [JSON Views](https://views.grails.org/latest/). -All of these new features and more are covered in the [What's New guide](https://docs.grails.org/3.3.x/guide/introduction.html#whatsNew). Thanks to the Grails community who contributed greatly to making the release a success and we look forward [to your feedback](https://github.com/apache/grails-core/issues)! +All of these new features and more are covered in the [What's New guide](https://grails.apache.org/docs/3.3.x/guide/introduction.html#whatsNew). Thanks to the Grails community who contributed greatly to making the release a success and we look forward [to your feedback](https://github.com/apache/grails-core/issues)! diff --git a/posts/2017-11-21.md b/posts/2017-11-21.md index 44291fd7b2b..cd58813ee06 100644 --- a/posts/2017-11-21.md +++ b/posts/2017-11-21.md @@ -13,7 +13,7 @@ image: 2017-11-21.jpg Tags: #react -As of Grails<sup>®</sup> 3.3.2, there are now two distinct [Profiles](https://docs.grails.org/latest/guide/profiles.html) for using [React](https://reactjs.org/) in your Grails projects. These profiles are essentially the same as those described in the [announcement post](/blog/2017-11-21.html), with some updates. +As of Grails<sup>®</sup> 3.3.2, there are now two distinct [Profiles](https://grails.apache.org/docs/latest/guide/profiles.html) for using [React](https://reactjs.org/) in your Grails projects. These profiles are essentially the same as those described in the [announcement post](/blog/2017-11-21.html), with some updates. ## React-Webpack Profile for Grails apps diff --git a/posts/2018-05-24.md b/posts/2018-05-24.md index b9e6b366deb..8455646e827 100644 --- a/posts/2018-05-24.md +++ b/posts/2018-05-24.md @@ -13,7 +13,7 @@ JAVASCRIPT: [%url]/javascripts/prism.js [%date] -In Grails<sup>®</sup> 3 applications, logging is handled by the [Logback logging framework](https://docs.grails.org/latest/guide/conf.html#logging). Grails artifacts are configured with logging out of the box. The developer simply invokes `log.info("log whatever")` and it works. But how do we create unit tests that assert that logs occur with the appropriate level? +In Grails<sup>®</sup> 3 applications, logging is handled by the [Logback logging framework](https://grails.apache.org/docs/latest/guide/conf.html#logging). Grails artifacts are configured with logging out of the box. The developer simply invokes `log.info("log whatever")` and it works. But how do we create unit tests that assert that logs occur with the appropriate level? This blog will highlight some mock logging techniques and when to use them. diff --git a/posts/2019-02-19.md b/posts/2019-02-19.md index bb4e435f3e0..141ed54305a 100644 --- a/posts/2019-02-19.md +++ b/posts/2019-02-19.md @@ -27,6 +27,6 @@ In addition, [Micronaut](https://micronaut.io/ "Micronaut") is now included as p Startup time and memory consumption have also been optimized and improved significantly over previous releases, thanks to changes in both Spring Boot 2.1 and also the migration of some of the Grails framework's internal infrastructure wiring to Micronaut. -Many Grails plugins have been verified as working with Grails 4, and for those within the Grails plugin community, now is the time to upgrade your plugins and verify the plugins continue to work with Grails 4. As this is a new major version, [API changes have been made](https://docs.grails.org/4.0.x/guide/upgrading.html), as well as changes within Spring Boot, Groovy, and Hibernate that may require changes to work with Grails 4\. Please read the [upgrade documentation](https://docs.grail [...] +Many Grails plugins have been verified as working with Grails 4, and for those within the Grails plugin community, now is the time to upgrade your plugins and verify the plugins continue to work with Grails 4. As this is a new major version, [API changes have been made](https://grails.apache.org/docs/4.0.x/guide/upgrading.html), as well as changes within Spring Boot, Groovy, and Hibernate that may require changes to work with Grails 4\. Please read the [upgrade documentation](https://gra [...] Thanks to all those who contributed to the release, and we look forward to your feedback and to seeing you at Devnexus 2019. diff --git a/posts/2019-07-11.md b/posts/2019-07-11.md index daa07cd1c2b..bc3f001e10d 100644 --- a/posts/2019-07-11.md +++ b/posts/2019-07-11.md @@ -28,6 +28,6 @@ In addition, [Micronaut](https://micronaut.io/ "Micronaut") is now included as p Startup time and memory consumption have also been optimized and improved significantly over previous releases, thanks to changes in both Spring Boot 2.1 and also the migration of some of the Grails framework's internal infrastructure wiring to Micronaut. -Many Grails plugins have been verified as working with Grails 4\. For those within the Grails plugin community, now is the time to upgrade your plugins and verify they continue to work with Grails 4. As this is a new major version, [API changes have been made](https://docs.grails.org/4.0.x/guide/upgrading.html), as well as changes within Spring Boot, Groovy, and Hibernate that may require changes to work with Grails 4\. Please read the [upgrade documentation](https://docs.grails.org/4.0. [...] +Many Grails plugins have been verified as working with Grails 4\. For those within the Grails plugin community, now is the time to upgrade your plugins and verify they continue to work with Grails 4. As this is a new major version, [API changes have been made](https://grails.apache.org/docs/4.0.x/guide/upgrading.html), as well as changes within Spring Boot, Groovy, and Hibernate that may require changes to work with Grails 4\. Please read the [upgrade documentation](https://grails.apache [...] Thanks to all those who contributed to the release, and if you haven't already, do sign up for [next week's webinar](https://objectcomputing.com/products/micronaut/community/something-big-is-coming) where we have more exciting announcements related to the Grails framework and Micronaut planned. diff --git a/posts/2022-07-18-rce-vulnerability.md b/posts/2022-07-18-rce-vulnerability.md index c1f3d985722..792bd5f8804 100644 --- a/posts/2022-07-18-rce-vulnerability.md +++ b/posts/2022-07-18-rce-vulnerability.md @@ -23,7 +23,7 @@ Updated impacted Grails framework versions. The Grails team has confirmed a critical security vulnerability reported by meizjm3i and codeplutos of AntGroup FG Security Lab. This vulnerability has been assigned identifier [CVE-2022-35912](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-35912). -The vulnerability allows an attacker to remotely execute code within a Grails application runtime by issuing a specially crafted web request that grants the attacker access to the class loader. This attack exploits a section of the Grails data-binding logic. Grails data-binding is invoked in a number of ways including the creation of command objects, domain class construction, and manual data binding when using `bindData`. For a full description, please refer to [the data-binding docum [...] +The vulnerability allows an attacker to remotely execute code within a Grails application runtime by issuing a specially crafted web request that grants the attacker access to the class loader. This attack exploits a section of the Grails data-binding logic. Grails data-binding is invoked in a number of ways including the creation of command objects, domain class construction, and manual data binding when using `bindData`. For a full description, please refer to [the data-binding docum [...] ## Impacted Applications diff --git a/posts/2022-09-28-static-binding-bug.md b/posts/2022-09-28-static-binding-bug.md index ed824e86d3b..6b8c25000e8 100644 --- a/posts/2022-09-28-static-binding-bug.md +++ b/posts/2022-09-28-static-binding-bug.md @@ -34,7 +34,7 @@ This can occur when manually calling **bindData** (or one of several variants) g One common property that represents an important part of the functionality in the Grails framework is the **constraints** property. The **constraints** property allows classes that implement the **Validateable** trait to check that the data in an instance of the class is valid. It is also a static property that could be overwritten due to this bug, potentially leading to data corruption. Because of this possibility, we feel it is important for organizations using the Framework to be aw [...] -For more information about data validation functionality available in the Grails framework, please see the [documentation](https://docs.grails.org/5.2.4/guide/validation.html). +For more information about data validation functionality available in the Grails framework, please see the [documentation](https://grails.apache.org/docs/5.2.4/guide/validation.html). ## Resolution diff --git a/posts/2023-03-29-grails-6-m2.md b/posts/2023-03-29-grails-6-m2.md index 951cb97e699..e9f90e82b9f 100644 --- a/posts/2023-03-29-grails-6-m2.md +++ b/posts/2023-03-29-grails-6-m2.md @@ -33,7 +33,7 @@ With the release of Grails 6 M2, we have introduced a brand new implementation o Starting with Grails 6, there will not be a Grails CLI wrapper in new projects. Many of the commands offered by the legacy CLI can be run directly from Gradle. For example, `./grailsw run-app` can be achieved with `./gradlew bootRun`. For commands that alter the files of a Grails project like `create-controller`, you will be able to use the globally-installed Grails CLI from within the project folder. -There are some specific commands which are supported via plugins that may not work with the New CLI, these commands are written as Groovy scripts and need to be converted to Grails ApplicationCommand which would make them available as Gradle tasks. You can find more information in the Grails Documentation about [creating custom commands](https://docs.grails.org/latest/guide/commandLine.html#creatingCustomCommands). Alternatively, we can rewrite commands in the New Grails CLI and use rock [...] +There are some specific commands which are supported via plugins that may not work with the New CLI, these commands are written as Groovy scripts and need to be converted to Grails ApplicationCommand which would make them available as Gradle tasks. You can find more information in the Grails Documentation about [creating custom commands](https://grails.apache.org/docs/latest/guide/commandLine.html#creatingCustomCommands). Alternatively, we can rewrite commands in the New Grails CLI and u [...] ## Installation @@ -82,7 +82,7 @@ We will soon add support for REST API Plugin, ReactJS and AngularJS application ## The Grails Scaffolding Plugin -The Grails Scaffolding plugin, which defines commands such as generate-all and generate-controller, will not work because it uses the command scripts. In Grails 3, we introduced the concept of an ApplicationCommand which has similar abilities as scripts in regards to retrieving arguments, template generation, file access, and model building. For more information, please read the Grails documentation for [creating custom commands](https://docs.grails.org/latest/guide/commandLine.html#crea [...] +The Grails Scaffolding plugin, which defines commands such as generate-all and generate-controller, will not work because it uses the command scripts. In Grails 3, we introduced the concept of an ApplicationCommand which has similar abilities as scripts in regards to retrieving arguments, template generation, file access, and model building. For more information, please read the Grails documentation for [creating custom commands](https://grails.apache.org/docs/latest/guide/commandLine.ht [...] ## Why should you upgrade to Grails 6? diff --git a/posts/2023-07-25-introducing-grails-6.md b/posts/2023-07-25-introducing-grails-6.md index 69284a92f43..d8932f9d667 100644 --- a/posts/2023-07-25-introducing-grails-6.md +++ b/posts/2023-07-25-introducing-grails-6.md @@ -66,6 +66,6 @@ At the heart of Grails lies its vibrant and passionate community of developers, In conclusion, Grails 6 represents a significant advancement in web development, providing developers with a powerful platform to build exceptional applications. Embrace Grails 6 and its advancements in Java, Spring, Spring Boot, and Micronaut integration to unlock the full potential of modern web development and embark on an exciting journey towards creating innovative and scalable applications. -To download and get started with Grails 6, visit the official Grails documentation: [docs.grails.org/latest/guide/gettingStarted.html#downloadingAndInstalling](https://docs.grails.org/latest/guide/gettingStarted.html#downloadingAndInstalling). +To download and get started with Grails 6, visit the official Grails documentation: [https://grails.apache.org/docs/latest/guide/gettingStarted.html#downloadingAndInstalling](https://grails.apache.org/docs/latest/guide/gettingStarted.html#downloadingAndInstalling). **Happy Coding with Grails 6!** diff --git a/posts/2024-12-23-grails-7-m1.md b/posts/2024-12-23-grails-7-m1.md index 685964a2e01..536db3d5fff 100644 --- a/posts/2024-12-23-grails-7-m1.md +++ b/posts/2024-12-23-grails-7-m1.md @@ -203,7 +203,7 @@ If you already have a Grails application and want to upgrade to the latest versi grailsGradlePluginVersion=7.0.0-M3 ``` -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-M1/guide/upgrading.html#upgrading60x. +3. Make any necessary adjustments to your application code, configuration, and dependencies to ensure compatibility with the new version. See https://grails.apache.org/docs/7.0.0-M1/guide/upgrading.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-M1. diff --git a/posts/2025-03-05-grails-7-m3.md b/posts/2025-03-05-grails-7-m3.md index 063eb43cba4..758f7952275 100644 --- a/posts/2025-03-05-grails-7-m3.md +++ b/posts/2025-03-05-grails-7-m3.md @@ -234,7 +234,7 @@ If you already have a Grails application and want to upgrade to the latest versi ``` 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/upgrading.html#upgrading60x. + the new version. See https://grails.apache.org/docs/7.0.0-M3/guide/upgrading.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 diff --git a/posts/2025-06-10-grails-7-m4.md b/posts/2025-06-10-grails-7-m4.md index 840dabd364c..f014c6161f1 100644 --- a/posts/2025-06-10-grails-7-m4.md +++ b/posts/2025-06-10-grails-7-m4.md @@ -92,7 +92,7 @@ And in addition to all of this: * 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](https://docs.grails.org/7.0.0-M4/guide/upgrading.html#upgrading60x). +Upgrade instructions are available in the [documentation](https://grails.apache.org/docs/7.0.0-M4/guide/upgrading.html#upgrading60x). ## Dependency Upgrades In this release, we've upgraded several dependency versions, including but not limited to the following: @@ -103,7 +103,7 @@ In this release, we've upgraded several dependency versions, including but not l * 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). +* See all in the [grails-bom](https://grails.apache.org/docs/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/). @@ -140,7 +140,7 @@ If you already have a Grails application and want to upgrade to the latest versi ``` 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/upgrading.html#upgrading60x. + the new version. See https://grails.apache.org/docs/7.0.0-M4/guide/upgrading.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 diff --git a/posts/2025-07-15-grails-7-m5.md b/posts/2025-07-15-grails-7-m5.md index eef4418bc8d..afb2f58c3de 100644 --- a/posts/2025-07-15-grails-7-m5.md +++ b/posts/2025-07-15-grails-7-m5.md @@ -72,7 +72,7 @@ For changes made in Grails 7 prior to [%version], check out the following blog p 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/upgrading.html#upgrading60x). +Upgrade instructions are available in the [documentation](https://grails.apache.org/docs/[%version]/guide/upgrading.html#upgrading60x). ## Dependency Upgrades In this release, we've upgraded several dependency versions, including but not limited to the following: @@ -82,7 +82,7 @@ In this release, we've upgraded several dependency versions, including but not l * Spring Framework 6.2.8 * Spring Boot 3.5.3 * Gradle 8.14.2 -* See all in the [grails-bom](https://docs.grails.org/[%version]/ref/Versions/Grails%20BOM.html). +* See all in the [grails-bom](https://grails.apache.org/docs/[%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. @@ -91,7 +91,7 @@ After installing the JetBrains' IntelliJ IDEA [Grails Plugin](https://plugins.je Within your newly generated project you can access the Grails CLIs with the grails wrapper -See [Types of CLI](https://docs.grails.org/[%version]/guide/gettingStarted.html#downloadingAndInstalling) for details on each CLI +See [Types of CLI](https://grails.apache.org/docs/[%version]/guide/gettingStarted.html#downloadingAndInstalling) for details on each CLI grail-shell-cli @@ -108,7 +108,7 @@ 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 [Types of CLI](https://docs.grails.org/[%version]/guide/gettingStarted.html#downloadingAndInstalling) for details on each CLI +See [Types of CLI](https://grails.apache.org/docs/[%version]/guide/gettingStarted.html#downloadingAndInstalling) 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. @@ -153,7 +153,7 @@ If you already have a Grails application and want to upgrade to the latest versi ``` 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/upgrading.html#upgrading60x) + the new version. [See Upgrade Guide](https://grails.apache.org/docs/[%version]/guide/upgrading.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 diff --git a/posts/2025-08-10-grails-7-rc1.md b/posts/2025-08-10-grails-7-rc1.md index ae0d2495fa4..18e7329eca0 100644 --- a/posts/2025-08-10-grails-7-rc1.md +++ b/posts/2025-08-10-grails-7-rc1.md @@ -67,7 +67,7 @@ For changes made in Grails 7 prior to [%version], check out the following blog p 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/upgrading.html#upgrading60x). +Upgrade instructions are available in the [documentation](https://grails.apache.org/docs/[%version]/guide/upgrading.html#upgrading60x). ## Dependency Upgrades In this release, we've upgraded several dependency versions, including but not limited to the following: @@ -77,7 +77,7 @@ In this release, we've upgraded several dependency versions, including but not l * 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). +* See all in the [grails-bom](https://grails.apache.org/docs/[%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. @@ -86,7 +86,7 @@ After installing JetBrains' IntelliJ IDEA 2025.2 or later and the [Grails Plugin 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. +See the [Types of CLI](https://grails.apache.org/docs/[%version]/guide/gettingStarted.html#_types_of_command_line_interface_cli) section in the documentation for details on each CLI. grail-shell-cli @@ -103,7 +103,7 @@ 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. +See the [Types of CLI](https://grails.apache.org/docs/[%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]: @@ -147,7 +147,7 @@ If you already have a Grails application and want to upgrade to the latest versi ``` 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/upgrading.html#upgrading60x) + the new version. [See Upgrade Guide](https://grails.apache.org/docs/[%version]/guide/upgrading.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 diff --git a/posts/2025-09-11-grails-7-rc2.md b/posts/2025-09-11-grails-7-rc2.md index 692644297a6..74c88c22345 100644 --- a/posts/2025-09-11-grails-7-rc2.md +++ b/posts/2025-09-11-grails-7-rc2.md @@ -97,7 +97,7 @@ For changes made in Grails 7 prior to [%version], check out the following blog p 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/upgrading.html#upgrading60x). +Upgrade instructions are available in the [documentation](https://grails.apache.org/docs/[%version]/guide/upgrading.html#upgrading60x). ## Additional Releases @@ -141,7 +141,7 @@ In this release, we've upgraded several dependency versions, including but not l * Asset Pipeline 5.0.16 (now cloud.wondrify.asset-pipeline) * Spring Framework 6.2.10 * Spring Boot 3.5.5 -* See all in the [grails-bom](https://docs.grails.org/[%version]/ref/Versions/Grails%20BOM.html). +* See all in the [grails-bom](https://grails.apache.org/docs/[%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. @@ -150,7 +150,7 @@ After installing JetBrains' IntelliJ IDEA 2025.2 or later and the [Grails Plugin 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. +See the [Types of CLI](https://grails.apache.org/docs/[%version]/guide/gettingStarted.html#_types_of_command_line_interface_cli) section in the documentation for details on each CLI. grail-shell-cli @@ -167,7 +167,7 @@ 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. +See the [Types of CLI](https://grails.apache.org/docs/[%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]: @@ -211,7 +211,7 @@ If you already have a Grails application and want to upgrade to the latest versi ``` 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/upgrading.html#upgrading60x) + the new version. [See Upgrade Guide](https://grails.apache.org/docs/[%version]/guide/upgrading.html#upgrading60x) - remove `org.apache.grails:grails-i18n` from your dependency list, it has changed to `org.apache.grails.i18n:grails-i18n` and is provided transitively by default diff --git a/posts/2025-10-07-apache-grails-graduation-top-level-project.md b/posts/2025-10-07-apache-grails-graduation-top-level-project.md index 44d836debfe..a9c5b11ba53 100644 --- a/posts/2025-10-07-apache-grails-graduation-top-level-project.md +++ b/posts/2025-10-07-apache-grails-graduation-top-level-project.md @@ -107,7 +107,7 @@ Their dedication and hard work have significantly contributed to the release of ### Resources - [Website](https://grails.apache.org/) -- [Documentation](https://docs.grails.org/latest/) +- [Documentation](https://grails.apache.org/docs/latest/) - [GitHub](https://github.com/apache/grails-core) - [Developer Mailing List](https://lists.apache.org/[email protected]) - [Users Mailing List](https://lists.apache.org/[email protected])
