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 4bdee4eb4e6 Updating apache/grails-website asf-site-production branch
for Github Actions run:18398077706
4bdee4eb4e6 is described below
commit 4bdee4eb4e655b168035a5799fb844f5a8d0f4f0
Author: jamesfredley <[email protected]>
AuthorDate: Fri Oct 10 06:19:27 2025 +0000
Updating apache/grails-website asf-site-production branch for Github
Actions run:18398077706
---
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 | 32 ++++++++++++++++----------------
blog/tag/quickcast.html | 20 ++++++++++----------
foundation/minutes.xml | 2 +-
rss.xml | 48 ++++++++++++++++++++++++------------------------
14 files changed, 91 insertions(+), 91 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/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-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-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/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/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/index.html b/blog/index.html
index 84562a32d3d..37ee19112ea 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -265,17 +265,17 @@
<h2>Grails and the Recent Spring Framework RCE</h2>
</a>
</article></div>
- <div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/grails-blog-index-4.png)'>
- <a href='https://grails.apache.org/blog/2022-01-07-2gm-town-hall-q1.html'>
- <h3>January 7, 2022</h3>
- <h2>2GM Town Hall Meeting: 2022 Q1</h2>
- </a>
-</article></div></div><div class="threecolumns">
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/grails-blog-index-3.png)'>
<a
href='https://grails.apache.org/blog/2022-01-07-gradle-enterprise-tools-and-infrastructure-partner.html'>
<h3>January 7, 2022</h3>
<h2>Grails Foundation Announces First Tools and I...</h2>
</a>
+</article></div></div><div class="threecolumns">
+ <div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/grails-blog-index-4.png)'>
+ <a href='https://grails.apache.org/blog/2022-01-07-2gm-town-hall-q1.html'>
+ <h3>January 7, 2022</h3>
+ <h2>2GM Town Hall Meeting: 2022 Q1</h2>
+ </a>
</article></div>
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/grails-blog-index-2.png)'>
<a href='https://grails.apache.org/blog/2021-12-15-grails-five-one.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,21 +662,21 @@
</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-3.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #3: Multi-Project Builds</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/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-3.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #5: Retrieving Runtime Config Value...</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)'>
diff --git a/blog/tag/quickcast.html b/blog/tag/quickcast.html
index 7e633579324..225eb881df2 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,21 +127,21 @@
</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-3.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #3: Multi-Project Builds</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)'>
- <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-3.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #5: Retrieving Runtime Config Value...</h2>
+ <h2>Quickcast #4: Angular Scaffolding</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)'>
diff --git a/foundation/minutes.xml b/foundation/minutes.xml
index 2062090eb9f..916fe5654ca 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 04:13:33
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 06:15:36
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 25a6111259b..dac6bb37c71 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 04:13:36
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 06:15:39
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 [...]
@@ -2529,21 +2529,21 @@ Moving the Grails Foundation under Unity provides a
meaningful alliance between
<p>Because Grails applications are built on top of Spring and Spring Boot, the
Grails team has taken this vulnerability very seriously. Our investigations
have yielded no evidence that Grails 4.x or 5.x applications are vulnerable to
this attack. The Grails framework has its own data-binding logic, which
includes checks to validate that a given property a) is in a list of properties
that may be bound to, and b) exists within the target metaClass. All other
property candidates are ignored.</p>
<p>The known exploit is one mechanism that can be used for this vulnerability.
We will continue to monitor this situation and alert the Grails community of
any vulnerabilities discovered, along with mitigation steps.</p>
<h2>Next Steps</h2>
-<p>Although at this time, we have no reason to believe that Grails
applications are vulnerable, as a precaution, we have released <a
href="https://github.com/apache/grails-core/releases/tag/v5.1.6">Grails
5.1.6</a>. This Grails Framework release updates our Spring dependency to
5.3.18, which includes the upstream patch from the Spring Framework
Team.</p>]]></description><author>Jason
Schindler</author><guid>2022-03-31-grails-spring-rce</guid><pubDate>Thu, 31 Mar
2022 00:00:00 GMT</pubDa [...]
-<p>A big thanks to everyone who joined us for our Q1 2GM Town Hall Meeting!
For those of you who missed the live event, the recording is embedded below.</p>
-<p>At this quarter’s meeting, we provided an update on the latest advancements
with the Grails and Micronaut frameworks, including a look at what is coming
soon. We also shared the latest news and sponsors of the Grails and Micronaut
Foundations, as well as some great live discussions and Q&A with our
panel.</p>
-<p>A special thanks to our fantastic panel of experts: James Kleeh, Puneet
Behl, Sergio del Amo Caballero, and our awesome guest <a
href="http://melix.github.io/blog/">Cédric Champeau</a>.</p>
-<p>Till next time!</p>
-<p>— Jen Wiese</p>
-<p><a href="https://objectcomputing.com/download_file/5451">Slides</a></p>
-<iframe width="100%" height="560"
src="https://www.youtube-nocookie.com/embed/EE5flg8Hj_E"
frameborder="0"></iframe>]]></description><author>Jen
Wiese</author><guid>2022-01-07-2gm-town-hall-q1</guid><pubDate>Fri, 07 Jan 2022
00:00:00 GMT</pubDate></item><item><title>Grails Foundation Announces First
Tools and Infrastructure
Partner</title><link>https://grails.apache.org/blog/2022-01-07-gradle-enterprise-tools-and-infrastructure-partner.html</link><description><![CDATA[</p>
+<p>Although at this time, we have no reason to believe that Grails
applications are vulnerable, as a precaution, we have released <a
href="https://github.com/apache/grails-core/releases/tag/v5.1.6">Grails
5.1.6</a>. This Grails Framework release updates our Spring dependency to
5.3.18, which includes the upstream patch from the Spring Framework
Team.</p>]]></description><author>Jason
Schindler</author><guid>2022-03-31-grails-spring-rce</guid><pubDate>Thu, 31 Mar
2022 00:00:00 GMT</pubDa [...]
<p><strong>Gradle has joined the Grails Foundation as our first Tools and
Infrastructure Partner</strong></p>
<p>The Grails Foundation™ is truly appreciative of the tremendous support we
receive from our sponsors. In addition to financial support, generous
contributions of development tools, infrastructure, and other resources are
essential to the continued evolution of the Grails® framework. Thus, we have
established a new partnership program to recognize the companies whose
contributions enable us to maintain and expand both the open source
technologies and the assets we rely on to keep our co [...]
<p>Today, we are pleased to announce that Gradle Inc, the providers of <a
href="https://gradle.org">Gradle Build Tool</a> and <a
href="https://gradle.com">Gradle Enterprise</a>, has joined the Grails
Foundation as our first Tools and Infrastructure Partner! In support of our
organizations' shared values and goals within the open source ecosystem, Gradle
provides the Foundation free instances of <a href="https://gradle.com">Gradle
Enterprise</a>.</p>
<p>Gradle Enterprise has helped our team to improve build times and
test-feedback cycle times, and improve troubleshooting efficiency by combining
root-cause analysis data with failure analytics.</p>
<p>We’re delighted to have Gradle on board as a Tools and Infrastructure
Partner. The Gradle team's support and excitement for the Grails technology
over the years has been tremendous. Their engagement in our community has been
awesome, and we look forward to continued collaboration in the years to come.
We truly appreciate the dedication and passion Gradle has for open source
projects. On behalf of the Grails Foundation, thank you! Initiatives like these
that support and grow our Framew [...]
<p>The Grails Foundation is a not-for-profit organization that supports the
Grails framework. The Foundation not only builds and supports an ecosystem of
documentation, functionality, and services, it promotes and evangelizes the
Framework as a leading technology in the JVM space. The generous support of our
Corporate Sponsors allows the Foundation to continue to ensure technical
innovation and advancement of the Framework as a free and open public-use
software development toolkit for ou [...]
-<p>To learn more about how you or your organization can support this
Foundation, please <a href="/">check us
out</a>!</p>]]></description><author>Jen
Wiese</author><guid>2022-01-07-gradle-enterprise-tools-and-infrastructure-partner</guid><pubDate>Fri,
07 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Grails Framework 5.1
Released</title><link>https://grails.apache.org/blog/2021-12-15-grails-five-one.html</link><description><![CDATA[</p>
+<p>To learn more about how you or your organization can support this
Foundation, please <a href="/">check us
out</a>!</p>]]></description><author>Jen
Wiese</author><guid>2022-01-07-gradle-enterprise-tools-and-infrastructure-partner</guid><pubDate>Fri,
07 Jan 2022 00:00:00 GMT</pubDate></item><item><title>2GM Town Hall Meeting:
2022
Q1</title><link>https://grails.apache.org/blog/2022-01-07-2gm-town-hall-q1.html</link><description><![CDATA[</p>
+<p>A big thanks to everyone who joined us for our Q1 2GM Town Hall Meeting!
For those of you who missed the live event, the recording is embedded below.</p>
+<p>At this quarter’s meeting, we provided an update on the latest advancements
with the Grails and Micronaut frameworks, including a look at what is coming
soon. We also shared the latest news and sponsors of the Grails and Micronaut
Foundations, as well as some great live discussions and Q&A with our
panel.</p>
+<p>A special thanks to our fantastic panel of experts: James Kleeh, Puneet
Behl, Sergio del Amo Caballero, and our awesome guest <a
href="http://melix.github.io/blog/">Cédric Champeau</a>.</p>
+<p>Till next time!</p>
+<p>— Jen Wiese</p>
+<p><a href="https://objectcomputing.com/download_file/5451">Slides</a></p>
+<iframe width="100%" height="560"
src="https://www.youtube-nocookie.com/embed/EE5flg8Hj_E"
frameborder="0"></iframe>]]></description><author>Jen
Wiese</author><guid>2022-01-07-2gm-town-hall-q1</guid><pubDate>Fri, 07 Jan 2022
00:00:00 GMT</pubDate></item><item><title>Grails Framework 5.1
Released</title><link>https://grails.apache.org/blog/2021-12-15-grails-five-one.html</link><description><![CDATA[</p>
<p>The Grails Foundation™ is pleased to announce a new minor release: <a
href="https://github.com/apache/grails-core/releases/tag/v5.1.0"><strong>Grails
framework 5.1</strong></a>!</p>
<p>This release of the Grails framework includes a number of bug fixes and
Gradle 7.2 compatibility changes (the Gradle task definitions with <a
href="https://docs.gradle.org/7.0/userguide/upgrading_version_6.html#task_validation_problems_are_now_errors">incorrectly
defined input output will now fail the build</a>), plus a bunch of
dependencies updates. For more information, please check the <a
href="https://github.com/apache/grails-core/releases/tag/v5.1.0"><strong>Grails
5.1 release no [...]
<h2>Updated Dependencies</h2>
@@ -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>
@@ -4914,7 +4914,13 @@ 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>
@@ -4924,13 +4930,7 @@ info.app.grailsVersion=3.2.5
<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 #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 #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 #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>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>