You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by bu...@apache.org on 2022/11/26 13:17:30 UTC

svn commit: r1081635 [12/22] - in /websites/production/tapestry/content: ./ 2009/09/13/ 2009/10/27/ 2009/11/25/ 2010/07/18/ 2010/07/24/ 2010/10/11/ 2010/10/31/ 2010/11/18/ 2010/11/19/ 2010/12/16/ 2010/12/17/ 2011/01/10/ 2011/01/18/ 2011/03/23/ 2011/03/...

Modified: websites/production/tapestry/content/release-notes-51.html
==============================================================================
--- websites/production/tapestry/content/release-notes-51.html (original)
+++ websites/production/tapestry/content/release-notes-51.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><p class="confluence-link">This is the consolidated list of changes between Tapestry versions 5.0 and 5.1. Before upgrading, be sure to review the&#160;<a href="how-to-upgrade.html">How to Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1668366717458 {padding: 0px;}
-div.rbtoc1668366717458 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1668366717458 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1669468399352 {padding: 0px;}
+div.rbtoc1669468399352 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1669468399352 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1668366717458">
+/*]]>*/</style></p><div class="toc-macro rbtoc1669468399352">
 <ul class="toc-indentation"><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 5.1.0.5</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry Version 5.1.0.4</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry Version 5.1.0.3</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry Version 5.1.0.2</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 5.1.0.1</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry Version 5.1.0.0</a></li></ul>
 </div><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 5.1.0.5</h2><h3 id="ReleaseNotes5.1-BugsFixed">Bugs Fixed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-604">TAP5-604</a> &#8211; ValidationMessages_da.properties contains invalid format strings</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-664">TAP5-664</a> &#8211; Incorrect "legacy" URI specified in the templates documentation</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-665">TAP5-665</a> &#8211; IE 6 on a tapestry SSL page complains about non-secure items (caused by blackbird js-logging component)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-666">TAP5-666</a> &#8211; Property expression can not pass a boolean constant into a method</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-668">TAP5-668</a> &#8211; BeanModel documentation s
 hould be more clear that a property must exist when using add(String).</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-670">TAP5-670</a> &#8211; ParallelExecutorTest can't be compiled due to cast errors</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade">Improvements Made</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-214">TAP5-214</a> &#8211; Document use of asset: and context: to reference assets directly from a template file</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-506">TAP5-506</a> &#8211; Italian localization for DateField component</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-531">TAP5-531</a> &#8211; Add cookbook documentation to show how to use the delegate component for switch-like behaviour</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-579">TAP5-579</a> &#8211; Finnish internationalization 
 is missing some of the keys in 5.1</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-651">TAP5-651</a> &#8211; If component documentation: identify the use of the p: namespace</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded">New Features Added</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-223">TAP5-223</a> &#8211; Allow properties files (on classpath or in the context) to be used as SymbolProviders</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-580">TAP5-580</a> &#8211; Add get() method to TestBase to allow read access to private fields of objects via reflection</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-601">TAP5-601</a> &#8211; Add German translation for client-side JavaScript messages</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry Version 5.1.0.4</h2><h3 id="ReleaseNotes5.1-BugsFixed.1">Bugs Fixed</h3><ul><li><a cla
 ss="external-link" href="https://issues.apache.org/jira/browse/TAP5-130">TAP5-130</a> &#8211; Tapestry component report fails if the project's path name contains spaces</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-353">TAP5-353</a> &#8211; Description of volatile parameter for the Grid component is misleading, should be clear that application is responsible for the tracking the row</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-500">TAP5-500</a> &#8211; Small typo in javadoc comments for Cookies service.</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-501">TAP5-501</a> &#8211; In the Component interface javadoc the sentence "This interface is likely to change without notice." should be deleted or the interface be moved to an internal package</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-524">TAP5-524</a> &#8211; Published parameters exposed fr
 om embedded components not included in Component Reference</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-571">TAP5-571</a> &#8211; Misplaced &lt;t:parameter&gt; results in an inscrutable exception</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-613">TAP5-613</a> &#8211; Returning a Link to a secure page from an ajax event handler method causes the redirect to be invalid if the event is sent from an insecure page</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-622">TAP5-622</a> &#8211; Client ids should not contain the ':' character, as that can confuse WebKit-based browsers</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-631">TAP5-631</a> &#8211; Contributed ApplicationInitializer not always executed when using tapestry-spring</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-640">TAP5-640</a> &#8211; DOM manipulati
 on during rendering can NPE</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-641">TAP5-641</a> &#8211; Inherited parameters that are themselves inherited will appear null</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-644">TAP5-644</a> &#8211; When using PageTester, an exception in the page is hidden by an exception rendering the exception report page (pt. 2)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-646">TAP5-646</a> &#8211; When Tapestry is combining JavaScript files, it should check for a JS file that ends with an unterminated comment, and add the comment terminator</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-647">TAP5-647</a> &#8211; Quickstart archetype should not include the tapestry-test dependency, as the Jetty embedded inside Selenium gets in the way of RunJettyRun inside Eclipse</li><li><a class="external-link" href="https://issu
 es.apache.org/jira/browse/TAP5-648">TAP5-648</a> &#8211; Tapestry should be more careful about where, inside the &lt;head&gt;, it adds new elements</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-649">TAP5-649</a> &#8211; Forms containing loop components which contain no form elements still encode into t:formdata hidden field</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-652">TAP5-652</a> &#8211; Script tag is missing required attribute type</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-653">TAP5-653</a> &#8211; Appending a context to an URL of the Index page results in too many slashes</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-659">TAP5-659</a> &#8211; In some servlet containers, access to virtual assets can result in a GZIP-related exception</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-660">TAP5-660</
 a> &#8211; Type coercion from String to DateFormat will always coerce using the server's default locale, rather than the current per-thread locale</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.1">Improvements Made</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-274">TAP5-274</a> &#8211; Application State Object is a misleading term; rename @ApplicationState to @SessionState</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-612">TAP5-612</a> &#8211; URLRewriting should distinguish between incoming and outgoing requests</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-629">TAP5-629</a> &#8211; Ensure blackbird console appears on top of other page elements</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-654">TAP5-654</a> &#8211; Improve component classes documentation to be clearer about relationship between @Component and t:id</li><li><a class="e
 xternal-link" href="https://issues.apache.org/jira/browse/TAP5-655">TAP5-655</a> &#8211; Quickstart archetype should set the application version number to match the module version number</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-657">TAP5-657</a> &#8211; The FieldFocusPriority enum should include an additional value, OVERRIDE, to indicate a manually focused field (with highest priority)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-661">TAP5-661</a> &#8211; A number of minor documentation typos</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.1">New Features Added</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-624">TAP5-624</a> &#8211; Support for javascript callbacks on zone update</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-642">TAP5-642</a> &#8211; Document how to configure Glassfish 2.1 to deploy Tapestry applications</li><li><
 a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-662">TAP5-662</a> &#8211; Component documentation should identify the events that may be triggered by a component</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry Version 5.1.0.3</h2><h3 id="ReleaseNotes5.1-BugsFixed.2">Bugs Fixed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-469">TAP5-469</a> &#8211; ResponseCompressionAnalyzer: application/json responses should be uncompressable by default</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-596">TAP5-596</a> &#8211; Misleading description of allowNull parameter of Parameter annotation in javadoc</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-602">TAP5-602</a> &#8211; Contributing to TypeCoercer with service fails even with @InjectService</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-603">TAP5-603</a> &#8
 211; BeanEditForm ordering behaviour inconsistent with documentation</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-608">TAP5-608</a> &#8211; Quickstart archetype is broken for 5.1.0.2: missing META-INF/maven/archetype.xml</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-610">TAP5-610</a> &#8211; URLs are not being fully optimized, "/index" is not being stripped off when it should</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-615">TAP5-615</a> &#8211; Tapestry template parse should ignore the case of any Tapestry-specific elements (such as t:body, t:content, etc.)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-616">TAP5-616</a> &#8211; Hidden component does not properly decode submitted data</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-621">TAP5-621</a> &#8211; When using PageTester, an exception in the page i
 s hidden by an exception rendering the exception report page</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-625">TAP5-625</a> &#8211; The quickstart archetype should not put the Apache copyright into the web.xml (or other files)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-626">TAP5-626</a> &#8211; The copyright message in Layout.tml is "groupid" not the expanded groupId value</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-630">TAP5-630</a> &#8211; Blackbird error console class names are too generic and can easily conflict</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-636">TAP5-636</a> &#8211; Using Element.forceAttribute() with a null value can cause a later NPE during rendering under some circumstances</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.2">Improvements Made</h3><ul><li><a class="external-link" href="https://issues.apache.org/
 jira/browse/TAP5-432">TAP5-432</a> &#8211; Allow setting the id of a FormFragment component</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-483">TAP5-483</a> &#8211; Maven warning in build: [WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform dependent!</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-614">TAP5-614</a> &#8211; Spacer image should have a blank alt attribute to meet w3c accessability standards</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-634">TAP5-634</a> &#8211; Google App Engine Support: ability to disable code that creates new threads</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.2">New Features Added</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-548">TAP5-548</a> &#8211; Textual messages inside tapestry.js should be split out into a seperate .js file that is localizab
 le</li></ul><h3 id="ReleaseNotes5.1-TasksCompleted">Tasks Completed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-617">TAP5-617</a> &#8211; Move cobertura from 2.2-SNAPSHOT to 2.2</li></ul><h3 id="ReleaseNotes5.1-Wish">Wish</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-619">TAP5-619</a> &#8211; Add parameter to PropertyEditor to allow custom BeanBlockSource to be used in place of the default one</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry Version 5.1.0.2</h2><h3 id="ReleaseNotes5.1-BugsFixed.3">Bugs Fixed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-39">TAP5-39</a> &#8211; Add JSON support for literals (often, inline function definitions) that are used to configure some client-side objects (even if they aren't truly JSON)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-573">TAP5-573</a> &#8211; NullPointerExc
 eption during AJAX form submit</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-578">TAP5-578</a> &#8211; If a component class is abstract, trying to instantiate it (by including it in a template) yields an inscrutable InstantiationError</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-590">TAP5-590</a> &#8211; A JavaScript error for non-required fields will force Ajax form submits to be handled as a full-page request instead</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-593">TAP5-593</a> &#8211; Calling ApplicationStateManager.exists() will throw an exception when the session has been invalidated</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-598">TAP5-598</a> &#8211; Hard-coded messages inside tapestry.js are not localized</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-600">TAP5-600</a> &#8211; The new Blackbird
  console makes Safari JavaScript completely non-functional</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.3">Improvements Made</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-265">TAP5-265</a> &#8211; Add a Hidden component, used to synchronize a value between the server and the client</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-398">TAP5-398</a> &#8211; Tapestry should check that the service scope is consistent with the service (throwing an exception if the scope requires a service interface and the service doesn't provide one)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-566">TAP5-566</a> &#8211; TextField documentation should explain why the required value parameter is not bound in the example</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-581">TAP5-581</a> &#8211; Quickstart archetype should include testng.xml and webdefault.xml</
 li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-584">TAP5-584</a> &#8211; Omit generator meta (from head element) when root element is not html</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-586">TAP5-586</a> &#8211; The JavaScript waitForPage() handler does not need to be added when rendering a partial Ajax response</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-589">TAP5-589</a> &#8211; Add a method to DOM Element class to allow the collection of Attributes to be obtained</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-591">TAP5-591</a> &#8211; FAQ: Creating a page render Link from a service</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-605">TAP5-605</a> &#8211; There should be a simple way to override automatic JavaScript libraries and Stylesheets</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.3">New Featur
 es Added</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-288">TAP5-288</a> &#8211; Replace JavaScript client-side logging with Blackbird</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-549">TAP5-549</a> &#8211; JavaScript libraries should be combined into a single request</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-557">TAP5-557</a> &#8211; Provide support for URL rewriting</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-562">TAP5-562</a> &#8211; tapestry-hibernate should provide a built-in status page to show basic Hibernate statistics inlcuding cache hits, etc.</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-594">TAP5-594</a> &#8211; Add simple PageRenderLinkSource service to allow services to create Links to pages</li></ul><h3 id="ReleaseNotes5.1-TasksCompleted.1">Tasks Completed</h3><ul><li><a class="ext
 ernal-link" href="https://issues.apache.org/jira/browse/TAP5-510">TAP5-510</a> &#8211; Improve code coverage of JSON unit tests</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-575">TAP5-575</a> &#8211; Add svn:eol-style=native to source files</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 5.1.0.1</h2><h3 id="ReleaseNotes5.1-BugsFixed.4">Bugs Fixed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-211">TAP5-211</a> &#8211; Client-side validation of numeric user input does not take into account the user's locale which causes spurious client- and server-side exceptions when users enter numbers "naturally"</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-374">TAP5-374</a> &#8211; Persistent (@Persist) fields not set correctly between requests if they are initialised from pageAttached() method</li><li><a class="external-link" href="https://issues.apache.org/ji
 ra/browse/TAP5-512">TAP5-512</a> &#8211; Documentation on how to secure pages contains errors in the sample code</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-520">TAP5-520</a> &#8211; Using regular expressions with the @Validate annotation causes odd parse errors if the regexp includes common characters (including commas)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-530">TAP5-530</a> &#8211; Documentation should identify how to boot-strap the quickstart archetype from the Tapestry360 Maven repository (not snapshot repository)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-535">TAP5-535</a> &#8211; PageTester should use overrides of FactoryDefaults, not contributions to ApplicationDefaults</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-537">TAP5-537</a> &#8211; PersistentLocale.setLocale() allows the application to set a locale that isn't sup
 ported, and the subsequent URL may not be interpreted correctly</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-552">TAP5-552</a> &#8211; Common compressed image files should be configured to not re-compress when sent to client: GIF, PNG</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-555">TAP5-555</a> &#8211; Tapestry.ScriptManager.contains throws error if &lt;script&gt; tag in &lt;head&gt; has no href</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-559">TAP5-559</a> &#8211; Informal parameters have started to overwrite previously rendered attributes</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.4">Improvements Made</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-84">TAP5-84</a> &#8211; Change proxy generation to use volatile fields rather than synchronized blocks</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/
 TAP5-108">TAP5-108</a> &#8211; A component event handler for Ajax requests should have a mechanism to update mutiple zones on the client</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-345">TAP5-345</a> &#8211; AjaxFormLoop should be able to deduce a default ValueEncoder from the type of its value parameter</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-367">TAP5-367</a> &#8211; The Grid component's "There is no data to display." message should come from a message catalog, to support global overrides and localization</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-418">TAP5-418</a> &#8211; Control over creation of page render and component event requests should be encapsulated into an overridable service</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-502">TAP5-502</a> &#8211; Improve the description of parameter passing and binding in the document
 ation</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-525">TAP5-525</a> &#8211; The Component Report should indicate in which Tapestry version a parameter or a component was introduced</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-527">TAP5-527</a> &#8211; Input validation documentation is missing clear list of available validators and their correct notation to use.</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-536">TAP5-536</a> &#8211; Move ClientBehaviorSupport to the public services package</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-540">TAP5-540</a> &#8211; Allow exact parsing of numeric client input by creating a BigDecimal Translator and enabling parseBigDecimal in DecimalFormat</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-543">TAP5-543</a> &#8211; ProgressiveDisplay component should support a cont
 ext parameter and fire an event to inform the container what data is to be displayed</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-544">TAP5-544</a> &#8211; Improve JavaScript handling to prevent the user from clicking Ajax-oriented links and forms before the page is "ready"</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-545">TAP5-545</a> &#8211; Upgrade to Scriptaculous 1.8.2 (released Nov 2008)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-547">TAP5-547</a> &#8211; In the exception report page, JVM system property org.apache.catalina.jsp_classpath should be displayed as a list, like other .path value</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-550">TAP5-550</a> &#8211; Reduce eden space memory footprint by avoiding Lists and Maps within Elements</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-564">TAP5-56
 4</a> &#8211; Add StringPropertySelectModel</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.4">New Features Added</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-43">TAP5-43</a> &#8211; Add configuration to turn off @Secure when in development</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-74">TAP5-74</a> &#8211; Provide a way that a component sub-class can merge its template with that of its container</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-92">TAP5-92</a> &#8211; Add new element, t:remove, that removes a portion of a template</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-236">TAP5-236</a> &#8211; Implement a progressive enhancement component that loads its content via Ajax</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-485">TAP5-485</a> &#8211; Tracking issue for changes required by com.formos.ta
 pestry:tapestry-template</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-542">TAP5-542</a> &#8211; Add ParallelExecutor service to allow operations to be performed asynchronously in a thread pool</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-560">TAP5-560</a> &#8211; Add a service responsible for encoding client data (as gzipp'ed base 64) and decoding that data</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-563">TAP5-563</a> &#8211; Ability to limit the template's effective content to just a small section (similar to Tapestry 4's $content$ marker)</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry Version 5.1.0.0</h2><h3 id="ReleaseNotes5.1-BugsFixed.5">Bugs Fixed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-217">TAP5-217</a> &#8211; Warnings related to service configuration validations should be escalated to exceptions</li>
 <li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-292">TAP5-292</a> &#8211; Field injection does not support injecting configurations or other service resources, only dependencies</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-298">TAP5-298</a> &#8211; JS error in Palette for disabled options</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-330">TAP5-330</a> &#8211; Property expressions do not recognize methods inherted from java.lang.Object such as toString()</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-334">TAP5-334</a> &#8211; Component fields should allow @InjectService annotation, as well as @Inject</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-341">TAP5-341</a> &#8211; When a contribute method requests the wrong configuration interface (say, Configuration instead of OrderedConfiguration) the error message is co
 nfusing: "No service implements the Configuration interface"</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-349">TAP5-349</a> &#8211; Tapestry silently allows a MarkupWriter to set a series of root elements, ignoring all but the last. A document should only have a single root element and this situation should be an immediate exception.</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-355">TAP5-355</a> &#8211; TapestrySpring does not support injection of Spring FactoryBeans</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-357">TAP5-357</a> &#8211; Tapestry documentation should clearly/boldly identify the release number</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-359">TAP5-359</a> &#8211; Use of the email validator with client-side validation displays a pop-up error message about client-side validator "email" being missing</li><li><a class="externa
 l-link" href="https://issues.apache.org/jira/browse/TAP5-370">TAP5-370</a> &#8211; Error from DocumentLinker about missing &lt;html&gt; tag, even for XML document w/o JavaScript</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-373">TAP5-373</a> &#8211; When JavaScript libraries are moved to the "top" of the document, they should be added to the &lt;head&gt;, not the &lt;body&gt;</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-377">TAP5-377</a> &#8211; Broken links inside on project site to pipeline description and to JIRA</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-378">TAP5-378</a> &#8211; Missing i18n files for Brazilian Portuguese</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-385">TAP5-385</a> &#8211; Tapestry 5 often renders empty elements incorrectly</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-391">TAP
 5-391</a> &#8211; Link from Form page to checkbox page (on website) is incorrect</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-399">TAP5-399</a> &#8211; Modified application state objects are not persisted back to the session at the end of the request</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-402">TAP5-402</a> &#8211; BeanDisplay properties that render nothing cause layout errors (they should render a &amp;nbsp;)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-403">TAP5-403</a> &#8211; OneShotLock tests fail under JDK 1.6 because of JVM differences</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-405">TAP5-405</a> &#8211; Documentation should reference Index instead of Start page</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-407">TAP5-407</a> &#8211; DocumentLinker should not use the deprecated practice of 
 HTML commenting out the &lt;script&gt; block</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-408">TAP5-408</a> &#8211; Objects that persist in the session should automatically re-store themselves into the session at the end of the request</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-413">TAP5-413</a> &#8211; Invalidating the session may cause an exception at the end of the request if there is a "dirty" ASO</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-416">TAP5-416</a> &#8211; Javascript error with IE and Window Prototype</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-419">TAP5-419</a> &#8211; Logging of component class transformations has typo in prefix</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-425">TAP5-425</a> &#8211; When attempting to reference a property whose name is a single letter, Tapestry fail
 s with a wierd exception</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-428">TAP5-428</a> &#8211; It should be possible to use tapestry-spring in an environment where the Spring ApplicationContext is created externally (as was the case in Tapestry 5.0)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-431">TAP5-431</a> &#8211; When using an externally configuration Spring ApplicationContext, beans of the context should be registered as services (as was the case in Tapestry 5.0)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-441">TAP5-441</a> &#8211; Tapestry should be using ServletContext.getMimeType() to map from file extensions to MIME types</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-443">TAP5-443</a> &#8211; Clicking an action link when using tapestry-upload always throws an exception</li><li><a class="external-link" href="https://issues.apa
 che.org/jira/browse/TAP5-444">TAP5-444</a> &#8211; ToStringService uses @Override annotation improperly</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-449">TAP5-449</a> &#8211; @CleanupRender Render phase methods not always invoked</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-454">TAP5-454</a> &#8211; All classpath assets should automatically have a version number (the application version number) in the URL</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-457">TAP5-457</a> &#8211; Illegal prefix for XML namespace</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-464">TAP5-464</a> &#8211; The Invokable interface should be moved to a public package (it is currently internal, even though some public interfaces reference it)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-467">TAP5-467</a> &#8211; ResponseCompressionAn
 alyzerImpl should trim spaces before comparing accepted-encoding to "gzip"</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-468">TAP5-468</a> &#8211; ResponseCompressionAnalyzer should disregard the charset when comparing configured exluded mime types</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-470">TAP5-470</a> &#8211; The exception report should only split system properties whose name ends in ".path"</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-471">TAP5-471</a> &#8211; MetaDataLocator throws an exception if meta-data not found and no symbol provides a value; this should be documented</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-478">TAP5-478</a> &#8211; If you use Grid's add and include parameters, the new column added with add must be also be mentioned in include</li><li><a class="external-link" href="https://issues.apache.org/jira/brow
 se/TAP5-484">TAP5-484</a> &#8211; Quickstart should include a test scope dependency on EasyMock</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-488">TAP5-488</a> &#8211; Typo in error message when contributing to unknown service</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-489">TAP5-489</a> &#8211; The comment inside AssetBinding concerning invariant is out of date, in that all Assets now use complete URLs</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-490">TAP5-490</a> &#8211; Link from Ajax guide page to component reference is broken</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-505">TAP5-505</a> &#8211; JettyRunner is not able to start on Windows machine if the web application path is absolute</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-507">TAP5-507</a> &#8211; Comments between the DOCTYPE and the root
  element now cause render errors</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-528">TAP5-528</a> &#8211; The new quickstart layout should be simplified to remove "lorem ipson" text</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.5">Improvements Made</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-24">TAP5-24</a> &#8211; Document changing the (persisted) locale</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-60">TAP5-60</a> &#8211; Provide an alternate approach to decorating services based on aspects</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-79">TAP5-79</a> &#8211; Improve Tapestry's property expression language to include OGNL-like features</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-100">TAP5-100</a> &#8211; When rendering a partial markup response, Tapestry should quote attributes with single quo
 tes (so that each quote doesn't have to be escaped in the JSON)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-165">TAP5-165</a> &#8211; Components which use PrimaryKeyEncoder should be changed to use ValueEncoder, and PrimaryKeyEncoder should be deprecated</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-181">TAP5-181</a> &#8211; Highlight duplicated IDs.</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-194">TAP5-194</a> &#8211; Handler method of Submit component should accept a context</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-209">TAP5-209</a> &#8211; quickstart archetype should provide a sample page .properties file</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-216">TAP5-216</a> &#8211; Many methods of the Page interface could be moved to PageResources (which should be renamed to ComponentPageElementResou
 rces)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-346">TAP5-346</a> &#8211; Maven resource filtering pre-expands some Tapestry expansions: docs should warn of this</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-364">TAP5-364</a> &#8211; BeanEditForm should include the same autofocus parameter that Form has</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-365">TAP5-365</a> &#8211; Localization support for Japanese</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-371">TAP5-371</a> &#8211; Service contribution methods should be able to include a parameter of type Logger (the service's logger), so as to give contributions the option to log with the service</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-380">TAP5-380</a> &#8211; Add localization support for Greek</li><li><a class="external-link" href="https://issues.
 apache.org/jira/browse/TAP5-382">TAP5-382</a> &#8211; PersistenceConstants should have all persistence field strategies</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-383">TAP5-383</a> &#8211; Expose a LinkCreationHub service to allow for listeners that wish to observe (and modify) new Link instances</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-386">TAP5-386</a> &#8211; Tapestry IoC documentation improvements</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-390">TAP5-390</a> &#8211; Improve component reports by providing links to javadocs of tapestry classes</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-392">TAP5-392</a> &#8211; tapestry-hibernate should be split into two parts: tapestry-hibernate-core and tapestry-hibernate, with tapestry-hibernate-core being usable outside of a Tapestry web application</li><li><a class="external-link" href="h
 ttps://issues.apache.org/jira/browse/TAP5-393">TAP5-393</a> &#8211; Tapestry IOC should log the names of any loaded module classes and clearly indicate module classes that could not be loaded</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-406">TAP5-406</a> &#8211; Remove IDEA and Eclipse control files from the source tree</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-417">TAP5-417</a> &#8211; Tapestry Performance Improvements</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-422">TAP5-422</a> &#8211; Tapestry should encode the user's locale into the URL rather than as an HTTP cookie</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-429">TAP5-429</a> &#8211; Tapestry should throw an exception when a contribute method of a module class does not match a known service</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-435">
 TAP5-435</a> &#8211; AjaxFormLoop does not include a parameter for specifying the animation on adding a new element</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-442">TAP5-442</a> &#8211; Add a context: binding prefix to make it super-easy to reference context assets from templates</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-445">TAP5-445</a> &#8211; Add ability to turn off GZIP compression easily, for both static assets and dynamic page renders</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-447">TAP5-447</a> &#8211; ExceptionDisplay should render uninteresting stack frames but include a client-side control to toggle their visibility</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-448">TAP5-448</a> &#8211; Assets should no longer attempt to generate relative URIs</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP
 5-451">TAP5-451</a> &#8211; Upgrade Selenium dependencies to new beta (which supports FireFox 3)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-458">TAP5-458</a> &#8211; Tapestry quickstart should include a basic, but visually pleasing, Layout component</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-459">TAP5-459</a> &#8211; Quickstart should include provided scope dependency on the servlet API</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-462">TAP5-462</a> &#8211; FAQ: The Hibernate startup question now has a really easy answer</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-465">TAP5-465</a> &#8211; Add a LazyAdvisor service that can allow method invocations on services to be lazily evaluated</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-479">TAP5-479</a> &#8211; Quickstart archetype should include a basic s
 ite.xml and index.apt</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-481">TAP5-481</a> &#8211; Quickstart archetype should include a test scope dependency on tapestry-test</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-482">TAP5-482</a> &#8211; Maven repository location <a class="external-link" href="http://archiva.openqa.org/repository/releases" rel="nofollow">http://archiva.openqa.org/repository/releases</a> has a unwanted trailing slash in the master pom.xml</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-487">TAP5-487</a> &#8211; Easier way to expose parameters of an embedded component in a containing component</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-496">TAP5-496</a> &#8211; Change If and Unless to render thier template element if provided (i.e., when using t:type) as well as informal parameters</li><li><a class="external-link" href="
 https://issues.apache.org/jira/browse/TAP5-498">TAP5-498</a> &#8211; Upgrade Javassist dependency to latest version, 3.9.0.GA</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-499">TAP5-499</a> &#8211; Cleanup and simplfy PageTester to remove ComponentInvocation, InvocationTarget, etc.</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-503">TAP5-503</a> &#8211; Make Live Class and Template Reloading feature work in OSGi</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-516">TAP5-516</a> &#8211; When rendering a PageLink, it should not be necessary to load the target page instance just to see if there's a page activation context</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-522">TAP5-522</a> &#8211; Reduce memory footprint by sharing binding descriptions</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-523">TAP5-523</a> &#
 8211; Submit component should be able to render an input field of type image</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.5">New Features Added</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-66">TAP5-66</a> &#8211; Use namespaces in templates to reference components in libraries</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-70">TAP5-70</a> &#8211; Tapestry should automatically compress content sent to the client, if the client supports it</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-90">TAP5-90</a> &#8211; Context assets should be versioned and provided with a far future expires header, just like classpath assets</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-95">TAP5-95</a> &#8211; Optimize page construction for repeated construction of the same page</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-1
 06">TAP5-106</a> &#8211; When filtering out stack frames in ExceptionAnalyzer, frames for sun.reflect could easily be omitted</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-112">TAP5-112</a> &#8211; Define new namespace, p:, for block parameters</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-139">TAP5-139</a> &#8211; @Autobuild annotation for parameters, implicitly invokes ObjectLocator.autobuild()</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-140">TAP5-140</a> &#8211; The services used to handle live reloading should be made public</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-215">TAP5-215</a> &#8211; Configuration interface should support contributing a class (which is autobuilt) in addition to an instance</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-291">TAP5-291</a> &#8211; Now that field injection is 
 supported, we need an annotation for methods to invoke after the component is fully constructed</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-295">TAP5-295</a> &#8211; Option to startup Hibernate early, rather than lazily on first request</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-316">TAP5-316</a> &#8211; Add service overriding capabilities to tapestry-ioc, similar to what tapestry-core has (the Alias service)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-427">TAP5-427</a> &#8211; Allow injection of Tapestry services into Spring beans</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-430">TAP5-430</a> &#8211; Annotation for services to indicate that the service should not be decorated</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-434">TAP5-434</a> &#8211; Add documentation about using PersistentLocale serv
 ice to effect a change in locale</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-436">TAP5-436</a> &#8211; Tapestry should verify that all public methods of a module class are meaningful to Tapestry (build, decorate, contribute or bind), other methods should cause an exception to be thrown as a likely typo in the name</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-437">TAP5-437</a> &#8211; The OrderedConfiguration and MappedConfiguration interfaces should allow for override() methods (similar to add())</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-439">TAP5-439</a> &#8211; Add annotation, @ServiceId, that can be placed on a builder method or service class to identify the service id to use</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-446">TAP5-446</a> &#8211; Tapestry should output a &lt;meta&gt; tag to identify Tapestry as the generator (with 
 an option to turn this off for applications that don't want to advertise their technology)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-472">TAP5-472</a> &#8211; Make it possible and easy to use a content delivery network</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-476">TAP5-476</a> &#8211; Have a common handler/filter pipeline for both component event and page render requests, to make it easier to add filters that apply to both types of requests</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-491">TAP5-491</a> &#8211; Quickstart archetype build should generate an archetype-catalog.xml into Tapestry360's maven-repository or maven-snapshot-repository, to faciliate the use of the mvn archetype:generate goal</li></ul><h3 id="ReleaseNotes5.1-TasksCompleted.2">Tasks Completed</h3><ul><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-372">TAP5-372</a> &#
 8211; Merge changes from 5.0.16 --&gt; 5.0.17 into trunk (5.1)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-379">TAP5-379</a> &#8211; Add the Ars Machina Project to the list of Tapestry 5-related packages</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-381">TAP5-381</a> &#8211; Documentation talks about a "tapestry.charset" when there's no such configuration documented</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-480">TAP5-480</a> &#8211; Upgrade Surefire Plugin and TestNG dependencies to latest version (2.4.3 and 5.8, respectively)</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-493">TAP5-493</a> &#8211; Translate StructureStrings#original-child-component</li><li><a class="external-link" href="https://issues.apache.org/jira/browse/TAP5-494">TAP5-494</a> &#8211; Downgrade maven-site-plugin from 2.0-beta-6 to 2.0-beta-5 because we prefer a site
  that actually works</li></ul></div>
             </div>

Modified: websites/production/tapestry/content/release-notes-52.html
==============================================================================
--- websites/production/tapestry/content/release-notes-52.html (original)
+++ websites/production/tapestry/content/release-notes-52.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><p class="confluence-link">This is the consolidated list of changes between Tapestry versions 5.1 and 5.2. To upgrade from 5.1 to 5.2, most users will be able to just update the Maven dependency in their POM file (or <a href="release-notes-52.html">download</a> the new JAR file) and the new version will just work. However, please read carefully below before upgrading, and also review the&#160;<a href="how-to-upgrade.html">How to Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1668366716434 {padding: 0px;}
-div.rbtoc1668366716434 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1668366716434 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1669468623580 {padding: 0px;}
+div.rbtoc1669468623580 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1669468623580 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1668366716434">
+/*]]>*/</style></p><div class="toc-macro rbtoc1669468623580">
 <ul class="toc-indentation"><li><a href="#ReleaseNotes5.2-BreakingChanges">Breaking Changes</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry 5.2.6</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry 5.2.5</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry 5.2.4</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry 5.2.3</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry 5.2.2</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry 5.2.1</a></li><li><a href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry 5.2.0</a></li></ul>
 </div><h2 id="ReleaseNotes5.2-BreakingChanges">Breaking Changes</h2><p>The following changes have been made in Tapestry 5.2 that are likely to result in unexpected behavior if your application relies on the changed functionality. Please review this list carefully before upgrading from 5.1 to 5.2. Also check the <a class="external-link" href="http://tapestry.apache.org/current/apidocs/deprecated-list.html">Deprecated API List</a> for non-breaking changes.</p><ul><li>Page classes with instance variables that are not thread safe must be created in a method rather than declared as an instance variable. For example, creating an instance variable <code>private final DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);</code> in a page and using it will cause problems because DateFormat is not thread safe. Instead, you must create the DateFormat in a method. See <a href="release-notes-52.html">Release Notes: Tapestry 5.2.0</a> (below) for details.</li><li><a class="ex
 ternal-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Link.html#toAbsoluteURI--">Link.toAbsoluteURI()</a> now returns the absolute URL, which includes the scheme, hostname and possibly port (e.g., "<span class="nolink">http://example.com:8080/myapp/viewproduct/4</span>"), rather than a relative URL (e.g., "/myapp/viewproduct/4"). See <a href="release-notes-52.html">Release Notes: Tapestry 5.2.2</a> (below) for details.</li><li>The <a class="external-link" href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html">Label</a> component no longer outputs an id:</li></ul><p>Previously valid code in 5.1.0.5:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre><code class="language-xml">&lt;t:form&gt;&lt;t:label for="search"/&gt;&lt;t:textfield t:id="search" size="50"/&gt;&lt;/t:form&gt;</code></pre>

Modified: websites/production/tapestry/content/release-notes-520.html
==============================================================================
--- websites/production/tapestry/content/release-notes-520.html (original)
+++ websites/production/tapestry/content/release-notes-520.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/release-notes-521.html
==============================================================================
--- websites/production/tapestry/content/release-notes-521.html (original)
+++ websites/production/tapestry/content/release-notes-521.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/release-notes-522.html
==============================================================================
--- websites/production/tapestry/content/release-notes-522.html (original)
+++ websites/production/tapestry/content/release-notes-522.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/release-notes-523.html
==============================================================================
--- websites/production/tapestry/content/release-notes-523.html (original)
+++ websites/production/tapestry/content/release-notes-523.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/release-notes-524.html
==============================================================================
--- websites/production/tapestry/content/release-notes-524.html (original)
+++ websites/production/tapestry/content/release-notes-524.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/release-notes-525.html
==============================================================================
--- websites/production/tapestry/content/release-notes-525.html (original)
+++ websites/production/tapestry/content/release-notes-525.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/release-notes-526.html
==============================================================================
--- websites/production/tapestry/content/release-notes-526.html (original)
+++ websites/production/tapestry/content/release-notes-526.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap"> 
-  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+  <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+  <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
   <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
-  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous" defer></script>
+  <script src="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>