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'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'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">&&</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'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'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"><#-- + <em class="code-color">...</em> --></code> instead of + <code class="inline-code"><comment><em class="code-color">...</em></comment></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'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'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'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'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"><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>></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"><transform html_escape></code> will invoke + the + <code class="inline-code">freemarker.template.utility.HtmlEscape</code> + transform. More information: <a href="pgui_config_sharedvariables.html">Programmer'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'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"><#stop></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>â2017 +<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"><#-- blah < blah --></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>â2017 +<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'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>â2017 +<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>â2017 +<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">"user.dir"</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>â2017 +<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'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>â2017 +<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>
