You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by as...@apache.org on 2025/11/16 04:21:35 UTC
(grails-website) branch asf-site-production updated: Updating apache/grails-website asf-site-production branch for Github Actions run:19400157731
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 5b269d80bee Updating apache/grails-website asf-site-production branch for Github Actions run:19400157731
5b269d80bee is described below
commit 5b269d80bee76ff9392498dca70def1494d42e4a
Author: jamesfredley <ja...@users.noreply.github.com>
AuthorDate: Sun Nov 16 04:21:30 2025 +0000
Updating apache/grails-website asf-site-production branch for Github Actions run:19400157731
---
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 | 44 ++++++++++++++--------------
blog/tag/quickcast.html | 32 ++++++++++-----------
foundation/minutes.xml | 2 +-
rss.xml | 76 ++++++++++++++++++++++++-------------------------
14 files changed, 117 insertions(+), 117 deletions(-)
diff --git a/blog/2016-04-01-1.html b/blog/2016-04-01-1.html
index 343425391fb..b99fd2f6a98 100644
--- a/blog/2016-04-01-1.html
+++ b/blog/2016-04-01-1.html
@@ -134,15 +134,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 292de811498..0ead3676be8 100644
--- a/blog/2016-04-01-2.html
+++ b/blog/2016-04-01-2.html
@@ -137,15 +137,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 f995b6c8b89..4428d4a8a34 100644
--- a/blog/2017-01-20-1.html
+++ b/blog/2017-01-20-1.html
@@ -133,15 +133,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 14b7970d7c4..2215bd43208 100644
--- a/blog/2017-01-20-2.html
+++ b/blog/2017-01-20-2.html
@@ -133,15 +133,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 26d3648d757..7abf3144ab0 100644
--- a/blog/2017-01-20-3.html
+++ b/blog/2017-01-20-3.html
@@ -134,15 +134,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 ce69236e447..9a872a43c89 100644
--- a/blog/2017-01-20-4.html
+++ b/blog/2017-01-20-4.html
@@ -134,15 +134,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 34c350889f2..789b7d31628 100644
--- a/blog/2017-07-12.html
+++ b/blog/2017-07-12.html
@@ -134,15 +134,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 0970ae192f0..6174acc441e 100644
--- a/blog/2017-10-30.html
+++ b/blog/2017-10-30.html
@@ -134,15 +134,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 6eccd021734..966f905f120 100644
--- a/blog/2018-02-08.html
+++ b/blog/2018-02-08.html
@@ -133,15 +133,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 f8dfc16e7b2..3bb6c2bb62a 100644
--- a/blog/2019-01-30.html
+++ b/blog/2019-01-30.html
@@ -133,15 +133,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 1b4c0c8b967..fb466b59727 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -293,17 +293,17 @@
<h2>Grails and the Recent Spring Framework RCE</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-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 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'>
@@ -534,15 +534,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/2018-06-22.jpg)'>
@@ -690,27 +690,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-4.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-2.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #6: Developing Grails® 3 Applicatio...</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-3.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-1.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #5: Retrieving Runtime Config Value...</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-2.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #4: Angular Scaffolding</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-1.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #3: Multi-Project Builds</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/2016-12-14.jpg)'>
@@ -834,15 +834,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/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 3947f291ac1..913fa6523b3 100644
--- a/blog/tag/quickcast.html
+++ b/blog/tag/quickcast.html
@@ -119,15 +119,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)'>
@@ -149,39 +149,39 @@
</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-2.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #6: Developing Grails® 3 Applicatio...</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-3.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-1.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #5: Retrieving Runtime Config Value...</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-2.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #4: Angular Scaffolding</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-1.html'>
+ <a href='https://grails.apache.org/blog/2017-01-20-4.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #3: Multi-Project Builds</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/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 b202c91fb2e..b6774db8104 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>Sun, 16 Nov 2025 02:41:16 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>Sun, 16 Nov 2025 04:16:50 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 0a005ff4d2f..514c3950bf9 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>Sun, 16 Nov 2025 02:41:18 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>Sun, 16 Nov 2025 04:16:53 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>
@@ -2799,21 +2799,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>
@@ -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,19 +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>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/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 #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>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> <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>
@@ -5206,7 +5194,19 @@ 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>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/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 #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>
+<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/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>
<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>
@@ -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>