Modified: 
websites/production/tapestry/content/2011/11/23/announcing-tapestry-53.html
==============================================================================
--- websites/production/tapestry/content/2011/11/23/announcing-tapestry-53.html 
(original)
+++ websites/production/tapestry/content/2011/11/23/announcing-tapestry-53.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2011/12/21/announcing-tapestry-531.html
==============================================================================
--- 
websites/production/tapestry/content/2011/12/21/announcing-tapestry-531.html 
(original)
+++ 
websites/production/tapestry/content/2011/12/21/announcing-tapestry-531.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2012/02/07/announcing-tapestry-532.html
==============================================================================
--- 
websites/production/tapestry/content/2012/02/07/announcing-tapestry-532.html 
(original)
+++ 
websites/production/tapestry/content/2012/02/07/announcing-tapestry-532.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2012/02/08/tapestry-on-heroku.html
==============================================================================
--- websites/production/tapestry/content/2012/02/08/tapestry-on-heroku.html 
(original)
+++ websites/production/tapestry/content/2012/02/08/tapestry-on-heroku.html Fri 
Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2012/04/24/announcing-tapestry-533.html
==============================================================================
--- 
websites/production/tapestry/content/2012/04/24/announcing-tapestry-533.html 
(original)
+++ 
websites/production/tapestry/content/2012/04/24/announcing-tapestry-533.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2012/07/16/announcing-tapestry-534.html
==============================================================================
--- 
websites/production/tapestry/content/2012/07/16/announcing-tapestry-534.html 
(original)
+++ 
websites/production/tapestry/content/2012/07/16/announcing-tapestry-534.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2012/08/30/announcing-tapestry-535.html
==============================================================================
--- 
websites/production/tapestry/content/2012/08/30/announcing-tapestry-535.html 
(original)
+++ 
websites/production/tapestry/content/2012/08/30/announcing-tapestry-535.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2012/10/12/announcing-tapestry-536.html
==============================================================================
--- 
websites/production/tapestry/content/2012/10/12/announcing-tapestry-536.html 
(original)
+++ 
websites/production/tapestry/content/2012/10/12/announcing-tapestry-536.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2013/02/04/new-website-infrastructure.html
==============================================================================
--- 
websites/production/tapestry/content/2013/02/04/new-website-infrastructure.html 
(original)
+++ 
websites/production/tapestry/content/2013/02/04/new-website-infrastructure.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2013/04/29/announcing-tapestry-537.html
==============================================================================
--- 
websites/production/tapestry/content/2013/04/29/announcing-tapestry-537.html 
(original)
+++ 
websites/production/tapestry/content/2013/04/29/announcing-tapestry-537.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2014/02/23/tapestry-54-beta-3-preview-release-vote-underway.html
==============================================================================
--- 
websites/production/tapestry/content/2014/02/23/tapestry-54-beta-3-preview-release-vote-underway.html
 (original)
+++ 
websites/production/tapestry/content/2014/02/23/tapestry-54-beta-3-preview-release-vote-underway.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2014/03/07/tapestry-54-beta-3-preview-now-available.html
==============================================================================
--- 
websites/production/tapestry/content/2014/03/07/tapestry-54-beta-3-preview-now-available.html
 (original)
+++ 
websites/production/tapestry/content/2014/03/07/tapestry-54-beta-3-preview-now-available.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2014/05/29/tapestry-54-beta-6.html
==============================================================================
--- websites/production/tapestry/content/2014/05/29/tapestry-54-beta-6.html 
(original)
+++ websites/production/tapestry/content/2014/05/29/tapestry-54-beta-6.html Fri 
Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2014/09/25/tapestry-54-beta-22.html
==============================================================================
--- websites/production/tapestry/content/2014/09/25/tapestry-54-beta-22.html 
(original)
+++ websites/production/tapestry/content/2014/09/25/tapestry-54-beta-22.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2014/12/11/tapestry-538.html
==============================================================================
--- websites/production/tapestry/content/2014/12/11/tapestry-538.html (original)
+++ websites/production/tapestry/content/2014/12/11/tapestry-538.html Fri Jan 
24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2015/01/19/tapestry-54-beta-26.html
==============================================================================
--- websites/production/tapestry/content/2015/01/19/tapestry-54-beta-26.html 
(original)
+++ websites/production/tapestry/content/2015/01/19/tapestry-54-beta-26.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2015/10/30/tapestry-54-release-candidate.html
==============================================================================
--- 
websites/production/tapestry/content/2015/10/30/tapestry-54-release-candidate.html
 (original)
+++ 
websites/production/tapestry/content/2015/10/30/tapestry-54-release-candidate.html
 Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2015/12/21/tapestry-540.html
==============================================================================
--- websites/production/tapestry/content/2015/12/21/tapestry-540.html (original)
+++ websites/production/tapestry/content/2015/12/21/tapestry-540.html Fri Jan 
24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2016/04/13/tapestry-541.html
==============================================================================
--- websites/production/tapestry/content/2016/04/13/tapestry-541.html (original)
+++ websites/production/tapestry/content/2016/04/13/tapestry-541.html Fri Jan 
24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: websites/production/tapestry/content/2017/04/19/tapestry-542.html
==============================================================================
--- websites/production/tapestry/content/2017/04/19/tapestry-542.html (original)
+++ websites/production/tapestry/content/2017/04/19/tapestry-542.html Fri Jan 
24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2019/09/10/tapestry-545-released.html
==============================================================================
--- websites/production/tapestry/content/2019/09/10/tapestry-545-released.html 
(original)
+++ websites/production/tapestry/content/2019/09/10/tapestry-545-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2020/03/23/tapestry-550-released.html
==============================================================================
--- websites/production/tapestry/content/2020/03/23/tapestry-550-released.html 
(original)
+++ websites/production/tapestry/content/2020/03/23/tapestry-550-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2020/08/30/tapestry-560-released.html
==============================================================================
--- websites/production/tapestry/content/2020/08/30/tapestry-560-released.html 
(original)
+++ websites/production/tapestry/content/2020/08/30/tapestry-560-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2020/09/19/tapestry-561-released.html
==============================================================================
--- websites/production/tapestry/content/2020/09/19/tapestry-561-released.html 
(original)
+++ websites/production/tapestry/content/2020/09/19/tapestry-561-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2021/02/24/tapestry-562-released.html
==============================================================================
--- websites/production/tapestry/content/2021/02/24/tapestry-562-released.html 
(original)
+++ websites/production/tapestry/content/2021/02/24/tapestry-562-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache
@@ -142,7 +154,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p style="">Tapestry 
5.6.2 is a drop-in replacement for Tapestry 5.4, 5.5 and 5.6 releases. It's a 
recommended upgrade for 5.6.1 and 5.6.0. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
style="text-decoration: none;" 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade";>How 
to Upgrade</a>&#160;instructions before upgrading.</p><p style="">The most 
interesting improvement is&#160;<span>&#160;</span><a class="external-link" 
style="text-decoration: line-through;" 
href="https://issues.apache.org/jira/browse/TAP5-2640";><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
icon confluence-external-re
 source" draggable="false" 
src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";
 
data-image-src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";></span>TAP5-2640</a><span>&#160;</span>-<span>&#160;</span><span
 class="summary">tapestry-json improvements (implement Collection/Map, better 
exceptions)</span><span>&#160;</span><span class="aui-lozenge 
aui-lozenge-subtle aui-lozenge-success
+                            <div id="ConfluenceContent"><p style="">Tapestry 
5.6.2 is a drop-in replacement for Tapestry 5.4, 5.5 and 5.6 releases. It's a 
recommended upgrade for 5.6.1 and 5.6.0. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade"; 
style="text-decoration: none;">How to Upgrade</a>&#160;instructions before 
upgrading.</p><p style="">The most interesting improvement 
is&#160;<span>&#160;</span><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-2640"; style="text-decoration: 
line-through;"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image icon confluence-external-re
 source" draggable="false" 
src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";
 
data-image-src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";></span>TAP5-2640</a><span>&#160;</span>-<span>&#160;</span><span
 class="summary">tapestry-json improvements (implement Collection/Map, better 
exceptions)</span><span>&#160;</span><span class="aui-lozenge 
aui-lozenge-subtle aui-lozenge-success
  jira-macro-single-issue-export-pdf" style="color: 
rgb(0,102,68);text-decoration: none;">CLOSED</span><span>&#160;</span>: better 
exceptions in tapestry-json code, plus&#160;<span>JSONArray now implementing 
Collection and JSONObject&#160;implementing Map.</span></p><p 
style=""><span>Please check all the details in&#160;<a 
href="../../../release-notes-562.html">Release Notes 5.6.2</a>.</span></p></div>
             </div>
             <!-- /// Content End -->

Modified: 
websites/production/tapestry/content/2021/02/24/tapestry-570-released.html
==============================================================================
--- websites/production/tapestry/content/2021/02/24/tapestry-570-released.html 
(original)
+++ websites/production/tapestry/content/2021/02/24/tapestry-570-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache
@@ -142,7 +154,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p style="">Tapestry 
5.7.0 is a new major version which needs a migration step for projects using 
previous versions. To upgrade, update the dependency in your build 
configuration (Maven POM, Gradle build script, etc.) &#8211; or&#160;<a 
style="text-decoration: none;" 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download";>Download</a>&#160;the
 new JAR file. Please check the Upgrade Guide section below for 
details.<span>&#160;</span><span style="color: rgb(34,34,34);">This is a step 
that only needs to be done once.</span>&#160;Please also review the&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade"; 
style="text-decoration: none;">How to Upgrade</a>&#160;instructions before 
upgrading.</p><p style="">The main new features are:</p><ul 
style=""><li>Partial Java 9+ modules (JPMS) support. It's partial because 
module-info.java classes are not provided yet. On the other hand, Tapestry's 
JARs
  don't have split packages anymore, making them easier to be used with Java 9+ 
modules. Many classes had to be moved to other packages, and sometimes even to 
a different JAR. The migration tool mentioned above will take care of updating 
your code so it uses the correct new fully-qualified class names for the ones 
that were moved and/or renamed.<ul><li><a class="external-link" 
style="text-decoration: line-through;" 
href="https://issues.apache.org/jira/browse/TAP5-2641";><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
icon confluence-external-resource" draggable="false" 
src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";
 
data-image-src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";></span>TAP5-2641</a><span>&#160;</span>-<span>&#160;</span><span
 class="summary">Turn the Tapestry subprojects into Java 9+ modules 
(JPMS)</span><span>&#
 160;</span><span class="aui-lozenge aui-lozenge-subtle aui-lozenge-success
+                            <div id="ConfluenceContent"><p style="">Tapestry 
5.7.0 is a new major version which needs a migration step for projects using 
previous versions. To upgrade, update the dependency in your build 
configuration (Maven POM, Gradle build script, etc.) &#8211; or&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file. Please check 
the Upgrade Guide section below for details.<span>&#160;</span><span 
style="color: rgb(34,34,34);">This is a step that only needs to be done 
once.</span>&#160;Please also review the&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade"; 
style="text-decoration: none;">How to Upgrade</a>&#160;instructions before 
upgrading.</p><p style="">The main new features are:</p><ul 
style=""><li>Partial Java 9+ modules (JPMS) support. It's partial because 
module-info.java classes are not provided yet. On the other hand, Tapestry's 
JARs
  don't have split packages anymore, making them easier to be used with Java 9+ 
modules. Many classes had to be moved to other packages, and sometimes even to 
a different JAR. The migration tool mentioned above will take care of updating 
your code so it uses the correct new fully-qualified class names for the ones 
that were moved and/or renamed.<ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-2641"; style="text-decoration: 
line-through;"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image icon confluence-external-resource" 
draggable="false" 
src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";
 
data-image-src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";></span>TAP5-2641</a><span>&#160;</span>-<span>&#160;</span><span
 class="summary">Turn the Tapestry subprojects into Java 9+ modules 
(JPMS)</span><span>&#
 160;</span><span class="aui-lozenge aui-lozenge-subtle aui-lozenge-success
  jira-macro-single-issue-export-pdf" style="color: 
rgb(0,102,68);text-decoration: none;">RESOLVED</span><span>&#160;</span><a 
class="external-link" href="https://issues.apache.org/jira/browse/TAP5-2627"; 
style="text-decoration: line-through;"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
icon confluence-external-resource" draggable="false" 
src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";
 
data-image-src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";></span>TAP5-2627</a><span>&#160;</span>-<span>&#160;</span><span
 class="summary">Fix split packages</span><span>&#160;</span><span 
class="aui-lozenge aui-lozenge-subtle aui-lozenge-success
  jira-macro-single-issue-export-pdf" style="color: 
rgb(0,102,68);text-decoration: 
none;">RESOLVED</span></li></ul></li><li>TypeCoercer now uses mapped 
configuration so coercion overrides are done in an explicit 
manner.&#160;<ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-2650"; style="text-decoration: 
line-through;"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image icon confluence-external-resource" 
draggable="false" 
src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";
 
data-image-src="https://issues.apache.org/jira/secure/viewavatar?size=xsmall&amp;avatarId=21140&amp;avatarType=issuetype";></span>TAP5-2650</a><span>&#160;</span>-<span>&#160;</span><span
 class="summary">Change TypeCoercer configuration to 
MappedConfiguration</span><span>&#160;</span><span class="aui-lozenge 
aui-lozenge-subtle aui-lozenge-success
  jira-macro-single-issue-export-pdf" style="color: 
rgb(0,102,68);text-decoration: none;">CLOSED</span></li></ul></li><li>It's not 
possible to use the Tapestry request handling framework, specially the 
RequestFilter, Dispatcher, Request, Response and HttpServletRequestFilter 
classes, without the page framework. These classes were moved to a new 
artifact, tapestry-http, which can be used in place of tapestry-core (which 
depends on tapestry-http). tapestry-http Servlet filter class 
is&#160;org.apache.tapestry5.http.TapestryFilter. The original TapestryFilter, 
from&#160;org.apache.tapestry5, can be used in the same way way as in past 
Tapestry versions.</li></ul><p>Please check all the details in&#160;<a 
href="../../../release-notes-570.html">Release Notes 5.7.0</a>.</p></div>

Modified: 
websites/production/tapestry/content/2021/03/16/tapestry-563-released.html
==============================================================================
--- websites/production/tapestry/content/2021/03/16/tapestry-563-released.html 
(original)
+++ websites/production/tapestry/content/2021/03/16/tapestry-563-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache
@@ -142,7 +154,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p style="">Tapestry 
5.6.3 is a drop-in replacement and recommended upgrade for Tapestry 5.4, 5.5 
and 5.6 releases. To upgrade, just update the dependency in your build 
configuration (Maven POM, Gradle build script, etc.) &#8211; or&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
style="text-decoration: none;" 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade";>How 
to Upgrade</a>&#160;instructions before upgrading.</p><p style=""><span>Please 
check all the details in&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.6.3";>Release
 Notes 5.6.3</a>.</span></p></div>
+                            <div id="ConfluenceContent"><p style="">Tapestry 
5.6.3 is a drop-in replacement and recommended upgrade for Tapestry 5.4, 5.5 
and 5.6 releases. To upgrade, just update the dependency in your build 
configuration (Maven POM, Gradle build script, etc.) &#8211; or&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade"; 
style="text-decoration: none;">How to Upgrade</a>&#160;instructions before 
upgrading.</p><p style=""><span>Please check all the details in&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.6.3";>Release
 Notes 5.6.3</a>.</span></p></div>
             </div>
             <!-- /// Content End -->
           </div>

Modified: 
websites/production/tapestry/content/2021/03/16/tapestry-571-released.html
==============================================================================
--- websites/production/tapestry/content/2021/03/16/tapestry-571-released.html 
(original)
+++ websites/production/tapestry/content/2021/03/16/tapestry-571-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache

Modified: 
websites/production/tapestry/content/2021/04/14/tapestry-564-released.html
==============================================================================
--- websites/production/tapestry/content/2021/04/14/tapestry-564-released.html 
(original)
+++ websites/production/tapestry/content/2021/04/14/tapestry-564-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache
@@ -142,7 +154,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p>Tapestry 5.6.4 is a 
drop-in replacement and recommended upgrade for Tapestry 5.4, 5.5 and 5.6 
releases. To upgrade, just update the dependency in your build configuration 
(Maven POM, Gradle build script, etc.) &#8211; or&#160;<a 
style="text-decoration: none;" 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download";>Download</a>&#160;the
 new JAR file -- and the new version will just work. However, please review 
the&#160;<a style="text-decoration: none;" 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade";>How 
to Upgrade</a>&#160;instructions before upgrading.</p><p><span>Please check all 
the details in&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.6.4";>Release
 Notes 5.6.4</a>.</span></p></div>
+                            <div id="ConfluenceContent"><p>Tapestry 5.6.4 is a 
drop-in replacement and recommended upgrade for Tapestry 5.4, 5.5 and 5.6 
releases. To upgrade, just update the dependency in your build configuration 
(Maven POM, Gradle build script, etc.) &#8211; or&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade"; 
style="text-decoration: none;">How to Upgrade</a>&#160;instructions before 
upgrading.</p><p><span>Please check all the details in&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.6.4";>Release
 Notes 5.6.4</a>.</span></p></div>
             </div>
             <!-- /// Content End -->
           </div>

Modified: 
websites/production/tapestry/content/2021/04/14/tapestry-572-released.html
==============================================================================
--- websites/production/tapestry/content/2021/04/14/tapestry-572-released.html 
(original)
+++ websites/production/tapestry/content/2021/04/14/tapestry-572-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache
@@ -142,7 +154,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p>Tapestry 5.7.2 is a 
drop-in replacement and recommended upgrade for Tapestry 5.7 releases. To 
upgrade, just update the dependency in your build configuration (Maven POM, 
Gradle build script, etc.) &#8211; or&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
style="text-decoration: none;" 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade";>How 
to Upgrade</a>&#160;instructions before upgrading.</p><p><span>Please check all 
the details in&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.7.2";>Release
 Notes 5.7.2</a>.</span></p></div>
+                            <div id="ConfluenceContent"><p>Tapestry 5.7.2 is a 
drop-in replacement and recommended upgrade for Tapestry 5.7 releases. To 
upgrade, just update the dependency in your build configuration (Maven POM, 
Gradle build script, etc.) &#8211; or&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Download"; 
style="text-decoration: none;">Download</a>&#160;the new JAR file -- and the 
new version will just work. However, please review the&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/How+to+Upgrade"; 
style="text-decoration: none;">How to Upgrade</a>&#160;instructions before 
upgrading.</p><p><span>Please check all the details in&#160;<a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.7.2";>Release
 Notes 5.7.2</a>.</span></p></div>
             </div>
             <!-- /// Content End -->
           </div>

Modified: 
websites/production/tapestry/content/2021/08/16/tapestry-573-released.html
==============================================================================
--- websites/production/tapestry/content/2021/08/16/tapestry-573-released.html 
(original)
+++ websites/production/tapestry/content/2021/08/16/tapestry-573-released.html 
Fri Jan 24 12:18:16 2025
@@ -50,12 +50,23 @@
   <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"; 
defer></script>
        <script 
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js";
 defer></script>
 
-  <script type="text/javascript">
-    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new 
Date;
-    ga('create', 'UA-400821-1', 'auto');
-    ga('send', 'pageview');
+  <!-- Matomo -->
+  <script>
+    var _paq = window._paq = window._paq || [];
+    /* tracker methods like "setCustomDimension" should be called before 
"trackPageView" */
+    _paq.push(["setDoNotTrack", true]);
+    _paq.push(["disableCookies"]);
+    _paq.push(['trackPageView']);
+    _paq.push(['enableLinkTracking']);
+    (function() {
+      var u="https://analytics.apache.org/";;
+      _paq.push(['setTrackerUrl', u+'matomo.php']);
+      _paq.push(['setSiteId', '71']);
+      var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
+      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+    })();
   </script>
-  <script async src="https://www.google-analytics.com/analytics.js";></script>
+  <!-- End Matomo Code -->
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -99,7 +110,8 @@
                 <div class="dropdown-menu" 
aria-labelledby="developmentNavbarDropdown">
                   <a class="dropdown-item" 
href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git";>Source Code</a>
                   <a class="dropdown-item" 
href="https://issues.apache.org/jira/browse/TAP5";>Issues</a>
-                </div>
+                  <a class="dropdown-item" href="/development-roadmap.html" 
title="Development Roadmap">Roadmap</a>
+</div>
               </li><li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle active" 
id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="false">
                   Apache



Reply via email to