You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/03/13 10:57:40 UTC

[04/50] incubator-freemarker-site git commit: 2.3.26-nightly docs preview

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_25.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_3_25.html b/builds/2.3.26-nightly/versions_2_3_25.html
new file mode 100644
index 0000000..9ff74f2
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_3_25.html
@@ -0,0 +1,228 @@
+<!doctype html>
+<!-- Generated by FreeMarker/Docgen from DocBook -->
+<html lang="en" class="page-type-section">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<title>2.3.25 (incubating at Apache) - Apache FreeMarker Manual</title>
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="format-detection" content="telephone=no">
+<meta property="og:site_name" content="Apache FreeMarker Manual">
+<meta property="og:title" content="2.3.25 (incubating at Apache)">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_25.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_25.html">
+<link rel="icon" href="favicon.png" type="image/png">
+<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ga('create', 'UA-55420501-1', 'auto');
+ga('send', 'pageview');
+</script>
+</head>
+<body itemscope itemtype="https://schema.org/Code">
+    <meta itemprop="url" content="http://freemarker.org/docs/">
+    <meta itemprop="name" content="Apache FreeMarker Manual">
+
+  <!--[if lte IE 9]>
+  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
+  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
+</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl
 ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_25.html"><span itemprop="name">2.3.25 (incubating at Apache)</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
+      <div class="content-wrapper">
+  <div id="table-of-contents-wrapper" class="col-left">
+      <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.25 (incubating at Apache)"];</script>
+      <script src="toc.js?1489402528979"></script>
+      <script src="docgen-resources/main.min.js?1489402528979"></script>
+  </div>
+<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_26.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_24.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_3_25" itemprop="headline">2.3.25 (incubating at Apache)</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_158" data-menu-target="autoid_158">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_159" data-menu-target="autoid_159">Changes on the Java side</a></li></ul> </div><p>Release date: 2016-06-26</p><p><strong>This is a stable, final
+        release.</strong> The "incubating" suffix is required
+        by the Apache Software Foundation until the project becomes a fully
+        accepted (graduated) Apache project.</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_158">Changes on the FTL side</h2>
+
+
+          <ul>
+            <li>
+              <p>Extended the <a href="ref_directive_list.html#ref.directive.list"><code>list</code>
+              directive</a> to support listing hashes (such as
+              <code class="inline-code">Map</code>-s), like <code class="inline-code">&lt;#list map as k,
+              v&gt;${k}: ${v}&lt;/#list&gt;</code>, where
+              <code class="inline-code">k</code> and <code class="inline-code">v</code> are the key and
+              value in the key-value pairs of the hash.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_159">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>Added the <code class="inline-code">TemplateModelHashEx2</code>
+              interface that extends <code class="inline-code">TemplateModelHashEx</code>
+              with a method for listing the content of the key-value pairs of
+              the hash. (This is utilized by the new hash listing capability
+              of the <a href="ref_directive_list.html#ref.directive.list"><code>list</code>
+              directive</a>, but it&#39;s not required by it if all keys are
+              strings.)</p>
+            </li>
+
+            <li>
+              <p>Lazy imports: With the new boolean settings,
+              <code class="inline-code">lazy_imports</code> and
+              <code class="inline-code">lazy_auto_imports</code>, you can make imports (as
+              in <code class="inline-code">&lt;#import &quot;lib/utils.ftl&quot; as u&gt;</code>)
+              and/or auto-imports to be lazy. When the import is lazy, the
+              namespace variable (<code class="inline-code">u</code> in this example) will
+              be created immediately, just like before, but the imported
+              template will be loaded and processed only when (and if ever)
+              the content of the imported namespace is accessed. The main
+              application of this is with auto-imports, where you don&#39;t want
+              the overhead of importing templates that aren&#39;t actually used in
+              a template. (Also, a new
+              <code class="inline-code">Environment.importLib</code> method overload was
+              added, where you can specify if you want a lazy or an eager
+              import.) These new settings can be set on
+              <code class="inline-code">Configuration</code>, <code class="inline-code">Template</code>
+              (<code class="inline-code">TemplateConfiguration</code>) and
+              <code class="inline-code">Environment</code> level.</p>
+            </li>
+
+            <li>
+              <p>It&#39;s now possible to set the
+              <code class="inline-code">auto_import</code> and
+              <code class="inline-code">auto_include</code> settings on a per template basis
+              (like templates with a certain name pattern has different
+              auto-imports). This is now possible as these settings were moved
+              from the <code class="inline-code">Configuration</code> level down to the more
+              generic <code class="inline-code">Configurable</code> level, and so are
+              inherited by <code class="inline-code">TemplateConfiguration</code> and
+              <code class="inline-code">Environment</code> too.</p>
+            </li>
+
+            <li>
+              <p>New <code class="inline-code">Configuration</code> (and
+              <code class="inline-code">TemplateConfiguration</code>) setting,
+              <code class="inline-code">tab_size</code>. This only influences how the column
+              number reported in error messages is calculated (and the column
+              number available with other API-s). It doesn&#39;t influence the
+              output of the templates. Defaults to 8.</p>
+            </li>
+
+            <li>
+              <p>Added new setting to
+              <code class="inline-code">DefaultObjectWrapper</code> (and to
+              <code class="inline-code">DefaultObjectWrapperBuilder</code>):
+              <code class="inline-code">iterableSupport</code>. This fixes the issue when
+              you couldn&#39;t use <code class="inline-code">#list</code> (or
+              <code class="inline-code">?has_next</code>, etc.) on a value that only
+              implements Java 5 <code class="inline-code">java.lang.Iterable</code> (not to
+              be confused with <code class="inline-code">Iterator</code>), but not
+              <code class="inline-code">Collection</code>. This is not enabled by default as
+              it&#39;s not compatible with some existing templates, most often
+              because they have used
+              <code class="inline-code">someIterable.iterator()</code> in the template as a
+              workaround. When this is enabled, the
+              <code class="inline-code">Iterable</code> object won&#39;t be seen as a generic
+              Java object by FreeMarker anymore, and thus just like with
+              <code class="inline-code">Collection</code>-s, its API won&#39;t be exposed to the
+              templates (except through <code class="inline-code">?api</code>, of
+              course).</p>
+            </li>
+
+            <li>
+              <p>Added
+              <code class="inline-code">Configurable.getCustomNumberFormatsWithoutFallback</code>
+              and
+              <code class="inline-code">Configurable.getCustomDateFormatsWithoutFallback</code>
+              methods to make it easier for custom code to investigate the
+              custom formal setting <code class="inline-code">Map</code> hierarchy.</p>
+            </li>
+
+            <li>
+              <p>Bug fixed (<a href="https://issues.apache.org/jira/browse/FREEMARKER-18">FREEMARKER-18</a>):
+              If you had a JSP custom tag and an EL function defined in the
+              same TLD with the same name, the EL function has overwritten the
+              custom tag. This is a bug introduced in 2.3.23, when EL function
+              support was added. JSP allows a custom tag and an EL function in
+              the same TLD to have the same name. In such case now we combine
+              the two into a single value that is both callable as an user
+              defined directive (<code class="inline-code">&lt;@my.foo...&gt;</code>) and as
+              a function (<code class="inline-code">my.f(...)</code>).</p>
+            </li>
+
+            <li>
+              <p>Bug fixed (<a href="https://issues.apache.org/jira/browse/FREEMARKER-19">FREEMARKER-19</a>):
+              The column numbers calculated by the parser has assumed tab size
+              1 since 2.3.25 (an unwanted side effect of updating JavaCC),
+              while before it has assumed tab size 8. The default was restored
+              to 8. This bug has affected the column numbers in error
+              messages. It also broke the output of some rarely used AIP-s,
+              namely <code class="inline-code">Template.getSource(beginCol, beginLine, endCol,
+              endLine)</code>,
+              <code class="inline-code">TemplateObject.getSource()</code> and through that
+              <code class="inline-code">TemplateObject.toString()</code>, if the first or
+              last line has contain tab characters.</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: There was a regression with 2.3.24, where
+              <code class="inline-code">Configuration.setAutoImports()</code> haven&#39;t
+              removed auto-imports added earlier. (Though it&#39;s unlikely that
+              an application uses that method and also adds auto-imports
+              earlier.)</p>
+            </li>
+
+            <li>
+              <p>Bug fixed:
+              <code class="inline-code">TemplateConfiguration.apply(Template)</code> didn&#39;t
+              merge the <code class="inline-code">customDateFormats</code> and
+              <code class="inline-code">customNumberFormats</code> <code class="inline-code">Map</code>-s
+              when they were set both in the <code class="inline-code">Template</code> and
+              in the applied <code class="inline-code">TemplateConfiguration</code>, instead
+              it just kept the value in the <code class="inline-code">Template</code> (just
+              like with atomic setting values). Note that it was unlikely to
+              run into this bug, as usually you (or FreeMarker) create a
+              single merged <code class="inline-code">TemplateConfiguration</code> with
+              <code class="inline-code">TemplateConfiguration.merge(TemplateConfiguration)</code>
+              and then apply it on a fresh template.</p>
+            </li>
+
+            <li>
+              <p>Removed FindBugs <code class="inline-code">@SuppressFBWarnings</code>
+              annotations from the binary (<code class="inline-code">freemarker.jar</code>),
+              as they have caused warnings like this when compiling dependant
+              project with Gradle: "warning: Cannot find annotation
+              method &#39;value()&#39; in type &#39;SuppressFBWarnings&#39;"</p>
+            </li>
+
+            <li>
+              <p>The Maven source artifact now contains the JavaCC
+              generated java files and <code class="inline-code">FTL.jj</code>.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_26.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_24.html"><span>Next</span></a></div></div></div></div>      </div>
+    </div>
+<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
+Last generated:
+<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
+<p class="copyright">
+� <span itemprop="copyrightYear">1999</span>\u20132017
+<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
+</div></div></div></body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_26.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_3_26.html b/builds/2.3.26-nightly/versions_2_3_26.html
new file mode 100644
index 0000000..dd5ce6b
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_3_26.html
@@ -0,0 +1,297 @@
+<!doctype html>
+<!-- Generated by FreeMarker/Docgen from DocBook -->
+<html lang="en" class="page-type-section">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<title>2.3.26 (incubating at Apache) - Apache FreeMarker Manual</title>
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="format-detection" content="telephone=no">
+<meta property="og:site_name" content="Apache FreeMarker Manual">
+<meta property="og:title" content="2.3.26 (incubating at Apache)">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_26.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_26.html">
+<link rel="icon" href="favicon.png" type="image/png">
+<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ga('create', 'UA-55420501-1', 'auto');
+ga('send', 'pageview');
+</script>
+</head>
+<body itemscope itemtype="https://schema.org/Code">
+    <meta itemprop="url" content="http://freemarker.org/docs/">
+    <meta itemprop="name" content="Apache FreeMarker Manual">
+
+  <!--[if lte IE 9]>
+  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
+  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
+</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl
 ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_26.html"><span itemprop="name">2.3.26 (incubating at Apache)</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
+      <div class="content-wrapper">
+  <div id="table-of-contents-wrapper" class="col-left">
+      <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.26 (incubating at Apache)"];</script>
+      <script src="toc.js?1489402528979"></script>
+      <script src="docgen-resources/main.min.js?1489402528979"></script>
+  </div>
+<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="app_versions.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_25.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_3_26" itemprop="headline">2.3.26 (incubating at Apache)</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_155" data-menu-target="autoid_155">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_156" data-menu-target="autoid_156">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_157" data-menu-target="autoid_157">Other changes</a></li></ul> </div><p>Release date: 2017-FIXME</p><p><strong>This is a stable, final
+        release.</strong> The "incubating" suffix is required
+        by the Apache Software Foundation until the project becomes a fully
+        accepted (graduated) Apache project.</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_155">Changes on the FTL side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bug fixed (<a href="https://issues.apache.org/jira/browse/FREEMARKER-42">FREEMARKER-42</a>):
+              <code class="inline-code">?first</code> now works with FTL collections (things
+              that can be listed but doesn&#39;t support getting items by index),
+              not only with sequences. The practical importance of this is
+              that <code class="inline-code">?first</code> now always works on Java
+              <code class="inline-code">Set</code>-s (which is useful for
+              <code class="inline-code">Set</code>-s with well defined ordering), while
+              earlier it has failed depending on the
+              <code class="inline-code">object_wrapper</code> configuration setting.</p>
+            </li>
+
+            <li>
+              <p>Added
+              <code class="inline-code"><em class="code-color">node</em>?next_sibling</code>
+              and
+              <code class="inline-code"><em class="code-color">node</em>?previous_sibling</code>
+              to move sideways in a node trees (<a href="ref_builtins_node.html#ref_builtin_next_sibling">see reference...</a>).
+              This works with XML DOM nodes, or with any custom
+              <code class="inline-code">TemplateNodeModelEx</code> implementations.</p>
+            </li>
+
+            <li>
+              <p>Added new <code class="inline-code">@@</code> keys to XML DOM models:
+              <code class="inline-code">@@next_sibling_element</code>,
+              <code class="inline-code">@@previous_sibling_element</code>. These get the
+              sibling node if that&#39;s an element, with the extra that they
+              silently skip any whitespace text and comment and processing
+              instruction between them. (See more about <code class="inline-code">@@</code>
+              keys <a href="xgui_imperative_formal.html">here...</a>)</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_156">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-24">FREEMARKER-24</a>:
+              Added workaround (not enabled by default) to expose Java 8
+              default methods (and the bean properties they define) to
+              templates, despite that
+              <code class="inline-code">java.beans.Introspector</code> (the official
+              JavaBeans introspector) ignores them, at least as of JRE
+              1.8.0_66. To enable this workaround, either increase the value
+              of the <code class="inline-code">incompatibleImprovements</code> constructor
+              argument of <code class="inline-code">DefaultObjectWrapper</code> or
+              <code class="inline-code">BeansWrapper</code> the used to 2.3.26, or set its
+              <code class="inline-code">treatDefaultMethodsAsBeanMembers</code> setting to
+              <code class="inline-code">true</code>. Note that if you leave the
+              <code class="inline-code">object_wrapper</code> setting of the
+              <code class="inline-code">Configuration</code> on its default, it&#39;s enough to
+              increase the <code class="inline-code">incompatibleImprovements</code> setting
+              of the <code class="inline-code">Configuration</code> to 2.3.26, as that&#39;s
+              inherited by the default <code class="inline-code">object_wrapper</code>.
+              </p>
+            </li>
+
+            <li>
+              <p>Added the
+              <code class="inline-code">freemarker.template.TemplateNodeModelEx</code>
+              interface which extends the <code class="inline-code">TemplateNodeModel</code>
+              instance with two methods, <code class="inline-code">TemplateNodeModelEx
+              getNextSibling()</code> and <code class="inline-code">TemplateNodeModelEx
+              getPreviousSibling()</code> methods. This is required by
+              <code class="inline-code"><em class="code-color">node</em>?next_sibling</code>
+              and
+              <code class="inline-code"><em class="code-color">node</em>?previous_sibling</code>
+              in the templates. This new interface is already implemented by
+              the standard W3C DOM node wrapper of FreeMarker.</p>
+            </li>
+
+            <li>
+              <p>Made <code class="inline-code">+</code> operator when adding two hashes
+              significantly faster (be removing the overhead caused be
+              throwing and then catching an exception).</p>
+            </li>
+
+            <li>
+              <p>Better error messages when someone tries to get an invalid
+              <code class="inline-code">@@<em class="code-color">...</em></code> subvariable
+              of an XML DOM node. (Now it&#39;s not issued by the XPath
+              implementation, which just sees it as a syntactical
+              error.)</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: If <a href="pgui_config_incompatible_improvements.html#pgui_config_incompatible_improvements_how_to_set">the
+              <code>incompatible_improvements</code> setting</a> is
+              set to 2.3.26 (or higher),
+              <code class="inline-code"><em class="code-color">exp</em>?interpret</code>
+              always gets the parser-related settings from the template that
+              it&#39;s called from. Earlier, sometimes it got those from the
+              topmost (main) template instead. Similarly, the generated name
+              of the template that <code class="inline-code">?interpret</code> creates will
+              always refer to the template where&#39;s it&#39;s called from.</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: <code class="inline-code">MultiTemplateLoader</code>, when
+              it&#39;s in sticky mode (the default), and the
+              <code class="inline-code">TemplateLoader</code> that was successfully used for
+              a given name last time doesn&#39;t find the template now (let&#39;s call
+              it the sticked <code class="inline-code">TemplateLoader</code>), and thus
+              <code class="inline-code">MultiTemplateLoader</code> falls back to trying all
+              the <code class="inline-code">TemplateLoader</code>-s in order, will now skip
+              the sticked <code class="inline-code">TemplateLoader</code>, as that was
+              already attempted in the same
+              <code class="inline-code">MultiTemplateLoader.findTemplateSource</code>
+              invocation.</p>
+            </li>
+
+            <li>
+              <p>Bug fixed:
+              <code class="inline-code">NodeModel.mergeAdjacentText(Node)</code> didn&#39;t
+              merged all adjacent text nodes, only pairs of adjacent text
+              nodes. (Luckily this method is hardly ever used, and the more
+              often used <code class="inline-code">NodeModel.simplify(Node)</code> was
+              working correctly.)</p>
+            </li>
+
+            <li>
+              <p>Performance improvements in the static utility methods of
+              <code class="inline-code">NodeModel</code>: <code class="inline-code">simplify(Node)</code>,
+              <code class="inline-code">mergeAdjacentText(Node)</code>,
+              <code class="inline-code">removeComments(Node)</code>,
+              <code class="inline-code">removePIs(Node)</code>.</p>
+            </li>
+
+            <li>
+              <p>Added warning to the JavaDoc of
+              <code class="inline-code">NodeModel.parse</code> methods to inform users about
+              the possibility of XML External Entity (XXE) attacks if the
+              source XML (not a template) comes from untrusted source. This is
+              just an XML fact (i.e., that in an XML you can have external
+              entities and they can be exploited), and has no much to do with
+              FreeMarker. Also note that FreeMarker itself never calls
+              <code class="inline-code">NodeModel.parse</code>; these are merely convenience
+              methods that some applications directly call themselves to
+              create a <code class="inline-code">NodeModel</code> from an XML file. As this
+              method encapsulates the call to the platform XML parser, we
+              thought it&#39;s better to point this risk out.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">DefaultObjectWrapper</code>, only with its
+              <code class="inline-code">incompatible_improvements</code> set to 2.3.26
+              (<a href="pgui_datamodel_objectWrapper.html#topic.defaultObjectWrapperIcI">see how
+              here...</a>), wraps
+              <code class="inline-code">java.util.Enumeration</code>-s into
+              <code class="inline-code">freemarker.template.DefaultEnumerationAdapter</code>
+              (a new class) instead of into
+              <code class="inline-code">freemarker.ext.beans.EnumerationModel</code> (as far
+              as <code class="inline-code">useAdaptersForContainers</code> is
+              <code class="inline-code">true</code>, which is the default). This adapter is
+              cleaner than <code class="inline-code">EnumerationModel</code> as it only
+              implements the minimally required FTL type, which avoids some
+              ambiguous situations. (Note that Java API methods aren&#39;t exposed
+              anymore as subvariables; if you really need them, you can use
+              <code class="inline-code">?api</code>).</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">DefaultIteratorAdapter</code> now supports
+              <code class="inline-code">?api</code>. It was an oversight that it
+              didn&#39;t.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">Configuration.setSetting(String,
+              String)</code> and <code class="inline-code">setSettings</code> now allows
+              <code class="inline-code">null</code> value for
+              <code class="inline-code">template_loader</code> (because
+              <code class="inline-code">Configuration.setTemplateLoader(null)</code> is also
+              allowed for a while.).</p>
+            </li>
+
+            <li>
+              <p>The
+              <code class="inline-code">freemarker.template.TemplateCollectionModelEx</code>
+              interface and is not experimental anymore, so now it has
+              backward compatibility guarantees. Note that the
+              <code class="inline-code">TemplateCollectionModelEx.contains(TemplateModel)</code>
+              method was removed from it.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">freemarker.template.DefaultNonListCollectionAdapter</code>
+              class is not experimental anymore, so now it has backward
+              compatibility guarantees.</p>
+            </li>
+
+            <li>
+              <p>Various smaller code cleanups.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_157">Other changes</h2>
+
+
+          <ul>
+            <li>
+              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-17">FREEMARKER-17</a>:
+              Removed the Servlet- and JSP-related <code class="inline-code">*.dtd</code>
+              files to simplify licensing. We can operate without them as
+              before, as validation with them was disabled earlier too. At
+              this point, everything in the source code of the FreeMarker
+              engine, and everything in the produced
+              <code class="inline-code">freemarker.jar</code> was created inside the
+              FreeMarker project.</p>
+            </li>
+
+            <li>
+              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-27">FREEMARKER-27</a>:
+              Moved some content from the <code class="inline-code">NOTICES</code> files
+              over to the <code class="inline-code">LICENSE</code> file, to follow the
+              Apache Incubator guidelines closer.</p>
+            </li>
+
+            <li>
+              <p>Various smaller JavaDoc improvements.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="app_versions.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_25.html"><span>Next</span></a></div></div></div></div>      </div>
+    </div>
+<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
+Last generated:
+<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
+<p class="copyright">
+� <span itemprop="copyrightYear">1999</span>\u20132017
+<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
+</div></div></div></body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_3.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_3_3.html b/builds/2.3.26-nightly/versions_2_3_3.html
new file mode 100644
index 0000000..ed9d0ed
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_3_3.html
@@ -0,0 +1,223 @@
+<!doctype html>
+<!-- Generated by FreeMarker/Docgen from DocBook -->
+<html lang="en" class="page-type-section">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<title>2.3.3 - Apache FreeMarker Manual</title>
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="format-detection" content="telephone=no">
+<meta property="og:site_name" content="Apache FreeMarker Manual">
+<meta property="og:title" content="2.3.3">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_3.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_3.html">
+<link rel="icon" href="favicon.png" type="image/png">
+<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ga('create', 'UA-55420501-1', 'auto');
+ga('send', 'pageview');
+</script>
+</head>
+<body itemscope itemtype="https://schema.org/Code">
+    <meta itemprop="url" content="http://freemarker.org/docs/">
+    <meta itemprop="name" content="Apache FreeMarker Manual">
+
+  <!--[if lte IE 9]>
+  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
+  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
+</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl
 ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_3.html"><span itemprop="name">2.3.3</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
+      <div class="content-wrapper">
+  <div id="table-of-contents-wrapper" class="col-left">
+      <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.3"];</script>
+      <script src="toc.js?1489402528979"></script>
+      <script src="docgen-resources/main.min.js?1489402528979"></script>
+  </div>
+<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_4.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_2.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_3_3" itemprop="headline">2.3.3</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_210" data-menu-target="autoid_210">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_211" data-menu-target="autoid_211">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_212" data-menu-target="autoid_212">Other changes</a></li></ul> </div><p>Date of release: 2005-06-23</p><p>Some new features and lot of bugfixes.</p><p>Attention:</p><ul>
+          <li>
+            <p>If you are using the Log4J logging, from now at least Log4J
+            1.2 is required. This is because of incompatible changes in the
+            Log4J API.</p>
+          </li>
+
+          <li>
+            <p>If you build FreeMarker yourself: from now at least JavaCC
+            3.2 (instead of JavaCC 2.1) and at least Ant 1.6.1 (instead of Ant
+            1.5.x) is required. This doesn&#39;t affect users who use the
+            <code class="inline-code">freemarker.jar</code> comes with the
+            distribution.</p>
+          </li>
+        </ul>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_210">Changes on the FTL side</h2>
+
+
+          <ul>
+            <li>
+              <p>New built-in for formatting numbers for "computer
+              audience" as opposed to human audience: <a href="ref_builtins_number.html#ref_builtin_c"><code>c</code></a>. It should
+              be used for numbers that must use Java language formatting
+              regardless of the number format and locale settings, like for a
+              database record ID used as the part of an URL or as invisible
+              field value in a HTML form, or for printing CSS/JavaScript
+              numerical literals.</p>
+            </li>
+
+            <li>
+              <p>New built-in for the columnar/tabular displaying of
+              sequences: <a href="ref_builtins_sequence.html#ref_builtin_chunk"><code>chunk</code></a>.</p>
+            </li>
+
+            <li>
+              <p>The <a href="dgui_template_exp.html#dgui_template_exp_seqenceop_slice">sequence
+              slice</a> and substring operators now allow the omitting of
+              the last index, in which case it defaults to the index of the
+              last sequence item or character. Example:
+              <code class="inline-code">products[2..]</code>. (Also, <a href="dgui_template_exp.html#dgui_template_exp_direct_seuqence">numerical range
+              literals</a> now allow the omitting of the final number, in
+              which case it defaults to infinity. Example:
+              <code class="inline-code">5..</code>.)</p>
+            </li>
+
+            <li>
+              <p>Bugfix: <code class="inline-code">?replace</code> has worked forever if
+              the string to replace was <code class="inline-code">&quot;&quot;</code>.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_211">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>New template loader:
+              <code class="inline-code">freemarker.cache.StringTemplateLoader</code>. It
+              uses a <code class="inline-code">Map</code> with <code class="inline-code">Strings</code> as
+              its source of templates. See more in the JavaDoc.</p>
+            </li>
+
+            <li>
+              <p>Experimental Rhino support: FreeMarker now comes with an
+              experimental object wrapper for Rhino (Java ECMAScript
+              implementation):
+              <code class="inline-code">freemarker.ext.rhino.RhinoWrapper</code></p>
+            </li>
+
+            <li>
+              <p>Some new utility methods for
+              <code class="inline-code">Simple<em class="code-color">Xxx</em></code> classes:
+              <code class="inline-code">SimpleHash.toMap()</code>,
+              <code class="inline-code">SimpleSequence.toList()</code>.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: FTL literals and any other
+              <code class="inline-code">SimpleSequnce</code>-s, and
+              <code class="inline-code">SimpleHash</code>-es now can be used as parameters
+              to the FreeMarker-unaware Java methods that are exposed by
+              <code class="inline-code">DefaultWrapper</code> or
+              <code class="inline-code">BeansWrapper</code>. That is, the method parameters
+              are automatically converted from
+              <code class="inline-code">Template<em class="code-color">Type</em>Model</code>-s
+              to <code class="inline-code">java.util.Map</code> and
+              <code class="inline-code">java.util.List</code> respectively.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: The JSP support now works in JSP 2 compliant
+              containers as well. No, it doesn&#39;t support the new features of
+              JSP 2 yet, it&#39;s just that the JSP 1.2 taglib support has not
+              worked in JSP 2 containers.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: The
+              <code class="inline-code">Configuration.setOutputEncoding</code> and
+              <code class="inline-code">setURLEscapingCharset</code> methods died with
+              <code class="inline-code">NullPointerException</code> when you tried to set
+              the setting value to <code class="inline-code">null</code>, which is legal for
+              these settings.</p>
+            </li>
+
+            <li>
+              <p>Bugfix:
+              <code class="inline-code">freemarker.template.utility.StringUtil.replace(...)</code>
+              has worked forever if the string to replace was
+              <code class="inline-code">&quot;&quot;</code>.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: The Log4J logging was updated to be compatible
+              with the upcoming Log4J 1.3. Note that now FreeMarker will need
+              at least Log4J 1.2.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: FreeMarker didn&#39;t built from the source code on
+              J2SE 1.5, because of the introduction of the
+              <code class="inline-code">enum</code> keyword.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: The return value of
+              <code class="inline-code">SimpleSequence.synchronizedWrapper()</code> was not
+              properly synchronized. Same with
+              <code class="inline-code">SimpleHash.synchronizedWrapper()</code>.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: Problem with <code class="inline-code">BeansWrapper</code> and
+              overridden bean methods/properties. (Details: bug-tracker entry
+              <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1217661&amp;group_id=794&amp;atid=100794">#1217661</a>
+              and <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1166533&amp;group_id=794&amp;atid=100794">#1166533</a>)</p>
+            </li>
+
+            <li>
+              <p>Bugfix: Can&#39;t access JSP taglibs if
+              <code class="inline-code">Request</code> attribute is defined in the
+              data-model (Details: bug-tracker entry <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1202918&amp;group_id=794&amp;atid=100794">#1202918</a>).</p>
+            </li>
+
+            <li>
+              <p>Bugfix: Various minor parser glitches were fixed.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_212">Other changes</h2>
+
+
+          <ul>
+            <li>
+              <p>Manual improvements, especially in the FAQ.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_4.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_2.html"><span>Next</span></a></div></div></div></div>      </div>
+    </div>
+<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
+Last generated:
+<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
+<p class="copyright">
+� <span itemprop="copyrightYear">1999</span>\u20132017
+<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
+</div></div></div></body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_4.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_3_4.html b/builds/2.3.26-nightly/versions_2_3_4.html
new file mode 100644
index 0000000..4aaa6d0
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_3_4.html
@@ -0,0 +1,121 @@
+<!doctype html>
+<!-- Generated by FreeMarker/Docgen from DocBook -->
+<html lang="en" class="page-type-section">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<title>2.3.4 - Apache FreeMarker Manual</title>
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="format-detection" content="telephone=no">
+<meta property="og:site_name" content="Apache FreeMarker Manual">
+<meta property="og:title" content="2.3.4">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_4.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_4.html">
+<link rel="icon" href="favicon.png" type="image/png">
+<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ga('create', 'UA-55420501-1', 'auto');
+ga('send', 'pageview');
+</script>
+</head>
+<body itemscope itemtype="https://schema.org/Code">
+    <meta itemprop="url" content="http://freemarker.org/docs/">
+    <meta itemprop="name" content="Apache FreeMarker Manual">
+
+  <!--[if lte IE 9]>
+  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
+  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
+</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl
 ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_4.html"><span itemprop="name">2.3.4</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
+      <div class="content-wrapper">
+  <div id="table-of-contents-wrapper" class="col-left">
+      <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.4"];</script>
+      <script src="toc.js?1489402528979"></script>
+      <script src="docgen-resources/main.min.js?1489402528979"></script>
+  </div>
+<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_5.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_3.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_3_4" itemprop="headline">2.3.4</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_207" data-menu-target="autoid_207">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_208" data-menu-target="autoid_208">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_209" data-menu-target="autoid_209">Other changes</a></li></ul> </div><p>Date of release: 2005-10-10</p><p>Some new features and bugfixes.</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_207">Changes on the FTL side</h2>
+
+
+          <ul>
+            <li>
+              <p>Now you can use <code class="inline-code">[</code> and
+              <code class="inline-code">]</code> instead of <code class="inline-code">&lt;</code> and
+              <code class="inline-code">&gt;</code> for the FreeMarker tags. For example you
+              can write <code class="inline-code">[#if
+              loggedIn]<em class="code-color">...</em>[/#if]</code> and
+              <code class="inline-code">[@myMacro /]</code>. <a href="dgui_misc_alternativesyntax.html">More info...</a></p>
+            </li>
+
+            <li>
+              <p>Bugfix: the <code class="inline-code">has_content</code> built-in
+              returned <code class="inline-code">false</code> for number, date and boolean
+              values (if the value was not a multi-type value that is also a
+              sequence or collection or hash or string). Now it always returns
+              <code class="inline-code">true</code> for a number, date or boolean values
+              (except if the value is also a sequence or collection or hash or
+              string, because then it will be examined only like that).</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_208">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bugfix: the parameterless constructor of the
+              <code class="inline-code">ClassTemplateLoader</code> didn&#39;t worked.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: The Jython wrapper didn&#39;t wrapped
+              <code class="inline-code">java.util.Date</code> objects well. Now it wraps
+              them with <code class="inline-code">BeanWrapper</code> to
+              <code class="inline-code">TemplateDateModel</code>.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: the <code class="inline-code">include</code> directive was
+              blamed when the included file had syntax error.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_209">Other changes</h2>
+
+
+          <ul>
+            <li>
+              <p>Minor Manual fixes.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_5.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_3.html"><span>Next</span></a></div></div></div></div>      </div>
+    </div>
+<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
+Last generated:
+<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
+<p class="copyright">
+� <span itemprop="copyrightYear">1999</span>\u20132017
+<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
+</div></div></div></body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_5.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_3_5.html b/builds/2.3.26-nightly/versions_2_3_5.html
new file mode 100644
index 0000000..aab02de
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_3_5.html
@@ -0,0 +1,162 @@
+<!doctype html>
+<!-- Generated by FreeMarker/Docgen from DocBook -->
+<html lang="en" class="page-type-section">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<title>2.3.5 - Apache FreeMarker Manual</title>
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<meta name="format-detection" content="telephone=no">
+<meta property="og:site_name" content="Apache FreeMarker Manual">
+<meta property="og:title" content="2.3.5">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_5.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_5.html">
+<link rel="icon" href="favicon.png" type="image/png">
+<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
+<script>
+(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ga('create', 'UA-55420501-1', 'auto');
+ga('send', 'pageview');
+</script>
+</head>
+<body itemscope itemtype="https://schema.org/Code">
+    <meta itemprop="url" content="http://freemarker.org/docs/">
+    <meta itemprop="name" content="Apache FreeMarker Manual">
+
+  <!--[if lte IE 9]>
+  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
+  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
+</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl
 ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_5.html"><span itemprop="name">2.3.5</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
+      <div class="content-wrapper">
+  <div id="table-of-contents-wrapper" class="col-left">
+      <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.5"];</script>
+      <script src="toc.js?1489402528979"></script>
+      <script src="docgen-resources/main.min.js?1489402528979"></script>
+  </div>
+<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_6.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_4.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_3_5" itemprop="headline">2.3.5</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_205" data-menu-target="autoid_205">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_206" data-menu-target="autoid_206">Changes on the Java side</a></li></ul> </div><p>Date of release: 2006-03-11</p><p><em>This release was withdrawn because of a serious bug in
+        it. Please don&#39;t use it! Of course, all new features of it are
+        included in FreeMarker 2.3.6.</em></p><p>A few new features and several bugfixes.</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_205">Changes on the FTL side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bug fixed: <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1435847&amp;group_id=794">[1435847]</a>
+              Alternative syntax doesn&#39;t work for comments</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: With the new square bracket syntax, the tag
+              could be closed with <code class="inline-code">&gt;</code>. Now it can be
+              closed with <code class="inline-code">]</code> only.</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1324020&amp;group_id=794">[1324020]</a>
+              <code class="inline-code">ParseException</code> with the
+              <code class="inline-code">ftl</code> directive if it wasn&#39;t in its own
+              line</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1404033&amp;group_id=794">[1404033]</a>
+              <code class="inline-code">eval</code> built-in fails with hash
+              concatenation</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_206">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>A new <code class="inline-code">Configuration</code> level setting,
+              <code class="inline-code">tagSyntax</code> was added. This determines the
+              syntax of the templates (angle bracket syntax VS <a href="dgui_misc_alternativesyntax.html">square bracket
+              syntax</a>) that has no <code class="inline-code">ftl</code> directive in
+              it. So now you can choose to use the new square bracket syntax
+              by default. However, the recommended is to use auto-detection
+              (<code class="inline-code">yourConfig.setTagSyntax(Configuration.AUTO_DETECT_TAG_SYNTAX)</code>),
+              because that will be the default starting from 2.4.
+              Auto-detection chooses syntax based on the syntax of the first
+              FreeMarker tag of the template (could be any FreeMarker tag, not
+              just <code class="inline-code">ftl</code>). Note that as with the previous
+              version, if a the template uses <code class="inline-code">ftl</code>
+              directive, then the syntax of the <code class="inline-code">ftl</code>
+              directive determines the syntax of the template, and the
+              <code class="inline-code">tagSyntax</code> setting is ignored.</p>
+            </li>
+
+            <li>
+              <p>Now <code class="inline-code">BeansWrapper</code>,
+              <code class="inline-code">DefaultObjectWrapper</code> and
+              <code class="inline-code">SimpleObjectWrapper</code> support lookup with 1
+              character long strings in <code class="inline-code">Map</code>-s (like
+              <code class="inline-code">myHash[&quot;a&quot;]</code>) that use
+              <code class="inline-code">Character</code> keys. Simply, as a special case,
+              when a hash lookup fails on a string that is 1 character long,
+              it checks for the <code class="inline-code">Character</code> key in the
+              underlying map. (Bug tracker entry <a href="http://sourceforge.net/tracker/?func=detail&amp;atid=100794&amp;aid=1299045&amp;group_id=794">[1299045]</a>
+              FreeMarker doesn&#39;t support map lookup with Character
+              keys.)</p>
+            </li>
+
+            <li>
+              <p>A new property, <code class="inline-code">strict</code> was added to
+              <code class="inline-code">BeansWrapper</code>,
+              <code class="inline-code">DefaultObjectWrapper</code> and
+              <code class="inline-code">SimpleObjectWrapper</code>. If this property is
+              <code class="inline-code">true</code> then an attempt to read a bean propertly
+              in the template (like <code class="inline-code">myBean.aProperty</code>) that
+              doesn&#39;t exist in the bean class (as opposed to just holding
+              <code class="inline-code">null</code> value) will cause
+              <code class="inline-code">InvalidPropertyException</code>, which can&#39;t be
+              suppressed in the template (not even with
+              <code class="inline-code">myBean.noSuchProperty?default(&#39;something&#39;)</code>).
+              This way <code class="inline-code">?default(&#39;something&#39;)</code> and
+              <code class="inline-code">?exists</code> and similar built-ins can be used to
+              handle existing properties whose value is
+              <code class="inline-code">null</code>, without the risk of hiding typos in the
+              property names. Typos will always cause error. But mind you, it
+              goes against the basic approach of FreeMarker, so use this
+              feature only if you really know what are you doing.</p>
+            </li>
+
+            <li>
+              <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1426227&amp;group_id=794&amp;atid=100794">[1426227]</a>
+              <code class="inline-code">NullPointerException</code> in
+              <code class="inline-code">printStackTrace(...)</code></p>
+            </li>
+
+            <li>
+              <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1386193&amp;group_id=794&amp;atid=100794">[1386193]</a>
+              Division by zero in <code class="inline-code">ArithmeticEngine</code></p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_6.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_4.html"><span>Next</span></a></div></div></div></div>      </div>
+    </div>
+<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
+Last generated:
+<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
+<p class="copyright">
+� <span itemprop="copyrightYear">1999</span>\u20132017
+<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
+</div></div></div></body>
+</html>