This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 3f7ed56  2024/01/18 05:31:47: Generated dev website from 
groovy-website@81cf326
3f7ed56 is described below

commit 3f7ed566e51f9093d96cb40181af39bdf52f5a58
Author: jenkins <[email protected]>
AuthorDate: Thu Jan 18 05:31:47 2024 +0000

    2024/01/18 05:31:47: Generated dev website from groovy-website@81cf326
---
 blog/adventures-with-groovyfx.html               |  2 +-
 blog/classifying-iris-flowers-with-deep.html     |  2 +-
 blog/comparators-and-sorting-in-groovy.html      |  2 +-
 blog/deck-of-cards-with-groovy.html              |  2 +-
 blog/deep-learning-and-eclipse-collections.html  |  2 +-
 blog/detecting-objects-with-groovy-the.html      |  2 +-
 blog/feed.atom                                   | 14 +++---
 blog/fruity-eclipse-collections.html             |  2 +-
 blog/gmavenplus-1-6-2-released.html              |  2 +-
 blog/groovy-2-4-16-released.html                 |  2 +-
 blog/groovy-2-4-16-windows.html                  |  2 +-
 blog/groovy-2-4-17-released.html                 |  2 +-
 blog/groovy-2-5-0-released.html                  |  2 +-
 blog/groovy-2-5-1-released.html                  |  2 +-
 blog/groovy-2-5-2-released.html                  |  2 +-
 blog/groovy-2-5-2-windows.html                   |  2 +-
 blog/groovy-2-5-3-released.html                  |  2 +-
 blog/groovy-2-5-3-windows.html                   |  2 +-
 blog/groovy-2-5-4-released.html                  |  2 +-
 blog/groovy-2-5-4-windows.html                   |  2 +-
 blog/groovy-2-5-5-released.html                  |  2 +-
 blog/groovy-2-5-5-windows.html                   |  2 +-
 blog/groovy-2-5-6-released.html                  |  2 +-
 blog/groovy-2-5-7-and.html                       |  2 +-
 blog/groovy-2-5-7-released.html                  |  2 +-
 blog/groovy-2-5-clibuilder-renewal.html          |  2 +-
 blog/groovy-3-0-0-alpha.html                     |  2 +-
 blog/groovy-3-0-0-alpha1.html                    |  2 +-
 blog/groovy-3-0-0-beta.html                      |  2 +-
 blog/groovy-3-0-0-beta1.html                     |  2 +-
 blog/groovy-3-0-0-beta2.html                     |  2 +-
 blog/groovy-4-0-3-released.html                  |  2 +-
 blog/groovy-dauphine.html                        |  2 +-
 blog/groovy-gatherers.html                       | 57 +++++++++++++++++++++---
 blog/groovy-haiku-processing.html                |  2 +-
 blog/groovy-list-processing-cheat-sheet.html     |  2 +-
 blog/groovy-null-processing.html                 |  2 +-
 blog/groovy-record-performance.html              |  2 +-
 blog/groovy-records.html                         |  2 +-
 blog/groovy-release-train-4-0.html               |  2 +-
 blog/groovy-sequenced-collections.html           |  2 +-
 blog/helloworldemoji.html                        |  2 +-
 blog/index.html                                  |  4 +-
 blog/lego-bricks-with-groovy.html                |  2 +-
 blog/matrix-calculations-with-groovy-apache.html |  2 +-
 blog/parsing-json-with-groovy.html               |  2 +-
 blog/reading-and-writing-csv-files.html          |  2 +-
 blog/seasons-greetings-emoji.html                |  2 +-
 blog/set-operations-with-groovy.html             |  2 +-
 blog/using-groovy-with-apache-wayang.html        |  2 +-
 blog/whiskey-clustering-with-groovy-and.html     |  2 +-
 blog/wordle-checker.html                         |  2 +-
 blog/zipping-collections-with-groovy.html        |  2 +-
 53 files changed, 111 insertions(+), 64 deletions(-)

diff --git a/blog/adventures-with-groovyfx.html 
b/blog/adventures-with-groovyfx.html
index 8cb33cf..b8bf362 100644
--- a/blog/adventures-with-groovyfx.html
+++ b/blog/adventures-with-groovyfx.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Adventures with GroovyFX</a></li><li><a 
href='#_further_information' class='anchor-link'>Further 
information</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./deep-learning-an [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Adventures with GroovyFX</a></li><li><a 
href='#_further_information' class='anchor-link'>Further 
information</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./set-operations-w [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog looks at a <a href="http://groovyfx.org/";>GroovyFX</a> version of 
a <a 
href="https://donraab.medium.com/my-weird-and-wonderful-first-adventures-with-javafx-6efe3b1923c8";>ToDo
 application originally written in JavaFX</a>.
diff --git a/blog/classifying-iris-flowers-with-deep.html 
b/blog/classifying-iris-flowers-with-deep.html
index cbdcda7..0760315 100644
--- a/blog/classifying-iris-flowers-with-deep.html
+++ b/blog/classifying-iris-flowers-with-deep.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Classifying Iris Flowers with Deep Learning, Groovy and 
GraalVM</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_encog' class='anchor-link'>Encog</a></li><li><a 
href='#_eclipse_deeplearning4j' class='anchor-link'>Eclipse DeepLe [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Classifying Iris Flowers with Deep Learning, Groovy and 
GraalVM</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_encog' class='anchor-link'>Encog</a></li><li><a 
href='#_eclipse_deeplearning4j' class='anchor-link'>Eclipse DeepLe [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/iris_flowers.png" alt="iris 
flowers" width="200"></span>
diff --git a/blog/comparators-and-sorting-in-groovy.html 
b/blog/comparators-and-sorting-in-groovy.html
index aa8cd39..55daeb3 100644
--- a/blog/comparators-and-sorting-in-groovy.html
+++ b/blog/comparators-and-sorting-in-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Comparators and Sorting in Groovy</a></li><li><a 
href='#_the_java_comparator_story_recap' class='anchor-link'>The Java 
comparator story recap</a></li><li><a href='#_the_groovy_comparator_story' 
class='anchor-link'>The Groovy comparator story</a></li><li><a href='#_mixing_i 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Comparators and Sorting in Groovy</a></li><li><a 
href='#_the_java_comparator_story_recap' class='anchor-link'>The Java 
comparator story recap</a></li><li><a href='#_the_groovy_comparator_story' 
class='anchor-link'>The Groovy comparator story</a></li><li><a href='#_mixing_i 
[...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/cher_record.png" alt="Cher" 
width="179" height="179"></span>
diff --git a/blog/deck-of-cards-with-groovy.html 
b/blog/deck-of-cards-with-groovy.html
index eaaca28..cff8b31 100644
--- a/blog/deck-of-cards-with-groovy.html
+++ b/blog/deck-of-cards-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deck of cards with Groovy, JDK collections and Eclipse 
Collections</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and E [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deck of cards with Groovy, JDK collections and Eclipse 
Collections</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and E [...]
 <p>Once again, <a href="https://twitter.com/TheDonRaab";>Donald Raab</a> has 
produced an interesting
 <a 
href="https://donraab.medium.com/how-to-create-a-deck-of-cards-using-eclipse-collections-d9838ac430b7";>blog
 post</a> on
 <a href="https://github.com/eclipse/eclipse-collections";>Eclipse 
Collections</a> this one shows some code for modelling and manipulating cards 
with Java 17 and Eclipse Collections. His related katas are highly recommended.
diff --git a/blog/deep-learning-and-eclipse-collections.html 
b/blog/deep-learning-and-eclipse-collections.html
index dc1c3a9..7535e2e 100644
--- a/blog/deep-learning-and-eclipse-collections.html
+++ b/blog/deep-learning-and-eclipse-collections.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deep Learning and Eclipse Collections</a></li><li><a 
href='#_setting_up_our_model_and_data' class='anchor-link'>Setting up our model 
and data</a></li><li><a href='#_applying_deep_learning' 
class='anchor-link'>Applying deep learning</a></li></ul><br/><ul 
class='nav-sidebar' [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deep Learning and Eclipse Collections</a></li><li><a 
href='#_setting_up_our_model_and_data' class='anchor-link'>Setting up our model 
and data</a></li><li><a href='#_applying_deep_learning' 
class='anchor-link'>Applying deep learning</a></li></ul><br/><ul 
class='nav-sidebar' [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>In previous blogs, we&#8217;ve covered
diff --git a/blog/detecting-objects-with-groovy-the.html 
b/blog/detecting-objects-with-groovy-the.html
index 7ab6b1c..aa39877 100644
--- a/blog/detecting-objects-with-groovy-the.html
+++ b/blog/detecting-objects-with-groovy-the.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Detecting objects with Groovy, the Deep Java Library (DJL), and 
Apache MXNet</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_deep_java_library_djl_apache_mxnet' 
class='anchor-link'>Deep Java Library (DJL) &amp; Apache MXNet</a [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Detecting objects with Groovy, the Deep Java Library (DJL), and 
Apache MXNet</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_deep_java_library_djl_apache_mxnet' 
class='anchor-link'>Deep Java Library (DJL) &amp; Apache MXNet</a [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog posts looks at using <a href="https://groovy-lang.org/";>Apache 
Groovy</a> with the
diff --git a/blog/feed.atom b/blog/feed.atom
index feb05c7..d5bf2ba 100644
--- a/blog/feed.atom
+++ b/blog/feed.atom
@@ -8,21 +8,21 @@
     <author>
       <name>Remko Popma</name>
     </author>
-    <title>Apache Groovy 2.5 CliBuilder Renewal</title>
-    <link href="http://groovy.apache.org/blog/groovy-2-5-clibuilder-renewal"/>
+    <title>Groovy 2.5.0 released</title>
+    <link href="http://groovy.apache.org/blog/groovy-2-5-0-released"/>
     <updated>2018-05-30T11:28:31+00:00</updated>
     <published>2018-05-30T11:28:31+00:00</published>
-    <summary>This post looks at new CliBuilder features from Groovy 2.5 in 
particular the Picocli-based implementation.</summary>
+    <summary>Groovy 2.5.0 Release Announcement.</summary>
   </entry>
   <entry>
     <author>
       <name>Remko Popma</name>
     </author>
-    <title>Groovy 2.5.0 released</title>
-    <link href="http://groovy.apache.org/blog/groovy-2-5-0-released"/>
+    <title>Apache Groovy 2.5 CliBuilder Renewal</title>
+    <link href="http://groovy.apache.org/blog/groovy-2-5-clibuilder-renewal"/>
     <updated>2018-05-30T11:28:31+00:00</updated>
     <published>2018-05-30T11:28:31+00:00</published>
-    <summary>Groovy 2.5.0 Release Announcement.</summary>
+    <summary>This post looks at new CliBuilder features from Groovy 2.5 in 
particular the Picocli-based implementation.</summary>
   </entry>
   <entry>
     <author>
@@ -750,7 +750,7 @@
     </author>
     <title>Using Gatherers with Groovy</title>
     <link href="http://groovy.apache.org/blog/groovy-gatherers"/>
-    <updated>2023-12-09T15:30:00+00:00</updated>
+    <updated>2024-01-03T22:00:00+00:00</updated>
     <published>2023-12-09T15:30:00+00:00</published>
     <summary>This post looks at using Gatherers (JEP 461) with 
Groovy.</summary>
   </entry>
diff --git a/blog/fruity-eclipse-collections.html 
b/blog/fruity-eclipse-collections.html
index e0c83cc..13d8bd5 100644
--- a/blog/fruity-eclipse-collections.html
+++ b/blog/fruity-eclipse-collections.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Fruity Eclipse Collections</a></li><li><a 
href='#_eclipse_collections_fruit_salad' class='anchor-link'>Eclipse 
Collections Fruit Salad</a></li><li><a href='#_exploring_emoji_colors' 
class='anchor-link'>Exploring emoji colors</a></li><li><a 
href='#_putting_it_all_together'  [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Fruity Eclipse Collections</a></li><li><a 
href='#_eclipse_collections_fruit_salad' class='anchor-link'>Eclipse 
Collections Fruit Salad</a></li><li><a href='#_exploring_emoji_colors' 
class='anchor-link'>Exploring emoji colors</a></li><li><a 
href='#_putting_it_all_together'  [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog post continues on the theme of using fruit emoji from the
diff --git a/blog/gmavenplus-1-6-2-released.html 
b/blog/gmavenplus-1-6-2-released.html
index d43703e..b67e5f5 100644
--- a/blog/gmavenplus-1-6-2-released.html
+++ b/blog/gmavenplus-1-6-2-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>GMavenPlus 1.6.2 Released (Community Artifact)</a></li><li><a 
href='#_gmavenplus_1_6_2_has_been_released' class='anchor-link'>GMavenPlus 
1.6.2 has been released.</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Rel [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>GMavenPlus 1.6.2 Released (Community Artifact)</a></li><li><a 
href='#_gmavenplus_1_6_2_has_been_released' class='anchor-link'>GMavenPlus 
1.6.2 has been released.</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Rel [...]
 <h2 id="_gmavenplus_1_6_2_has_been_released">GMavenPlus 1.6.2 has been 
released.</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/blog/groovy-2-4-16-released.html b/blog/groovy-2-4-16-released.html
index 1fbb1b3..93dd82f 100644
--- a/blog/groovy-2-4-16-released.html
+++ b/blog/groovy-2-4-16-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2.4.16 Windows Installer Released 
(Community Artifact)</a></li><li><a hr [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2.4.16 Windows Installer Released 
(Community Artifact)</a></li><li><a hr [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-4-16-windows.html b/blog/groovy-2-4-16-windows.html
index ca8e47b..a6d07d6 100644
--- a/blog/groovy-2-4-16-windows.html
+++ b/blog/groovy-2-4-16-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-released'>Groovy 2.4.16 Released</a></li><li><a h [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-released'>Groovy 2.4.16 Released</a></li><li><a h [...]
 <p>The Windows installer for Groovy 2.4.16 (community artifact) is available 
from: <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.4.16-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.4.16-installer</a>.</p>
 </div></div></div></div></div><footer id='footer'>
                             <div class='row'>
diff --git a/blog/groovy-2-4-17-released.html b/blog/groovy-2-4-17-released.html
index 5435a8a..99f54cf 100644
--- a/blog/groovy-2-4-17-released.html
+++ b/blog/groovy-2-4-17-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.17 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2.4.16 Windows Installer Released 
(Community Artifact)</a></li><li><a hr [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.17 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-released'>Groovy 2.4.16 Released</a></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2. [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-0-released.html b/blog/groovy-2-5-0-released.html
index 1521dfc..fe78c25 100644
--- a/blog/groovy-2-5-0-released.html
+++ b/blog/groovy-2-5-0-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.0 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.0 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-1-released.html b/blog/groovy-2-5-1-released.html
index 03f2b5f..e064add 100644
--- a/blog/groovy-2-5-1-released.html
+++ b/blog/groovy-2-5-1-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.1 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.1 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-2-released.html b/blog/groovy-2-5-2-released.html
index ad7a6b4..d3d2ef3 100644
--- a/blog/groovy-2-5-2-released.html
+++ b/blog/groovy-2-5-2-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-2-windows.html b/blog/groovy-2-5-2-windows.html
index 0d40d2b..e77fbdd 100644
--- a/blog/groovy-2-5-2-windows.html
+++ b/blog/groovy-2-5-2-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-7-and'>Groovy 2.5.7 and 3.0.0-beta-1 Windows Installe [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.2 (community artifact) is available 
from:
 <a 
href="https://dl.bintray.com/groovy/Distributions/groovy-2.5.2-installer.exe"; 
class="bare">https://dl.bintray.com/groovy/Distributions/groovy-2.5.2-installer.exe</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-3-released.html b/blog/groovy-2-5-3-released.html
index a86ad7a..005103a 100644
--- a/blog/groovy-2-5-3-released.html
+++ b/blog/groovy-2-5-3-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-3-windows'>Groovy 2.5.3 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-3-windows'>Groovy 2.5.3 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-3-windows.html b/blog/groovy-2-5-3-windows.html
index 592cf14..b5ffb87 100644
--- a/blog/groovy-2-5-3-windows.html
+++ b/blog/groovy-2-5-3-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released (C [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.3 (community artifact) is available 
from:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.3-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.3-installer</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-4-released.html b/blog/groovy-2-5-4-released.html
index 6fce9a3..bd20ea8 100644
--- a/blog/groovy-2-5-4-released.html
+++ b/blog/groovy-2-5-4-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-4-windows.html b/blog/groovy-2-5-4-windows.html
index 66f0524..805c014 100644
--- a/blog/groovy-2-5-4-windows.html
+++ b/blog/groovy-2-5-4-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released (C [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.4 (community artifact) is available 
from:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.4-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.4-installer</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-5-released.html b/blog/groovy-2-5-5-released.html
index af2e70c..241757f 100644
--- a/blog/groovy-2-5-5-released.html
+++ b/blog/groovy-2-5-5-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-5-windows.html b/blog/groovy-2-5-5-windows.html
index 4bb73ff..857499f 100644
--- a/blog/groovy-2-5-5-windows.html
+++ b/blog/groovy-2-5-5-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released (C [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-5-released'>Groovy 2.5.5 released</a></li><li><a href [...]
 <p>The Windows installer for Groovy 2.5.5 (community artifact) is available at:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.5-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.5-installer</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-6-released.html b/blog/groovy-2-5-6-released.html
index a6c2c64..c451e76 100644
--- a/blog/groovy-2-5-6-released.html
+++ b/blog/groovy-2-5-6-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.6 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.6 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-7-and.html b/blog/groovy-2-5-7-and.html
index 877e708..008198c 100644
--- a/blog/groovy-2-5-7-and.html
+++ b/blog/groovy-2-5-7-and.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 and 3.0.0-beta-1 Windows Installers Released 
(Community Artifacts)</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows In 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 and 3.0.0-beta-1 Windows Installers Released 
(Community Artifacts)</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-released'>Groovy 2.5.7 Released< 
[...]
 <p>The Windows installer for Groovy 2.5.7 (Community Artifact) is now 
available from Bintray:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.7-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.7-installer</a>.</p>
 </div>
diff --git a/blog/groovy-2-5-7-released.html b/blog/groovy-2-5-7-released.html
index 4e93f9b..ae345de 100644
--- a/blog/groovy-2-5-7-released.html
+++ b/blog/groovy-2-5-7-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-and'>Groovy 2.5.7 and 3.0.0-beta-1 
Windows Installers Released (Community Artifacts)</a></ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-and'>Groovy 2.5.7 and 3.0.0-beta-1 
Windows Installers Released (Community Artifacts)</a></ [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-clibuilder-renewal.html 
b/blog/groovy-2-5-clibuilder-renewal.html
index b70e539..c1abb16 100644
--- a/blog/groovy-2-5-clibuilder-renewal.html
+++ b/blog/groovy-2-5-clibuilder-renewal.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Apache Groovy 2.5 CliBuilder Renewal</a></li><li><a 
href='#_the_code_groovy_util_clibuilder_code_class_is_deprecated' 
class='anchor-link'>The <code>groovy.util.CliBuilder</code> Class is 
Deprecated</a></li><li><a href='#_typed_options' class='anchor-link'>Typed 
Options</a> [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Apache Groovy 2.5 CliBuilder Renewal</a></li><li><a 
href='#_the_code_groovy_util_clibuilder_code_class_is_deprecated' 
class='anchor-link'>The <code>groovy.util.CliBuilder</code> Class is 
Deprecated</a></li><li><a href='#_typed_options' class='anchor-link'>Typed 
Options</a> [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>The <code>CliBuilder</code> class for quickly and concisely building
diff --git a/blog/groovy-3-0-0-alpha.html b/blog/groovy-3-0-0-alpha.html
index 477a60e..a1296b9 100644
--- a/blog/groovy-3-0-0-alpha.html
+++ b/blog/groovy-3-0-0-alpha.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha1'>Groovy 
3.0.0-alpha-4 Windows Installer Released (Community Artifact)</a></ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha1'>Groovy 
3.0.0-alpha-4 Windows Installer Released (Community Artifact)</a></ [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-3-0-0-alpha1.html b/blog/groovy-3-0-0-alpha1.html
index 221c5bb..6a69527 100644
--- a/blog/groovy-3-0-0-alpha1.html
+++ b/blog/groovy-3-0-0-alpha1.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-alpha'>Groovy 3.0.0-alpha-4 Released</a></l [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-alpha'>Groovy 3.0.0-alpha-4 Released</a></l [...]
 <p>The Windows installer for Groovy 3.0.0-alpha-4 (Community Artifact) is 
available from the usual place:
 <a 
href="https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-alpha-4-installer.exe";
 
class="bare">https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-alpha-4-installer.exe</a></p>
 </div>
diff --git a/blog/groovy-3-0-0-beta.html b/blog/groovy-3-0-0-beta.html
index c6440e2..6c177ae 100644
--- a/blog/groovy-3-0-0-beta.html
+++ b/blog/groovy-3-0-0-beta.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-1 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha'>Groovy 
3.0.0-alpha-4 Released</a></li><li><a href='./groovy-3-0-0-beta1'>Gro [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-1 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha'>Groovy 
3.0.0-alpha-4 Released</a></li><li><a href='./groovy-3-0-0-beta2'>Gro [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-3-0-0-beta1.html b/blog/groovy-3-0-0-beta1.html
index b2a9f01..01678d7 100644
--- a/blog/groovy-3-0-0-beta1.html
+++ b/blog/groovy-3-0-0-beta1.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-beta2'>Groovy 
3.0.0-beta-2 Windows Installer Released (Community Release)</a></li>< [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-beta2'>Groovy 
3.0.0-beta-2 Windows Installer Released (Community Release)</a></li>< [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-3-0-0-beta2.html b/blog/groovy-3-0-0-beta2.html
index f882c61..8db7d6a 100644
--- a/blog/groovy-3-0-0-beta2.html
+++ b/blog/groovy-3-0-0-beta2.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Windows Installer Released (Community 
Release)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-beta1'>Groovy 3.0.0-beta-2 Released</a></li>< [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Windows Installer Released (Community 
Release)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-alpha1'>Groovy 3.0.0-alpha-4 Windows Installe [...]
 <p>The Windows installer for Groovy 3.0.0-beta-2 is now available from Bintray:
 <a 
href="https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-beta-2-installer.exe";
 
class="bare">https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-beta-2-installer.exe</a></p>
 </div>
diff --git a/blog/groovy-4-0-3-released.html b/blog/groovy-4-0-3-released.html
index 31e6c6b..9bbe3e4 100644
--- a/blog/groovy-4-0-3-released.html
+++ b/blog/groovy-4-0-3-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 4.0.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 4.0.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-dauphine.html b/blog/groovy-dauphine.html
index 3e2873e..94ed688 100644
--- a/blog/groovy-dauphine.html
+++ b/blog/groovy-dauphine.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Processing Results for the Critérium du Dauphiné</a></li><li><a 
href='#_results_file' class='anchor-link'>Results file</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./readin [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Processing Results for the Critérium du Dauphiné</a></li><li><a 
href='#_results_file' class='anchor-link'>Results file</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./parsin [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>The 2023 <a href="https://www.criterium-du-dauphine.fr/en/";>Critérium du 
Dauphiné</a>
diff --git a/blog/groovy-gatherers.html b/blog/groovy-gatherers.html
index e6b128e..31377b9 100644
--- a/blog/groovy-gatherers.html
+++ b/blog/groovy-gatherers.html
@@ -3,7 +3,7 @@
 <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
 <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
 <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--><head>
-    <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible' 
content='IE=edge'/><meta name='viewport' content='width=device-width, 
initial-scale=1'/><meta name='keywords' content='gatherers, jdk22, chop, 
collate, inject, ginq, streams, jep461'/><meta name='description' content='This 
post looks at using Gatherers (JEP 461) with Groovy.'/><title>The Apache Groovy 
programming language - Blogs - Using Gatherers with Groovy</title><link 
href='../img/favicon.ico' type='image/x-ico' rel='icon' [...]
+    <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible' 
content='IE=edge'/><meta name='viewport' content='width=device-width, 
initial-scale=1'/><meta name='keywords' content='gatherers, jdk22, chop, 
collate, inject, ginq, streams, jep461, fold, scan'/><meta name='description' 
content='This post looks at using Gatherers (JEP 461) with Groovy.'/><title>The 
Apache Groovy programming language - Blogs - Using Gatherers with 
Groovy</title><link href='../img/favicon.ico' type='image/x-ico [...]
 </head><body>
     <div id='fork-me'>
         <a href='https://github.com/apache/groovy'>
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Gatherers with Groovy</a></li><li><a 
href='#_understanding_gatherers' class='anchor-link'>Understanding 
Gatherers</a></li><li><a href='#_accessing_parts_of_a_collection' 
class='anchor-link'>Accessing parts of a collection</a></li><li><a 
href='#_collate' class='anchor [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Gatherers with Groovy</a></li><li><a 
href='#_understanding_gatherers' class='anchor-link'>Understanding 
Gatherers</a></li><li><a href='#_accessing_parts_of_a_collection' 
class='anchor-link'>Accessing parts of a collection</a></li><li><a 
href='#_collate' class='anchor [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>An interesting feature being previewed in JDK22 is <em>Gatherers</em>
@@ -528,10 +528,10 @@ assert (1..8).stream().gather(windowMultiple(3, 
-1)).toList() ==
 </div>
 </div>
 <div class="sect1">
-<h2 id="_inject_and_fold">Inject and fold</h2>
+<h2 id="_inject_fold_and_scan">Inject, fold and scan</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Groovy&#8217;s <code>inject</code> is a little different to the streams 
<code>reduce</code> intermediate operator.
+<p>Groovy&#8217;s <code>inject</code> is a little different to the stream APIs 
<code>reduce</code> intermediate operator.
 The latter expects a binary operator which restricts the types of the elements
 being consumed and produced.</p>
 </div>
@@ -544,7 +544,7 @@ being consumed and produced.</p>
 </div>
 </div>
 <div class="paragraph">
-<p>The <code>fold</code> built-in gatherer provides the equivalent 
functionality:</p>
+<p>The <code>fold</code> built-in gatherer allows us to write the equivalent 
functionality for stream processing as shown here:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -554,6 +554,45 @@ being consumed and produced.</p>
              .get() == '12345'</code></pre>
 </div>
 </div>
+<div class="paragraph">
+<p>Let&#8217;s look at another <code>inject</code> example. This time 
<em>cumulative sum</em>.
+If we have a sequence of numbers, the cumulative sum is another sequence
+whose value at any index is determined by accumulating all the
+numbers from the original sequence up to and including the index in question, 
e.g. the cumulative sum of <code>[1, 2, 3, 4]</code> is <code>[1, 3, 6, 
10]</code>.</p>
+</div>
+<div class="paragraph">
+<p>This is again a good fit for Groovy&#8217;s <code>inject</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code data-lang="groovy">assert 
(1..5).inject([]) { acc, next -&gt;
+    acc + [acc ? acc.last() + next : next]
+} == [1, 3, 6, 10, 15]</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This particular operation is deemed useful enough that Java actually
+has a built-in library function for arrays:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code data-lang="groovy">Integer[] nums = 
1..5
+Arrays.parallelPrefix(nums, Integer::sum)
+assert nums == [1, 3, 6, 10, 15]</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This particular operation isn&#8217;t well suited to traditional streams,
+but now with gatherers, we can use the <code>scan</code> built-in gatherer
+to have similar functionality when processing streams:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code data-lang="groovy">assert 
(1..5).stream()
+             .gather(scan(() -&gt; 0, Integer::sum))
+             .toList() == [1, 3, 6, 10, 15]</code></pre>
+</div>
+</div>
 </div>
 </div>
 <div class="sect1">
@@ -760,6 +799,14 @@ likely pick whichever style makes sense.</p>
 so expect much more to emerge as this feature becomes more mainstream.
 We look forward to it advancing past preview status.</p>
 </div>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">Update history</div>
+<div class="paragraph">
+<p><strong>18/Jan/2024</strong>: Updated with a scan/cumulative sum 
example.</p>
+</div>
+</div>
+</div>
 </div>
 </div></div></div></div></div><footer id='footer'>
                             <div class='row'>
diff --git a/blog/groovy-haiku-processing.html 
b/blog/groovy-haiku-processing.html
index 10bfb98..479b98c 100644
--- a/blog/groovy-haiku-processing.html
+++ b/blog/groovy-haiku-processing.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Haiku processing</a></li><li><a 
href='#_example_1_finding_the_distinct_letters' class='anchor-link'>Example 1: 
Finding the distinct letters</a></li><li><a 
href='#_example_2_splitting_letters_into_unique_and_duplicate_partitions' 
class='anchor-link'>Example 2: Splitt [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Haiku processing</a></li><li><a 
href='#_example_1_finding_the_distinct_letters' class='anchor-link'>Example 1: 
Finding the distinct letters</a></li><li><a 
href='#_example_2_splitting_letters_into_unique_and_duplicate_partitions' 
class='anchor-link'>Example 2: Splitt [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog looks at some Groovy solutions for the examples in the
diff --git a/blog/groovy-list-processing-cheat-sheet.html 
b/blog/groovy-list-processing-cheat-sheet.html
index 1089dea..bcaf411 100644
--- a/blog/groovy-list-processing-cheat-sheet.html
+++ b/blog/groovy-list-processing-cheat-sheet.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy List Processing Cheat Sheet</a></li><li><a 
href='#_declaring_lists' class='anchor-link'>Declaring lists</a></li><li><a 
href='#_list_elements_and_properties' class='anchor-link'>List elements and 
properties</a></li><li><a href='#_modifying_mutable_lists' class='ancho [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy List Processing Cheat Sheet</a></li><li><a 
href='#_declaring_lists' class='anchor-link'>Declaring lists</a></li><li><a 
href='#_list_elements_and_properties' class='anchor-link'>List elements and 
properties</a></li><li><a href='#_modifying_mutable_lists' class='ancho [...]
 <h2 id="_declaring_lists">Declaring lists</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/blog/groovy-null-processing.html b/blog/groovy-null-processing.html
index 6c6be01..c6cd93c 100644
--- a/blog/groovy-null-processing.html
+++ b/blog/groovy-null-processing.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Processing Nulls In Lists</a></li><li><a 
href='#_libraries_covered' class='anchor-link'>Libraries covered</a></li><li><a 
href='#_mutating_a_list_to_remove_its_nulls' class='anchor-link'>Mutating a 
list to remove its nulls</a></li><li><a href='#_producing_a_new_list_ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Processing Nulls In Lists</a></li><li><a 
href='#_libraries_covered' class='anchor-link'>Libraries covered</a></li><li><a 
href='#_mutating_a_list_to_remove_its_nulls' class='anchor-link'>Mutating a 
list to remove its nulls</a></li><li><a href='#_producing_a_new_list_ [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This <a 
href="https://www.programmergirl.com/java-remove-nulls-from-list/";>article</a> 
by <a href="https://www.programmergirl.com/about-me/";>Shubhra Srivastava</a>
diff --git a/blog/groovy-record-performance.html 
b/blog/groovy-record-performance.html
index 1b1beb1..af15213 100644
--- a/blog/groovy-record-performance.html
+++ b/blog/groovy-record-performance.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Record Performance</a></li><li><a href='#_our_domain' 
class='anchor-link'>Our domain</a></li><li><a href='#_performance_of_hashcode' 
class='anchor-link'>Performance of <code>hashCode</code></a></li><li><a 
href='#_performance_of_equals' class='anchor-link'>Performanc [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Record Performance</a></li><li><a href='#_our_domain' 
class='anchor-link'>Our domain</a></li><li><a href='#_performance_of_hashcode' 
class='anchor-link'>Performance of <code>hashCode</code></a></li><li><a 
href='#_performance_of_equals' class='anchor-link'>Performanc [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>We highly recommend the excellent
diff --git a/blog/groovy-records.html b/blog/groovy-records.html
index e3c7ca7..ba8badf 100644
--- a/blog/groovy-records.html
+++ b/blog/groovy-records.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Records</a></li><li><a href='#_introduction' 
class='anchor-link'>Introduction</a></li><li><a href='#_optional_enhancements' 
class='anchor-link'>Optional enhancements</a></li><li><a 
href='#_internal_details' class='anchor-link'>Internal details</a></li><li><a 
href='# [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Records</a></li><li><a href='#_introduction' 
class='anchor-link'>Introduction</a></li><li><a href='#_optional_enhancements' 
class='anchor-link'>Optional enhancements</a></li><li><a 
href='#_internal_details' class='anchor-link'>Internal details</a></li><li><a 
href='# [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>A common scenario when programming is the need to group together a bunch
diff --git a/blog/groovy-release-train-4-0.html 
b/blog/groovy-release-train-4-0.html
index 7b40e38..6a19937 100644
--- a/blog/groovy-release-train-4-0.html
+++ b/blog/groovy-release-train-4-0.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy release train: 4.0.4, 3.0.12, 2.5.18</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released 
(Community Artifact [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy release train: 4.0.4, 3.0.12, 2.5.18</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-7-released'>Groovy 2.5.7 Released</a></li><li><a 
href='./groovy-2-5-5- [...]
 <p>It&#8217;s been a productive time for the Apache Groovy project recently. 
We recently released versions 4.0.4, 3.0.12 and 2.5.18 with 42, 21 and 15 fixes 
and improvements respectively. Two quick highlights for the 4.0.4 release 
before getting into more details about the release.</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-sequenced-collections.html 
b/blog/groovy-sequenced-collections.html
index 786b431..588c2da 100644
--- a/blog/groovy-sequenced-collections.html
+++ b/blog/groovy-sequenced-collections.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy and Sequenced Collections (JEP-431)</a></li><li><a 
href='#_sequenced_collections_summary' class='anchor-link'>Sequenced 
Collections Summary</a></li><li><a 
href='#_accessing_the_first_and_last_element' class='anchor-link'>Accessing the 
first and last element</a></li> [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy and Sequenced Collections (JEP-431)</a></li><li><a 
href='#_sequenced_collections_summary' class='anchor-link'>Sequenced 
Collections Summary</a></li><li><a 
href='#_accessing_the_first_and_last_element' class='anchor-link'>Accessing the 
first and last element</a></li> [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>An exciting feature coming in JDK21 is
diff --git a/blog/helloworldemoji.html b/blog/helloworldemoji.html
index 8aadad4..237f194 100644
--- a/blog/helloworldemoji.html
+++ b/blog/helloworldemoji.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Hello World with Emojis</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse 
Collections</a></li><li><a href='./z [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Hello World with Emojis</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./set-operations-with-groovy'>Set Operators with Groovy</a></li><li><a 
href='./deep-learning-and-eclips [...]
 <p>In a <a 
href="https://groovy.apache.org/blog/jvm-hello-world-with-groovy";>previous blog 
post</a>
 we took an in-depth look at how to write a "hello world" class at the bytecode 
level
 using various libraries.</p>
diff --git a/blog/index.html b/blog/index.html
index 56910f8..a12fbbf 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3' id='blog-index'><ul 
class='nav-sidebar list'><li class='active'><a 
href='/blog/'>Blogs</a></li><li><a 
href='seasons-greetings-emoji'>Season&#8217;s Greetings with 
Emojis</a></li><li><a href='groovy-gatherers'>Using Gatherers with 
Groovy</a></li><li><a href='set-operations-with-groovy'>Set Operators with 
Groovy</a></li><li><a href='community-over-code-na-2023'>Commu [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3' id='blog-index'><ul 
class='nav-sidebar list'><li class='active'><a 
href='/blog/'>Blogs</a></li><li><a href='groovy-gatherers'>Using Gatherers with 
Groovy</a></li><li><a href='seasons-greetings-emoji'>Season&#8217;s Greetings 
with Emojis</a></li><li><a href='set-operations-with-groovy'>Set Operators with 
Groovy</a></li><li><a href='community-over-code-na-2023'>Commu [...]
                             <div class='row'>
                                 <div class='colset-3-footer'>
                                     <div class='col-1'>
@@ -97,7 +97,7 @@
                     colors: am5.ColorSet.new(root, {})
                 }));
                 wc.data.setAll([
-                { category: "centroids", value: 1 }, { category: "data 
science", value: 7 }, { category: "groovy", value: 75 }, { category: "kmeans", 
value: 3 }, { category: "records", value: 7 }, { category: "apache spark", 
value: 1 }, { category: "apache wayang", value: 1 }, { category: "release", 
value: 25 }, { category: "clibuilder", value: 1 }, { category: "picocli", 
value: 1 }, { category: "commons cli", value: 1 }, { category: "asf", value: 1 
}, { category: "apachecon", value: 2 } [...]
+                { category: "concurrency", value: 2 }, { category: "groovy", 
value: 75 }, { category: "actors", value: 2 }, { category: "pekko", value: 1 }, 
{ category: "gpars", value: 2 }, { category: "calendar", value: 1 }, { 
category: "date", value: 3 }, { category: "jsr310", value: 1 }, { category: 
"time", value: 1 }, { category: "data science", value: 7 }, { category: 
"eclipse collections", value: 9 }, { category: "kmeans", value: 3 }, { 
category: "emoji", value: 7 }, { category: "v [...]
                 ]);
                 wc.labels.template.setAll({
                     paddingTop: 5,
diff --git a/blog/lego-bricks-with-groovy.html 
b/blog/lego-bricks-with-groovy.html
index f922b38..efaea4e 100644
--- a/blog/lego-bricks-with-groovy.html
+++ b/blog/lego-bricks-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Lego Bricks with Groovy</a></li><li><a 
href='#_basic_collection_processing' class='anchor-link'>Basic Collection 
Processing</a></li><li><a href='#_our_example_domain' class='anchor-link'>Our 
example domain</a></li><li><a href='#_some_bricks_to_play_with' 
class='anchor-link [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Lego Bricks with Groovy</a></li><li><a 
href='#_basic_collection_processing' class='anchor-link'>Basic Collection 
Processing</a></li><li><a href='#_our_example_domain' class='anchor-link'>Our 
example domain</a></li><li><a href='#_some_bricks_to_play_with' 
class='anchor-link [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><a href="https://twitter.com/TheDonRaab";>Donald Raab</a> has continued has 
interesting
diff --git a/blog/matrix-calculations-with-groovy-apache.html 
b/blog/matrix-calculations-with-groovy-apache.html
index 0c2f479..531ee69 100644
--- a/blog/matrix-calculations-with-groovy-apache.html
+++ b/blog/matrix-calculations-with-groovy-apache.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Matrix calculations with Groovy, Apache Commons Math, ojAlgo, Nd4j 
and EJML</a></li><li><a href='#_fibonacci' 
class='anchor-link'>Fibonacci</a></li><li><a href='#_leslie_matrices' 
class='anchor-link'>Leslie Matrices</a></li><li><a 
href='#_encryption_with_matrices' class='a [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Matrix calculations with Groovy, Apache Commons Math, ojAlgo, Nd4j 
and EJML</a></li><li><a href='#_fibonacci' 
class='anchor-link'>Fibonacci</a></li><li><a href='#_leslie_matrices' 
class='anchor-link'>Leslie Matrices</a></li><li><a 
href='#_encryption_with_matrices' class='a [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blogs looks at performing matrix calculations with Groovy
diff --git a/blog/parsing-json-with-groovy.html 
b/blog/parsing-json-with-groovy.html
index 0c3078d..18e3fce 100644
--- a/blog/parsing-json-with-groovy.html
+++ b/blog/parsing-json-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Parsing JSON with Groovy</a></li><li><a 
href='#_batteries_included_experience' class='anchor-link'>Batteries included 
experience</a></li><li><a href='#_gradle' 
class='anchor-link'>Gradle</a></li><li><a href='#_maven' 
class='anchor-link'>Maven</a></li><li><a href='#_advance [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Parsing JSON with Groovy</a></li><li><a 
href='#_batteries_included_experience' class='anchor-link'>Batteries included 
experience</a></li><li><a href='#_gradle' 
class='anchor-link'>Gradle</a></li><li><a href='#_maven' 
class='anchor-link'>Maven</a></li><li><a href='#_advance [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/json_logo.gif" alt="json logo" 
width="120"></span>
diff --git a/blog/reading-and-writing-csv-files.html 
b/blog/reading-and-writing-csv-files.html
index a635946..e9bf532 100644
--- a/blog/reading-and-writing-csv-files.html
+++ b/blog/reading-and-writing-csv-files.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Reading and Writing CSV files with Groovy</a></li><li><a 
href='#_introduction' class='anchor-link'>Introduction</a></li><li><a 
href='#_commons_csv' class='anchor-link'>Commons CSV</a></li><li><a 
href='#_opencsv' class='anchor-link'>OpenCSV</a></li><li><a href='#_jackson_da 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Reading and Writing CSV files with Groovy</a></li><li><a 
href='#_introduction' class='anchor-link'>Introduction</a></li><li><a 
href='#_commons_csv' class='anchor-link'>Commons CSV</a></li><li><a 
href='#_opencsv' class='anchor-link'>OpenCSV</a></li><li><a href='#_jackson_da 
[...]
 <h2 id="_introduction">Introduction</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/blog/seasons-greetings-emoji.html 
b/blog/seasons-greetings-emoji.html
index 6745c2b..5100b16 100644
--- a/blog/seasons-greetings-emoji.html
+++ b/blog/seasons-greetings-emoji.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Season&#8217;s Greetings with Emojis</a></li><li><a 
href='#_jdk_21_new_features' class='anchor-link'>JDK 21 New 
Features</a></li><li><a href='#_playing_with_emojis_with_groovy' 
class='anchor-link'>Playing with Emojis with Groovy</a></li><li><a 
href='#_more_information' cla [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Season&#8217;s Greetings with Emojis</a></li><li><a 
href='#_jdk_21_new_features' class='anchor-link'>JDK 21 New 
Features</a></li><li><a href='#_playing_with_emojis_with_groovy' 
class='anchor-link'>Playing with Emojis with Groovy</a></li><li><a 
href='#_more_information' cla [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>In a <a href="https://groovy.apache.org/blog/helloworldemoji";>previous blog 
post</a>
diff --git a/blog/set-operations-with-groovy.html 
b/blog/set-operations-with-groovy.html
index f083cbf..5fc82c3 100644
--- a/blog/set-operations-with-groovy.html
+++ b/blog/set-operations-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Set Operators with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse 
Collections</a></li><li><a href='. [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Set Operators with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse 
Collections</a></li><li><a href='. [...]
 <p><a href="https://twitter.com/TheDonRaab";>Donald Raab</a> posted <a 
href="https://donraab.medium.com/comparing-set-operations-between-java-and-eclipse-collections-92cf1df28d3b";>an
 article</a> about set operators using Java collections and <a 
href="https://github.com/eclipse/eclipse-collections";>Eclipse Collections</a>. 
<a 
href="https://donraab.medium.com/comparing-set-operations-between-java-and-eclipse-collections-92cf1df28d3b";>That
 post</a> focuses
 on the <em>union</em>, <em>intersection</em> and <em>difference</em> 
operators. We&#8217;ll add in
 <em>symmetric difference</em> since Groovy supports operator overloading for 
that
diff --git a/blog/using-groovy-with-apache-wayang.html 
b/blog/using-groovy-with-apache-wayang.html
index 2bb9800..c236b71 100644
--- a/blog/using-groovy-with-apache-wayang.html
+++ b/blog/using-groovy-with-apache-wayang.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Groovy with Apache Wayang and Apache Spark</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_implementation_details' 
class='anchor-link'>Implementation Details</a></li><li><a 
href='#_running_with_the_java_streams [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Groovy with Apache Wayang and Apache Spark</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_implementation_details' 
class='anchor-link'>Implementation Details</a></li><li><a 
href='#_running_with_the_java_streams [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img 
src="https://www.apache.org/logos/res/wayang/default.png"; alt="wayang logo" 
width="100"></span>
diff --git a/blog/whiskey-clustering-with-groovy-and.html 
b/blog/whiskey-clustering-with-groovy-and.html
index f2d1a20..b36c86c 100644
--- a/blog/whiskey-clustering-with-groovy-and.html
+++ b/blog/whiskey-clustering-with-groovy-and.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Whiskey Clustering with Groovy and Apache Ignite</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_apache_ignite' class='anchor-link'>Apache 
Ignite</a></li><li><a href='#_implementation_details' class='anchor-link'>Imp 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Whiskey Clustering with Groovy and Apache Ignite</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_apache_ignite' class='anchor-link'>Apache 
Ignite</a></li><li><a href='#_implementation_details' class='anchor-link'>Imp 
[...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>In a previous <a 
href="https://groovy.apache.org/blog/using-groovy-with-apache-wayang";>blog 
post</a>,
diff --git a/blog/wordle-checker.html b/blog/wordle-checker.html
index 3de2993..2c5a46b 100644
--- a/blog/wordle-checker.html
+++ b/blog/wordle-checker.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Checking Wordle with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-null-processing'>Groovy Processing Nulls In Lists</a></li><li><a 
href='./zipping-collectio [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Checking Wordle with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-null-processing'>Groovy Processing Nulls In Lists</a></li><li><a 
href='./groovy-list-proce [...]
 <p>This <a 
href="https://donraab.medium.com/comparing-my-smalltalk-and-eclipse-collections-wordle-kata-solutions-4058ac7d8ca0";>article</a>
 by <a href="https://twitter.com/TheDonRaab";>Donald Raab</a>
 looks at writing a Wordle checker in Smalltalk and Java using <a 
href="https://github.com/eclipse/eclipse-collections";>Eclipse Collections</a>. 
Let&#8217;s look at doing the same in Groovy.
 We could easily use Eclipse Collections with Groovy
diff --git a/blog/zipping-collections-with-groovy.html 
b/blog/zipping-collections-with-groovy.html
index 41c9afa..47bbe7c 100644
--- a/blog/zipping-collections-with-groovy.html
+++ b/blog/zipping-collections-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Zipping Collections with Groovy</a></li><li><a 
href='#_what_is_zipping' class='anchor-link'>What is zipping?</a></li><li><a 
href='#_groovy' class='anchor-link'>Groovy</a></li><li><a 
href='#_eclipse_collections' class='anchor-link'>Eclipse 
Collections</a></li><li><a href='# [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Zipping Collections with Groovy</a></li><li><a 
href='#_what_is_zipping' class='anchor-link'>What is zipping?</a></li><li><a 
href='#_groovy' class='anchor-link'>Groovy</a></li><li><a 
href='#_eclipse_collections' class='anchor-link'>Eclipse 
Collections</a></li><li><a href='# [...]
 <h2 id="_what_is_zipping">What is zipping?</h2>
 <div class="sectionbody">
 <div class="paragraph">


Reply via email to