This is an automated email from the ASF dual-hosted git repository.
asf-ci-deploy pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/grails-doc.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new ff76a1f715 Deploying to documentation branch - 20:44:18
ff76a1f715 is described below
commit ff76a1f71578ebe1f7d435f4cac95a769e862791
Author: jamesfredley <[email protected]>
AuthorDate: Tue Sep 9 20:44:19 2025 +0000
Deploying to documentation branch - 20:44:18
---
snapshot/guide/commandLine.html | 2 +-
.../guide/pages/addingDynamicMethodsAtRuntime.html | 2 +-
.../guide/pages/addingMethodsAtCompileTime.html | 2 +-
.../guide/pages/creatingAndInstallingPlugins.html | 16 ++++++------
.../pages/hookingIntoRuntimeConfiguration.html | 4 +--
snapshot/guide/pages/providingBasicArtefacts.html | 4 +--
snapshot/guide/plugins.html | 28 ++++++++++----------
snapshot/guide/single.html | 30 +++++++++++-----------
8 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/snapshot/guide/commandLine.html b/snapshot/guide/commandLine.html
index 8c3d8607f0..1726db3c8c 100644
--- a/snapshot/guide/commandLine.html
+++ b/snapshot/guide/commandLine.html
@@ -320,7 +320,7 @@ To make this work you can simply append all
<code>System.properties</code> to <c
<div class="sect2">
<h3 id="_non_interactive_mode">Non-interactive mode</h3>
<div class="paragraph">
-<p>When you run a script manually and it prompts you for information, you can
answer the questions and continue running the script. But when you run a script
as part of an automated process, for example a continuous integration build
server, there’s no way to "answer" the questions. So you can pass the
<code>\--non-interactive</code> switch to the script command to tell Grails to
accept the default answer for any questions, for example whether to install a
missing plugin.</p>
+<p>When you run a script manually, and it prompts you for information, you can
answer the questions and continue running the script. But when you run a script
as part of an automated process, for example a continuous integration build
server, there’s no way to "answer" the questions. So you can pass the
<code>--non-interactive</code> switch to the script command to tell Grails to
accept the default answer for any questions, for example whether to install a
missing plugin.</p>
</div>
<div class="paragraph">
<p>For example:</p>
diff --git a/snapshot/guide/pages/addingDynamicMethodsAtRuntime.html
b/snapshot/guide/pages/addingDynamicMethodsAtRuntime.html
index ba88215b3b..774b60d17b 100644
--- a/snapshot/guide/pages/addingDynamicMethodsAtRuntime.html
+++ b/snapshot/guide/pages/addingDynamicMethodsAtRuntime.html
@@ -174,7 +174,7 @@
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-Note that Grails 3.x features newer features such as traits that are usable
from code compiled with <code>CompileStatic</code>. It is recommended that
dynamic behavior is only added for cases that are not possible with traits.
+Note that Grails 3.x and above features newer features such as traits that are
usable from code compiled with <code>CompileStatic</code>. It is recommended
that dynamic behavior is only added for cases that are not possible with traits.
</td>
</tr>
</table>
diff --git a/snapshot/guide/pages/addingMethodsAtCompileTime.html
b/snapshot/guide/pages/addingMethodsAtCompileTime.html
index 06f2f84694..2295bf2b9a 100644
--- a/snapshot/guide/pages/addingMethodsAtCompileTime.html
+++ b/snapshot/guide/pages/addingMethodsAtCompileTime.html
@@ -163,7 +163,7 @@
<div class="paragraph">
-<p>Grails 3.0 makes it easy to add new traits to existing artefact types from
a plugin. For example say you wanted to add methods for manipulating dates to
controllers. This can be done by defining a trait in
<code>src/main/groovy</code>:</p>
+<p>Grails makes it easy to add new traits to existing artefact types from a
plugin. For example say you wanted to add methods for manipulating dates to
controllers. This can be done by defining a trait in
<code>src/main/groovy</code>:</p>
</div>
<div class="listingblock">
<div class="content">
diff --git a/snapshot/guide/pages/creatingAndInstallingPlugins.html
b/snapshot/guide/pages/creatingAndInstallingPlugins.html
index ec118308fc..02b769a071 100644
--- a/snapshot/guide/pages/creatingAndInstallingPlugins.html
+++ b/snapshot/guide/pages/creatingAndInstallingPlugins.html
@@ -443,7 +443,7 @@ implementation <span class="string"><span
class="delimiter">"</span><span c
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-In Grails 2.x plugins were packaged as ZIP files, however in Grails 3.x
plugins are simple JAR files that can be added to the classpath of the IDE.
+In Grails 2.x plugins were packaged as ZIP files, however from Grails 3.x+
plugins are simple JAR files that can be added to the classpath of the IDE.
</td>
</tr>
</table>
@@ -623,12 +623,12 @@ Grails application running at <span
class="key">http</span>:<span class="comment
</div>
</div>
<div class="sect3">
-<h4 id="_inline_plugins_in_grails_3_0">Inline Plugins in Grails 3.0</h4>
+<h4 id="_inline_plugins_in_grails">Inline Plugins in Grails</h4>
<div class="paragraph">
-<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, in Grails 3.x this functionality has been replaced by
Gradle’s multi-project build feature.</p>
+<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, from Grails 3.x+ this functionality has been replaced
by Gradle’s multi-project build feature.</p>
</div>
<div class="paragraph">
-<p>To set up a multi project build create an appliation and a plugin in a
parent directory:</p>
+<p>To set up a multi project build create an application and a plugin in a
parent directory:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -670,7 +670,7 @@ Grails application running at <span
class="key">http</span>:<span class="comment
<p>This will create a web-plugin project for the name you specify. For example
running <code>grails create-plugin example</code> would create a new web-plugin
project called <code>example</code>.</p>
</div>
<div class="paragraph">
-<p>In Grails 3.0 you should consider whether the plugin you create requires a
web environment or whether the plugin can be used with other profiles. If your
plugin does not require a web environment then use the "plugin" profile instead
of the default "web-plugin" profile:</p>
+<p>In Grails you should consider whether the plugin you create requires a web
environment or whether the plugin can be used with other profiles. If your
plugin does not require a web environment then use the "plugin" profile instead
of the default "web-plugin" profile:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -896,7 +896,7 @@ implementation <span class="string"><span
class="delimiter">"</span><span c
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-In Grails 2.x plugins were packaged as ZIP files, however in Grails 3.x
plugins are simple JAR files that can be added to the classpath of the IDE.
+In Grails 2.x plugins were packaged as ZIP files, however from Grails 3.x+
plugins are simple JAR files that can be added to the classpath of the IDE.
</td>
</tr>
</table>
@@ -1076,9 +1076,9 @@ Grails application running at <span
class="key">http</span>:<span class="comment
</div>
</div>
<div class="sect3">
-<h4 id="_inline_plugins_in_grails_3_0_2">Inline Plugins in Grails 3.0</h4>
+<h4 id="_inline_plugins_in_grails_2">Inline Plugins in Grails</h4>
<div class="paragraph">
-<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, in Grails 3.x this functionality has been replaced by
Gradle’s multi-project build feature.</p>
+<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, from Grails 3.x+ this functionality has been replaced
by Gradle’s multi-project build feature.</p>
</div>
<div class="paragraph">
<p>To set up a multi project build create an appliation and a plugin in a
parent directory:</p>
diff --git a/snapshot/guide/pages/hookingIntoRuntimeConfiguration.html
b/snapshot/guide/pages/hookingIntoRuntimeConfiguration.html
index f226b683a3..5063dc4040 100644
--- a/snapshot/guide/pages/hookingIntoRuntimeConfiguration.html
+++ b/snapshot/guide/pages/hookingIntoRuntimeConfiguration.html
@@ -200,10 +200,10 @@
<div class="sect3">
<h4 id="_customizing_the_servlet_environment">Customizing the Servlet
Environment</h4>
<div class="paragraph">
-<p>In previous versions of Grails it was possible to dynamically modify the
generated <code>web.xml</code>. In Grails 3.x there is no <code>web.xml</code>
file and it is not possible to programmatically modify the <code>web.xml</code>
file anymore.</p>
+<p>In previous versions of Grails it was possible to dynamically modify the
generated <code>web.xml</code>. From Grails 3.x+ there is no
<code>web.xml</code> file and it is not possible to programmatically modify the
<code>web.xml</code> file anymore.</p>
</div>
<div class="paragraph">
-<p>However, it is possible to perform the most commons tasks of modifying the
Servlet environment in Grails 3.x.</p>
+<p>However, it is possible to perform the most commons tasks of modifying the
Servlet environment in Grails 3.x and above.</p>
</div>
</div>
<div class="sect3">
diff --git a/snapshot/guide/pages/providingBasicArtefacts.html
b/snapshot/guide/pages/providingBasicArtefacts.html
index 5cf7eb9646..9fd6c3f47a 100644
--- a/snapshot/guide/pages/providingBasicArtefacts.html
+++ b/snapshot/guide/pages/providingBasicArtefacts.html
@@ -165,7 +165,7 @@
<div class="sect3">
<h4 id="_add_command_line_commands">Add Command Line Commands</h4>
<div class="paragraph">
-<p>A plugin can add new commands to the Grails 3.0 interactive shell in one of
two ways. First, using the <a
href="../ref/Command%20Line/create-script.html">create-script</a> you can
create a code generation script which will become available to the application.
The <code>create-script</code> command will create the script in the
<code>src/main/scripts</code> directory:</p>
+<p>A plugin can add new commands to the Grails interactive shell in one of two
ways. First, using the <a
href="../ref/Command%20Line/create-script.html">create-script</a> you can
create a code generation script which will become available to the application.
The <code>create-script</code> command will create the script in the
<code>src/main/scripts</code> directory:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -244,7 +244,7 @@
<p>The main difference between code generation scripts and
<code>ApplicationCommand</code> instances is that the latter has full access to
the Grails application state and hence can be used to perform tasks that
interactive with the database, call into GORM etc.</p>
</div>
<div class="paragraph">
-<p>In Grails 2.x Gant scripts could be used to perform both these tasks, in
Grails 3.x code generation and interacting with runtime application state has
been cleanly separated.</p>
+<p>In Grails 2.x Gant scripts could be used to perform both these tasks, from
Grails 3.x+ code generation and interacting with runtime application state has
been cleanly separated.</p>
</div>
</div>
<div class="sect3">
diff --git a/snapshot/guide/plugins.html b/snapshot/guide/plugins.html
index ee8f4d493b..7630697985 100644
--- a/snapshot/guide/plugins.html
+++ b/snapshot/guide/plugins.html
@@ -501,7 +501,7 @@ implementation <span class="string"><span
class="delimiter">"</span><span c
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-In Grails 2.x plugins were packaged as ZIP files, however in Grails 3.x
plugins are simple JAR files that can be added to the classpath of the IDE.
+In Grails 2.x plugins were packaged as ZIP files, however from Grails 3.x+
plugins are simple JAR files that can be added to the classpath of the IDE.
</td>
</tr>
</table>
@@ -681,12 +681,12 @@ Grails application running at <span
class="key">http</span>:<span class="comment
</div>
</div>
<div class="sect3">
-<h4 id="_inline_plugins_in_grails_3_0">Inline Plugins in Grails 3.0</h4>
+<h4 id="_inline_plugins_in_grails">Inline Plugins in Grails</h4>
<div class="paragraph">
-<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, in Grails 3.x this functionality has been replaced by
Gradle’s multi-project build feature.</p>
+<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, from Grails 3.x+ this functionality has been replaced
by Gradle’s multi-project build feature.</p>
</div>
<div class="paragraph">
-<p>To set up a multi project build create an appliation and a plugin in a
parent directory:</p>
+<p>To set up a multi project build create an application and a plugin in a
parent directory:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -728,7 +728,7 @@ Grails application running at <span
class="key">http</span>:<span class="comment
<p>This will create a web-plugin project for the name you specify. For example
running <code>grails create-plugin example</code> would create a new web-plugin
project called <code>example</code>.</p>
</div>
<div class="paragraph">
-<p>In Grails 3.0 you should consider whether the plugin you create requires a
web environment or whether the plugin can be used with other profiles. If your
plugin does not require a web environment then use the "plugin" profile instead
of the default "web-plugin" profile:</p>
+<p>In Grails you should consider whether the plugin you create requires a web
environment or whether the plugin can be used with other profiles. If your
plugin does not require a web environment then use the "plugin" profile instead
of the default "web-plugin" profile:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -954,7 +954,7 @@ implementation <span class="string"><span
class="delimiter">"</span><span c
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-In Grails 2.x plugins were packaged as ZIP files, however in Grails 3.x
plugins are simple JAR files that can be added to the classpath of the IDE.
+In Grails 2.x plugins were packaged as ZIP files, however from Grails 3.x+
plugins are simple JAR files that can be added to the classpath of the IDE.
</td>
</tr>
</table>
@@ -1134,9 +1134,9 @@ Grails application running at <span
class="key">http</span>:<span class="comment
</div>
</div>
<div class="sect3">
-<h4 id="_inline_plugins_in_grails_3_0_2">Inline Plugins in Grails 3.0</h4>
+<h4 id="_inline_plugins_in_grails_2">Inline Plugins in Grails</h4>
<div class="paragraph">
-<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, in Grails 3.x this functionality has been replaced by
Gradle’s multi-project build feature.</p>
+<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, from Grails 3.x+ this functionality has been replaced
by Gradle’s multi-project build feature.</p>
</div>
<div class="paragraph">
<p>To set up a multi project build create an appliation and a plugin in a
parent directory:</p>
@@ -1226,7 +1226,7 @@ If you have created a Grails plugin and want it to be
listed on the <a href="htt
<div class="sect3">
<h4 id="_add_command_line_commands">Add Command Line Commands</h4>
<div class="paragraph">
-<p>A plugin can add new commands to the Grails 3.0 interactive shell in one of
two ways. First, using the <a
href="../ref/Command%20Line/create-script.html">create-script</a> you can
create a code generation script which will become available to the application.
The <code>create-script</code> command will create the script in the
<code>src/main/scripts</code> directory:</p>
+<p>A plugin can add new commands to the Grails interactive shell in one of two
ways. First, using the <a
href="../ref/Command%20Line/create-script.html">create-script</a> you can
create a code generation script which will become available to the application.
The <code>create-script</code> command will create the script in the
<code>src/main/scripts</code> directory:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -1305,7 +1305,7 @@ If you have created a Grails plugin and want it to be
listed on the <a href="htt
<p>The main difference between code generation scripts and
<code>ApplicationCommand</code> instances is that the latter has full access to
the Grails application state and hence can be used to perform tasks that
interactive with the database, call into GORM etc.</p>
</div>
<div class="paragraph">
-<p>In Grails 2.x Gant scripts could be used to perform both these tasks, in
Grails 3.x code generation and interacting with runtime application state has
been cleanly separated.</p>
+<p>In Grails 2.x Gant scripts could be used to perform both these tasks, from
Grails 3.x+ code generation and interacting with runtime application state has
been cleanly separated.</p>
</div>
</div>
<div class="sect3">
@@ -1532,10 +1532,10 @@ If you have created a Grails plugin and want it to be
listed on the <a href="htt
<div class="sect3">
<h4 id="_customizing_the_servlet_environment">Customizing the Servlet
Environment</h4>
<div class="paragraph">
-<p>In previous versions of Grails it was possible to dynamically modify the
generated <code>web.xml</code>. In Grails 3.x there is no <code>web.xml</code>
file and it is not possible to programmatically modify the <code>web.xml</code>
file anymore.</p>
+<p>In previous versions of Grails it was possible to dynamically modify the
generated <code>web.xml</code>. From Grails 3.x+ there is no
<code>web.xml</code> file and it is not possible to programmatically modify the
<code>web.xml</code> file anymore.</p>
</div>
<div class="paragraph">
-<p>However, it is possible to perform the most commons tasks of modifying the
Servlet environment in Grails 3.x.</p>
+<p>However, it is possible to perform the most commons tasks of modifying the
Servlet environment in Grails 3.x and above.</p>
</div>
</div>
<div class="sect3">
@@ -1633,7 +1633,7 @@ Grails' internal registered filters
(<code>GrailsWebRequestFilter</code>, <code>
<div class="paragraph">
-<p>Grails 3.0 makes it easy to add new traits to existing artefact types from
a plugin. For example say you wanted to add methods for manipulating dates to
controllers. This can be done by defining a trait in
<code>src/main/groovy</code>:</p>
+<p>Grails makes it easy to add new traits to existing artefact types from a
plugin. For example say you wanted to add methods for manipulating dates to
controllers. This can be done by defining a trait in
<code>src/main/groovy</code>:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -1756,7 +1756,7 @@ Due to formatting issues, above code snippet includes a
line break after equal s
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-Note that Grails 3.x features newer features such as traits that are usable
from code compiled with <code>CompileStatic</code>. It is recommended that
dynamic behavior is only added for cases that are not possible with traits.
+Note that Grails 3.x and above features newer features such as traits that are
usable from code compiled with <code>CompileStatic</code>. It is recommended
that dynamic behavior is only added for cases that are not possible with traits.
</td>
</tr>
</table>
diff --git a/snapshot/guide/single.html b/snapshot/guide/single.html
index fb3a8c669c..2a0539747a 100644
--- a/snapshot/guide/single.html
+++ b/snapshot/guide/single.html
@@ -6285,7 +6285,7 @@ To make this work you can simply append all
<code>System.properties</code> to <c
<div class="sect2">
<h3 id="_non_interactive_mode">Non-interactive mode</h3>
<div class="paragraph">
-<p>When you run a script manually and it prompts you for information, you can
answer the questions and continue running the script. But when you run a script
as part of an automated process, for example a continuous integration build
server, there’s no way to "answer" the questions. So you can pass the
<code>\--non-interactive</code> switch to the script command to tell Grails to
accept the default answer for any questions, for example whether to install a
missing plugin.</p>
+<p>When you run a script manually, and it prompts you for information, you can
answer the questions and continue running the script. But when you run a script
as part of an automated process, for example a continuous integration build
server, there’s no way to "answer" the questions. So you can pass the
<code>--non-interactive</code> switch to the script command to tell Grails to
accept the default answer for any questions, for example whether to install a
missing plugin.</p>
</div>
<div class="paragraph">
<p>For example:</p>
@@ -28454,7 +28454,7 @@ implementation <span class="string"><span
class="delimiter">"</span><span c
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-In Grails 2.x plugins were packaged as ZIP files, however in Grails 3.x
plugins are simple JAR files that can be added to the classpath of the IDE.
+In Grails 2.x plugins were packaged as ZIP files, however from Grails 3.x+
plugins are simple JAR files that can be added to the classpath of the IDE.
</td>
</tr>
</table>
@@ -28634,12 +28634,12 @@ Grails application running at <span
class="key">http</span>:<span class="comment
</div>
</div>
<div class="sect3">
-<h4 id="_inline_plugins_in_grails_3_0">Inline Plugins in Grails 3.0</h4>
+<h4 id="_inline_plugins_in_grails">Inline Plugins in Grails</h4>
<div class="paragraph">
-<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, in Grails 3.x this functionality has been replaced by
Gradle’s multi-project build feature.</p>
+<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, from Grails 3.x+ this functionality has been replaced
by Gradle’s multi-project build feature.</p>
</div>
<div class="paragraph">
-<p>To set up a multi project build create an appliation and a plugin in a
parent directory:</p>
+<p>To set up a multi project build create an application and a plugin in a
parent directory:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -28681,7 +28681,7 @@ Grails application running at <span
class="key">http</span>:<span class="comment
<p>This will create a web-plugin project for the name you specify. For example
running <code>grails create-plugin example</code> would create a new web-plugin
project called <code>example</code>.</p>
</div>
<div class="paragraph">
-<p>In Grails 3.0 you should consider whether the plugin you create requires a
web environment or whether the plugin can be used with other profiles. If your
plugin does not require a web environment then use the "plugin" profile instead
of the default "web-plugin" profile:</p>
+<p>In Grails you should consider whether the plugin you create requires a web
environment or whether the plugin can be used with other profiles. If your
plugin does not require a web environment then use the "plugin" profile instead
of the default "web-plugin" profile:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -28907,7 +28907,7 @@ implementation <span class="string"><span
class="delimiter">"</span><span c
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-In Grails 2.x plugins were packaged as ZIP files, however in Grails 3.x
plugins are simple JAR files that can be added to the classpath of the IDE.
+In Grails 2.x plugins were packaged as ZIP files, however from Grails 3.x+
plugins are simple JAR files that can be added to the classpath of the IDE.
</td>
</tr>
</table>
@@ -29087,9 +29087,9 @@ Grails application running at <span
class="key">http</span>:<span class="comment
</div>
</div>
<div class="sect3">
-<h4 id="_inline_plugins_in_grails_3_0_2">Inline Plugins in Grails 3.0</h4>
+<h4 id="_inline_plugins_in_grails_2">Inline Plugins in Grails</h4>
<div class="paragraph">
-<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, in Grails 3.x this functionality has been replaced by
Gradle’s multi-project build feature.</p>
+<p>In Grails 2.x it was possible to specify inline plugins in
<code>BuildConfig</code>, from Grails 3.x+ this functionality has been replaced
by Gradle’s multi-project build feature.</p>
</div>
<div class="paragraph">
<p>To set up a multi project build create an appliation and a plugin in a
parent directory:</p>
@@ -29179,7 +29179,7 @@ If you have created a Grails plugin and want it to be
listed on the <a href="htt
<div class="sect3">
<h4 id="_add_command_line_commands">Add Command Line Commands</h4>
<div class="paragraph">
-<p>A plugin can add new commands to the Grails 3.0 interactive shell in one of
two ways. First, using the <a
href="../ref/Command%20Line/create-script.html">create-script</a> you can
create a code generation script which will become available to the application.
The <code>create-script</code> command will create the script in the
<code>src/main/scripts</code> directory:</p>
+<p>A plugin can add new commands to the Grails interactive shell in one of two
ways. First, using the <a
href="../ref/Command%20Line/create-script.html">create-script</a> you can
create a code generation script which will become available to the application.
The <code>create-script</code> command will create the script in the
<code>src/main/scripts</code> directory:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -29258,7 +29258,7 @@ If you have created a Grails plugin and want it to be
listed on the <a href="htt
<p>The main difference between code generation scripts and
<code>ApplicationCommand</code> instances is that the latter has full access to
the Grails application state and hence can be used to perform tasks that
interactive with the database, call into GORM etc.</p>
</div>
<div class="paragraph">
-<p>In Grails 2.x Gant scripts could be used to perform both these tasks, in
Grails 3.x code generation and interacting with runtime application state has
been cleanly separated.</p>
+<p>In Grails 2.x Gant scripts could be used to perform both these tasks, from
Grails 3.x+ code generation and interacting with runtime application state has
been cleanly separated.</p>
</div>
</div>
<div class="sect3">
@@ -29485,10 +29485,10 @@ If you have created a Grails plugin and want it to be
listed on the <a href="htt
<div class="sect3">
<h4 id="_customizing_the_servlet_environment">Customizing the Servlet
Environment</h4>
<div class="paragraph">
-<p>In previous versions of Grails it was possible to dynamically modify the
generated <code>web.xml</code>. In Grails 3.x there is no <code>web.xml</code>
file and it is not possible to programmatically modify the <code>web.xml</code>
file anymore.</p>
+<p>In previous versions of Grails it was possible to dynamically modify the
generated <code>web.xml</code>. From Grails 3.x+ there is no
<code>web.xml</code> file and it is not possible to programmatically modify the
<code>web.xml</code> file anymore.</p>
</div>
<div class="paragraph">
-<p>However, it is possible to perform the most commons tasks of modifying the
Servlet environment in Grails 3.x.</p>
+<p>However, it is possible to perform the most commons tasks of modifying the
Servlet environment in Grails 3.x and above.</p>
</div>
</div>
<div class="sect3">
@@ -29586,7 +29586,7 @@ Grails' internal registered filters
(<code>GrailsWebRequestFilter</code>, <code>
<div class="paragraph">
-<p>Grails 3.0 makes it easy to add new traits to existing artefact types from
a plugin. For example say you wanted to add methods for manipulating dates to
controllers. This can be done by defining a trait in
<code>src/main/groovy</code>:</p>
+<p>Grails makes it easy to add new traits to existing artefact types from a
plugin. For example say you wanted to add methods for manipulating dates to
controllers. This can be done by defining a trait in
<code>src/main/groovy</code>:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -29709,7 +29709,7 @@ Due to formatting issues, above code snippet includes a
line break after equal s
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
-Note that Grails 3.x features newer features such as traits that are usable
from code compiled with <code>CompileStatic</code>. It is recommended that
dynamic behavior is only added for cases that are not possible with traits.
+Note that Grails 3.x and above features newer features such as traits that are
usable from code compiled with <code>CompileStatic</code>. It is recommended
that dynamic behavior is only added for cases that are not possible with traits.
</td>
</tr>
</table>