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

asf-ci-deploy pushed a commit to branch asf-site-production
in repository https://gitbox.apache.org/repos/asf/grails-website.git


The following commit(s) were added to refs/heads/asf-site-production by this 
push:
     new 4e7129b4ffc Updating apache/grails-website asf-site-production branch 
for Github Actions run:18392662170
4e7129b4ffc is described below

commit 4e7129b4ffc9699e2d48213f453eda07a568ca69
Author: jamesfredley <[email protected]>
AuthorDate: Fri Oct 10 00:30:43 2025 +0000

    Updating apache/grails-website asf-site-production branch for Github 
Actions run:18392662170
---
 blog/2016-04-01-1.html                             |   8 +-
 blog/2016-04-01-2.html                             |   8 +-
 blog/2016-05-28.html                               |   2 +-
 blog/2016-07-22.html                               |   2 +-
 blog/2016-08-31.html                               |   6 +-
 blog/2016-09-28.html                               |   2 +-
 blog/2017-01-20-1.html                             |   8 +-
 blog/2017-01-20-2.html                             |   8 +-
 blog/2017-01-20-3.html                             |   8 +-
 blog/2017-01-20-4.html                             |   8 +-
 blog/2017-06-28.html                               |   2 +-
 blog/2017-07-12.html                               |   8 +-
 blog/2017-07-26.html                               |   4 +-
 blog/2017-10-30.html                               |   8 +-
 blog/2017-11-21.html                               |   2 +-
 blog/2018-02-08.html                               |   8 +-
 blog/2018-05-24.html                               |   2 +-
 blog/2019-01-30.html                               |   8 +-
 blog/2019-02-19.html                               |   2 +-
 blog/2019-07-11.html                               |   2 +-
 blog/2022-07-18-rce-vulnerability.html             |   2 +-
 blog/2022-09-28-static-binding-bug.html            |   2 +-
 blog/2023-03-29-grails-6-m2.html                   |   4 +-
 blog/2023-07-25-introducing-grails-6.html          |   2 +-
 blog/2024-12-23-grails-7-m1.html                   |   2 +-
 blog/2025-03-05-grails-7-m3.html                   |   2 +-
 blog/2025-06-10-grails-7-m4.html                   |   6 +-
 blog/2025-07-15-grails-7-m5.html                   |  10 +-
 blog/2025-08-10-grails-7-rc1.html                  |  10 +-
 blog/2025-09-11-grails-7-rc2.html                  |  10 +-
 ...apache-grails-graduation-top-level-project.html |   2 +-
 blog/index.html                                    |  24 ++--
 blog/tag/quickcast.html                            |  24 ++--
 documentation.html                                 |  36 +++---
 faq.html                                           |   2 +-
 foundation/minutes.xml                             |   2 +-
 index.html                                         |   4 +-
 profiles.html                                      |   2 +-
 rss.xml                                            | 122 ++++++++++-----------
 39 files changed, 187 insertions(+), 187 deletions(-)

diff --git a/blog/2016-04-01-1.html b/blog/2016-04-01-1.html
index 8445d55e359..b3198e22568 100644
--- a/blog/2016-04-01-1.html
+++ b/blog/2016-04-01-1.html
@@ -112,15 +112,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2016-04-01-2.html b/blog/2016-04-01-2.html
index f92ddd50b16..532f75330f9 100644
--- a/blog/2016-04-01-2.html
+++ b/blog/2016-04-01-2.html
@@ -115,15 +115,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2016-05-28.html b/blog/2016-05-28.html
index a9cde7cc179..b01a2257cde 100644
--- a/blog/2016-05-28.html
+++ b/blog/2016-05-28.html
@@ -231,7 +231,7 @@
 <p>Now that we have our backend largely ready to go, we’re ready to set up 
React.</p>
 <blockquote>
 <p>Question: Why Do This?</p>
-<p>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 <a 
href="https://docs.grails.org/latest/guide/profiles.html#creatingProfiles";>Grails
 3.1 ships with a profile</a> tailored to this use case (web-api). Another 
option is to take advantage of Gradle multi-project builds, with separate [...]
+<p>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 <a 
href="https://grails.apache.org/docs/latest/guide/profiles.html#creatingProfiles";>Grails
 3.1 ships with a profile</a> tailored to this use case (web-api). Another 
option is to take advantage of Gradle multi-project builds, with s [...]
 <p>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 ou [...]
 <p>There’s many situations where a team may want to bring React into a Grails 
application, and it can be done in a way that allows for full developer 
productivity for both Grails and Node/React developers. Read on to see how!</p>
 </blockquote>
diff --git a/blog/2016-07-22.html b/blog/2016-07-22.html
index 66b2b6e89a4..1438c98ca0e 100644
--- a/blog/2016-07-22.html
+++ b/blog/2016-07-22.html
@@ -111,7 +111,7 @@
 <p>Of course GORM 6.0 is usable in all versions of Grails 3.x.</p>
 <p>On the Grails side, Grails 3.2 ships with release candidates of the new 
AngularJS 1.0 scaffolding (Angular 2.0 support is coming) and JSON Views 1.1 
plugins as well as numerous improvements to the profiles.</p>
 <p>Grails 3.2 has also been updated to the latest and greatest dependencies 
including Spring Boot 1.4 RC1 and Spring 4.3.</p>
-<p>Check out the <a 
href="https://docs.grails.org/3.2.x/guide/introduction.html#whatsNew";>What's 
New in Grails 3.2 Guide</a> for information on all the updates.</p>
+<p>Check out the <a 
href="https://grails.apache.org/docs/3.2.x/guide/introduction.html#whatsNew";>What's
 New in Grails 3.2 Guide</a> for information on all the updates.</p>
 <p>We're inching closer to an RC now so it is a great time to try your 
applications and <a href="https://github.com/apache/grails-core/issues";>report 
issues</a>!</p>
 <p>If you want to hear more come and see us at Gr8Conf US in Minneapolis USA, 
or G3 Summit in Fort Lauderdale USA!</p>
     <h2 class='space-above'>
diff --git a/blog/2016-08-31.html b/blog/2016-08-31.html
index c916afae2a4..d158ab98486 100644
--- a/blog/2016-08-31.html
+++ b/blog/2016-08-31.html
@@ -109,7 +109,7 @@ dataSource.driverClassName = 'org.h2.Driver'
 </code></pre>
 <p>This article will not go into detail about YAML syntax. For that see <a 
href="https://yaml.org/";>the main YAML site</a>. Instead, this article will 
focus on Grails 3 specific features related to accessing those configuration 
values.</p>
 <h2>The Config Property in GrailsApplication</h2>
-<p>The <a 
href="https://docs.grails.org/3.1.10/api/grails/core/GrailsApplication.html";>GrailsApplication</a>
 interface defines the <a 
href="https://docs.grails.org/3.1.10/api/grails/core/GrailsApplication.html#getConfig()">getConfig</a>
 method which returns a <a 
href="https://docs.grails.org/3.1.10/api/grails/config/Config.html";>Config</a> 
object. In the Spring application context is a bean named 
<code>grailsApplication</code> which is an instance of a class which implements 
the <code>Gr [...]
+<p>The <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/core/GrailsApplication.html";>GrailsApplication</a>
 interface defines the <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/core/GrailsApplication.html#getConfig()">getConfig</a>
 method which returns a <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/config/Config.html";>Config</a>
 object. In the Spring application context is a bean named 
<code>grailsApplication</code> which is an instance of a class which im [...]
 <pre><code class="language-yaml"># grails-app/conf/application.yml
 max:
     line:
@@ -152,7 +152,7 @@ Integer maxLineNumbers =  
config.getProperty('max.line.numbers', Integer)
 Integer maxLineNumbers =  config.getProperty('max.line.numbers', Integer, 2112)
 </code></pre>
 <h3>Required Properties</h3>
-<p>For required properties you could write application code that reacts 
however is appropriate if the property doesn't exist. You could also use the <a 
href="https://docs.grails.org/3.1.10/api/grails/config/ConfigMap.html#getRequiredProperty(java.lang.String,%20java.lang.Class)">getRequiredProperty</a>
 method which will throw an exception if a requested property does not 
exist.</p>
+<p>For required properties you could write application code that reacts 
however is appropriate if the property doesn't exist. You could also use the <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/config/ConfigMap.html#getRequiredProperty(java.lang.String,%20java.lang.Class)">getRequiredProperty</a>
 method which will throw an exception if a requested property does not 
exist.</p>
 <pre><code class="language-groovy">// retrieve the max.line.numbers config 
value
 // throws IllegalStateException if the
 // config value does not exist
@@ -174,7 +174,7 @@ class SomeController {
 }
 </code></pre>
 <h3>Config Injection Using GrailsConfigurationAware</h3>
-<p>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 <a 
href="https://docs.grails.org/3.1.10/api/grails/core/support/GrailsConfigurationAware.html";>GrailsConfigurationAware</a>
 interface. There is a bean post processor that will discover all beans that 
implement at that interface and that post processor will invoke the  [...]
+<p>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 <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/core/support/GrailsConfigurationAware.html";>GrailsConfigurationAware</a>
 interface. There is a bean post processor that will discover all beans that 
implement at that interface and that post processor will invo [...]
 <pre><code class="language-groovy">import grails.config.Config
 import grails.core.support.GrailsConfigurationAware
 
diff --git a/blog/2016-09-28.html b/blog/2016-09-28.html
index fbcd075f0a8..984842f651e 100644
--- a/blog/2016-09-28.html
+++ b/blog/2016-09-28.html
@@ -119,7 +119,7 @@
 <li>REST improvements</li>
 <li>Latest and greatest libraries (Spring Boot 1.4, Gradle 3.0, etc.)</li>
 </ul>
-<p>These are just some of the highlights. I recommend checking out the 
dedicated <a 
href="https://docs.grails.org/3.2.x/guide/introduction.html#whatsNew";>&quot;What's
 New&quot;</a> section in the brand new Asciidoctor-based <a 
href="https://docs.grails.org/3.2.x";>user guide</a> for more information.</p>
+<p>These are just some of the highlights. I recommend checking out the 
dedicated <a 
href="https://grails.apache.org/docs/3.2.x/guide/introduction.html#whatsNew";>&quot;What's
 New&quot;</a> section in the brand new Asciidoctor-based <a 
href="https://grails.apache.org/docs/3.2.x";>user guide</a> for more 
information.</p>
 <p>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.</p>
     <h2 class='space-above'>
       <span>You might also like ...</span>
diff --git a/blog/2017-01-20-1.html b/blog/2017-01-20-1.html
index da8a5aa881f..27b1006674f 100644
--- a/blog/2017-01-20-1.html
+++ b/blog/2017-01-20-1.html
@@ -111,15 +111,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2017-01-20-2.html b/blog/2017-01-20-2.html
index 12bc913224d..1e6548d8abc 100644
--- a/blog/2017-01-20-2.html
+++ b/blog/2017-01-20-2.html
@@ -111,15 +111,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2017-01-20-3.html b/blog/2017-01-20-3.html
index 21fbead5b1e..bd39d55a88c 100644
--- a/blog/2017-01-20-3.html
+++ b/blog/2017-01-20-3.html
@@ -112,15 +112,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2017-01-20-4.html b/blog/2017-01-20-4.html
index c4ab6992669..70613c7f4de 100644
--- a/blog/2017-01-20-4.html
+++ b/blog/2017-01-20-4.html
@@ -112,15 +112,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2017-06-28.html b/blog/2017-06-28.html
index 8929423137c..fcffefe67c7 100644
--- a/blog/2017-06-28.html
+++ b/blog/2017-06-28.html
@@ -93,7 +93,7 @@
 <p><span class="author">By Zachary Klein</span></p>
 <p><span class="date">June 28, 2017</span></p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/ssl.html";><span 
class="hashtag">#ssl</span></a> <a 
href="https://grails.apache.org/blog/tag/deployment.html";><span 
class="hashtag">#deployment</span></a></p>
-<p>The <a 
href="https://docs.grails.org/latest/ref/Command%20Line/run-app.html";>Grails<sup>®</sup>
 <em>run-app</em> command documentation</a> describes how to use the 
<em>-https</em> flag to serve your app over HTTPS.</p>
+<p>The <a 
href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html";>Grails<sup>®</sup>
 <em>run-app</em> command documentation</a> describes how to use the 
<em>-https</em> flag to serve your app over HTTPS.</p>
 <blockquote>
 <p>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.</p>
 </blockquote>
diff --git a/blog/2017-07-12.html b/blog/2017-07-12.html
index 4d0039cca85..1f90a771f71 100644
--- a/blog/2017-07-12.html
+++ b/blog/2017-07-12.html
@@ -112,15 +112,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2017-07-26.html b/blog/2017-07-26.html
index 023cbc1305d..8ca09cb0314 100644
--- a/blog/2017-07-26.html
+++ b/blog/2017-07-26.html
@@ -93,12 +93,12 @@
 <p><span class="author">By Graeme Rocher</span></p>
 <p><span class="date">July 26, 2017</span></p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/release.html";><span 
class="hashtag">#release</span></a></p>
-<p>Just in time for <a href="https://gr8conf.us/";>Gr8Conf US</a>, the <a 
href="https://objectcomputing.com/products/2gm-team";>Grails<sup>®</sup> 
team</a> at <a href="https://objectcomputing.com/";>Object Computing, Inc.</a> 
(OCI) is pleased to announce the release of <a 
href="https://docs.grails.org/3.3.x/";>Grails 3.3 GA</a>.</p>
+<p>Just in time for <a href="https://gr8conf.us/";>Gr8Conf US</a>, the <a 
href="https://objectcomputing.com/products/2gm-team";>Grails<sup>®</sup> 
team</a> at <a href="https://objectcomputing.com/";>Object Computing, Inc.</a> 
(OCI) is pleased to announce the release of <a 
href="https://grails.apache.org/docs/3.3.x/";>Grails 3.3 GA</a>.</p>
 <p>Grails 3.3 includes a number of significant improvements, most notably to 
GORM with GORM 6.1, which we <a href="/blog/2017-03-27.html">released 
earlier</a> in order to gather feedback from Grails 3.2.x users.</p>
 <p>GORM 6.1 includes some real breakthrough innovations, including <a 
href="https://gorm.grails.org/6.1.x/hibernate/manual/index.html#dataServices";>Data
 Services</a> that allow you to define interfaces that are automatically 
implemented and work seamlessly with GORM's multi-tenancy features.</p>
 <p>Other highlights of Grails 3.3 include the new <a 
href="https://async.grails.org/latest/guide/index.html#events";>EventBus</a> 
abstraction which integrates with existing reactive libraries such as RxJava. 
Events are also for the first time transaction aware so that consumers are only 
notified if the surrounding transaction is successful, which simplifies code 
greatly.</p>
 <p>Overall there is an abundance of new features and improvements that 
developers will be able to take advantage of, from the <a 
href="https://testing.grails.org/";>new testing framework</a> to improvemments 
to <a href="https://views.grails.org/latest/";>JSON Views</a>.</p>
-<p>All of these new features and more are covered in the <a 
href="https://docs.grails.org/3.3.x/guide/introduction.html#whatsNew";>What's 
New guide</a>. Thanks to the Grails community who contributed greatly to making 
the release a success and we look forward <a 
href="https://github.com/apache/grails-core/issues";>to your feedback</a>!</p>
+<p>All of these new features and more are covered in the <a 
href="https://grails.apache.org/docs/3.3.x/guide/introduction.html#whatsNew";>What's
 New guide</a>. Thanks to the Grails community who contributed greatly to 
making the release a success and we look forward <a 
href="https://github.com/apache/grails-core/issues";>to your feedback</a>!</p>
     <h2 class='space-above'>
       <span>You might also like ...</span>
     </h2>
diff --git a/blog/2017-10-30.html b/blog/2017-10-30.html
index 327d4aa3ddb..4bfbec7f04e 100644
--- a/blog/2017-10-30.html
+++ b/blog/2017-10-30.html
@@ -112,15 +112,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2017-11-21.html b/blog/2017-11-21.html
index 01e9aef2d66..acfbd8ef441 100644
--- a/blog/2017-11-21.html
+++ b/blog/2017-11-21.html
@@ -93,7 +93,7 @@
 <p><span class="author">By Zachary Klein</span></p>
 <p><span class="date">November 21, 2017</span></p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/react.html";><span 
class="hashtag">#react</span></a></p>
-<p>As of Grails<sup>®</sup> 3.3.2, there are now two distinct <a 
href="https://docs.grails.org/latest/guide/profiles.html";>Profiles</a> for 
using <a href="https://reactjs.org/";>React</a> in your Grails projects. These 
profiles are essentially the same as those described in the <a 
href="/blog/2017-11-21.html">announcement post</a>, with some updates.</p>
+<p>As of Grails<sup>®</sup> 3.3.2, there are now two distinct <a 
href="https://grails.apache.org/docs/latest/guide/profiles.html";>Profiles</a> 
for using <a href="https://reactjs.org/";>React</a> in your Grails projects. 
These profiles are essentially the same as those described in the <a 
href="/blog/2017-11-21.html">announcement post</a>, with some updates.</p>
 <h2>React-Webpack Profile for Grails apps</h2>
 <p>This profile provides a monolithic project structure with React code 
embedded within the Grails project. Formerly, to use this version of the 
profile you had to specific it's version explictly. Now, this profile can be 
used when creating a new Grails 3.3.2 app like so:</p>
 <pre><code>grails create-app myapp -profile react-weback
diff --git a/blog/2018-02-08.html b/blog/2018-02-08.html
index 4061d836118..f9fa7020c17 100644
--- a/blog/2018-02-08.html
+++ b/blog/2018-02-08.html
@@ -111,15 +111,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
     </div>
diff --git a/blog/2018-05-24.html b/blog/2018-05-24.html
index 5f4913784b1..e061bb1de90 100644
--- a/blog/2018-05-24.html
+++ b/blog/2018-05-24.html
@@ -92,7 +92,7 @@
   <div class='light padded blogpost'><h1>Grails® Mock Logging</h1>
 <p><span class="author">By Nirav Assar</span></p>
 <p><span class="date">May 24, 2018</span></p>
-<p>In Grails<sup>®</sup> 3 applications, logging is handled by the <a 
href="https://docs.grails.org/latest/guide/conf.html#logging";>Logback logging 
framework</a>. Grails artifacts are configured with logging out of the box. The 
developer simply invokes <code>log.info(&quot;log whatever&quot;)</code> and it 
works. But how do we create unit tests that assert that logs occur with the 
appropriate level?</p>
+<p>In Grails<sup>®</sup> 3 applications, logging is handled by the <a 
href="https://grails.apache.org/docs/latest/guide/conf.html#logging";>Logback 
logging framework</a>. Grails artifacts are configured with logging out of the 
box. The developer simply invokes <code>log.info(&quot;log 
whatever&quot;)</code> and it works. But how do we create unit tests that 
assert that logs occur with the appropriate level?</p>
 <p>This blog will highlight some mock logging techniques and when to use 
them.</p>
 <h2>Default Grails Logging in Unit Tests</h2>
 <p>First let's get the obvious out of the way for clarity. If you are not 
concerned about testing how logs operate in your application, there is no 
reason to worry about mocking loggers in Grails apps.</p>
diff --git a/blog/2019-01-30.html b/blog/2019-01-30.html
index 696feb21c5d..764a65ad052 100644
--- a/blog/2019-01-30.html
+++ b/blog/2019-01-30.html
@@ -111,15 +111,15 @@
     </h2>
     <div class='threecolumns'>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
diff --git a/blog/2019-02-19.html b/blog/2019-02-19.html
index 54c2e8d03af..497516cb795 100644
--- a/blog/2019-02-19.html
+++ b/blog/2019-02-19.html
@@ -104,7 +104,7 @@
 </ul>
 <p>In addition, <a href="https://micronaut.io/"; 
title="Micronaut">Micronaut</a> is now included as part of the Grails framework 
as the parent ApplicationContext, allowing any Micronaut feature, whether it be 
the declarative HTTP client or the Kafka client, to be used within a Grails 4 
application.</p>
 <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.</p>
-<p>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, <a href="https://docs.grails.org/4.0.x/guide/upgrading.html";>API 
changes have been made</a>, as well as changes within Spring Boot, Groovy, and 
Hibernate that may require changes to work with Grails 4. Please read the <a 
href="https://docs.grails. [...]
+<p>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, <a 
href="https://grails.apache.org/docs/4.0.x/guide/upgrading.html";>API changes 
have been made</a>, as well as changes within Spring Boot, Groovy, and 
Hibernate that may require changes to work with Grails 4. Please read the <a 
href="https://grail [...]
 <p>Thanks to all those who contributed to the release, and we look forward to 
your feedback and to seeing you at Devnexus 2019.</p>
     <h2 class='space-above'>
       <span>You might also like ...</span>
diff --git a/blog/2019-07-11.html b/blog/2019-07-11.html
index cc73d260980..12819b709e2 100644
--- a/blog/2019-07-11.html
+++ b/blog/2019-07-11.html
@@ -105,7 +105,7 @@
 </ul>
 <p>In addition, <a href="https://micronaut.io/"; 
title="Micronaut">Micronaut</a> is now included as part of the Grails framework 
as the parent ApplicationContext, allowing any Micronaut feature, whether it be 
the declarative HTTP client or the Kafka client, to be used within a Grails 4 
application. In fact the <a 
href="https://docs.micronaut.io/latest/guide/index.html#httpClient";>Micronaut 
HTTP client</a> is now considered the supported HTTP client for use within 
Grails applications.</p>
 <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.</p>
-<p>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, <a 
href="https://docs.grails.org/4.0.x/guide/upgrading.html";>API changes have been 
made</a>, as well as changes within Spring Boot, Groovy, and Hibernate that may 
require changes to work with Grails 4. Please read the <a 
href="https://docs.grails.org/4.0.x/g [...]
+<p>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, <a 
href="https://grails.apache.org/docs/4.0.x/guide/upgrading.html";>API changes 
have been made</a>, as well as changes within Spring Boot, Groovy, and 
Hibernate that may require changes to work with Grails 4. Please read the <a 
href="https://grails.apache.or [...]
 <p>Thanks to all those who contributed to the release, and if you haven't 
already, do sign up for <a 
href="https://objectcomputing.com/products/micronaut/community/something-big-is-coming";>next
 week's webinar</a> where we have more exciting announcements related to the 
Grails framework and Micronaut planned.</p>
     <h2 class='space-above'>
       <span>You might also like ...</span>
diff --git a/blog/2022-07-18-rce-vulnerability.html 
b/blog/2022-07-18-rce-vulnerability.html
index 0f51ac90bd1..35aa2889561 100644
--- a/blog/2022-07-18-rce-vulnerability.html
+++ b/blog/2022-07-18-rce-vulnerability.html
@@ -98,7 +98,7 @@
 <p>Updated impacted Grails framework versions.</p>
 <h2>Overview</h2>
 <p>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 <a 
href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-35912";>CVE-2022-35912</a>.</p>
-<p>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 <code>bindData</code>.  For a full 
description, please refer to <a href=" [...]
+<p>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 <code>bindData</code>.  For a full 
description, please refer to <a href=" [...]
 <h2>Impacted Applications</h2>
 <ul>
 <li>Grails framework versions
diff --git a/blog/2022-09-28-static-binding-bug.html 
b/blog/2022-09-28-static-binding-bug.html
index 17888d800d3..78c1300dbfa 100644
--- a/blog/2022-09-28-static-binding-bug.html
+++ b/blog/2022-09-28-static-binding-bug.html
@@ -105,7 +105,7 @@
 <p>This can occur when manually calling <strong>bindData</strong> (or one of 
several variants) given the conditions above. Under particular additional 
conditions, controller actions that automatically bind request data to (nested) 
command objects may cause static properties to change.</p>
 <h2>The constraints property</h2>
 <p>One common property that represents an important part of the functionality 
in the Grails framework is the <strong>constraints</strong> property. The 
<strong>constraints</strong> property allows classes that implement the 
<strong>Validateable</strong> 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  [...]
-<p>For more information about data validation functionality available in the 
Grails framework, please see the <a 
href="https://docs.grails.org/5.2.4/guide/validation.html";>documentation</a>.</p>
+<p>For more information about data validation functionality available in the 
Grails framework, please see the <a 
href="https://grails.apache.org/docs/5.2.4/guide/validation.html";>documentation</a>.</p>
 <h2>Resolution</h2>
 <p>The Grails Team recommends that all Grails applications be upgraded to a 
patched Grails release. Grails 4.x applications can be upgraded to version 
4.1.2 or higher, and Grails 5.x applications can be upgraded to 5.2.3 or 
higher.</p>
 <p>We have released a patched version of Grails 3 for this bug.  Grails 3.x 
applications can be upgraded to version 3.3.16.</p>
diff --git a/blog/2023-03-29-grails-6-m2.html b/blog/2023-03-29-grails-6-m2.html
index b941ec11c64..f61f40a1658 100644
--- a/blog/2023-03-29-grails-6-m2.html
+++ b/blog/2023-03-29-grails-6-m2.html
@@ -111,7 +111,7 @@
 </li>
 </ul>
 <p>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, <code>./grailsw run-app</code> can be achieved with 
<code>./gradlew bootRun</code>.  For commands that alter the files of a Grails 
project like <code>create-controller</code>, you will be able to use the 
globally-installed Grails CLI from within the project folder.</p>
-<p>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 <a 
href="https://docs.grails.org/latest/guide/commandLine.html#creatingCustomCommands";>creating
 custom commands</a>. Alternatively, we can rewrite commands in the New Grails 
CL [...]
+<p>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 <a 
href="https://grails.apache.org/docs/latest/guide/commandLine.html#creatingCustomCommands";>creating
 custom commands</a>. Alternatively, we can rewrite commands in the New Gr [...]
 <h2>Installation</h2>
 <h3>Installing with SDKMan</h3>
 <p>The easiest way to install new Grails CLI is with <a 
href="https://sdkman.io";>SDKMan</a>, run the following command:</p>
@@ -150,7 +150,7 @@ sdk use grails dev
 </ul>
 <p>We will soon add support for REST API Plugin, ReactJS and AngularJS 
application types.</p>
 <h2>The Grails Scaffolding Plugin</h2>
-<p>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 <a 
href="https://docs.grails.org/latest/guide/commandLine.html#creatingCustomComma 
[...]
+<p>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 <a 
href="https://grails.apache.org/docs/latest/guide/commandLine.html#creatingCust 
[...]
 <h2>Why should you upgrade to Grails 6?</h2>
 <ul>
 <li>With the future release of Grails 7, we are planning a move to Java 17 as 
a baseline, so Grails 6 provides an easy upgrade path to users or applications 
who are planning to move to Java 17.</li>
diff --git a/blog/2023-07-25-introducing-grails-6.html 
b/blog/2023-07-25-introducing-grails-6.html
index 7c4c2a7c842..5449c65a615 100644
--- a/blog/2023-07-25-introducing-grails-6.html
+++ b/blog/2023-07-25-introducing-grails-6.html
@@ -139,7 +139,7 @@
 <h2>Join the Grails Community: A Collective Journey</h2>
 <p>At the heart of Grails lies its vibrant and passionate community of 
developers, whose contributions play a pivotal role in shaping the framework's 
evolution. Community contributions not only enhance the feature set of Grails 
but also address bugs, provide valuable feedback, and share best practices. The 
active involvement of the community fosters a collaborative environment where 
ideas are shared, discussed, and refined, ultimately benefiting all Grails 
users. With Grails 6, we encour [...]
 <p>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.</p>
-<p>To download and get started with Grails 6, visit the official Grails 
documentation: <a 
href="https://docs.grails.org/latest/guide/gettingStarted.html#downloadingAndInstalling";>docs.grails.org/latest/guide/gettingStarted.html#downloadingAndInstalling</a>.</p>
+<p>To download and get started with Grails 6, visit the official Grails 
documentation: <a 
href="https://grails.apache.org/docs/latest/guide/gettingStarted.html#downloadingAndInstalling";>https://grails.apache.org/docs/latest/guide/gettingStarted.html#downloadingAndInstalling</a>.</p>
 <p><strong>Happy Coding with Grails 6!</strong></p>
     <h2 class='space-above'>
       <span>You might also like ...</span>
diff --git a/blog/2024-12-23-grails-7-m1.html b/blog/2024-12-23-grails-7-m1.html
index a0f6a189576..846038975c0 100644
--- a/blog/2024-12-23-grails-7-m1.html
+++ b/blog/2024-12-23-grails-7-m1.html
@@ -298,7 +298,7 @@ grailsGradlePluginVersion=7.0.0-M3
 </code></pre>
 </li>
 <li>
-<p>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.</p>
+<p>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.</p>
 </li>
 </ol>
 <p>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.</p>
diff --git a/blog/2025-03-05-grails-7-m3.html b/blog/2025-03-05-grails-7-m3.html
index 4d3e9841750..8e651d85c9d 100644
--- a/blog/2025-03-05-grails-7-m3.html
+++ b/blog/2025-03-05-grails-7-m3.html
@@ -320,7 +320,7 @@ grailsGradlePluginVersion=7.0.0-M4
 </li>
 <li>
 <p>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.</p>
+the new version. See 
https://grails.apache.org/docs/7.0.0-M3/guide/upgrading.html#upgrading60x.</p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
diff --git a/blog/2025-06-10-grails-7-m4.html b/blog/2025-06-10-grails-7-m4.html
index d5387c21995..c214bf2f548 100644
--- a/blog/2025-06-10-grails-7-m4.html
+++ b/blog/2025-06-10-grails-7-m4.html
@@ -165,7 +165,7 @@ meaning anyone can view your information. Make sure your 
email client does not a
 <li>Addition of NOTICE to Grails Source</li>
 <li>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.</li>
 </ul>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-M4/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-M4/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Dependency Upgrades</h2>
 <p>In this release, we've upgraded several dependency versions, including but 
not limited to the following:</p>
 <ul>
@@ -175,7 +175,7 @@ meaning anyone can view your information. Make sure your 
email client does not a
 <li>Spring Boot 3.5.0</li>
 <li>Gradle 8.14</li>
 <li>Spock 2.3-groovy-4.0</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-M4/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-M4/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Installing Grails 7.0.0-M4</h2>
 <p>Try out Grails 7.0.0-M4 today by visiting the online app creator * <a 
href="https://start.grails.org/";>Grails Forge</a>.
@@ -215,7 +215,7 @@ groovy.version=4.0.27
 </li>
 <li>
 <p>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.</p>
+the new version. See 
https://grails.apache.org/docs/7.0.0-M4/guide/upgrading.html#upgrading60x.</p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
diff --git a/blog/2025-07-15-grails-7-m5.html b/blog/2025-07-15-grails-7-m5.html
index ca909e6758c..6274e605aa0 100644
--- a/blog/2025-07-15-grails-7-m5.html
+++ b/blog/2025-07-15-grails-7-m5.html
@@ -147,7 +147,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>#14316 Use local repo commands instead of the github api for Release Drop 
Down population by @JudeRV in #14834</li>
 </ul>
 <p>Full Changelog: <a 
href="https://github.com/apache/grails-core/compare/v7.0.0-M4...v7.0.0-M5";>v7.0.0-M4...v7.0.0-M5</a></p>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-M5/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Dependency Upgrades</h2>
 <p>In this release, we've upgraded several dependency versions, including but 
not limited to the following:</p>
 <ul>
@@ -156,13 +156,13 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>Spring Framework 6.2.8</li>
 <li>Spring Boot 3.5.3</li>
 <li>Gradle 8.14.2</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-M5/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-M5/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Generating a new Grails 7.0.0-M5 application with Grails Forge</h2>
 <p>Try out Grails today by visiting our online application generator <a 
href="https://start.grails.org/";>Grails Forge</a>.  This is the quickest and 
the recommended way to get started with Grails.</p>
 <p>After installing the JetBrains' IntelliJ IDEA <a 
href="https://plugins.jetbrains.com/plugin/18504-grails";>Grails Plugin</a>, the 
Grails Application Forge will also be available under New Project in IntelliJ 
IDEA.</p>
 <p>Within your newly generated project you can access the Grails CLIs with the 
grails wrapper</p>
-<p>See <a 
href="https://docs.grails.org/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
+<p>See <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
 <p>grail-shell-cli</p>
 <pre><code class="language-shell">grailsw
 </code></pre>
@@ -171,7 +171,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 </code></pre>
 <h2>Installing Grails CLIs 7.0.0-M5 with SDKMan</h2>
 <p>Alternatively, you can quickly install Grails 7.0.0-M5 CLIs 
(grails-shell-cli and grails-forge-cli) using <a 
href="https://sdkman.io/";>SDKMan</a>.</p>
-<p>See <a 
href="https://docs.grails.org/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
+<p>See <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
 <ol>
 <li>
 <p>If you don't have SDKMan installed, follow the instructions at <a 
href="https://sdkman.io/install/";>SDKMan Installation Guide</a>
@@ -213,7 +213,7 @@ to set it up.</p>
 </li>
 <li>
 <p>Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
-the new version. <a 
href="https://docs.grails.org/7.0.0-M5/guide/upgrading.html#upgrading60x";>See 
Upgrade Guide</a></p>
+the new version. <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/upgrading.html#upgrading60x";>See
 Upgrade Guide</a></p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
diff --git a/blog/2025-08-10-grails-7-rc1.html 
b/blog/2025-08-10-grails-7-rc1.html
index 53656ad3bf0..cb4a6f12433 100644
--- a/blog/2025-08-10-grails-7-rc1.html
+++ b/blog/2025-08-10-grails-7-rc1.html
@@ -142,7 +142,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>fix: #13705 - revert changes to Metadata from micronaut removal 
@jdaugherty (#14897)</li>
 </ul>
 <p>Full Changelog: <a 
href="https://github.com/apache/grails-core/compare/v7.0.0-M5...v7.0.0-RC1";>v7.0.0-M5...v7.0.0-RC1</a></p>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-RC1/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Dependency Upgrades</h2>
 <p>In this release, we've upgraded several dependency versions, including but 
not limited to the following:</p>
 <ul>
@@ -151,13 +151,13 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>Spring Framework 6.2.9</li>
 <li>Spring Boot 3.5.4</li>
 <li>Gradle 8.14.3</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-RC1/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Generating a new Grails 7.0.0-RC1 application with Grails Forge</h2>
 <p>Try out Grails today by visiting our online application generator <a 
href="https://start.grails.org";>Grails Forge</a>. This is the quickest and the 
recommended way to get started with Grails.</p>
 <p>After installing JetBrains' IntelliJ IDEA 2025.2 or later and the <a 
href="https://plugins.jetbrains.com/plugin/18504-grails";>Grails Plugin</a>, the 
Grails Application Forge will also be available under New Project in IntelliJ 
IDEA.</p>
 <p>Within your newly generated project you can access the Grails CLIs with the 
Grails Wrapper.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <p>grail-shell-cli</p>
 <pre><code class="language-shell">grailsw
 </code></pre>
@@ -166,7 +166,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 </code></pre>
 <h2>Installing Grails CLIs 7.0.0-RC1 with SDKMan</h2>
 <p>Alternatively, you can quickly install Grails 7.0.0-RC1 CLIs 
(grails-shell-cli and grails-forge-cli) using <a 
href="https://sdkman.io";>SDKMan</a>.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <ol>
 <li>
 <p>If you don't have SDKMan installed, follow the instructions at <a 
href="https://sdkman.io/install";>SDKMan Installation Guide</a> to set it up.</p>
@@ -207,7 +207,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 </li>
 <li>
 <p>Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
-the new version. <a 
href="https://docs.grails.org/7.0.0-RC1/guide/upgrading.html#upgrading60x";>See 
Upgrade Guide</a></p>
+the new version. <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/upgrading.html#upgrading60x";>See
 Upgrade Guide</a></p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
diff --git a/blog/2025-09-11-grails-7-rc2.html 
b/blog/2025-09-11-grails-7-rc2.html
index f4fe477afbb..5b56924c80c 100644
--- a/blog/2025-09-11-grails-7-rc2.html
+++ b/blog/2025-09-11-grails-7-rc2.html
@@ -171,7 +171,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>chore: correct wording for the voting window @matrei (#14954)</li>
 </ul>
 <p>Full Changelog: <a 
href="https://github.com/apache/grails-core/compare/v7.0.0-RC1...v7.0.0-RC2";>v7.0.0-RC1...v7.0.0-RC2</a></p>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-RC2/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Additional Releases</h2>
 <p>The following plugins and tools are being released alongside Grails 
7.0.0-RC2:</p>
 <h3>Grails Spring Security 7.0.0-RC2</h3>
@@ -202,13 +202,13 @@ The actions being released are used in gradle projects 
for their release workflo
 <li>Asset Pipeline 5.0.16 (now cloud.wondrify.asset-pipeline)</li>
 <li>Spring Framework 6.2.10</li>
 <li>Spring Boot 3.5.5</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-RC2/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Generating a new Grails 7.0.0-RC2 application with Grails Forge</h2>
 <p>Try out Grails today by visiting our online application generator <a 
href="https://start.grails.org";>Grails Forge</a>. This is the quickest and the 
recommended way to get started with Grails.</p>
 <p>After installing JetBrains' IntelliJ IDEA 2025.2 or later and the <a 
href="https://plugins.jetbrains.com/plugin/18504-grails";>Grails Plugin</a>, the 
Grails Application Forge will also be available under New Project in IntelliJ 
IDEA.</p>
 <p>Within your newly generated project you can access the Grails CLIs with the 
Grails Wrapper.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <p>grail-shell-cli</p>
 <pre><code class="language-shell">grailsw
 </code></pre>
@@ -217,7 +217,7 @@ The actions being released are used in gradle projects for 
their release workflo
 </code></pre>
 <h2>Installing Grails CLIs 7.0.0-RC2 with SDKMan</h2>
 <p>Alternatively, you can quickly install Grails 7.0.0-RC2 CLIs 
(grails-shell-cli and grails-forge-cli) using <a 
href="https://sdkman.io";>SDKMan</a>.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <ol>
 <li>
 <p>If you don't have SDKMan installed, follow the instructions at <a 
href="https://sdkman.io/install";>SDKMan Installation Guide</a> to set it up.</p>
@@ -258,7 +258,7 @@ The actions being released are used in gradle projects for 
their release workflo
 </li>
 <li>
 <p>Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
-the new version. <a 
href="https://docs.grails.org/7.0.0-RC2/guide/upgrading.html#upgrading60x";>See 
Upgrade Guide</a></p>
+the new version. <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/upgrading.html#upgrading60x";>See
 Upgrade Guide</a></p>
 <ul>
 <li>remove <code>org.apache.grails:grails-i18n</code> from your dependency 
list, it has changed to <code>org.apache.grails.i18n:grails-i18n</code> and is 
provided transitively by default</li>
 </ul>
diff --git a/blog/2025-10-07-apache-grails-graduation-top-level-project.html 
b/blog/2025-10-07-apache-grails-graduation-top-level-project.html
index 2652688de6a..81392b54063 100644
--- a/blog/2025-10-07-apache-grails-graduation-top-level-project.html
+++ b/blog/2025-10-07-apache-grails-graduation-top-level-project.html
@@ -169,7 +169,7 @@ Special thanks to:</p>
 <h3>Resources</h3>
 <ul>
 <li><a href="https://grails.apache.org/";>Website</a></li>
-<li><a href="https://docs.grails.org/latest/";>Documentation</a></li>
+<li><a href="https://grails.apache.org/docs/latest/";>Documentation</a></li>
 <li><a href="https://github.com/apache/grails-core";>GitHub</a></li>
 <li><a 
href="https://lists.apache.org/[email protected]";>Developer 
Mailing List</a></li>
 <li><a href="https://lists.apache.org/[email protected]";>Users 
Mailing List</a></li>
diff --git a/blog/index.html b/blog/index.html
index 0c35d0376dc..2a08c3fe674 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -506,15 +506,15 @@
   </a>
 </article></div></div><div class="threecolumns">
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/2018-06-22.jpg)'>
@@ -662,27 +662,27 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #5: Retrieving Runtime Config Value...</h2>
+    <h2>Quickcast #6: Developing Grails® 3 Applicatio...</h2>
   </a>
 </article></div></div><div class="threecolumns">
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-1.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #3: Multi-Project Builds</h2>
+    <h2>Quickcast #4: Angular Scaffolding</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-1.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #4: Angular Scaffolding</h2>
+    <h2>Quickcast #3: Multi-Project Builds</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #6: Developing Grails® 3 Applicatio...</h2>
+    <h2>Quickcast #5: Retrieving Runtime Config Value...</h2>
   </a>
 </article></div></div><div class="threecolumns">
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/2016-12-14.jpg)'>
diff --git a/blog/tag/quickcast.html b/blog/tag/quickcast.html
index c870fce1d1b..a7a47da5e45 100644
--- a/blog/tag/quickcast.html
+++ b/blog/tag/quickcast.html
@@ -97,15 +97,15 @@
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
+    <h2>Quickcast #10: Debugging Grails® Apps</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2018-08-22-1.html'>
+  <a href='https://grails.apache.org/blog/2018-08-22-2.html'>
     <h3>August 22, 2018</h3>
-    <h2>Quickcast #10: Debugging Grails® Apps</h2>
+    <h2>Quickcast #11: Grails® Profiling with YourKit</h2>
   </a>
 </article></div></div><div class="threecolumns">
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
@@ -127,27 +127,27 @@
   </a>
 </article></div></div><div class="threecolumns">
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #5: Retrieving Runtime Config Value...</h2>
+    <h2>Quickcast #6: Developing Grails® 3 Applicatio...</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-1.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #3: Multi-Project Builds</h2>
+    <h2>Quickcast #4: Angular Scaffolding</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-1.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #4: Angular Scaffolding</h2>
+    <h2>Quickcast #3: Multi-Project Builds</h2>
   </a>
 </article></div></div><div class="threecolumns">
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
-  <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
+  <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
     <h3>January 20, 2017</h3>
-    <h2>Quickcast #6: Developing Grails® 3 Applicatio...</h2>
+    <h2>Quickcast #5: Retrieving Runtime Config Value...</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/quickcast.jpg)'>
diff --git a/documentation.html b/documentation.html
index 1a88b641f88..986ff6aaf56 100644
--- a/documentation.html
+++ b/documentation.html
@@ -95,10 +95,10 @@
   </div>
   <ul>
     <li>
-      <a href='https://docs.grails.org/7.0.0-RC2/'>User Guide</a>
+      <a href='https://grails.apache.org/docs/7.0.0-RC2/'>User Guide</a>
     </li>
     <li>
-      <a href='https://docs.grails.org/7.0.0-RC2/api/'>API Reference</a>
+      <a href='https://grails.apache.org/docs/7.0.0-RC2/api/'>API Reference</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
@@ -108,10 +108,10 @@
   </div>
   <ul>
     <li>
-      <a href='https://docs.grails.org/snapshot/'>User Guide</a>
+      <a href='https://grails.apache.org/docs/snapshot/'>User Guide</a>
     </li>
     <li>
-      <a href='https://docs.grails.org/snapshot/api/'>API Reference</a>
+      <a href='https://grails.apache.org/docs/snapshot/api/'>API Reference</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
@@ -121,10 +121,10 @@
   </div>
   <ul>
     <li>
-      <a 
href='https://docs.grails.org/latest/grails-data/hibernate5/manual/'>GORM 
Hibernate</a>
+      <a 
href='https://grails.apache.org/docs/latest/grails-data/hibernate5/manual/'>GORM
 Hibernate</a>
     </li>
     <li>
-      <a 
href='https://docs.grails.org/latest/grails-data/mongodb/manual/'>GORM 
MongoDb</a>
+      <a 
href='https://grails.apache.org/docs/latest/grails-data/mongodb/manual/'>GORM 
MongoDb</a>
     </li>
     <li>
       <a href='https://gorm.grails.org/latest/neo4j/manual/index.html'>GORM 
Neo4j</a>
@@ -175,10 +175,10 @@
   </div>
   <ul>
     <li>
-      <a href='https://docs.grails.org/6.2.3/'>User Guide</a>
+      <a href='https://grails.apache.org/docs/6.2.3/'>User Guide</a>
     </li>
     <li>
-      <a href='https://docs.grails.org/6.2.3/api/'>API Reference</a>
+      <a href='https://grails.apache.org/docs/6.2.3/api/'>API Reference</a>
     </li>
   </ul>
 </div>
@@ -187,19 +187,19 @@
         <p>Browse previous versions' documentation since Grails 1.2.0</p>
         <div class='versionselector'>
           <h4>Single Page - User Guide</h4>
-          <select 
onchange='window.location.href=&apos;https://docs.grails.org/&apos; + 
this.value + &apos;/&apos;'>
+          <select 
onchange='window.location.href=&apos;https://grails.apache.org/docs/&apos; + 
this.value + &apos;/&apos;'>
             <option>Select a version</option><option>6.2.3</option> 
<option>6.2.2</option> <option>6.2.1</option> <option>6.2.0</option> 
<option>6.2.0</option> <option>6.1.2</option> <option>6.1.2</option> 
<option>6.1.1</option> <option>6.1.1</option> <option>6.1.0</option> 
<option>6.0.0</option> <option>5.3.6</option> <option>5.3.5</option> 
<option>5.3.4</option> <option>5.3.3</option> <option>5.3.2</option> 
<option>5.3.1</option> <option>5.3.0</option> <option>5.2.6</option> <option>5. 
[...]
           </select>
         </div>
         <div class='versionselector'>
           <h4>User Guide</h4>
-          <select 
onchange='window.location.href=&apos;https://docs.grails.org/&apos; + 
this.value'>
+          <select 
onchange='window.location.href=&apos;https://grails.apache.org/docs/&apos; + 
this.value'>
             <option>Select a version</option><option>6.2.3</option> 
<option>6.2.2</option> <option>6.2.1</option> <option>6.2.0</option> 
<option>6.2.0</option> <option>6.1.2</option> <option>6.1.2</option> 
<option>6.1.1</option> <option>6.1.1</option> <option>6.1.0</option> 
<option>6.0.0</option> <option>5.3.6</option> <option>5.3.5</option> 
<option>5.3.4</option> <option>5.3.3</option> <option>5.3.2</option> 
<option>5.3.1</option> <option>5.3.0</option> <option>5.2.6</option> <option>5. 
[...]
           </select>
         </div>
         <div class='versionselector'>
           <h4>API Reference</h4>
-          <select 
onchange='window.location.href=&apos;https://docs.grails.org/&apos; + 
this.value + &apos;/api&apos;'>
+          <select 
onchange='window.location.href=&apos;https://grails.apache.org/docs/&apos; + 
this.value + &apos;/api&apos;'>
             <option>Select a version</option><option>6.2.3</option> 
<option>6.2.2</option> <option>6.2.1</option> <option>6.2.0</option> 
<option>6.2.0</option> <option>6.1.2</option> <option>6.1.2</option> 
<option>6.1.1</option> <option>6.1.1</option> <option>6.1.0</option> 
<option>6.0.0</option> <option>5.3.6</option> <option>5.3.5</option> 
<option>5.3.4</option> <option>5.3.3</option> <option>5.3.2</option> 
<option>5.3.1</option> <option>5.3.0</option> <option>5.2.6</option> <option>5. 
[...]
           </select>
         </div>
@@ -210,7 +210,7 @@
   </div>
   <ul>
     <li>
-      <a href='https://docs.grails.org/latest/guide/upgrading.html'>Upgrade 
Documentation</a>
+      <a 
href='https://grails.apache.org/docs/latest/guide/upgrading.html'>Upgrade 
Documentation</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
@@ -220,7 +220,7 @@
   </div>
   <ul>
     <li>
-      <a href='https://docs.grails.org/latest/guide/testing.html'>Testing 
Framework</a>
+      <a 
href='https://grails.apache.org/docs/latest/guide/testing.html'>Testing 
Framework</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
@@ -230,13 +230,13 @@
   </div>
   <ul>
     <li>
-      <a 
href='https://docs.grails.org/latest/guide/theWebLayer.html#gsp'>GSP</a>
+      <a 
href='https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp'>GSP</a>
     </li>
     <li>
-      <a 
href='https://docs.grails.org/latest/guide/theWebLayer.html#gson'>JSON Views</a>
+      <a 
href='https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson'>JSON 
Views</a>
     </li>
     <li>
-      <a 
href='https://docs.grails.org/latest/guide/theWebLayer.html#markup'>Markup 
Views</a>
+      <a 
href='https://grails.apache.org/docs/latest/guide/theWebLayer.html#markup'>Markup
 Views</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
@@ -246,7 +246,7 @@
   </div>
   <ul>
     <li>
-      <a href='https://docs.grails.org/latest/guide/async.html'>Async 
Grails</a>
+      <a href='https://grails.apache.org/docs/latest/guide/async.html'>Async 
Grails</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
@@ -256,7 +256,7 @@
   </div>
   <ul>
     <li>
-      <a 
href='https://docs.grails.org/latest/grails-data/hibernate5/manual/index.html#databaseMigration'>Database
 Migration Plugin</a>
+      <a 
href='https://grails.apache.org/docs/latest/grails-data/hibernate5/manual/index.html#databaseMigration'>Database
 Migration Plugin</a>
     </li>
   </ul>
 </div><div class='guidegroup'>
diff --git a/faq.html b/faq.html
index c1d155d0041..acaffdb5126 100644
--- a/faq.html
+++ b/faq.html
@@ -129,7 +129,7 @@
 
     </div>
     <div class='question' id='question_docs'>
-      <h2 class='columnheader'>How can I contribute to improving the 
documentation?</h2><p>Grails documentation comes in several forms:<br/>- the <a 
href="https://docs.grails.org/latest/";>reference documentation</a> contains 
language specification, user guides, a getting started tutorial, and 
more.<br/>- the <a href="api.html">GroovyDoc APIs</a> documents the classes of 
the Grails code base<br/>- <a 
href="https://github.com/apache/grails-static-website";>GitHub</a> allows users 
to contrib [...]
+      <h2 class='columnheader'>How can I contribute to improving the 
documentation?</h2><p>Grails documentation comes in several forms:<br/>- the <a 
href="https://grails.apache.org/docs/latest/";>reference documentation</a> 
contains language specification, user guides, a getting started tutorial, and 
more.<br/>- the <a href="api.html">GroovyDoc APIs</a> documents the classes of 
the Grails code base<br/>- <a 
href="https://github.com/apache/grails-static-website";>GitHub</a> allows users 
to  [...]
 
     </div>
     <div class='question' id='question_code'>
diff --git a/foundation/minutes.xml b/foundation/minutes.xml
index b7d59452316..51e09ec95d0 100644
--- a/foundation/minutes.xml
+++ b/foundation/minutes.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><rss 
xmlns:content="http://purl.org/rss/1.0/modules/content/"; 
version="2.0"><channel><title>Foundation | Grails 
Framework</title><link>https://grails.apache.org</link><description>A powerful 
Groovy-based web application framework for the JVM built on top of Spring 
Boot</description><pubDate>Fri, 10 Oct 2025 00:08:38 
GMT</pubDate><item><title>Technology Advisory Board 
Meeting</title><link>https://grails.apache.org/foundation/minutes/20221128-tab.html<
 [...]
+<?xml version="1.0" encoding="UTF-8"?><rss 
xmlns:content="http://purl.org/rss/1.0/modules/content/"; 
version="2.0"><channel><title>Foundation | Grails 
Framework</title><link>https://grails.apache.org</link><description>A powerful 
Groovy-based web application framework for the JVM built on top of Spring 
Boot</description><pubDate>Fri, 10 Oct 2025 00:27:10 
GMT</pubDate><item><title>Technology Advisory Board 
Meeting</title><link>https://grails.apache.org/foundation/minutes/20221128-tab.html<
 [...]
 <h3>Meeting Attendance:</h3>
 <ul>
 <li><strong>Puneet Behl</strong> - Grails Product Development Lead at Object 
Computing</li>
diff --git a/index.html b/index.html
index 15cbc2408f3..85e35def0f8 100644
--- a/index.html
+++ b/index.html
@@ -97,13 +97,13 @@
             <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/6.2.3/";>Documentation
+                    <a 
href="https://grails.apache.org/docs/6.2.3/";>Documentation
                         <span class="version">6.2.3</span>
                     </a>
                 </h2>
diff --git a/profiles.html b/profiles.html
index c30f5fe9604..76ce562599d 100644
--- a/profiles.html
+++ b/profiles.html
@@ -144,7 +144,7 @@
     <h2>Third-Party Profiles</h2>
   </div>
   <ul>
-    <li class='legend'>Use the following documentation to learn how to <a 
href="https://docs.grails.org/latest/guide/profiles.html#creatingProfiles";>create
 your own application profiles</a>
+    <li class='legend'>Use the following documentation to learn how to <a 
href="https://grails.apache.org/docs/latest/guide/profiles.html#creatingProfiles";>create
 your own application profiles</a>
 </li>
     <li>
       <a href='https://github.com/macprzepiora/web-vaadin8'>Vaadin</a>
diff --git a/rss.xml b/rss.xml
index a472e148ff4..72c2207a2a8 100644
--- a/rss.xml
+++ b/rss.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><rss 
xmlns:content="http://purl.org/rss/1.0/modules/content/"; 
version="2.0"><channel><title>Blog | Grails 
Framework</title><link>https://grails.apache.org</link><description>A powerful 
Groovy-based web application framework for the JVM built on top of Spring 
Boot</description><pubDate>Fri, 10 Oct 2025 00:08:40 
GMT</pubDate><item><title>Apache Grails Graduates to Top-Level Project at The 
Apache Software Foundation</title><link>https://grails.apache.or [...]
+<?xml version="1.0" encoding="UTF-8"?><rss 
xmlns:content="http://purl.org/rss/1.0/modules/content/"; 
version="2.0"><channel><title>Blog | Grails 
Framework</title><link>https://grails.apache.org</link><description>A powerful 
Groovy-based web application framework for the JVM built on top of Spring 
Boot</description><pubDate>Fri, 10 Oct 2025 00:27:13 
GMT</pubDate><item><title>Apache Grails Graduates to Top-Level Project at The 
Apache Software Foundation</title><link>https://grails.apache.or [...]
 <p>The Apache Grails team is excited to announce that Apache Grails has 
officially graduated from incubation under the Apache Groovy project to become 
a Top-Level Project (TLP) at The Apache Software Foundation (ASF). This 
achievement reflects the dedication of our community and underscores the 
strength of the ASF's open source ecosystems.</p>
 <p><a 
href="https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-new-top-level-projects-2";>Apache
 Software Foundation Press Release</a></p>
 <p>Apache Grails is a powerful Apache Groovy-based web application framework 
for the Java Virtual Machine (JVM) built on top of Spring Boot. It enables 
rapid application development through convention-over-configuration and Don't 
Repeat Yourself (DRY) principles, making it ideal for productively building 
full-stack applications with simplicity. Similar to Ruby on Rails, Grails has a 
nearly 20-year history of evolution and refinement, built on Java Enterprise 
foundations like Spring Frame [...]
@@ -76,7 +76,7 @@ Special thanks to:</p>
 <h3>Resources</h3>
 <ul>
 <li><a href="https://grails.apache.org/";>Website</a></li>
-<li><a href="https://docs.grails.org/latest/";>Documentation</a></li>
+<li><a href="https://grails.apache.org/docs/latest/";>Documentation</a></li>
 <li><a href="https://github.com/apache/grails-core";>GitHub</a></li>
 <li><a 
href="https://lists.apache.org/[email protected]";>Developer 
Mailing List</a></li>
 <li><a href="https://lists.apache.org/[email protected]";>Users 
Mailing List</a></li>
@@ -164,7 +164,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>chore: correct wording for the voting window @matrei (#14954)</li>
 </ul>
 <p>Full Changelog: <a 
href="https://github.com/apache/grails-core/compare/v7.0.0-RC1...v7.0.0-RC2";>v7.0.0-RC1...v7.0.0-RC2</a></p>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-RC2/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Additional Releases</h2>
 <p>The following plugins and tools are being released alongside Grails 
7.0.0-RC2:</p>
 <h3>Grails Spring Security 7.0.0-RC2</h3>
@@ -195,13 +195,13 @@ The actions being released are used in gradle projects 
for their release workflo
 <li>Asset Pipeline 5.0.16 (now cloud.wondrify.asset-pipeline)</li>
 <li>Spring Framework 6.2.10</li>
 <li>Spring Boot 3.5.5</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-RC2/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Generating a new Grails 7.0.0-RC2 application with Grails Forge</h2>
 <p>Try out Grails today by visiting our online application generator <a 
href="https://start.grails.org";>Grails Forge</a>. This is the quickest and the 
recommended way to get started with Grails.</p>
 <p>After installing JetBrains' IntelliJ IDEA 2025.2 or later and the <a 
href="https://plugins.jetbrains.com/plugin/18504-grails";>Grails Plugin</a>, the 
Grails Application Forge will also be available under New Project in IntelliJ 
IDEA.</p>
 <p>Within your newly generated project you can access the Grails CLIs with the 
Grails Wrapper.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <p>grail-shell-cli</p>
 <pre><code class="language-shell">grailsw
 </code></pre>
@@ -210,7 +210,7 @@ The actions being released are used in gradle projects for 
their release workflo
 </code></pre>
 <h2>Installing Grails CLIs 7.0.0-RC2 with SDKMan</h2>
 <p>Alternatively, you can quickly install Grails 7.0.0-RC2 CLIs 
(grails-shell-cli and grails-forge-cli) using <a 
href="https://sdkman.io";>SDKMan</a>.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <ol>
 <li>
 <p>If you don't have SDKMan installed, follow the instructions at <a 
href="https://sdkman.io/install";>SDKMan Installation Guide</a> to set it up.</p>
@@ -251,7 +251,7 @@ The actions being released are used in gradle projects for 
their release workflo
 </li>
 <li>
 <p>Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
-the new version. <a 
href="https://docs.grails.org/7.0.0-RC2/guide/upgrading.html#upgrading60x";>See 
Upgrade Guide</a></p>
+the new version. <a 
href="https://grails.apache.org/docs/7.0.0-RC2/guide/upgrading.html#upgrading60x";>See
 Upgrade Guide</a></p>
 <ul>
 <li>remove <code>org.apache.grails:grails-i18n</code> from your dependency 
list, it has changed to <code>org.apache.grails.i18n:grails-i18n</code> and is 
provided transitively by default</li>
 </ul>
@@ -397,7 +397,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>fix: #13705 - revert changes to Metadata from micronaut removal 
@jdaugherty (#14897)</li>
 </ul>
 <p>Full Changelog: <a 
href="https://github.com/apache/grails-core/compare/v7.0.0-M5...v7.0.0-RC1";>v7.0.0-M5...v7.0.0-RC1</a></p>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-RC1/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Dependency Upgrades</h2>
 <p>In this release, we've upgraded several dependency versions, including but 
not limited to the following:</p>
 <ul>
@@ -406,13 +406,13 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>Spring Framework 6.2.9</li>
 <li>Spring Boot 3.5.4</li>
 <li>Gradle 8.14.3</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-RC1/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Generating a new Grails 7.0.0-RC1 application with Grails Forge</h2>
 <p>Try out Grails today by visiting our online application generator <a 
href="https://start.grails.org";>Grails Forge</a>. This is the quickest and the 
recommended way to get started with Grails.</p>
 <p>After installing JetBrains' IntelliJ IDEA 2025.2 or later and the <a 
href="https://plugins.jetbrains.com/plugin/18504-grails";>Grails Plugin</a>, the 
Grails Application Forge will also be available under New Project in IntelliJ 
IDEA.</p>
 <p>Within your newly generated project you can access the Grails CLIs with the 
Grails Wrapper.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <p>grail-shell-cli</p>
 <pre><code class="language-shell">grailsw
 </code></pre>
@@ -421,7 +421,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 </code></pre>
 <h2>Installing Grails CLIs 7.0.0-RC1 with SDKMan</h2>
 <p>Alternatively, you can quickly install Grails 7.0.0-RC1 CLIs 
(grails-shell-cli and grails-forge-cli) using <a 
href="https://sdkman.io";>SDKMan</a>.</p>
-<p>See the <a 
href="https://docs.grails.org/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
+<p>See the <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/gettingStarted.html#_types_of_command_line_interface_cli";>Types
 of CLI</a> section in the documentation for details on each CLI.</p>
 <ol>
 <li>
 <p>If you don't have SDKMan installed, follow the instructions at <a 
href="https://sdkman.io/install";>SDKMan Installation Guide</a> to set it up.</p>
@@ -462,7 +462,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 </li>
 <li>
 <p>Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
-the new version. <a 
href="https://docs.grails.org/7.0.0-RC1/guide/upgrading.html#upgrading60x";>See 
Upgrade Guide</a></p>
+the new version. <a 
href="https://grails.apache.org/docs/7.0.0-RC1/guide/upgrading.html#upgrading60x";>See
 Upgrade Guide</a></p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
@@ -607,7 +607,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>#14316 Use local repo commands instead of the github api for Release Drop 
Down population by @JudeRV in #14834</li>
 </ul>
 <p>Full Changelog: <a 
href="https://github.com/apache/grails-core/compare/v7.0.0-M4...v7.0.0-M5";>v7.0.0-M4...v7.0.0-M5</a></p>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-M5/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Dependency Upgrades</h2>
 <p>In this release, we've upgraded several dependency versions, including but 
not limited to the following:</p>
 <ul>
@@ -616,13 +616,13 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 <li>Spring Framework 6.2.8</li>
 <li>Spring Boot 3.5.3</li>
 <li>Gradle 8.14.2</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-M5/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-M5/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Generating a new Grails 7.0.0-M5 application with Grails Forge</h2>
 <p>Try out Grails today by visiting our online application generator <a 
href="https://start.grails.org/";>Grails Forge</a>.  This is the quickest and 
the recommended way to get started with Grails.</p>
 <p>After installing the JetBrains' IntelliJ IDEA <a 
href="https://plugins.jetbrains.com/plugin/18504-grails";>Grails Plugin</a>, the 
Grails Application Forge will also be available under New Project in IntelliJ 
IDEA.</p>
 <p>Within your newly generated project you can access the Grails CLIs with the 
grails wrapper</p>
-<p>See <a 
href="https://docs.grails.org/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
+<p>See <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
 <p>grail-shell-cli</p>
 <pre><code class="language-shell">grailsw
 </code></pre>
@@ -631,7 +631,7 @@ We encourage you to try this pre-release version and 
provide your feedback <a hr
 </code></pre>
 <h2>Installing Grails CLIs 7.0.0-M5 with SDKMan</h2>
 <p>Alternatively, you can quickly install Grails 7.0.0-M5 CLIs 
(grails-shell-cli and grails-forge-cli) using <a 
href="https://sdkman.io/";>SDKMan</a>.</p>
-<p>See <a 
href="https://docs.grails.org/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
+<p>See <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/gettingStarted.html#downloadingAndInstalling";>Types
 of CLI</a> for details on each CLI</p>
 <ol>
 <li>
 <p>If you don't have SDKMan installed, follow the instructions at <a 
href="https://sdkman.io/install/";>SDKMan Installation Guide</a>
@@ -673,7 +673,7 @@ to set it up.</p>
 </li>
 <li>
 <p>Make any necessary adjustments to your application code, configuration, and 
dependencies to ensure compatibility with
-the new version. <a 
href="https://docs.grails.org/7.0.0-M5/guide/upgrading.html#upgrading60x";>See 
Upgrade Guide</a></p>
+the new version. <a 
href="https://grails.apache.org/docs/7.0.0-M5/guide/upgrading.html#upgrading60x";>See
 Upgrade Guide</a></p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
@@ -833,7 +833,7 @@ meaning anyone can view your information. Make sure your 
email client does not a
 <li>Addition of NOTICE to Grails Source</li>
 <li>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.</li>
 </ul>
-<p>Upgrade instructions are available in the <a 
href="https://docs.grails.org/7.0.0-M4/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
+<p>Upgrade instructions are available in the <a 
href="https://grails.apache.org/docs/7.0.0-M4/guide/upgrading.html#upgrading60x";>documentation</a>.</p>
 <h2>Dependency Upgrades</h2>
 <p>In this release, we've upgraded several dependency versions, including but 
not limited to the following:</p>
 <ul>
@@ -843,7 +843,7 @@ meaning anyone can view your information. Make sure your 
email client does not a
 <li>Spring Boot 3.5.0</li>
 <li>Gradle 8.14</li>
 <li>Spock 2.3-groovy-4.0</li>
-<li>See all in the <a 
href="https://docs.grails.org/7.0.0-M4/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
+<li>See all in the <a 
href="https://grails.apache.org/docs/7.0.0-M4/ref/Versions/Grails%20BOM.html";>grails-bom</a>.</li>
 </ul>
 <h2>Installing Grails 7.0.0-M4</h2>
 <p>Try out Grails 7.0.0-M4 today by visiting the online app creator * <a 
href="https://start.grails.org/";>Grails Forge</a>.
@@ -883,7 +883,7 @@ groovy.version=4.0.27
 </li>
 <li>
 <p>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.</p>
+the new version. See 
https://grails.apache.org/docs/7.0.0-M4/guide/upgrading.html#upgrading60x.</p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
@@ -1165,7 +1165,7 @@ grailsGradlePluginVersion=7.0.0-M4
 </li>
 <li>
 <p>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.</p>
+the new version. See 
https://grails.apache.org/docs/7.0.0-M3/guide/upgrading.html#upgrading60x.</p>
 </li>
 </ol>
 <p>Normally, Grails Core dependencies are automatically updated using the 
Grails Bill of Materials (BOM). However, if you
@@ -1514,7 +1514,7 @@ grailsGradlePluginVersion=7.0.0-M3
 </code></pre>
 </li>
 <li>
-<p>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.</p>
+<p>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.</p>
 </li>
 </ol>
 <p>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.</p>
@@ -2249,7 +2249,7 @@ sdk use grails dev
 <h2>Join the Grails Community: A Collective Journey</h2>
 <p>At the heart of Grails lies its vibrant and passionate community of 
developers, whose contributions play a pivotal role in shaping the framework's 
evolution. Community contributions not only enhance the feature set of Grails 
but also address bugs, provide valuable feedback, and share best practices. The 
active involvement of the community fosters a collaborative environment where 
ideas are shared, discussed, and refined, ultimately benefiting all Grails 
users. With Grails 6, we encour [...]
 <p>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.</p>
-<p>To download and get started with Grails 6, visit the official Grails 
documentation: <a 
href="https://docs.grails.org/latest/guide/gettingStarted.html#downloadingAndInstalling";>docs.grails.org/latest/guide/gettingStarted.html#downloadingAndInstalling</a>.</p>
+<p>To download and get started with Grails 6, visit the official Grails 
documentation: <a 
href="https://grails.apache.org/docs/latest/guide/gettingStarted.html#downloadingAndInstalling";>https://grails.apache.org/docs/latest/guide/gettingStarted.html#downloadingAndInstalling</a>.</p>
 <p><strong>Happy Coding with Grails 
6!</strong></p>]]></description><author>Puneet 
Behl</author><guid>2023-07-25-introducing-grails-6</guid><pubDate>Tue, 25 Jul 
2023 00:00:00 GMT</pubDate></item><item><title>Grails 6 RC1 - Release 
Announcement</title><link>https://grails.apache.org/blog/2023-05-27-grails-6-rc1.html</link><description><![CDATA[</p>
 <p>The Grails Foundation is pleased to announce the release of Grails 6 RC1! 
We encourage you to update your applications to this release.</p>
 <p>The <a 
href="https://github.com/apache/grails-core/releases/tag/v6.0.0-RC1";>Grails 
6.0.0-RC1 Release</a> provides an easy upgrade path to the developers, or 
project managers who are looking to upgrade to Java 17, and Spring 6.</p>
@@ -2324,7 +2324,7 @@ sdk use grails dev
 </li>
 </ul>
 <p>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, <code>./grailsw run-app</code> can be achieved with 
<code>./gradlew bootRun</code>.  For commands that alter the files of a Grails 
project like <code>create-controller</code>, you will be able to use the 
globally-installed Grails CLI from within the project folder.</p>
-<p>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 <a 
href="https://docs.grails.org/latest/guide/commandLine.html#creatingCustomCommands";>creating
 custom commands</a>. Alternatively, we can rewrite commands in the New Grails 
CL [...]
+<p>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 <a 
href="https://grails.apache.org/docs/latest/guide/commandLine.html#creatingCustomCommands";>creating
 custom commands</a>. Alternatively, we can rewrite commands in the New Gr [...]
 <h2>Installation</h2>
 <h3>Installing with SDKMan</h3>
 <p>The easiest way to install new Grails CLI is with <a 
href="https://sdkman.io";>SDKMan</a>, run the following command:</p>
@@ -2363,7 +2363,7 @@ sdk use grails dev
 </ul>
 <p>We will soon add support for REST API Plugin, ReactJS and AngularJS 
application types.</p>
 <h2>The Grails Scaffolding Plugin</h2>
-<p>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 <a 
href="https://docs.grails.org/latest/guide/commandLine.html#creatingCustomComma 
[...]
+<p>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 <a 
href="https://grails.apache.org/docs/latest/guide/commandLine.html#creatingCust 
[...]
 <h2>Why should you upgrade to Grails 6?</h2>
 <ul>
 <li>With the future release of Grails 7, we are planning a move to Java 17 as 
a baseline, so Grails 6 provides an easy upgrade path to users or applications 
who are planning to move to Java 17.</li>
@@ -2448,7 +2448,7 @@ Moving the Grails Foundation under Unity provides a 
meaningful alliance between
 <p>This can occur when manually calling <strong>bindData</strong> (or one of 
several variants) given the conditions above. Under particular additional 
conditions, controller actions that automatically bind request data to (nested) 
command objects may cause static properties to change.</p>
 <h2>The constraints property</h2>
 <p>One common property that represents an important part of the functionality 
in the Grails framework is the <strong>constraints</strong> property. The 
<strong>constraints</strong> property allows classes that implement the 
<strong>Validateable</strong> 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  [...]
-<p>For more information about data validation functionality available in the 
Grails framework, please see the <a 
href="https://docs.grails.org/5.2.4/guide/validation.html";>documentation</a>.</p>
+<p>For more information about data validation functionality available in the 
Grails framework, please see the <a 
href="https://grails.apache.org/docs/5.2.4/guide/validation.html";>documentation</a>.</p>
 <h2>Resolution</h2>
 <p>The Grails Team recommends that all Grails applications be upgraded to a 
patched Grails release. Grails 4.x applications can be upgraded to version 
4.1.2 or higher, and Grails 5.x applications can be upgraded to 5.2.3 or 
higher.</p>
 <p>We have released a patched version of Grails 3 for this bug.  Grails 3.x 
applications can be upgraded to version 3.3.16.</p>
@@ -2476,7 +2476,7 @@ Moving the Grails Foundation under Unity provides a 
meaningful alliance between
 <p>Updated impacted Grails framework versions.</p>
 <h2>Overview</h2>
 <p>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 <a 
href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-35912";>CVE-2022-35912</a>.</p>
-<p>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 <code>bindData</code>.  For a full 
description, please refer to <a href=" [...]
+<p>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 <code>bindData</code>.  For a full 
description, please refer to <a href=" [...]
 <h2>Impacted Applications</h2>
 <ul>
 <li>Grails framework versions
@@ -3358,7 +3358,7 @@ David has contributed to so many plugins over the years, 
he has lost count! Whic
 </ul>
 <p>In addition, <a href="https://micronaut.io/"; 
title="Micronaut">Micronaut</a> is now included as part of the Grails framework 
as the parent ApplicationContext, allowing any Micronaut feature, whether it be 
the declarative HTTP client or the Kafka client, to be used within a Grails 4 
application. In fact the <a 
href="https://docs.micronaut.io/latest/guide/index.html#httpClient";>Micronaut 
HTTP client</a> is now considered the supported HTTP client for use within 
Grails applications.</p>
 <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.</p>
-<p>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, <a 
href="https://docs.grails.org/4.0.x/guide/upgrading.html";>API changes have been 
made</a>, as well as changes within Spring Boot, Groovy, and Hibernate that may 
require changes to work with Grails 4. Please read the <a 
href="https://docs.grails.org/4.0.x/g [...]
+<p>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, <a 
href="https://grails.apache.org/docs/4.0.x/guide/upgrading.html";>API changes 
have been made</a>, as well as changes within Spring Boot, Groovy, and 
Hibernate that may require changes to work with Grails 4. Please read the <a 
href="https://grails.apache.or [...]
 <p>Thanks to all those who contributed to the release, and if you haven't 
already, do sign up for <a 
href="https://objectcomputing.com/products/micronaut/community/something-big-is-coming";>next
 week's webinar</a> where we have more exciting announcements related to the 
Grails framework and Micronaut planned.</p>]]></description><author>Graeme 
Rocher</author><guid>2019-07-11</guid><pubDate>Thu, 11 Jul 2019 00:00:00 
GMT</pubDate></item><item><title>Webinar: Using Apache Groovy for Data Sci [...]
 <p>Tags: <a href="https://grails.apache.org/blog/tag/webinar.html";><span 
class="hashtag">#webinar</span></a> <a 
href="https://grails.apache.org/blog/tag/groovy.html";><span 
class="hashtag">#groovy</span></a></p>
 <p>Apache Groovy is a multi-faceted, multi-paradigm programming language for 
the JVM that offers a wealth of features that make it ideal for transforming 
big data into usable solutions.</p>
@@ -3427,7 +3427,7 @@ David has contributed to so many plugins over the years, 
he has lost count! Whic
 </ul>
 <p>In addition, <a href="https://micronaut.io/"; 
title="Micronaut">Micronaut</a> is now included as part of the Grails framework 
as the parent ApplicationContext, allowing any Micronaut feature, whether it be 
the declarative HTTP client or the Kafka client, to be used within a Grails 4 
application.</p>
 <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.</p>
-<p>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, <a href="https://docs.grails.org/4.0.x/guide/upgrading.html";>API 
changes have been made</a>, as well as changes within Spring Boot, Groovy, and 
Hibernate that may require changes to work with Grails 4. Please read the <a 
href="https://docs.grails. [...]
+<p>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, <a 
href="https://grails.apache.org/docs/4.0.x/guide/upgrading.html";>API changes 
have been made</a>, as well as changes within Spring Boot, Groovy, and 
Hibernate that may require changes to work with Grails 4. Please read the <a 
href="https://grail [...]
 <p>Thanks to all those who contributed to the release, and we look forward to 
your feedback and to seeing you at Devnexus 
2019.</p>]]></description><author>Graeme 
Rocher</author><guid>2019-02-19</guid><pubDate>Tue, 19 Feb 2019 00:00:00 
GMT</pubDate></item><item><title>Quickcast #12: Building Grails® Applications 
with 
Gradle</title><link>https://grails.apache.org/blog/2019-01-30.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
 <p>In this Grails<sup>®</sup> Quickcast, 2GM (Groovy, Grails framework, and 
Micronaut) team member, <a 
href="https://objectcomputing.com/products/2gm-team#caballero";>Sergio del 
Amo</a>, explores Grails integration with the Gradle build tool.</p>
@@ -3555,15 +3555,15 @@ class Team {
 <li>2.14.1.1 for Grails 2.x</li>
 <li>2.15.1 for Grails 3 and Java 7</li>
 <li>3.0.6 for Grails 3 and Java 8</li>
-</ul>]]></description><author>Iván 
López</author><guid>2018-09-23</guid><pubDate>Sun, 23 Sep 2018 00:00:00 
GMT</pubDate></item><item><title>Quickcast #11: Grails® Profiling with 
YourKit</title><link>https://grails.apache.org/blog/2018-08-22-2.html</link><description><![CDATA[</p>
-<p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a> <a 
href="https://grails.apache.org/blog/tag/yourkit.html";><span 
class="hashtag">#yourkit</span></a></p>
-<p>In this Quickcast, 2GM (Groovy, Grails<sup>®</sup> framework, and 
Micronaut) team member, <a 
href="https://objectcomputing.com/products/2gm-team#assar";>Nirav Assar</a>, 
demonstrates how to use YourKit to profile a Grails application and spot CPU 
problems and heap and garbage collection issues.</p>
-<p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
-<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/NJ_T5g4bBeY"; 
frameborder="0"></iframe>]]></description><author>Nirav 
Assar</author><guid>2018-08-22-2</guid><pubDate>Wed, 22 Aug 2018 00:00:00 
GMT</pubDate></item><item><title>Quickcast #10: Debugging Grails® 
Apps</title><link>https://grails.apache.org/blog/2018-08-22-1.html</link><description><![CDATA[</p>
+</ul>]]></description><author>Iván 
López</author><guid>2018-09-23</guid><pubDate>Sun, 23 Sep 2018 00:00:00 
GMT</pubDate></item><item><title>Quickcast #10: Debugging Grails® 
Apps</title><link>https://grails.apache.org/blog/2018-08-22-1.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
 <p>In this 13-minute Quickcast, 2GM (Groovy, Grails<sup>®</sup> framework, and 
Micronaut) team member, <a 
href="https://objectcomputing.com/products/2gm-team#lopez";>Iván López</a>, 
demonstrates a variety of ways to debug Grails core code and the Grails CLI 
(command line interface). Developers may use these tips to fix issues or 
contribute enhancements to the core Grails framework.</p>
 <p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
-<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/y69Cr_hYUCA"; 
frameborder="0"></iframe>]]></description><author>Iván 
López</author><guid>2018-08-22-1</guid><pubDate>Wed, 22 Aug 2018 00:00:00 
GMT</pubDate></item><item><title>Mock vs Stub vs 
Spy</title><link>https://grails.apache.org/blog/2018-06-22.html</link><description><![CDATA[</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/y69Cr_hYUCA"; 
frameborder="0"></iframe>]]></description><author>Iván 
López</author><guid>2018-08-22-1</guid><pubDate>Wed, 22 Aug 2018 00:00:00 
GMT</pubDate></item><item><title>Quickcast #11: Grails® Profiling with 
YourKit</title><link>https://grails.apache.org/blog/2018-08-22-2.html</link><description><![CDATA[</p>
+<p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a> <a 
href="https://grails.apache.org/blog/tag/yourkit.html";><span 
class="hashtag">#yourkit</span></a></p>
+<p>In this Quickcast, 2GM (Groovy, Grails<sup>®</sup> framework, and 
Micronaut) team member, <a 
href="https://objectcomputing.com/products/2gm-team#assar";>Nirav Assar</a>, 
demonstrates how to use YourKit to profile a Grails application and spot CPU 
problems and heap and garbage collection issues.</p>
+<p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/NJ_T5g4bBeY"; 
frameborder="0"></iframe>]]></description><author>Nirav 
Assar</author><guid>2018-08-22-2</guid><pubDate>Wed, 22 Aug 2018 00:00:00 
GMT</pubDate></item><item><title>Mock vs Stub vs 
Spy</title><link>https://grails.apache.org/blog/2018-06-22.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/spock.html";><span 
class="hashtag">#spock</span></a></p>
 <h2>Introduction</h2>
 <p><a href="https://spockframework.org/";>Spock</a> provides three powerful yet 
distinct, tools that make working with collaborators easier:</p>
@@ -3888,7 +3888,7 @@ Moreover, it changes the method implementation to return 
a different String.
 <p>If you want to avoid runtime proxies, I would suggest you take a look at <a 
href="https://micronaut.io/";>Micronaut</a>. :)</p>
 <p><a 
href="https://objectcomputing.com/files/7815/2933/9902/180615_Grails_Code_Webinar_slidedeck.pdf";>Slides</a></p>
 <iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/lZX_lL7cxHE"; 
frameborder="0"></iframe>]]></description><author>Iván 
López</author><guid>2018-06-15</guid><pubDate>Fri, 15 Jun 2018 00:00:00 
GMT</pubDate></item><item><title>Grails® Mock 
Logging</title><link>https://grails.apache.org/blog/2018-05-24.html</link><description><![CDATA[</p>
-<p>In Grails<sup>®</sup> 3 applications, logging is handled by the <a 
href="https://docs.grails.org/latest/guide/conf.html#logging";>Logback logging 
framework</a>. Grails artifacts are configured with logging out of the box. The 
developer simply invokes <code>log.info(&quot;log whatever&quot;)</code> and it 
works. But how do we create unit tests that assert that logs occur with the 
appropriate level?</p>
+<p>In Grails<sup>®</sup> 3 applications, logging is handled by the <a 
href="https://grails.apache.org/docs/latest/guide/conf.html#logging";>Logback 
logging framework</a>. Grails artifacts are configured with logging out of the 
box. The developer simply invokes <code>log.info(&quot;log 
whatever&quot;)</code> and it works. But how do we create unit tests that 
assert that logs occur with the appropriate level?</p>
 <p>This blog will highlight some mock logging techniques and when to use 
them.</p>
 <h2>Default Grails Logging in Unit Tests</h2>
 <p>First let's get the obvious out of the way for clarity. If you are not 
concerned about testing how logs operate in your application, there is no 
reason to worry about mocking loggers in Grails apps.</p>
@@ -4401,7 +4401,7 @@ manually cleanup in functional 
tests.</p>]]></description><author>Sergio Del Amo
 <p><strong>Congratulations to Eric, Graeme, and Jeff for these well deserved 
awards.</strong></p>
 <p><img src="2017-11-30-img01.png" alt="Eric Helgeson, Graeme Rocher, and Jeff 
Scott Brown were honored at G3 Summit 2017 for their contributions to the 
Grails framework." /></p>]]></description><author>Sergio Del Amo 
Caballero</author><guid>2017-11-30</guid><pubDate>Thu, 30 Nov 2017 00:00:00 
GMT</pubDate></item><item><title>Grails® React 
Profiles</title><link>https://grails.apache.org/blog/2017-11-21.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/react.html";><span 
class="hashtag">#react</span></a></p>
-<p>As of Grails<sup>®</sup> 3.3.2, there are now two distinct <a 
href="https://docs.grails.org/latest/guide/profiles.html";>Profiles</a> for 
using <a href="https://reactjs.org/";>React</a> in your Grails projects. These 
profiles are essentially the same as those described in the <a 
href="/blog/2017-11-21.html">announcement post</a>, with some updates.</p>
+<p>As of Grails<sup>®</sup> 3.3.2, there are now two distinct <a 
href="https://grails.apache.org/docs/latest/guide/profiles.html";>Profiles</a> 
for using <a href="https://reactjs.org/";>React</a> in your Grails projects. 
These profiles are essentially the same as those described in the <a 
href="/blog/2017-11-21.html">announcement post</a>, with some updates.</p>
 <h2>React-Webpack Profile for Grails apps</h2>
 <p>This profile provides a monolithic project structure with React code 
embedded within the Grails project. Formerly, to use this version of the 
profile you had to specific it's version explictly. Now, this profile can be 
used when creating a new Grails 3.3.2 app like so:</p>
 <pre><code>grails create-app myapp -profile react-weback
@@ -4455,12 +4455,12 @@ manually cleanup in functional 
tests.</p>]]></description><author>Sergio Del Amo
 <p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
 <iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/JVLn7kWkjp0"; 
frameborder="0"></iframe>]]></description><author>Zachary 
Klein</author><guid>2017-10-30</guid><pubDate>Mon, 30 Oct 2017 00:00:00 
GMT</pubDate></item><item><title>Grails® 3.3 GA 
Released</title><link>https://grails.apache.org/blog/2017-07-26.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/release.html";><span 
class="hashtag">#release</span></a></p>
-<p>Just in time for <a href="https://gr8conf.us/";>Gr8Conf US</a>, the <a 
href="https://objectcomputing.com/products/2gm-team";>Grails<sup>®</sup> 
team</a> at <a href="https://objectcomputing.com/";>Object Computing, Inc.</a> 
(OCI) is pleased to announce the release of <a 
href="https://docs.grails.org/3.3.x/";>Grails 3.3 GA</a>.</p>
+<p>Just in time for <a href="https://gr8conf.us/";>Gr8Conf US</a>, the <a 
href="https://objectcomputing.com/products/2gm-team";>Grails<sup>®</sup> 
team</a> at <a href="https://objectcomputing.com/";>Object Computing, Inc.</a> 
(OCI) is pleased to announce the release of <a 
href="https://grails.apache.org/docs/3.3.x/";>Grails 3.3 GA</a>.</p>
 <p>Grails 3.3 includes a number of significant improvements, most notably to 
GORM with GORM 6.1, which we <a href="/blog/2017-03-27.html">released 
earlier</a> in order to gather feedback from Grails 3.2.x users.</p>
 <p>GORM 6.1 includes some real breakthrough innovations, including <a 
href="https://gorm.grails.org/6.1.x/hibernate/manual/index.html#dataServices";>Data
 Services</a> that allow you to define interfaces that are automatically 
implemented and work seamlessly with GORM's multi-tenancy features.</p>
 <p>Other highlights of Grails 3.3 include the new <a 
href="https://async.grails.org/latest/guide/index.html#events";>EventBus</a> 
abstraction which integrates with existing reactive libraries such as RxJava. 
Events are also for the first time transaction aware so that consumers are only 
notified if the surrounding transaction is successful, which simplifies code 
greatly.</p>
 <p>Overall there is an abundance of new features and improvements that 
developers will be able to take advantage of, from the <a 
href="https://testing.grails.org/";>new testing framework</a> to improvemments 
to <a href="https://views.grails.org/latest/";>JSON Views</a>.</p>
-<p>All of these new features and more are covered in the <a 
href="https://docs.grails.org/3.3.x/guide/introduction.html#whatsNew";>What's 
New guide</a>. Thanks to the Grails community who contributed greatly to making 
the release a success and we look forward <a 
href="https://github.com/apache/grails-core/issues";>to your 
feedback</a>!</p>]]></description><author>Graeme 
Rocher</author><guid>2017-07-26</guid><pubDate>Wed, 26 Jul 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #7: L [...]
+<p>All of these new features and more are covered in the <a 
href="https://grails.apache.org/docs/3.3.x/guide/introduction.html#whatsNew";>What's
 New guide</a>. Thanks to the Grails community who contributed greatly to 
making the release a success and we look forward <a 
href="https://github.com/apache/grails-core/issues";>to your 
feedback</a>!</p>]]></description><author>Graeme 
Rocher</author><guid>2017-07-26</guid><pubDate>Wed, 26 Jul 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcas [...]
 <p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
 <p>In this 20-minute video, 2GM (Groovy, Grails<sup>®</sup> framework, and 
Micronaut) team member, <a 
href="https://objectcomputing.com/products/2gm-team#caballero";>Sergio del Amo 
Caballero</a>, introduces several tips and tricks related to logging with a 
Grails 3 application.</p>
 <p>Sergio discusses changes to logger names in Grails 3.3 and things to bear 
in mind when logging in Grails artifacts and Groovy POGOs.</p>
@@ -4468,7 +4468,7 @@ manually cleanup in functional 
tests.</p>]]></description><author>Sergio Del Amo
 <p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
 <iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/3TppFy3lq1A"; 
frameborder="0"></iframe>]]></description><author>Sergio del Amo 
Caballero</author><guid>2017-07-12</guid><pubDate>Wed, 12 Jul 2017 00:00:00 
GMT</pubDate></item><item><title>Running a Grails® 3 App With a Self-Signed SSL 
Certificate</title><link>https://grails.apache.org/blog/2017-06-28.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/ssl.html";><span 
class="hashtag">#ssl</span></a> <a 
href="https://grails.apache.org/blog/tag/deployment.html";><span 
class="hashtag">#deployment</span></a></p>
-<p>The <a 
href="https://docs.grails.org/latest/ref/Command%20Line/run-app.html";>Grails<sup>®</sup>
 <em>run-app</em> command documentation</a> describes how to use the 
<em>-https</em> flag to serve your app over HTTPS.</p>
+<p>The <a 
href="https://grails.apache.org/docs/latest/ref/Command%20Line/run-app.html";>Grails<sup>®</sup>
 <em>run-app</em> command documentation</a> describes how to use the 
<em>-https</em> flag to serve your app over HTTPS.</p>
 <blockquote>
 <p>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.</p>
 </blockquote>
@@ -4914,29 +4914,29 @@ info.app.grailsVersion=3.2.5
 <p>GORM 6.1 will become the default version of GORM to be used in the upcoming 
Grails 3.3, in the meantime you can use GORM 6.1 in Grails 3.2 simply by 
changing the <code>gormVersion</code> setting in 
<code>gradle.properties</code>:</p>
 <pre><code class="language-groovy">gormVersion=6.1.0.RELEASE
 </code></pre>
-<p>To celebrate the release we have prepared the first of a series of new 
guides to cover GORM 6.1. Among the many new features are huge improvements to 
support Neo4j. Using the official Neo4j sample application, the new guide 
describes how you can <a 
href="https://guides.grails.org/neo4j-movies/guide/index.html";>build a graph 
application with the Grails framework, GORM 6.1 and Neo4j</a>! 
Enjoy!</p>]]></description><author>Graeme 
Rocher</author><guid>2017-03-27</guid><pubDate>Mon, 27 Mar [...]
+<p>To celebrate the release we have prepared the first of a series of new 
guides to cover GORM 6.1. Among the many new features are huge improvements to 
support Neo4j. Using the official Neo4j sample application, the new guide 
describes how you can <a 
href="https://guides.grails.org/neo4j-movies/guide/index.html";>build a graph 
application with the Grails framework, GORM 6.1 and Neo4j</a>! 
Enjoy!</p>]]></description><author>Graeme 
Rocher</author><guid>2017-03-27</guid><pubDate>Mon, 27 Mar [...]
 <p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
-<p>In this short video tutorial, Grails<sup>®</sup> framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, highlights some of the great features of the Grails framework.</p>
-<p>In fewer than 18 minutes, Jeff describes several techniques for retrieving 
configuration values at runtime and discusses the pros and cons of each. Visit 
<a 
href="https://objectcomputing.com/news/2016/08/31/retrieving-config-values-grails-3";>this
 Grails blog post</a> for an accompanying article.</p>
-<p>For this Quickcast, you’ll need no more than a basic understanding of the 
Grails framework.</p>
-<p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
-<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/Qw5hjwT9EOc"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2017-01-20-3</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #3: Multi-Project 
Builds</title><link>https://grails.apache.org/blog/2017-01-20-1.html</link><description><![CDATA[</p>
-<p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
-<p>In this video, Grails<sup>®</sup> framework co-founder Graeme Rocher walks 
you through multi-project builds in Grails apps.</p>
-<p>The Grails framework does a few handy things with multi-project builds and 
plugins, not the least of which being that Grails compiles your plugins first 
and puts the class and resources of those plugins directly in the classpath. 
This lets you make changes to your plugins and instantly see those changes in 
your build.</p>
+<p>Grails<sup>®</sup> 3 is a high-productivity framework for building web 
applications for the JVM.</p>
+<p>IntelliJ IDEA is a high-productivity Integrated Development Environment 
(IDE) for building a variety of application types. IDEA has always had great 
support for building Grails applications and, in particular, has the best 
support of any IDE for developing with Grails 3.</p>
+<p>In this 20-minute video, Grails framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, introduces several tips and tricks related to building Grails 3 
applications in IDEA.</p>
 <p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
-<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/yNA0ce5fG9s"; 
frameborder="0"></iframe>]]></description><author>Graeme 
Rocher</author><guid>2017-01-20-1</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #4: Angular 
Scaffolding</title><link>https://grails.apache.org/blog/2017-01-20-2.html</link><description><![CDATA[</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/XsCCsTRdezw"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2017-01-20-4</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #4: Angular 
Scaffolding</title><link>https://grails.apache.org/blog/2017-01-20-2.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a> <a 
href="https://grails.apache.org/blog/tag/rest.html";><span 
class="hashtag">#rest</span></a></p>
 <p>In this Quickcast, 2GM (Groovy, Grails<sup>®</sup> framework, and 
Micronaut) team member, <a 
href="https://objectcomputing.com/products/2gm-team#kleeh";>James Kleeh</a>, 
walks you through the process of using the Angular scaffolding for Grails apps 
to build a fully functional web app, using a simple blog format for 
demonstration.</p>
 <p>The tutorial explains how to have the Grails framework set up a REST 
endpoint and all the Angular modules needed to get the web app running.</p>
 <p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
-<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/tT4BdlRFAis"; 
frameborder="0"></iframe>]]></description><author>James 
Kleeh</author><guid>2017-01-20-2</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #6: Developing Grails® 3 
Applications with IntelliJ 
IDEA</title><link>https://grails.apache.org/blog/2017-01-20-4.html</link><description><![CDATA[</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/tT4BdlRFAis"; 
frameborder="0"></iframe>]]></description><author>James 
Kleeh</author><guid>2017-01-20-2</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #3: Multi-Project 
Builds</title><link>https://grails.apache.org/blog/2017-01-20-1.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
-<p>Grails<sup>®</sup> 3 is a high-productivity framework for building web 
applications for the JVM.</p>
-<p>IntelliJ IDEA is a high-productivity Integrated Development Environment 
(IDE) for building a variety of application types. IDEA has always had great 
support for building Grails applications and, in particular, has the best 
support of any IDE for developing with Grails 3.</p>
-<p>In this 20-minute video, Grails framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, introduces several tips and tricks related to building Grails 3 
applications in IDEA.</p>
+<p>In this video, Grails<sup>®</sup> framework co-founder Graeme Rocher walks 
you through multi-project builds in Grails apps.</p>
+<p>The Grails framework does a few handy things with multi-project builds and 
plugins, not the least of which being that Grails compiles your plugins first 
and puts the class and resources of those plugins directly in the classpath. 
This lets you make changes to your plugins and instantly see those changes in 
your build.</p>
+<p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/yNA0ce5fG9s"; 
frameborder="0"></iframe>]]></description><author>Graeme 
Rocher</author><guid>2017-01-20-1</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>Quickcast #5: Retrieving Runtime Config Values 
in Grails® 
3</title><link>https://grails.apache.org/blog/2017-01-20-3.html</link><description><![CDATA[</p>
+<p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html";><span 
class="hashtag">#quickcast</span></a></p>
+<p>In this short video tutorial, Grails<sup>®</sup> framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, highlights some of the great features of the Grails framework.</p>
+<p>In fewer than 18 minutes, Jeff describes several techniques for retrieving 
configuration values at runtime and discusses the pros and cons of each. Visit 
<a 
href="https://objectcomputing.com/news/2016/08/31/retrieving-config-values-grails-3";>this
 Grails blog post</a> for an accompanying article.</p>
+<p>For this Quickcast, you’ll need no more than a basic understanding of the 
Grails framework.</p>
 <p>Grails Quickcasts, brought to you through a partnership between <a 
href="https://objectcomputing.com/";>Object Computing, Inc.</a> (OCI) and <a 
href="https://dzone.com/";>DZone</a>, provide bite-sized tutorials to help you 
maximize your productivity with the Framework.</p>
-<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/XsCCsTRdezw"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2017-01-20-4</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>G3 Summit 2016 
Wrap-up!</title><link>https://grails.apache.org/blog/2016-12-14.html</link><description><![CDATA[</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/Qw5hjwT9EOc"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2017-01-20-3</guid><pubDate>Fri, 20 Jan 2017 00:00:00 
GMT</pubDate></item><item><title>G3 Summit 2016 
Wrap-up!</title><link>https://grails.apache.org/blog/2016-12-14.html</link><description><![CDATA[</p>
 <p><img src="2016-12-14-img01.jpg" alt="The OCI Grails team at G3 Summit 2016" 
/></p>
 <p>Last month, nearly the entire <a 
href="https://objectcomputing.com/products/2gm-team";>2GM (Groovy, 
Grails<sup>®</sup> framework, and Micronaut) team</a> from [Object Computing, 
Inc.] (https://objectcomputing.com/) (OCI) converged on Fort Lauderdale for the 
inaugural edition of the G3 Summit, the conference for the Apache Groovy, 
Grails framework, and Gradle Community. The event is organized by <a 
href="https://www.nofluffjuststuff.com/home/main";>No Fluff Just Stuff</a> and 
is a fantas [...]
 <p>OCI team members presented over 30 workshops and breakout sessions during 
the event, in addition to socializing with attendees between sessions and after 
hours. We’ve asked a few team members to share their experiences at the 
conference. We hope you will join us next year!</p>
@@ -5634,7 +5634,7 @@ cache:
 <li>REST improvements</li>
 <li>Latest and greatest libraries (Spring Boot 1.4, Gradle 3.0, etc.)</li>
 </ul>
-<p>These are just some of the highlights. I recommend checking out the 
dedicated <a 
href="https://docs.grails.org/3.2.x/guide/introduction.html#whatsNew";>&quot;What's
 New&quot;</a> section in the brand new Asciidoctor-based <a 
href="https://docs.grails.org/3.2.x";>user guide</a> for more information.</p>
+<p>These are just some of the highlights. I recommend checking out the 
dedicated <a 
href="https://grails.apache.org/docs/3.2.x/guide/introduction.html#whatsNew";>&quot;What's
 New&quot;</a> section in the brand new Asciidoctor-based <a 
href="https://grails.apache.org/docs/3.2.x";>user guide</a> for more 
information.</p>
 <p>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.</p>]]></description><author>Graeme 
Rocher</author><guid>2016-09-28</guid><pubDate>Wed, 28 Sep 2016 00:00:00 
GMT</pubDate></item><item><title>How to Migrate from Resources Plugin to 
Asset-Pipeline</title><link>https://grails.apache.org/blog/2016-09-12.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/plugins.html";><span 
class="hashtag">#plugins</span></a></p>
 <h2>Introduction</h2>
@@ -5793,7 +5793,7 @@ dataSource.driverClassName = 'org.h2.Driver'
 </code></pre>
 <p>This article will not go into detail about YAML syntax. For that see <a 
href="https://yaml.org/";>the main YAML site</a>. Instead, this article will 
focus on Grails 3 specific features related to accessing those configuration 
values.</p>
 <h2>The Config Property in GrailsApplication</h2>
-<p>The <a 
href="https://docs.grails.org/3.1.10/api/grails/core/GrailsApplication.html";>GrailsApplication</a>
 interface defines the <a 
href="https://docs.grails.org/3.1.10/api/grails/core/GrailsApplication.html#getConfig()">getConfig</a>
 method which returns a <a 
href="https://docs.grails.org/3.1.10/api/grails/config/Config.html";>Config</a> 
object. In the Spring application context is a bean named 
<code>grailsApplication</code> which is an instance of a class which implements 
the <code>Gr [...]
+<p>The <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/core/GrailsApplication.html";>GrailsApplication</a>
 interface defines the <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/core/GrailsApplication.html#getConfig()">getConfig</a>
 method which returns a <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/config/Config.html";>Config</a>
 object. In the Spring application context is a bean named 
<code>grailsApplication</code> which is an instance of a class which im [...]
 <pre><code class="language-yaml"># grails-app/conf/application.yml
 max:
     line:
@@ -5836,7 +5836,7 @@ Integer maxLineNumbers =  
config.getProperty('max.line.numbers', Integer)
 Integer maxLineNumbers =  config.getProperty('max.line.numbers', Integer, 2112)
 </code></pre>
 <h3>Required Properties</h3>
-<p>For required properties you could write application code that reacts 
however is appropriate if the property doesn't exist. You could also use the <a 
href="https://docs.grails.org/3.1.10/api/grails/config/ConfigMap.html#getRequiredProperty(java.lang.String,%20java.lang.Class)">getRequiredProperty</a>
 method which will throw an exception if a requested property does not 
exist.</p>
+<p>For required properties you could write application code that reacts 
however is appropriate if the property doesn't exist. You could also use the <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/config/ConfigMap.html#getRequiredProperty(java.lang.String,%20java.lang.Class)">getRequiredProperty</a>
 method which will throw an exception if a requested property does not 
exist.</p>
 <pre><code class="language-groovy">// retrieve the max.line.numbers config 
value
 // throws IllegalStateException if the
 // config value does not exist
@@ -5858,7 +5858,7 @@ class SomeController {
 }
 </code></pre>
 <h3>Config Injection Using GrailsConfigurationAware</h3>
-<p>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 <a 
href="https://docs.grails.org/3.1.10/api/grails/core/support/GrailsConfigurationAware.html";>GrailsConfigurationAware</a>
 interface. There is a bean post processor that will discover all beans that 
implement at that interface and that post processor will invoke the  [...]
+<p>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 <a 
href="https://grails.apache.org/docs/3.1.10/api/grails/core/support/GrailsConfigurationAware.html";>GrailsConfigurationAware</a>
 interface. There is a bean post processor that will discover all beans that 
implement at that interface and that post processor will invo [...]
 <pre><code class="language-groovy">import grails.config.Config
 import grails.core.support.GrailsConfigurationAware
 
@@ -6005,7 +6005,7 @@ Marcin Erdmann (His first stateside appearance at Gr8?) 
did an all day Ratpack s
 <p>Of course GORM 6.0 is usable in all versions of Grails 3.x.</p>
 <p>On the Grails side, Grails 3.2 ships with release candidates of the new 
AngularJS 1.0 scaffolding (Angular 2.0 support is coming) and JSON Views 1.1 
plugins as well as numerous improvements to the profiles.</p>
 <p>Grails 3.2 has also been updated to the latest and greatest dependencies 
including Spring Boot 1.4 RC1 and Spring 4.3.</p>
-<p>Check out the <a 
href="https://docs.grails.org/3.2.x/guide/introduction.html#whatsNew";>What's 
New in Grails 3.2 Guide</a> for information on all the updates.</p>
+<p>Check out the <a 
href="https://grails.apache.org/docs/3.2.x/guide/introduction.html#whatsNew";>What's
 New in Grails 3.2 Guide</a> for information on all the updates.</p>
 <p>We're inching closer to an RC now so it is a great time to try your 
applications and <a href="https://github.com/apache/grails-core/issues";>report 
issues</a>!</p>
 <p>If you want to hear more come and see us at Gr8Conf US in Minneapolis USA, 
or G3 Summit in Fort Lauderdale USA!</p>]]></description><author>Graeme 
Rocher</author><guid>2016-07-22</guid><pubDate>Fri, 22 Jul 2016 00:00:00 
GMT</pubDate></item><item><title>Grails® Angular 
Scaffolding</title><link>https://grails.apache.org/blog/2016-07-06.html</link><description><![CDATA[</p>
 <p>Tags: <a href="https://grails.apache.org/blog/tag/angular.html";><span 
class="hashtag">#angular</span></a></p>
@@ -6779,7 +6779,7 @@ class SkillsTestController {
 <p>Now that we have our backend largely ready to go, we’re ready to set up 
React.</p>
 <blockquote>
 <p>Question: Why Do This?</p>
-<p>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 <a 
href="https://docs.grails.org/latest/guide/profiles.html#creatingProfiles";>Grails
 3.1 ships with a profile</a> tailored to this use case (web-api). Another 
option is to take advantage of Gradle multi-project builds, with separate [...]
+<p>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 <a 
href="https://grails.apache.org/docs/latest/guide/profiles.html#creatingProfiles";>Grails
 3.1 ships with a profile</a> tailored to this use case (web-api). Another 
option is to take advantage of Gradle multi-project builds, with s [...]
 <p>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 ou [...]
 <p>There’s many situations where a team may want to bring React into a Grails 
application, and it can be done in a way that allows for full developer 
productivity for both Grails and Node/React developers. Read on to see how!</p>
 </blockquote>


Reply via email to