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>&reg;</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>&reg;</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>&reg;</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>&reg;</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>&reg;</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>&reg;</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>&reg;</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>&reg;</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])

Reply via email to