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 5dacc5244a5 Updating apache/grails-website asf-site-production branch 
for Github Actions run:21316315141
5dacc5244a5 is described below

commit 5dacc5244a5eb8739670a908f3910ee6b10c39ab
Author: jamesfredley <[email protected]>
AuthorDate: Sat Jan 24 14:13:50 2026 +0000

    Updating apache/grails-website asf-site-production branch for Github 
Actions run:21316315141
---
 blog/2016-04-01-1.html  |  8 ++++----
 blog/2016-04-01-2.html  |  8 ++++----
 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-07-12.html    |  8 ++++----
 blog/2017-10-30.html    |  8 ++++----
 blog/2018-02-08.html    |  8 ++++----
 blog/2019-01-30.html    |  8 ++++----
 blog/index.html         | 28 ++++++++++++++--------------
 blog/tag/quickcast.html | 28 ++++++++++++++--------------
 foundation/minutes.xml  |  2 +-
 rss.xml                 | 46 +++++++++++++++++++++++-----------------------
 14 files changed, 92 insertions(+), 92 deletions(-)

diff --git a/blog/2016-04-01-1.html b/blog/2016-04-01-1.html
index f56d7a46328..0ec19726771 100644
--- a/blog/2016-04-01-1.html
+++ b/blog/2016-04-01-1.html
@@ -136,15 +136,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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 434288a7897..c3c6c1f6be6 100644
--- a/blog/2016-04-01-2.html
+++ b/blog/2016-04-01-2.html
@@ -139,15 +139,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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-1.html b/blog/2017-01-20-1.html
index a53a475b50c..5b51ec45f3d 100644
--- a/blog/2017-01-20-1.html
+++ b/blog/2017-01-20-1.html
@@ -135,15 +135,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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 5adabad2e1c..8b467db5a34 100644
--- a/blog/2017-01-20-2.html
+++ b/blog/2017-01-20-2.html
@@ -135,15 +135,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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 e318a85440d..f43a24041c5 100644
--- a/blog/2017-01-20-3.html
+++ b/blog/2017-01-20-3.html
@@ -136,15 +136,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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 07d438a9e68..36319d2a693 100644
--- a/blog/2017-01-20-4.html
+++ b/blog/2017-01-20-4.html
@@ -136,15 +136,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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-12.html b/blog/2017-07-12.html
index feefdada90a..a8ab46399a3 100644
--- a/blog/2017-07-12.html
+++ b/blog/2017-07-12.html
@@ -136,15 +136,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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-10-30.html b/blog/2017-10-30.html
index 611dc342325..7435b8cb6ba 100644
--- a/blog/2017-10-30.html
+++ b/blog/2017-10-30.html
@@ -136,15 +136,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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-02-08.html b/blog/2018-02-08.html
index 70e8cf65a6c..0f9470b17ab 100644
--- a/blog/2018-02-08.html
+++ b/blog/2018-02-08.html
@@ -135,15 +135,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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/2019-01-30.html b/blog/2019-01-30.html
index 38826b5a881..80446ed9604 100644
--- a/blog/2019-01-30.html
+++ b/blog/2019-01-30.html
@@ -135,15 +135,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
     </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/index.html b/blog/index.html
index cb4ee303abe..0e2dc62b3c8 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -536,15 +536,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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/2018-06-22.jpg)'>
@@ -692,12 +692,6 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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'>
-    <h3>January 20, 2017</h3>
-    <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)'>
   <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
     <h3>January 20, 2017</h3>
     <h2>Quickcast #6: Developing Grails® 3 Applicatio...</h2>
@@ -708,6 +702,12 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
     <h3>January 20, 2017</h3>
     <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-3.html'>
+    <h3>January 20, 2017</h3>
+    <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/quickcast.jpg)'>
   <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
@@ -836,15 +836,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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/2016-04-01-1.html'>
+  <a href='https://grails.apache.org/blog/2016-04-01-2.html'>
     <h3>April 1, 2016</h3>
-    <h2>Quickcast #1: Grails® Interceptors</h2>
+    <h2>Quickcast #2: JSON Views</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/2016-04-01-2.html'>
+  <a href='https://grails.apache.org/blog/2016-04-01-1.html'>
     <h3>April 1, 2016</h3>
-    <h2>Quickcast #2: JSON Views</h2>
+    <h2>Quickcast #1: Grails® Interceptors</h2>
   </a>
 </article></div>
       <div class='column'><article class='blogcard' style='background-image: 
url(https://grails.apache.org/images/2015-03-01.jpg)'>
diff --git a/blog/tag/quickcast.html b/blog/tag/quickcast.html
index f3e39cdd2d3..2bf6234c2a6 100644
--- a/blog/tag/quickcast.html
+++ b/blog/tag/quickcast.html
@@ -121,15 +121,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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)'>
@@ -151,12 +151,6 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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'>
-    <h3>January 20, 2017</h3>
-    <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)'>
   <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
     <h3>January 20, 2017</h3>
     <h2>Quickcast #6: Developing Grails® 3 Applicatio...</h2>
@@ -167,6 +161,12 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
     <h3>January 20, 2017</h3>
     <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-3.html'>
+    <h3>January 20, 2017</h3>
+    <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/quickcast.jpg)'>
   <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
@@ -175,15 +175,15 @@ Companies deploy assistants like this [](https://kapa.ai) 
on docs via [website w
   </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/2016-04-01-1.html'>
+  <a href='https://grails.apache.org/blog/2016-04-01-2.html'>
     <h3>April 1, 2016</h3>
-    <h2>Quickcast #1: Grails® Interceptors</h2>
+    <h2>Quickcast #2: JSON Views</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/2016-04-01-2.html'>
+  <a href='https://grails.apache.org/blog/2016-04-01-1.html'>
     <h3>April 1, 2016</h3>
-    <h2>Quickcast #2: JSON Views</h2>
+    <h2>Quickcast #1: Grails® Interceptors</h2>
   </a>
 </article></div></div>
     </div>
diff --git a/foundation/minutes.xml b/foundation/minutes.xml
index 99051845569..9ebe1c8205a 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>Sat, 24 Jan 2026 12:13:49 
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>Sat, 24 Jan 2026 14:08:49 
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/rss.xml b/rss.xml
index 0719abbb1f2..5f0f559e436 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>Sat, 24 Jan 2026 12:13:52 
GMT</pubDate><item><title>Apache Grails [%version] - Release 
Announcement</title><link>https://grails.apache.org/blog/2025-10-18-introducing-g
 [...]
+<?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>Sat, 24 Jan 2026 14:08:52 
GMT</pubDate><item><title>Apache Grails [%version] - Release 
Announcement</title><link>https://grails.apache.org/blog/2025-10-18-introducing-g
 [...]
 <p>The Apache Grails community is excited to announce the 7.0.0 release of the 
Apache Grails Framework!</p>
 <p>This achievement reflects the dedication of our community and underscores 
the strength of the ASF's open source ecosystems.</p>
 <p>Thousands, upon thousands, of hours have gone into this release, and we are 
incredibly grateful to everyone who contributed their time and expertise to 
make it happen.</p>
@@ -3825,15 +3825,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>
@@ -5184,13 +5184,7 @@ 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>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 #6: Developing Grails® 3 
Applications with IntelliJ 
IDEA</title><link>https://grails.apache.org/blog/2017-01-20-4.html</link><description><![CDATA[</p>
+<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>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>
@@ -5201,7 +5195,13 @@ info.app.grailsVersion=3.2.5
 <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 #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/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/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 #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>
@@ -7458,13 +7458,7 @@ json {
 <li>view_name.gson (Example: show.gson)</li>
 </ul>
 <p>The content type (defined by either the <code>ACCEPT</code> header or file 
extension in the URI) is taken into account to allow different formats for the 
same view.</p>
-<p>For more detail, see <a 
href="https://grails.github.io/grails-views/latest/";>the official 
documentation</a>.</p>]]></description><author>Jeff Scott 
Brown</author><guid>2016-04-13</guid><pubDate>Wed, 13 Apr 2016 00:00:00 
GMT</pubDate></item><item><title>Quickcast #1: Grails® 
Interceptors</title><link>https://grails.apache.org/blog/2016-04-01-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 17-minute video, the Grails<sup>®</sup> framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, talks Grails <a 
href="https://en.wikipedia.org/wiki/Interceptor_pattern";>interceptors</a>.</p>
-<p>(Yes, <code>create-interceptor</code> actually creates an interceptor. 
Mind. Blown.)</p>
-<p>This tutorial assumes only basic familiarity with Groovy (which is pretty 
darned expressive anyway) and the MVC concept (which you already know). It also 
serves as an excellent introduction to the interceptor pattern in any language, 
because Grails' behind-the-scenes legwork lets you focus on the logic of the 
pattern.</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/XnRNfDGkBVg"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2016-04-01-1</guid><pubDate>Fri, 01 Apr 2016 00:00:00 
GMT</pubDate></item><item><title>Quickcast #2: JSON 
Views</title><link>https://grails.apache.org/blog/2016-04-01-2.html</link><description><![CDATA[</p>
+<p>For more detail, see <a 
href="https://grails.github.io/grails-views/latest/";>the official 
documentation</a>.</p>]]></description><author>Jeff Scott 
Brown</author><guid>2016-04-13</guid><pubDate>Wed, 13 Apr 2016 00:00:00 
GMT</pubDate></item><item><title>Quickcast #2: JSON 
Views</title><link>https://grails.apache.org/blog/2016-04-01-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/json.html";><span 
class="hashtag">#json</span></a></p>
 <p>In a delightful and informative 15 minutes, the Grails<sup>®</sup> 
framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, probes JSON views.</p>
 <p>Beginning with a Grails 3.1.1 application created with a standard web 
profile, Jeff demonstrates how to add a few custom domain classes.</p>
@@ -7473,7 +7467,13 @@ json {
 <p>While the app is running in development mode, the JSON files can be 
altered, and the effects of those changes can be seen real-time in the 
application.</p>
 <p>This Quickcast assumes basic knowledge of Grails, JSON, and REST APIs.</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/XnRNfDGkBVg"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2016-04-01-2</guid><pubDate>Fri, 01 Apr 2016 00:00:00 
GMT</pubDate></item><item><title>Grails® 3 
Interceptors</title><link>https://grails.apache.org/blog/2015-03-01.html</link><description><![CDATA[</p>
+<iframe width="100%" height="560" 
src="https://www.youtube-nocookie.com/embed/XnRNfDGkBVg"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2016-04-01-2</guid><pubDate>Fri, 01 Apr 2016 00:00:00 
GMT</pubDate></item><item><title>Quickcast #1: Grails® 
Interceptors</title><link>https://grails.apache.org/blog/2016-04-01-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 17-minute video, the Grails<sup>®</sup> framework co-founder, <a 
href="https://objectcomputing.com/products/2gm-team#brown";>Jeff Scott 
Brown</a>, talks Grails <a 
href="https://en.wikipedia.org/wiki/Interceptor_pattern";>interceptors</a>.</p>
+<p>(Yes, <code>create-interceptor</code> actually creates an interceptor. 
Mind. Blown.)</p>
+<p>This tutorial assumes only basic familiarity with Groovy (which is pretty 
darned expressive anyway) and the MVC concept (which you already know). It also 
serves as an excellent introduction to the interceptor pattern in any language, 
because Grails' behind-the-scenes legwork lets you focus on the logic of the 
pattern.</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/XnRNfDGkBVg"; 
frameborder="0"></iframe>]]></description><author>Jeff Scott 
Brown</author><guid>2016-04-01-1</guid><pubDate>Fri, 01 Apr 2016 00:00:00 
GMT</pubDate></item><item><title>Grails® 3 
Interceptors</title><link>https://grails.apache.org/blog/2015-03-01.html</link><description><![CDATA[</p>
 <h2>Introduction</h2>
 <p>Grails<sup>®</sup> 3 is a major step forward in the evolution of the 
framework and re-evaluates many aspects of the framework that have evolved over 
the years. One area of the framework that was re-evaluated is that related to 
Grails filters.</p>
 <p>Grails filters are a lot like servlet filters but are more simple and are 
better integrated into the Grails runtime and its conventions. Grails filters 
were a way to implement logic that might relate to any number of controllers 
and were a powerful and flexible way to address many of those concerns. Grails 
3 introduces the notion of interceptors as a better way to address many of the 
types of concerns that previously would have been addressed with filters.</p>


Reply via email to