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:50 UTC

[14/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_1.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_1.html b/builds/2.3.26-nightly/versions_2_1.html
new file mode 100644
index 0000000..ea18477
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_1.html
@@ -0,0 +1,539 @@
+<!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.1 - 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.1">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_1.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_1.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_1.html"><span itemprop="name">2.1</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.1"];</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_1_1.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_01.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_1" itemprop="headline">2.1</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_277" data-menu-target="autoid_277">Changes in FTL (FreeMarker Template Language)</a></li><li><a class="page-menu-link" href="#autoid_278" data-menu-target="autoid_278">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_279" data-menu-target="autoid_279">Other changes</a></li><li><a class="page-menu-link" href="#autoid_280" data-menu-target="autoid_280">Differences between the RC1 and final release</a></li></ul> </div><p>Date of release: 2002-10-17</p><p>Templates and the Java API are <em>not</em> fully
+        compatible with 2.0 releases. You will need to revisit existing code
+        and templates, or use 2.1 for new projects only. Sorry for this
+        inconvenience; FreeMarker has undergone some revolutionary changes
+        since the 1.x series. We hope things will soon be sufficiently mature
+        for us to offer (almost) backward-compatible releases. Note that there
+        is a backward-compatibility flag that can be set via
+        <code class="inline-code">Configuration.setClassicCompatible(true)</code> that
+        causes the new FreeMarker to emulate most of FreeMarker 1.x&#39;s
+        quirks.</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_277">Changes in FTL (FreeMarker Template Language)</h2>
+
+
+          <ul>
+            <li>
+              <p>More strict, reveals accidental mistakes in the templates,
+              prevents showing incorrect information when something went
+              wrong:</p>
+
+              <ul>
+                <li>
+                  <p>An attempt to access an undefined variable causes an
+                  error and aborts template processing (by default at least;
+                  see later). In earlier versions undefined variables were
+                  silently treated as empty (zero-length) strings. However,
+                  you can handle undefined variables in the template with some
+                  new built-ins. For example,
+                  <code class="inline-code">${foo?if_exists}</code> is equivalent with the
+                  <code class="inline-code">${foo}</code> of earlier versions. Another way
+                  of looking at this is that null values no longer exist from
+                  the viewpoint of a template designer. Anything referenced
+                  must be a defined variable.</p>
+
+                  <p>Note however that the programmer can configure
+                  FreeMarker so that it ignores certain errors (say, undefined
+                  variables), and continues template processing by skipping
+                  the problematic part. This "loose" policy
+                  should be used only for sites that don&#39;t show critical
+                  information.</p>
+                </li>
+
+                <li>
+                  <p>New variable type: <a href="gloss.html#gloss.boolean">boolean</a>. Conditions in
+                  <code class="inline-code">if</code>/<code class="inline-code">elseif</code> and operands
+                  of logical operators (<code class="inline-code">&amp;&amp;</code>,
+                  <code class="inline-code">||</code>, <code class="inline-code">!</code>) must be
+                  booleans. Empty strings are no longer treated as a logical
+                  false.</p>
+                </li>
+              </ul>
+            </li>
+
+            <li>
+              <p>Local and global variables. More info: <a href="dgui_misc_var.html">Template Author&#39;s Guide/Miscellaneous/Defining variables in the template</a></p>
+
+              <ul>
+                <li>
+                  <p>Local variables for macros. You can create/replace
+                  local variables in macro definition bodies with the <a href="ref_directive_local.html#ref.directive.local"><code>local</code>
+                  directive</a></p>
+                </li>
+
+                <li>
+                  <p>You can create/replace global (non-local) variables
+                  with the <a href="ref_directive_global.html#ref.directive.global"><code>global</code>
+                  directive</a></p>
+                </li>
+              </ul>
+            </li>
+
+            <li>
+              <p>The <a href="ref_directive_include.html#ref.directive.include"><code>include</code></a>
+              directive now by default treats the passed filename as being
+              relative to the including template&#39;s path. To specify absolute
+              template paths, you now have to prepend them with a
+              slash.</p>
+            </li>
+
+            <li>
+              <p>The <a href="ref_directive_include.html#ref.directive.include"><code>include</code></a>
+              directive can now use the <em>acquisition
+              algorithm</em> (familiar from the Zope system) to look up
+              the template to include. Basically, if a template is not found
+              where it is looked up first, it is looked up in parent
+              directories. This is however not a default behavior, rather it
+              is triggered by a new syntactic element.</p>
+            </li>
+
+            <li>
+              <p>Strict syntax mode: Allows you to generate arbitrary SGML
+              (XML) without worrying about clashes with FreeMarker directives.
+              For more information read: <a href="ref_depr_oldsyntax.html">Template Language Reference/Deprecated FTL constructs/Old FTL syntax</a></p>
+            </li>
+
+            <li>
+              <p>Terse comments: you can use <code class="inline-code">&lt;#--
+              <em class="code-color">...</em> --&gt;</code> instead of
+              <code class="inline-code">&lt;comment&gt;<em class="code-color">...</em>&lt;/comment&gt;</code></p>
+            </li>
+
+            <li>
+              <p>Directive that you can use to change the locale (and other
+              settings) inside the template: <a href="ref_directive_setting.html#ref.directive.setting"><code>setting</code></a></p>
+            </li>
+
+            <li>
+              <p>Directive to explicitly flush the output buffer: <a href="ref_directive_flush.html#ref.directive.flush"><code>flush</code></a></p>
+            </li>
+
+            <li>
+              <p>The top-level (root) hash is available via the variable
+              <code class="inline-code">root</code>, which is now a reserved name.</p>
+            </li>
+
+            <li>
+              <p>The misnamed <code class="inline-code">function</code> directive has
+              been renamed to <code class="inline-code">macro</code>.</p>
+            </li>
+
+            <li>
+              <p>String literals support various new <a href="dgui_template_exp.html#topic.escapeSequence">escape sequences</a>,
+              including UNICODE escapes
+              (<code class="inline-code">\x<em class="code-color">CODE</em></code>)</p>
+            </li>
+
+            <li>
+              <p>The <a href="ref_directive_compress.html#ref.directive.compress"><code>compress</code></a>
+              directive is now more conservative in removing line
+              breaks.</p>
+            </li>
+
+            <li>
+              <p>Built-in to capitalize the first word: <a href="ref_builtins_string.html#ref_builtin_cap_first"><code>cap_first</code></a></p>
+            </li>
+
+            <li>
+              <p>Built-in to generate on-the-fly templates: <a href="ref_builtins_expert.html#ref_builtin_interpret"><code>interpret</code></a></p>
+            </li>
+
+            <li>
+              <p><a href="ref_directive_stop.html#ref.directive.stop"><code>stop</code></a>
+              directive has an optional parameter to describe the reason of
+              termination</p>
+            </li>
+
+            <li>
+              <p>Better error messages.</p>
+            </li>
+
+            <li>
+              <p>New variable type: date. <em>Date support is
+              experimental. It can change substantially in the future. Keep
+              this in mind if you use it.</em></p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_278">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p><code class="inline-code">ObjectWrapper</code>: You can put
+              non-<code class="inline-code">TemplateModel</code> objects directly into
+              hashes, sequences and collections, and they will be
+              automatically wrapped with the appropriate
+              <code class="inline-code">TemplateModel</code> implementation. The API of
+              objects that are exposed to templates
+              (<code class="inline-code">Simple<em class="code-color">XXX</em></code>) has
+              been changed according to this, for example in
+              <code class="inline-code">SimpleHash</code> the old <code class="inline-code">put(String key,
+              TemplateModel value)</code> is now <code class="inline-code">put(String key,
+              Object object)</code>. Also, you can pass any kind of object
+              as data-model to <code class="inline-code">Template.process</code>. The
+              alternative reflection based <code class="inline-code">ObjectWrapper</code>
+              can expose the members of any Java object automatically for the
+              designer. More information: <a href="pgui_datamodel_objectWrapper.html">Object wrapping</a>,
+              <a href="pgui_misc_beanwrapper.html">Bean wrapper</a>, <a href="pgui_misc_jythonwrapper.html">Jython wrapper</a>.</p>
+            </li>
+
+            <li>
+              <p>The <code class="inline-code">Configuration</code> object was introduced
+              as a central point to hold all your FreeMarker-related global
+              settings, as well as commonly used variables that you want to
+              have available from any template. Also it encapsulates the
+              template cache and can be used to load templates. For more
+              information read <a href="pgui_config.html">Programmer&#39;s Guide/The Configuration</a>.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">TemplateLoader</code>: pluggable template
+              loader, separates caching from template loading</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">TemplateNumberModel</code>-s do not control
+              their formatting anymore. They just store the data (i.e. a
+              number). Number formatting is done by the FreeMarker core based
+              on the <code class="inline-code">locale</code> and
+              <code class="inline-code">number_format</code> settings. This logic applies to
+              the new experimental date type as well.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">TemplateBooleanModel</code> introduced: Only
+              objects that implements this interface can be used as a boolean
+              in true/false conditions. More info: <a href="pgui_datamodel_scalar.html">Programmer&#39;s Guide/The Data Model/Scalars</a></p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">TemplateDateModel</code> introduced: objects
+              that implements this interface are recognized as dates and can
+              be locale-sensitively formatted. <em>Date support is
+              experimental in FreeMarker 2.1. It can change substantially in
+              the future. Keep this in mind if you use it.</em></p>
+            </li>
+
+            <li>
+              <p>The <code class="inline-code">TemplateModelRoot</code> interface was
+              deprecated. As of FreeMarker 2.1, you can simply use any
+              instance of <code class="inline-code">TemplateHashModel</code> instead. This
+              actually is due to a significant architectural change. Variables
+              set or defined in a template are stored in a separate
+              <code class="inline-code">Environment</code> object that only exists while the
+              template is being rendered. Thus, the template doesn&#39;t modify
+              the root hash.</p>
+            </li>
+
+            <li>
+              <p>Changes to transformations</p>
+
+              <ul>
+                <li>
+                  <p>Completely rewritten
+                  <code class="inline-code">TemplateTransformModel</code> interface. More
+                  flexible, and does not impose output holding. More
+                  information: <a href="pgui_datamodel_directive.html">Programmer&#39;s Guide/The Data Model/Directives</a></p>
+                </li>
+
+                <li>
+                  <p>The <code class="inline-code">transform</code> directive now takes
+                  an optional set of key/value pairs. <code class="inline-code">&lt;transform
+                  myTransform;
+                  <em class="code-color">key1</em>=<em class="code-color">value1</em>,
+                  <em class="code-color">key2</em>=<em class="code-color">value2</em>
+                  <em class="code-color">...</em>&gt;</code>. More
+                  information: <a href="ref_depr_transform.html#ref.directive.transform"><code>transform</code>
+                  directive</a></p>
+                </li>
+
+                <li>
+                  <p>The transforms that ship with the FreeMarker core are
+                  now available by default to all templates - i.e.
+                  <code class="inline-code">&lt;transform html_escape&gt;</code> will invoke
+                  the
+                  <code class="inline-code">freemarker.template.utility.HtmlEscape</code>
+                  transform. More information: <a href="pgui_config_sharedvariables.html">Programmer&#39;s Guide/The Configuration/Shared variables</a></p>
+                </li>
+              </ul>
+            </li>
+
+            <li>
+              <p>User-defined <code class="inline-code">TemplateModel</code> objects now
+              can access the runtime environment (read and set variables, get
+              the current locale, etc.) using an
+              <code class="inline-code">Environment</code> instance, which can be obtained
+              by the static
+              <code class="inline-code">Environment.getCurrentEnvironment()</code> method.
+              As a result, <code class="inline-code">TemplateScalarModel.getAsString</code>
+              has been changed: it has no locale parameter.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">TemplateExceptionHandler</code>-s make it
+              possible to define your own rules on what to do when a runtime
+              error occurs (e.g. accessing a non existing variable) during
+              template processing. For example, you can abort template
+              processing (recommended for most sites), or skip the problematic
+              statement and continue template processing (similar to old
+              behavior). DebugMode has been removed, use
+              <code class="inline-code">TemplateExceptionHandler.DEBUG_HANDLER</code> or
+              <code class="inline-code">HTML_DEBUG_HANDLER</code> instead.</p>
+            </li>
+
+            <li>
+              <p>Logging: FreeMarker logs certain events (runtime errors
+              for example). For more information read <a href="pgui_misc_logging.html">Programmer&#39;s Guide/Miscellaneous/Logging</a>.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">SimpleIterator</code> was removed, but we
+              provide a <code class="inline-code">TemplateCollectionModel</code>
+              implementation: <code class="inline-code">SimpleCollection</code>.</p>
+            </li>
+
+            <li>
+              <p>Arithmetic engine is pluggable
+              (<code class="inline-code">Configuration.setArithmeticEngine</code>). The core
+              distribution comes with two engines:
+              <code class="inline-code">ArithmeticEngine.BIGDECIMAL_ENGINE</code> (the
+              default) that converts all numbers to
+              <code class="inline-code">BigDecimal</code> and then operates on them, and
+              <code class="inline-code">ArithmeticEngine.CONSERVATIVE_ENGINE</code> that
+              uses (more-or-less) the widening conversions of Java language,
+              instead of converting everything to
+              <code class="inline-code">BigDecimal</code>.</p>
+            </li>
+
+            <li>
+              <p>Changes to <code class="inline-code">freemarker.ext.beans</code>
+              package: The JavaBeans adapter layer has suffered several major
+              changes. First, <code class="inline-code">BeansWrapper</code> is no longer a
+              static utility class - you can now create instances of it, and
+              every instance can have its own instance caching policy and
+              security settings. These security settings are also new - you
+              can now create JavaBeans wrappers that hide methods that are
+              considered unsafe or inappropriate in a templating environment.
+              By default, you can no longer call methods like
+              <code class="inline-code">System.exit()</code> from the template (although you
+              can manually turn off these safeguards). The
+              <code class="inline-code">StaticModel</code> and
+              <code class="inline-code">StaticModels</code> classes are gone; their
+              functionality is now replaced with the
+              <code class="inline-code">BeansWrapper.getStaticModels()</code> method.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">freemarker.ext.jython</code> package:
+              FreeMarker can now directly use Jython objects as data-models
+              using the <a href="pgui_misc_jythonwrapper.html">Jython
+              wrapper</a>.</p>
+            </li>
+
+            <li>
+              <p>Changes to <code class="inline-code">freemarker.ext.jdom</code> package:
+              The package now uses the <em>Jaxen</em> package
+              instead of its predecessor, the
+              <em>werken.xpath</em> package to evaluate XPath
+              expressions. Since <em>Jaxen</em> is a successor to
+              <em>werken.xpath</em>, this can be considered to be
+              an upgrade. As a consequence, namespace prefixes are now
+              recognized in XPath expressions and the overall XPath
+              conformance is better.</p>
+            </li>
+
+            <li>
+              <p>Better error reporting: If the processing of a template is
+              aborted by a <code class="inline-code">TemplateException</code> being thrown,
+              or using a <code class="inline-code">&lt;#stop&gt;</code> directive,
+              FreeMarker will now output an execution trace with line and
+              column numbers relative to the template source.</p>
+            </li>
+
+            <li>
+              <p>The output is written to a simple
+              <code class="inline-code">Writer</code>; no more
+              <code class="inline-code">PrintWriter</code>. This redesign causes FreeMarker
+              to no longer swallow <code class="inline-code">IOException</code>s during
+              template processing.</p>
+            </li>
+
+            <li>
+              <p>Various API cleanups, primarily the removing of
+              superfluous constructor and method overloads.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_279">Other changes</h2>
+
+
+          <ul>
+            <li>
+              <p>Documentation has been rewritten from scratch</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_280">Differences between the RC1 and final release</h2>
+
+
+          <ul>
+            <li>
+              <p>Added the support for date models and locale-sensitive
+              date formatting. <em>Date support is experimental in
+              FreeMarker 2.1. It can change substantially in the future. Keep
+              this in mind if you use it.</em></p>
+            </li>
+
+            <li>
+              <p>Added the <code class="inline-code">default</code> built-in which makes
+              it possible to specify default values for undefined
+              expressions.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">SimpleIterator</code> has been removed,
+              <code class="inline-code">SimpleCollection</code> has been introduced</p>
+            </li>
+
+            <li>
+              <p>Arithmetic engine is pluggable. The core now contains two
+              arithmetic engines:
+              <code class="inline-code">ArithmeticEngine.BIGDECIMAL_ENGINE</code> and
+              <code class="inline-code">ArithmeticEngine.CONSERVATIVE_ENGINE</code>.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">BeansWrapper</code> supports a new exposure
+              level: <code class="inline-code">EXPOSE_NOTHING</code></p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">Constants</code> interface was removed.
+              <code class="inline-code"><em class="code-color">...</em>_WRAPPER</code>
+              constants have been moved from <code class="inline-code">Constants</code> to
+              <code class="inline-code">ObjectWrapper</code>,
+              <code class="inline-code">EMPTY_STRING</code> constant was moved to
+              <code class="inline-code">TemplateScalarModel</code>,
+              <code class="inline-code">NOTHING</code> constant was moved to
+              <code class="inline-code">TemplateModel</code>, <code class="inline-code">TRUE</code> and
+              <code class="inline-code">FALSE</code> constants were moved to
+              <code class="inline-code">TemplateBooleanModel</code>.</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">JAVABEANS_WRAPPER</code> was renamed to
+              <code class="inline-code">BEANS_WRAPPER</code></p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">Configuration.get</code> and
+              <code class="inline-code">put</code>, <code class="inline-code">putAll</code> were renamed
+              to <code class="inline-code">getSharedVariable</code> and
+              <code class="inline-code">setSharedVariable</code>,
+              <code class="inline-code">setAllSharedVariables</code></p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">Configuration.getClassicCompatibility</code>,
+              <code class="inline-code">setClassicCompatibility</code> were renamed to
+              <code class="inline-code">isClassicCompatible</code>,
+              <code class="inline-code">setClassicCompatible</code></p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">Template.process</code> method overloads with
+              <code class="inline-code">useReflection</code> parameter was removed. But now
+              we have <code class="inline-code">setObjectWrapper</code> method in the
+              <code class="inline-code">Configuration</code>, so you can set the preferred
+              root-object wrapper there.</p>
+            </li>
+
+            <li>
+              <p>Some superfluous method overloads were removed; these
+              changes are backward compatible with RC1</p>
+            </li>
+
+            <li>
+              <p>Various minor JavaDoc and Manual improvements</p>
+            </li>
+
+            <li>
+              <p>Bugfix: <code class="inline-code">include</code> directive has
+              calculated the base path of relative paths wrongly</p>
+            </li>
+
+            <li>
+              <p>Bugfix: We have accidentally used a J2SE 1.3 class, but
+              FreeMarker 2.1 must able to run on J2SE 1.2</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_1_1.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_01.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_1_1.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_1_1.html b/builds/2.3.26-nightly/versions_2_1_1.html
new file mode 100644
index 0000000..8c919ae
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_1_1.html
@@ -0,0 +1,125 @@
+<!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.1.1 - 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.1.1">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_1_1.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_1_1.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_1_1.html"><span itemprop="name">2.1.1</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.1.1"];</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_1_2.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_1_1" itemprop="headline">2.1.1</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_275" data-menu-target="autoid_275">Changes in FTL (FreeMarker Template Language)</a></li><li><a class="page-menu-link" href="#autoid_276" data-menu-target="autoid_276">Changes on the Java side</a></li></ul> </div><p>Date of release: 2002-11-04</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_275">Changes in FTL (FreeMarker Template Language)</h2>
+
+
+          <ul>
+            <li>
+              <p>Multi-type variables that are both string and number or
+              string and date are now output using their number or date value
+              instead of the string value when used in the
+              <code class="inline-code">${...}</code> interpolation. This practically makes
+              the string part of a string/number or a string/date variables
+              useless.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: operator "or" (<code class="inline-code">||</code>)
+              worked wrongly when its left operand was a composite expression
+              (e.g., the second <code class="inline-code">||</code> in <code class="inline-code">false ||
+              true || false</code>; this was evaluated to
+              <code class="inline-code">false</code>, but it should be
+              <code class="inline-code">true</code>)</p>
+            </li>
+
+            <li>
+              <p>Bugfix: Less-than sign inside comments confused the FTL
+              parser (e.g. <code class="inline-code">&lt;#-- blah &lt; blah --&gt;</code>);
+              it commented out everything after the problematic
+              comment.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: Comparing two numerical constants (e.g. <code class="inline-code">3
+              == 3</code>) caused internal error in the FTL parser, and
+              aborted template processing with error.</p>
+            </li>
+
+            <li>
+              <p>Experimental date/time type support was removed, since it
+              seems that this initial implementation was misguided. FreeMarker
+              2.2 will certainly support data/time.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_276">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bugfix: <code class="inline-code">Number</code>s wrapped with
+              <code class="inline-code">BEANS_WRAPPER</code> was displayed with the
+              <code class="inline-code">toString()</code> method of wrapped object. Now they
+              are rendered according to the <code class="inline-code">number_format</code>
+              setting, because multi-type variables that are both string and
+              number are now output using their number value instead of the
+              string value.</p>
+            </li>
+
+            <li>
+              <p>Experimental date/time type support was removed, since it
+              seems that this initial implementation was misguided. FreeMarker
+              2.2 will certainly support data/time.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_1_2.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1.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_1_2.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_1_2.html b/builds/2.3.26-nightly/versions_2_1_2.html
new file mode 100644
index 0000000..81203aa
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_1_2.html
@@ -0,0 +1,130 @@
+<!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.1.2 - 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.1.2">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_1_2.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_1_2.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_1_2.html"><span itemprop="name">2.1.2</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.1.2"];</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_1_3.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_1.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_1_2" itemprop="headline">2.1.2</h1>
+</div></div><div class="page-menu">
+<div class="page-menu-title">Page Contents</div>
+<ul><li><a class="page-menu-link" href="#autoid_273" data-menu-target="autoid_273">Changes in FTL (FreeMarker Template Language)</a></li><li><a class="page-menu-link" href="#autoid_274" data-menu-target="autoid_274">Other changes</a></li></ul> </div><p>Date of release: 2002-11-28</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_273">Changes in FTL (FreeMarker Template Language)</h2>
+
+
+          <ul>
+            <li>
+              <p><code class="inline-code">FreeMarkerServlet</code> now has a setting for
+              the <code class="inline-code">Content-Type</code> header of the response,
+              defaulting to <code class="inline-code">text/html</code>. Previously it set no
+              content type, which made it not play nicely when integrated with
+              software that expected it (i.e. OpenSymphony SiteMesh).</p>
+            </li>
+
+            <li>
+              <p><code class="inline-code">FreeMarkerServlet</code> now works correctly
+              when mapped to an URL extension instead of URL path
+              prefix.</p>
+            </li>
+
+            <li>
+              <p>You can emulate <code class="inline-code">include</code> directive call
+              within Java code by calling
+              <code class="inline-code">Environment.include(<em class="code-color">templateName</em>,
+              <em class="code-color">charset</em>,
+              <em class="code-color">parse</em>)</code>.</p>
+            </li>
+          </ul>
+
+          <ul>
+            <li>
+              <p>Bugfix: When <code class="inline-code">Template.process()</code> was
+              called from another template processing, it set
+              <code class="inline-code">currentEnvironment</code> to null when it returned,
+              thus crashed the parent template processing.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: the <code class="inline-code">_descendant</code> key in JDOM
+              support incorrectly left the document root element out of the
+              result when applied to a Document node.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: because we incorrectly assumed certain behavior of
+              JDK 1.4 Beans introspector, calls to public interface methods on
+              non-public classes that implement the interface were causing
+              exceptions on JDK 1.4</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_274">Other changes</h2>
+
+
+          <ul>
+            <li>
+              <p>Various minor supplements to the manual.</p>
+            </li>
+
+            <li>
+              <p>Documentation HTML pages don&#39;t try to load the SourceForge
+              logo from the Internet anymore.</p>
+            </li>
+
+            <li>
+              <p>The default ant target is <code class="inline-code">jar</code>, not
+              <code class="inline-code">dist</code>.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_1_3.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_1.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_1_3.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_1_3.html b/builds/2.3.26-nightly/versions_2_1_3.html
new file mode 100644
index 0000000..a7e5335
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_1_3.html
@@ -0,0 +1,94 @@
+<!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.1.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.1.3">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_1_3.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_1_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_1_3.html"><span itemprop="name">2.1.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.1.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_1_4.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_2.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_1_3" itemprop="headline">2.1.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_271" data-menu-target="autoid_271">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_272" data-menu-target="autoid_272">Other changes</a></li></ul> </div><p>Date of release: 2002-12-09</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_271">Changes on the FTL side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bugfix: <code class="inline-code">cap_first</code> built-in did what
+              <code class="inline-code">double</code> built-in does.</p>
+            </li>
+          </ul>
+        
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_272">Other changes</h2>
+
+
+          <ul>
+            <li>
+              <p>The official extension of FreeMarker template files is
+              <code class="inline-code">ftl</code> from now, not <code class="inline-code">fm</code>.
+              (This is the name of the template language; FTL, for FreeMarker
+              Template Language.) Of course you can use any extensions, since
+              FreeMarker does not deal with the file extension. But we
+              recommend <code class="inline-code">ftl</code> extension as default.</p>
+            </li>
+
+            <li>
+              <p>Web application examples got tweaked again, as under JDK
+              1.4 a class in an explicit (named) package can no longer import
+              classes from the default (unnamed) package. Our webapp example
+              was using classes in the default package, they are now moved
+              into named packages.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_1_4.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_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_1_4.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_1_4.html b/builds/2.3.26-nightly/versions_2_1_4.html
new file mode 100644
index 0000000..80de0ac
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_1_4.html
@@ -0,0 +1,73 @@
+<!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.1.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.1.4">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_1_4.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_1_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_1_4.html"><span itemprop="name">2.1.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.1.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_1_5.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_3.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_1_4" itemprop="headline">2.1.4</h1>
+</div></div><p>Date of release: 2002-12-26</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_270">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bugfix: Log4J is now found when automatically discovering
+              the logging library to use.</p>
+            </li>
+
+            <li>
+              <p>Bugfix: An exception is no longer thrown in the static
+              initializer of the <code class="inline-code">Configuration</code> if the
+              directory specified in the <code class="inline-code">&quot;user.dir&quot;</code> system
+              property is not readable.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_1_5.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_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_1_5.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/versions_2_1_5.html b/builds/2.3.26-nightly/versions_2_1_5.html
new file mode 100644
index 0000000..0277751
--- /dev/null
+++ b/builds/2.3.26-nightly/versions_2_1_5.html
@@ -0,0 +1,88 @@
+<!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.1.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.1.5">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/docs/versions_2_1_5.html">
+<link rel="canonical" href="http://freemarker.org/docs/versions_2_1_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_1_5.html"><span itemprop="name">2.1.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.1.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_2.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_4.html"><span>Next</span></a></div><div class="title-wrapper">
+<h1 class="content-header header-section1" id="versions_2_1_5" itemprop="headline">2.1.5</h1>
+</div></div><p>Date of release: 2003-02-08</p>
+          
+
+
+
+<h2 class="content-header header-section2" id="autoid_269">Changes on the Java side</h2>
+
+
+          <ul>
+            <li>
+              <p>Bugfix: Fixed a bug that forced the cache to frequently
+              reload templates accessed through URL and multi template
+              loaders: Templates loaded with
+              <code class="inline-code">URLTemplateLoader</code> subclasses and
+              <code class="inline-code">MultiTemplateLoader</code> was removed from the
+              template cache after the template update delay has elapsed (5
+              seconds by default) even if the template file was unchanged.
+              This can cause lot of extra load for a high-traffic server if
+              you have many templates or if the template update delay was set
+              to 0 second.)</p>
+            </li>
+
+            <li>
+              <p>Bugfix: Many anomalies in the
+              <code class="inline-code">JythonWrapper</code> were resolved, making the
+              integration with Jython much smoother: Jython wrapper can now
+              wrap arbitrary Java objects, not only
+              <code class="inline-code">PyObject</code>-s. If an object is passed to the
+              wrapper that is neither a <code class="inline-code">TemplateModel</code>, nor
+              a <code class="inline-code">PyObject</code>, it is first coerced into a
+              <code class="inline-code">PyObject</code> using Jython&#39;s own wrapping
+              machinery, and then wrapped into a
+              <code class="inline-code">TemplateModel</code> as any other
+              <code class="inline-code">PyObject</code>.</p>
+            </li>
+          </ul>
+        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_2.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_1_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>