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 3ce002b8625 Updating apache/grails-website asf-site-production branch
for Github Actions run:21009818089
3ce002b8625 is described below
commit 3ce002b8625279aeec8c33a2646e201f4f8df860
Author: sbglasius <[email protected]>
AuthorDate: Wed Jan 14 21:12:32 2026 +0000
Updating apache/grails-website asf-site-production branch for Github
Actions run:21009818089
---
blog/index.html | 36 ++++++------
blog/tag/quickcast.html | 24 ++++----
community.html | 52 +++++++++--------
foundation/minutes.xml | 2 +-
maturity.html | 146 ++++++++++++++++++++++++++++++++----------------
rss.xml | 60 ++++++++++----------
6 files changed, 188 insertions(+), 132 deletions(-)
diff --git a/blog/index.html b/blog/index.html
index 1b67551e9c1..58eba07c53f 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -295,17 +295,17 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<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'>
@@ -692,27 +692,27 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
</a>
</article></div></div><div class="threecolumns">
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/quickcast.jpg)'>
- <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
+ <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)'>
- <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 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><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-1.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #6: Developing Grails® 3 Applicatio...</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/2016-12-14.jpg)'>
@@ -836,15 +836,15 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
</a>
</article></div></div><div class="threecolumns">
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/quickcast.jpg)'>
- <a href='https://grails.apache.org/blog/2016-04-01-1.html'>
+ <a href='https://grails.apache.org/blog/2016-04-01-2.html'>
<h3>April 1, 2016</h3>
- <h2>Quickcast #1: Grails® Interceptors</h2>
+ <h2>Quickcast #2: JSON Views</h2>
</a>
</article></div>
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/quickcast.jpg)'>
- <a href='https://grails.apache.org/blog/2016-04-01-2.html'>
+ <a href='https://grails.apache.org/blog/2016-04-01-1.html'>
<h3>April 1, 2016</h3>
- <h2>Quickcast #2: JSON Views</h2>
+ <h2>Quickcast #1: Grails® Interceptors</h2>
</a>
</article></div>
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/2015-03-01.jpg)'>
diff --git a/blog/tag/quickcast.html b/blog/tag/quickcast.html
index 055f1211a0a..b2922d659cd 100644
--- a/blog/tag/quickcast.html
+++ b/blog/tag/quickcast.html
@@ -151,39 +151,39 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
</a>
</article></div></div><div class="threecolumns">
<div class='column'><article class='blogcard' style='background-image:
url(https://grails.apache.org/images/quickcast.jpg)'>
- <a href='https://grails.apache.org/blog/2017-01-20-3.html'>
+ <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)'>
- <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 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><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-1.html'>
<h3>January 20, 2017</h3>
- <h2>Quickcast #6: Developing Grails® 3 Applicatio...</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/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/community.html b/community.html
index 223d4bb1c02..979e704034a 100644
--- a/community.html
+++ b/community.html
@@ -111,11 +111,12 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
</div>
</div>
<div class="content">
- <article>
+ <article>
<p>
<strong>We welcome you to participate in the Apache
Grails<sup>®</sup> community. Before joining us,
please
- review the <a
href="https://www.apache.org/foundation/policies/conduct">Apache Community Code
of Conduct</a>.</strong>
+ review the <a
href="https://www.apache.org/foundation/policies/conduct">Apache Community Code
of
+ Conduct</a>.</strong>
</p>
<h3 class="columnheader">Grails Mailing Lists</h3>
<div class="one-column">
@@ -136,13 +137,15 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h2>[email protected]</h2>
</div>
<div class="guidegroupbody">
- <p>For discussions about Grails
<strong>framework</strong> development. Subscribe to this list if you contribute
+ <p>For discussions about Grails
<strong>framework</strong> development. Subscribe to this list
+ if you contribute
to
Grails core or are interested in its evolution</p>
- <p>To subscribe, send an email to <br/><a
href="mailto:[email protected]">[email protected]</a>.
+ <p>To subscribe, send an email to <br /><a
+
href="mailto:[email protected]">[email protected]</a>.
</p>
<p>Find the <a
href="https://lists.apache.org/[email protected]"
- target="_blank">dev web archive
here</a></p>
+ target="_blank">dev web archive here</a></p>
</div>
</div>
</div>
@@ -153,14 +156,15 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h2>[email protected]</h2>
</div>
<div class="guidegroupbody">
- <p>For discussions related to using Grails in
<strong>application</strong> development. Join this list if you are
+ <p>For discussions related to using Grails in
<strong>application</strong> development. Join
+ this list if you are
a Grails user looking for help, best practices, or
community discussions.</p>
- <p>
- <p>To subscribe, send an email to <br/><a
href="mailto:[email protected]">[email protected]</a>.
+ <p>To subscribe, send an email to <br /><a
+
href="mailto:[email protected]">[email protected]</a>.
</p>
<p>Find the <a
href="https://lists.apache.org/[email protected]"
- target="_blank">user web archive
here</a></p>
+ target="_blank">user web archive here</a></p>
</div>
</div>
</div>
@@ -178,10 +182,10 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
https://grails.slack.com
</a>
</p>
- <p class="align-center">
- <a href="https://slack.grails.org" title="Join the Grails
Community Slack">
- Join the Grails Community Slack
- </a>
+ <p class=" align-center">
+ <a href="https://slack.grails.org" title="Join the Grails
Community Slack">
+ Join the Grails Community Slack
+ </a>
</p>
</article>
<article>
@@ -189,26 +193,26 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<div class="threecolumns">
<div class="column align-center">
<img height="200"
src="https://grails.apache.org/images/james-fredley-2025-rock-star.png"
- alt="James Fredley - 2025 Grails Rock Star Award">
+ alt="James Fredley - 2025 Grails Rock Star Award">
</div>
<div class="column align-center">
<img height="200"
src="https://grails.apache.org/images/david-estes-2020-rock-star.png"
- alt="David Estes - 2020 Grails Rock Star Award">
+ alt="David Estes - 2020 Grails Rock Star Award">
</div>
<div class="column align-center">
<img height="200"
src="https://grails.apache.org/images/kenkousen.png" alt="Ken Kousen - 2018
Grails Rock Star Award">
</div>
<div class="column align-center">
<img height="200"
src="https://grails.apache.org/images/eric_helgeson.png"
- alt="Eric Helgeson - 2017 Grails Rock Star Award">
+ alt="Eric Helgeson - 2017 Grails Rock Star Award">
</div>
<div class="column align-center">
<img height="200"
src="https://grails.apache.org/images/graeme.png"
- alt="Graeme Rocher - Grails framework lifetime
contributor Award">
+ alt="Graeme Rocher - Grails framework lifetime contributor
Award">
</div>
<div class="column align-center">
<img height="200"
src="https://grails.apache.org/images/jeff_scott_brown.png"
- alt="Jeff Scott Brown - Grails framework lifetime
contributor Award">
+ alt="Jeff Scott Brown - Grails framework lifetime
contributor Award">
</div>
</div>
@@ -220,7 +224,7 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<!-- <div class="column"><div class="event">-->
<!-- <img
src="https://grails.apache.org/images/confs/gr8confeu.png" alt="GR8Conf EU
2020">-->
<!-- <h3>-->
- <!-- <a href="http://gr8conf.eu/">GR8Conf EU 2020</a>-->
+ <!-- <a href="https://gr8conf.eu/">GR8Conf EU 2020</a>-->
<!-- </h3>-->
<!-- <span class="location">Copenhagen, Denmark</span>-->
<!-- <span class="dates">June 2 - 4, 2020</span><p>Groovy, the
Grails framework, and related technologies have seen astounding growth in
interest and adoption over the past few years, and with good reason. GR8Conf is
a series of conferences founded to spread the word worldwide. The 2018 GR8Conf
Europe is celebrating its 10th year, and it's expected to be a blast. As in
2017 the conference had a DevOps day, this year DevOps topics will be mixed
with the rest of the topics. [...]
@@ -254,19 +258,19 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<!-- <a
href="https://www.meetup.com/Grails-Boston/">United States - Boston Groovy,
Grails, Spring Meetup (B2GS)</a>-->
<!-- </li>-->
<!-- <li>-->
- <!-- <a
href="http://coderconsortium.com/">United States - Coder Consortium of
Sacramento</a>-->
+ <!-- <a
href="https://coderconsortium.com/">United States - Coder Consortium of
Sacramento</a>-->
<!-- </li>-->
<!-- <li>-->
- <!-- <a
href="http://www.dcgroovy.org/">United States - DC Groovy</a>-->
+ <!-- <a
href="https://www.dcgroovy.org/">United States - DC Groovy</a>-->
<!-- </li>-->
<!-- <li>-->
- <!-- <a
href="http://dfw2gug.org/">United States - DFW Groovy & Grails User
Group</a>-->
+ <!-- <a
href="https://dfw2gug.org/">United States - DFW Groovy & Grails User
Group</a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a
href="https://www.meetup.com/Grails-and-Ales/">United States - Groovy and
Grails Users of Columbus OH</a>-->
<!-- </li>-->
<!-- <li>-->
- <!-- <a href="http://groovy.mn/">United
States - Groovy Users of Minnesota</a>-->
+ <!-- <a
href="https://groovy.mn/">United States - Groovy Users of Minnesota</a>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a
href="https://www.meetup.com/Los-Angeles-GUG/">United States - Los Angeles
Groovy Users Group</a>-->
@@ -275,7 +279,7 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<a href="https://www.meetup.com/grails/">United States
- NYC Groovy / Grails Meetup</a>
</li>
<!-- <li>-->
- <!-- <a
href="http://www.scottsdale-groovy.com/">United States - Scottsdale Groovy
Brigade</a>-->
+ <!-- <a
href="https://www.scottsdale-groovy.com/">United States - Scottsdale Groovy
Brigade</a>-->
<!-- </li>-->
<li>
<a href="https://www.meetup.com/java-161/">United
States - SF Bay Groovy and Grails Meetup
diff --git a/foundation/minutes.xml b/foundation/minutes.xml
index 28d85b6a351..04add3d79b7 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>Wed, 14 Jan 2026 21:03:23
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>Wed, 14 Jan 2026 21:07:28
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/maturity.html b/maturity.html
index 95366d59fcf..9a10ad0a03d 100644
--- a/maturity.html
+++ b/maturity.html
@@ -114,7 +114,8 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<article>
<p>
<em>This page reflects the Apache Grails project's self-assessment
of their maturity according to the
- <a
href="https://community.apache.org/apache-way/apache-project-maturity-model.html">ASF
Project Maturity Model</a>.</em>
+ <a
href="https://community.apache.org/apache-way/apache-project-maturity-model.html">ASF
Project
+ Maturity Model</a>.</em>
</p>
<h2>Code</h2>
@@ -123,31 +124,38 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<p>The project produces Open Source software for distribution to the
public at no charge.</p>
- <p>All code is under the Apache license (or compatible 3rd party
licenses) and available from ASF distribution channels and GitHub.</p>
+ <p>All code is under the Apache license (or compatible 3rd party
licenses) and available from ASF distribution
+ channels and GitHub.</p>
<h3>CD20</h3>
<p>Anyone can quickly discover and access the project's code.</p>
- <p>The code is available under ASF/GitHub, and the project’s website
contains instructions on how to obtain it.</p>
+ <p>The code is available under ASF/GitHub, and the project’s website
contains instructions on how to obtain it.
+ </p>
<h3>CD30</h3>
<p>Anyone using standard, widely available tools can build the code
reproducibly.</p>
- <p>The project includes instructions on required prerequisites and
instructions on how to build the software.</p>
+ <p>The project includes instructions on required prerequisites and
instructions on how to build the software.
+ </p>
<h3>CD40</h3>
- <p>The complete history of the project's code is available via a
source code control system, which allows anyone to recreate any released
version.</p>
+ <p>The complete history of the project's code is available via a
source code control system, which allows anyone
+ to recreate any released version.</p>
- <p>The latest code is available from ASF/GitHub, and previous versions
have been tagged. Previous releases since joining are archived at the ASF and
available for download.</p>
+ <p>The latest code is available from ASF/GitHub, and previous versions
have been tagged. Previous releases since
+ joining are archived at the ASF and available for download.</p>
<h3>CD50</h3>
- <p>The source code control system establishes the provenance of each
line of code in a reliable way, based on strong authentication of the
committer.</p>
+ <p>The source code control system establishes the provenance of each
line of code in a reliable way, based on
+ strong authentication of the committer.</p>
- <p>When third parties contribute code, commit messages provide
reliable information about the code provenance. All code is committed via
version control. The LICENSE file also lists 3rd party code and its license.</p>
+ <p>When third parties contribute code, commit messages provide
reliable information about the code provenance.
+ All code is committed via version control. The LICENSE file also
lists 3rd party code and its license.</p>
<h2>Licenses and Copyright</h2>
@@ -159,9 +167,12 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h3>LC20</h3>
- <p>Libraries that are mandatory dependencies of the project's code do
not create more restrictions than the Apache License does.</p>
+ <p>Libraries that are mandatory dependencies of the project's code do
not create more restrictions than the
+ Apache License does.</p>
- <p>Extensive work has been done on third-party licenses for both the
source release and convenience binaries. One issue with a Hibernate dependency
has been discussed and is subject to further resolution but isn't the sole
mandatory option for this functionality.
+ <p>Extensive work has been done on third-party licenses for both the
source release and convenience binaries.
+ One issue with a Hibernate dependency has been discussed and is
subject to further resolution but isn't the
+ sole mandatory option for this functionality.
Further work is expected to remove the licensing issue with this
dependency.</p>
<h3>LC30</h3>
@@ -172,13 +183,15 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h3>LC40</h3>
- <p>Committers are bound by an Individual Contributor Agreement (the
"Apache iCLA") that defines which code they may commit and how they need to
identify code that is not their own.</p>
+ <p>Committers are bound by an Individual Contributor Agreement (the
"Apache iCLA") that defines which code they
+ may commit and how they need to identify code that is not their
own.</p>
<p>All committers have signed ICLAs.</p>
<h3>LC50</h3>
- <p>The project clearly defines and documents the copyright ownership
of everything that the project produces.</p>
+ <p>The project clearly defines and documents the copyright ownership
of everything that the project produces.
+ </p>
<p>The LICENSE and NOTICE files list additional information needed
here.</p>
@@ -186,39 +199,48 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h3>RE10</h3>
- <p>Releases consist of source code, distributed using standard and
open archive formats that are expected to stay readable in the long term.</p>
+ <p>Releases consist of source code, distributed using standard and
open archive formats that are expected to
+ stay readable in the long term.</p>
<p>Releases are source code and are performed and distributed in the
standard ASF way.</p>
<h3>RE20</h3>
- <p>The project's PMC (Project Management Committee, see CS10) approves
each software release to make the release an act of the Foundation.</p>
+ <p>The project's PMC (Project Management Committee, see CS10) approves
each software release to make the release
+ an act of the Foundation.</p>
<p>Each release has been voted on, following ASF policy, by the
PPMC.</p>
<h3>RE30</h3>
- <p>Releases are signed and/or distributed along with digests that
anyone can reliably use to validate the downloaded archives.</p>
+ <p>Releases are signed and/or distributed along with digests that
anyone can reliably use to validate the
+ downloaded archives.</p>
<p>Releases are signed and the release area on the website includes
hashes and links to KEYs files.</p>
<h3>RE40</h3>
- <p>The project can distribute convenience binaries alongside source
code, but they are not Apache Releases, they are provided with no guarantee.</p>
+ <p>The project can distribute convenience binaries alongside source
code, but they are not Apache Releases, they
+ are provided with no guarantee.</p>
- <p>Convenience binaries are distributed alongside source releases.
Their LICENSE and NOTICE files are correct.</p>
+ <p>Convenience binaries are distributed alongside source releases.
Their LICENSE and NOTICE files are correct.
+ </p>
<h3>RE50</h3>
- <p>The project documents a repeatable release process so that someone
new to the project can independently generate the complete set of artifacts
required for a release.</p>
+ <p>The project documents a repeatable release process so that someone
new to the project can independently
+ generate the complete set of artifacts required for a release.</p>
- <p>Releases have been made by several release managers and the project
includes documentation on how to make a release. The last release included a
standard incubating DISCLAIMER. There is some minor work to be done on
documenting the release process and improving the release scripts.</p>
+ <p>Releases have been made by several release managers and the project
includes documentation on how to make a
+ release. The last release included a standard incubating
DISCLAIMER. There is some minor work to be done on
+ documenting the release process and improving the release
scripts.</p>
<h2>Quality</h2>
<h3>QU10</h3>
- <p>The project is open and honest about the quality of its code.
Various levels of quality and maturity for various modules are natural and
acceptable as long as they are clearly communicated.</p>
+ <p>The project is open and honest about the quality of its code.
Various levels of quality and maturity for
+ various modules are natural and acceptable as long as they are
clearly communicated.</p>
<p>All code is reviewed by at least one committer before being merged
and must pass CI checks.</p>
@@ -230,21 +252,25 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h3>QU30</h3>
- <p>The project provides a well-documented, secure and private channel
to report security issues, along with a documented way of responding to
them.</p>
+ <p>The project provides a well-documented, secure and private channel
to report security issues, along with a
+ documented way of responding to them.</p>
<p>The project uses the standard way of reporting ASF security
issues.</p>
<h3>QU40</h3>
- <p>The project puts a high priority on backwards compatibility and
aims to document any incompatible changes and provide tools and documentation
to help users transition to new features.</p>
+ <p>The project puts a high priority on backwards compatibility and
aims to document any incompatible changes and
+ provide tools and documentation to help users transition to new
features.</p>
- <p>All PRs, including information on if there are breaking changes,
and release notes on each release, also include this.</p>
+ <p>All PRs, including information on if there are breaking changes,
and release notes on each release, also
+ include this.</p>
<h3>QU50</h3>
<p>The project strives to respond to documented bug reports in a
timely manner.</p>
- <p>The large majority of issues and PRs are dealt with quickly,
although a number of outstanding older issues from pre-ASF days remain.</p>
+ <p>The large majority of issues and PRs are dealt with quickly,
although a number of outstanding older issues
+ from pre-ASF days remain.</p>
<h2>Community</h2>
@@ -252,35 +278,46 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<p>The project has a well-known homepage that points to all the
information required by ASF policy.</p>
- <p>The Grails website (https://grails.apache.org) is well known and
contains all the information needed by ASF policy. (A couple of points need
fixing before this is actually true, but they are well-known and simple.)</p>
+ <p>The Grails website (https://grails.apache.org) is well known and
contains all the information needed by ASF
+ policy. (A couple of points need fixing before this is actually
true, but they are well-known and simple.)
+ </p>
<h3>CO20</h3>
- <p>The community welcomes contributions from anyone who acts in good
faith, respectfully, and adds value to the project.</p>
+ <p>The community welcomes contributions from anyone who acts in good
faith, respectfully, and adds value to the
+ project.</p>
- <p>Several hundred folks have contributed to the core Grails project
during its lifespan and more on plugins. More than 20 folks have contributed to
the core project since incubation started. Several contributors have been made
committers and PMC members since the start of incubation.</p>
+ <p>Several hundred folks have contributed to the core Grails project
during its lifespan and more on plugins.
+ More than 20 folks have contributed to the core project since
incubation started. Several contributors have
+ been made committers and PMC members since the start of
incubation.</p>
<h3>CO30</h3>
- <p>Contributions include source code, documentation, constructive bug
reports, constructive discussions, marketing and generally anything that adds
value to the project.</p>
+ <p>Contributions include source code, documentation, constructive bug
reports, constructive discussions,
+ marketing and generally anything that adds value to the
project.</p>
- <p>The project values all forms of contribution and has accepted code,
documentation fixes/improvements, bug reports etc.</p>
+ <p>The project values all forms of contribution and has accepted code,
documentation fixes/improvements, bug
+ reports etc.</p>
<h3>CO40</h3>
- <p>The community strives to be meritocratic and gives more rights and
responsibilities to contributors who, over time, add value to the project.</p>
+ <p>The community strives to be meritocratic and gives more rights and
responsibilities to contributors who, over
+ time, add value to the project.</p>
<p>Several contributors have been made committers and PPMC members
since the start of incubation.</p>
<h3>CO50</h3>
- <p>The project documents how contributors can earn more rights, such
as commit access or decision power, and applies these principles
consistently.</p>
+ <p>The project documents how contributors can earn more rights, such
as commit access or decision power, and
+ applies these principles consistently.</p>
- <p>Several contributors have been made committers and PMC members
since the start of incubation. These committers have been based on merit and
come from several different employers.</p>
+ <p>Several contributors have been made committers and PMC members
since the start of incubation. These
+ committers have been based on merit and come from several
different employers.</p>
<h3>CO60</h3>
- <p>The community operates based on the consensus of its members (see
CS10), who have decision power. Dictators, benevolent or not, are not welcome
in Apache projects.</p>
+ <p>The community operates based on the consensus of its members (see
CS10), who have decision power. Dictators,
+ benevolent or not, are not welcome in Apache projects.</p>
<p>The project’s direction is set by the PMC, there is no BDFY.</p>
@@ -288,19 +325,23 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<p>The project strives to answer user questions in a timely manner.</p>
- <p>User questions on GitHub and the mailing list are usually answered
promptly. There is room for improvement in a few isolated cases.</p>
+ <p>User questions on GitHub and the mailing list are usually answered
promptly. There is room for improvement in
+ a few isolated cases.</p>
<h2>Consensus Building</h2>
<h3>CS10</h3>
- <p>The project maintains a public list of its contributors who have
decision power. The project's PMC (Project Management Committee) consists of
those contributors.</p>
+ <p>The project maintains a public list of its contributors who have
decision power. The project's PMC (Project
+ Management Committee) consists of those contributors.</p>
- <p>The PPMC and committer list are kept up to date when new people are
added. There is no public list of the PMC on the site, but it is available via
several ASF services.</p>
+ <p>The PPMC and committer list are kept up to date when new people are
added. There is no public list of the PMC
+ on the site, but it is available via several ASF services.</p>
<h3>CS20</h3>
- <p>Decisions require a consensus among PMC members and are documented
on the project's main communications channel. The PMC takes community opinions
into account, but the PMC has the final word.</p>
+ <p>Decisions require a consensus among PMC members and are documented
on the project's main communications
+ channel. The PMC takes community opinions into account, but the
PMC has the final word.</p>
<p>Votes on releases and other major decisions are conducted on the
mailing list.</p>
@@ -312,15 +353,21 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h3>CS40</h3>
- <p>In Apache projects, vetoes are only valid for code commits. The
person exercising the veto must justify it with a technical explanation, as per
the Apache voting rules defined in CS30.</p>
+ <p>In Apache projects, vetoes are only valid for code commits. The
person exercising the veto must justify it
+ with a technical explanation, as per the Apache voting rules
defined in CS30.</p>
- <p>There have been no code vetos. Most significant code contributions
use RTC, so this reduces the number of possible vetos. The code is reviewed,
and feedback is acted on before it is merged.</p>
+ <p>There have been no code vetos. Most significant code contributions
use RTC, so this reduces the number of
+ possible vetos. The code is reviewed, and feedback is acted on
before it is merged.</p>
<h3>CS50</h3>
- <p>All "important" discussions happen asynchronously in written form
on the project's main communications channel. Offline, face-to-face or private
discussions that affect the project are also documented on that channel.</p>
+ <p>All "important" discussions happen asynchronously in written form
on the project's main communications
+ channel. Offline, face-to-face or private discussions that affect
the project are also documented on that
+ channel.</p>
- <p>There is discussion on the mailing list, and in GitHub issues and
discussions. This is asynchronous. There are regular online meetings where
anyone is welcome and a summary of discussions is brought back to the mailing
list.
+ <p>There is discussion on the mailing list, and in GitHub issues and
discussions. This is asynchronous. There
+ are regular online meetings where anyone is welcome and a summary
of discussions is brought back to the
+ mailing list.
There are no offline meetings or discussions where private
decisions are made.</p>
<h2>Independence</h2>
@@ -341,25 +388,30 @@ Companies deploy assistants like this [](https://kapa.ai)
on docs via [website w
<h3>TB10</h3>
- <p>The project uses "Apache Foo™" as the project and software product
name consistently, with appropriate trademark attributions.</p>
+ <p>The project uses "Apache Foo™" as the project and software product
name consistently, with appropriate
+ trademark attributions.</p>
<p>The project uses Apache Grails and complies with ASF trademark
policy.</p>
<h3>TB20</h3>
- <p>The project's primary homepage is at projectname.apache.org. When
exceptions exist to use alternate domains for any purpose, any non-apache.org
domain names are owned by the ASF.</p>
+ <p>The project's primary homepage is at projectname.apache.org. When
exceptions exist to use alternate domains
+ for any purpose, any non-apache.org domain names are owned by the
ASF.</p>
- <p>The project's website is at http://grails.apache.org.</p>
+ <p>The project's website is at https://grails.apache.org.</p>
<h3>TB30</h3>
- <p>The ASF has trademark rights, including any registrations, to the
project name, logo, and any other major branding elements.</p>
+ <p>The ASF has trademark rights, including any registrations, to the
project name, logo, and any other major
+ branding elements.</p>
- <p>The name Grails and its logo is a registered trademark and
agreement has been reached to transfer the trademarks to the ASF upon
successful graduation.</p>
+ <p>The name Grails and its logo is a registered trademark and
agreement has been reached to transfer the
+ trademarks to the ASF upon successful graduation.</p>
<h3>TB40</h3>
- <p>The project monitors for any major misuses of their project's brand
by others, and reports any potential misuses to Brand Management.</p>
+ <p>The project monitors for any major misuses of their project's brand
by others, and reports any potential
+ misuses to Brand Management.</p>
<p>There have been no significant misuses of the project’s brand.</p>
diff --git a/rss.xml b/rss.xml
index eae4707f4af..efe24839939 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>Wed, 14 Jan 2026 21:03:25
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>Wed, 14 Jan 2026 21:07:30
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>
@@ -5184,29 +5184,29 @@ info.app.grailsVersion=3.2.5
<p>GORM 6.1 will become the default version of GORM to be used in the upcoming
Grails 3.3, in the meantime you can use GORM 6.1 in Grails 3.2 simply by
changing the <code>gormVersion</code> setting in
<code>gradle.properties</code>:</p>
<pre><code class="language-groovy">gormVersion=6.1.0.RELEASE
</code></pre>
-<p>To celebrate the release we have prepared the first of a series of new
guides to cover GORM 6.1. Among the many new features are huge improvements to
support Neo4j. Using the official Neo4j sample application, the new guide
describes how you can <a
href="https://guides.grails.org/neo4j-movies/guide/index.html">build a graph
application with the Grails framework, GORM 6.1 and Neo4j</a>!
Enjoy!</p>]]></description><author>Graeme
Rocher</author><guid>2017-03-27</guid><pubDate>Mon, 27 Mar [...]
-<p>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>
<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 #3: Multi-Project
Builds</title><link>https://grails.apache.org/blog/2017-01-20-1.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 #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 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>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/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 #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/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>
+<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 #3: Multi-Project
Builds</title><link>https://grails.apache.org/blog/2017-01-20-1.html</link><description><![CDATA[</p>
+<p>Tags: <a href="https://grails.apache.org/blog/tag/quickcast.html"><span
class="hashtag">#quickcast</span></a></p>
+<p>In this video, Grails<sup>®</sup> framework co-founder Graeme Rocher walks
you through multi-project builds in Grails apps.</p>
+<p>The Grails framework does a few handy things with multi-project builds and
plugins, not the least of which being that Grails compiles your plugins first
and puts the class and resources of those plugins directly in the classpath.
This lets you make changes to your plugins and instantly see those changes in
your build.</p>
+<p>Grails 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>
<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>