http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_1.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_1.html b/builds/2.3.26-nightly/versions_2_3_1.html new file mode 100644 index 0000000..0b646ce --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_1.html @@ -0,0 +1,352 @@ +<!doctype html> +<!-- Generated by FreeMarker/Docgen from DocBook --> +<html lang="en" class="page-type-section"> +<head prefix="og: http://ogp.me/ns#"> +<meta charset="utf-8"> +<title>2.3.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.3.1"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_1.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_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_3_1.html"><span itemprop="name">2.3.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.3.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_3_2.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_1" itemprop="headline">2.3.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_214" data-menu-target="autoid_214">Possible backward compatibility issue</a></li><li><a class="page-menu-link" href="#autoid_215" data-menu-target="autoid_215">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_216" data-menu-target="autoid_216">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_217" data-menu-target="autoid_217">Other changes</a></li><li><a class="page-menu-link" href="#autoid_218" data-menu-target="autoid_218">The history of the releases before the final version</a><ul><li><a class="page-menu-link" href="#autoid_219" data-menu-target="autoid_219">Differences between the preview release and final +release</a></li></ul></li></ul> </div><p>Date of release: 2005-01-04</p><p>Maintenance (with some important new features) and bugfix + release.</p> + + + + +<h2 class="content-header header-section2" id="autoid_214">Possible backward compatibility issue</h2> + + + <p>There is a bugfix that may affect the behavior of you Web + application if you use JSP tags in FreeMarker templates: + FreeMarker's implementation of + <code class="inline-code">javax.servlet.jsp.PageContext.getSession()</code> was + incorrect. The <code class="inline-code">getSession()</code> method is a + convenience method by which the custom tag can get the current + <code class="inline-code">HttpSession</code> object (possibly + <code class="inline-code">null</code> if there is no session). Till now, if the + session didn't existed then it has created it automatically, so it + never returned <code class="inline-code">null</code>. This was a bug, so starting + from 2.3.1 it never creates the session, just returns + <code class="inline-code">null</code> if it doesn't exist. The old incorrect + behavior could cause page rendering to fail if the method is called + after the page is partially flushed. But beware, the old behavior + has possibly hidden some bugs of the Web application, where it + forgot to create the session, so with the new correct behavior you + may face malfunction caused by previously cloaked bugs of the Web + application. (It's the task of the MVC Controller to create the + session, except if the JSP tag that needs a session is written so it + creates it automatically, but then it doesn't expects that + <code class="inline-code">getSession()</code> will do it.)</p> + + + + + +<h2 class="content-header header-section2" id="autoid_215">Changes on the FTL side</h2> + + + <ul> + <li> + <p>New built-in: <a href="ref_builtins_string.html#ref_builtin_url"><code>url</code></a>. This + built-in can be used for URL escaping. Note, however, that to + use this built-in conveniently, the software that encapsulates + FreeMarker has to be 2.3.1 aware (programmers will find more + info bellow...).</p> + </li> + + <li> + <p>New <a href="ref_specvar.html">special variables</a>: + <code class="inline-code">output_encoding</code> and + <code class="inline-code">url_escaping_charset</code>. Note, however, that to + use these, the software that encapsulates FreeMarker has to be + 2.3.1 aware (programmers will find more info bellow...).</p> + </li> + + <li> + <p>New built-ins for sequences: <a href="ref_builtins_sequence.html#ref_builtin_seq_contains"><code>seq_contains</code></a>, + <a href="ref_builtins_sequence.html#ref_builtin_seq_index_of"><code>seq_index_of</code></a>, + <a href="ref_builtins_sequence.html#ref_builtin_seq_last_index_of"><code>seq_last_index_of</code></a>.</p> + </li> + + <li> + <p>New built-ins for strings: <a href="ref_builtins_string.html#ref_builtin_left_pad"><code>left_pad</code></a>, + <a href="ref_builtins_string.html#ref_builtin_right_pad"><code>right_pad</code></a> + and <a href="ref_builtins_string.html#ref_builtin_contains"><code>contains</code></a>.</p> + </li> + + <li> + <p>New directive: <a href="ref_directive_attempt.html#ref.directive.attempt"><code>attempt</code>/<code>recover</code></a></p> + </li> + + <li> + <p>The <a href="ref_builtins_string.html#ref_builtin_js_string"><code>js_string</code> + built-in</a> now escapes <code class="inline-code">></code> as + <code class="inline-code">\></code> (to avoid + <code class="inline-code"></script></code>).</p> + </li> + + <li> + <p>The <code class="inline-code">sort</code> and <code class="inline-code">sort_by</code> + built-ins now can sort by date values. Also, + <code class="inline-code">sort_by</code> built-in now can sort by the + subvarible of a subvariable of a subvariable... etc. for any + level depth. (<a href="ref_builtins_sequence.html#ref_builtin_sort_by">Details...</a>)</p> + </li> + + <li> + <p><code class="inline-code">freemarker.template.TemplateExceptionHandler.HTML_DEBUG_HANDLER</code> + now prints more HTML-context-proof messages.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_216">Changes on the Java side</h2> + + + <ul> + <li> + <p>New setting: <code class="inline-code">output_encoding</code>. This + setting is used for informing FreeMarker about the charset that + the enclosing software (as a Web application framework) uses for + the output of FreeMarker. It's undefined by default, and + although it is not strictly required to set it, the enclosing + software should do so. This setting must be set if templates + want to use the new <code class="inline-code">output_encoding</code> special + variable, and possibly if they want to use the new + <code class="inline-code">url</code> built-in. Note that the FreeMarker API + allows you to set settings for each template execution + individually (look at + <code class="inline-code">Template.createProcessingEnvironment(...)</code>).</p> + </li> + + <li> + <p>New setting: <code class="inline-code">url_escaping_charset</code>. This + is the charset used for calculating the escaped parts + (<code class="inline-code">%<em class="code-color">XX</em></code>) when you do + URL escaping with the new <code class="inline-code">url</code> built-in. If it + is not set, then the <code class="inline-code">url</code> built-in uses the + value of the <code class="inline-code">output_encoding</code> setting, and if + that's not set either, then the parameterless version of + <code class="inline-code">url</code> built-in (<code class="inline-code">${foo?url}</code>) + can't be used.</p> + </li> + + <li> + <p>Using the singleton (static) + <code class="inline-code">Configuration</code> instance is clearly a bad + practice, so related methods are now deprecated, and the Manual + was adjusted, and the <code class="inline-code">FreemarkerXmlTask</code> was + updated as well.</p> + </li> + + <li> + <p>The + <code class="inline-code">freemarker.template.utility.Constants</code> class + was added that contains various static final fields that store + frequently used constant <code class="inline-code">TemplateModel</code> + values, as <code class="inline-code">EMPTY_SEQUENCE</code>, + <code class="inline-code">ZERO</code>, ...etc.</p> + </li> + + <li> + <p>When using <code class="inline-code">SecurityManager</code> with + FreeMarker, accessing system properties may caused + AccessControlException. Now such exceptions are catched and + logged with warning level, and the default value of the property + is returned.</p> + </li> + + <li> + <p>The needles <code class="inline-code">InvocationTargetException</code> + is now removed from the exception cause trace in certain + cases.</p> + </li> + + <li> + <p>Added a dirty hack that prints + <code class="inline-code">ServletException</code> root cause in + <code class="inline-code">TemplateException</code>'s stack trace if that's the + direct cause exception of the + <code class="inline-code">TemplateException</code>, despite the poorly written + <code class="inline-code">ServletException</code> class.</p> + </li> + + <li> + <p>Bugfix: FreeMarker's implementation of + <code class="inline-code">javax.servlet.jsp.PageContext.getSession()</code> + was incorrect. The <code class="inline-code">getSession()</code> method is a + convenience method by which the custom tag can get the current + <code class="inline-code">HttpSession</code> object (possibly + <code class="inline-code">null</code> if there is no session). Till now, if + the session didn't existed then it has created it automatically, + so it never returned <code class="inline-code">null</code>. This was a bug, so + starting from 2.3.1 it never creates the session, just returns + <code class="inline-code">null</code> if it doesn't exist. The old incorrect + behavior could cause page rendering to fail if the method is + called after the page is partially flushed. But beware, the old + behavior has possibly hidden some bugs of the Web application, + where it forgot to create the session, so with the new correct + behavior you may face malfunction caused by previously cloaked + bugs of the Web application. (It's the task of the MVC + Controller to create the session, except if the JSP tag that + needs a session is written so it creates it automatically, but + then it doesn't expects that <code class="inline-code">getSession()</code> + will do it.)</p> + </li> + + <li> + <p>Bugfix: The <code class="inline-code">BeansWrapper</code> didn't always + handled properly the case of a Java class having both a public + static field and a public static method with the same + name.</p> + </li> + + <li> + <p>Bugfix: <code class="inline-code">SimpleMethodModel</code> had + incorrectly propagate exceptions sometimes, causing null pointer + exception.</p> + </li> + + <li> + <p>Bugfix: The template execution may used outdated cached + values when you have processed the same + <code class="inline-code">Environment</code> for multiple times, and changed + settings between the two processings. Note that this could + happen only in single-thread environment, where such setting + modifications are allowed.</p> + </li> + + <li> + <p>Bugfix: Some of the string built-ins has died with + <code class="inline-code">IndexOutOfBounds</code> exception if the template + author has forgotten to specify required parameters. Now they + die with more helpful error messages.</p> + </li> + + <li> + <p>Bugfix: + <code class="inline-code">freemarker.ext.dom.NodeModel.equals(...)</code> has + died with null pointer exception if its argument was + <code class="inline-code">null</code>.</p> + </li> + + <li> + <p>Bugfix: The cause exception of + <code class="inline-code">TemplateException</code>-s was sometimes printed + twice in stack traces with J2SE 1.4 or later.</p> + </li> + + <li> + <p>Bugfix: The + <code class="inline-code">StringUtil.FTLStringLiteralEnc(String)</code> method + was finished.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_217">Other changes</h2> + + + <ul> + <li> + <p>Fixes and improvements in the Manual and in the API + JavaDoc.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_218">The history of the releases before the final version</h2> + + + + + + + +<h3 class="content-header header-section3" id="autoid_219">Differences between the preview release and final + release</h3> + + + <ul> + <li> + <p>Added a dirty hack that prints + <code class="inline-code">ServletException</code> root cause in + <code class="inline-code">TemplateException</code>'s stack trace if that's + the direct cause exception of the + <code class="inline-code">TemplateException</code>, despite the poorly + written <code class="inline-code">ServletException</code> class.</p> + </li> + + <li> + <p>Bugfix: + <code class="inline-code">freemarker.ext.dom.NodeModel.equals(...)</code> + has died with null pointer exception if its argument was + <code class="inline-code">null</code>.</p> + </li> + + <li> + <p>Bugfix: The cause exception of + <code class="inline-code">TemplateException</code>-s was sometimes printed + twice in stack traces with J2SE 1.4 or later.</p> + </li> + + <li> + <p>More minor improvements in the Manual.</p> + </li> + </ul> + + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_2.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_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_3_10.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_10.html b/builds/2.3.26-nightly/versions_2_3_10.html new file mode 100644 index 0000000..69c8548 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_10.html @@ -0,0 +1,116 @@ +<!doctype html> +<!-- Generated by FreeMarker/Docgen from DocBook --> +<html lang="en" class="page-type-section"> +<head prefix="og: http://ogp.me/ns#"> +<meta charset="utf-8"> +<title>2.3.10 - Apache FreeMarker Manual</title> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width,initial-scale=1"> +<meta name="format-detection" content="telephone=no"> +<meta property="og:site_name" content="Apache FreeMarker Manual"> +<meta property="og:title" content="2.3.10"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_10.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_10.html"> +<link rel="icon" href="favicon.png" type="image/png"> +<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono"> +<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979"> +<script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create', 'UA-55420501-1', 'auto'); +ga('send', 'pageview'); +</script> +</head> +<body itemscope itemtype="https://schema.org/Code"> + <meta itemprop="url" content="http://freemarker.org/docs/"> + <meta itemprop="name" content="Apache FreeMarker Manual"> + + <!--[if lte IE 9]> + <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div> + <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner"> <img itemprop="image" src="logo.png" alt="FreeMarker"> +</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_10.html"><span itemprop="name">2.3.10</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div> <div class="main-content site-width"> + <div class="content-wrapper"> + <div id="table-of-contents-wrapper" class="col-left"> + <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.10"];</script> + <script src="toc.js?1489402528979"></script> + <script src="docgen-resources/main.min.js?1489402528979"></script> + </div> +<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_11.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_9.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_10" itemprop="headline">2.3.10</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_196" data-menu-target="autoid_196">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_197" data-menu-target="autoid_197">Changes on the FTL side</a></li></ul> </div><p>Date of release: 2007-04-20</p><p>This release contains several important bugfixes.</p> + + + + +<h2 class="content-header header-section2" id="autoid_196">Changes on the Java side</h2> + + + <ul> + <li> + <p>[1589245] <code class="inline-code">MultiTemplateLoader</code> clears + its internal cached data (used for optimizing subsequent lookups + of the same template) when + <code class="inline-code">Configuration.clearTemplateCache()</code> is + invoked.</p> + </li> + + <li> + <p>[1619257] A bug that caused an exception when + <code class="inline-code">strict_bean_model</code> was used in a FreeMarker + configuration <code class="inline-code">Properties</code> object or in the + <code class="inline-code"><#setting .../></code> directive has been + fixed.</p> + </li> + + <li> + <p>[1685176] A bug that caused + <code class="inline-code">StackOverflowError</code> in certain interactions of + garbage collector with MRU cache under Sun's Java 6 JVM has been + fixed.</p> + </li> + + <li> + <p>[1686955] When <code class="inline-code">ResourceBundleModel</code> + constructs <code class="inline-code">MessageFormat</code> objects, it passes + them its own locale. <a href="pgui_misc_beanwrapper.html#beanswrapper_method">More + info...</a></p> + </li> + + <li> + <p>[1691432] A bug that caused + <code class="inline-code">BeansWrapper.EXPOSE_SAFE</code> to be no safer than + <code class="inline-code">BeansWrapper.EXPOSE_ALL</code> has been + fixed.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_197">Changes on the FTL side</h2> + + + <ul> + <li> + <p>[1628550] You can now use + <code class="inline-code">dateExp?string.full</code> for formatting dates + using Java built-in format + <code class="inline-code">java.util.Date.FULL</code> <a href="ref_builtins_date.html#ref_builtin_string_for_date">More info...</a></p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_11.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_9.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_3_11.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_11.html b/builds/2.3.26-nightly/versions_2_3_11.html new file mode 100644 index 0000000..fa46b60 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_11.html @@ -0,0 +1,226 @@ +<!doctype html> +<!-- Generated by FreeMarker/Docgen from DocBook --> +<html lang="en" class="page-type-section"> +<head prefix="og: http://ogp.me/ns#"> +<meta charset="utf-8"> +<title>2.3.11 - Apache FreeMarker Manual</title> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width,initial-scale=1"> +<meta name="format-detection" content="telephone=no"> +<meta property="og:site_name" content="Apache FreeMarker Manual"> +<meta property="og:title" content="2.3.11"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_11.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_11.html"> +<link rel="icon" href="favicon.png" type="image/png"> +<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono"> +<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979"> +<script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create', 'UA-55420501-1', 'auto'); +ga('send', 'pageview'); +</script> +</head> +<body itemscope itemtype="https://schema.org/Code"> + <meta itemprop="url" content="http://freemarker.org/docs/"> + <meta itemprop="name" content="Apache FreeMarker Manual"> + + <!--[if lte IE 9]> + <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div> + <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner"> <img itemprop="image" src="logo.png" alt="FreeMarker"> +</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_11.html"><span itemprop="name">2.3.11</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div> <div class="main-content site-width"> + <div class="content-wrapper"> + <div id="table-of-contents-wrapper" class="col-left"> + <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.11"];</script> + <script src="toc.js?1489402528979"></script> + <script src="docgen-resources/main.min.js?1489402528979"></script> + </div> +<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_12.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_10.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_11" itemprop="headline">2.3.11</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_193" data-menu-target="autoid_193">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_194" data-menu-target="autoid_194">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_195" data-menu-target="autoid_195">Documentation changes</a></li></ul> </div><p>Date of release: 2007-12-04</p><p>This release contains several performance and usability + improvements.</p> + + + + +<h2 class="content-header header-section2" id="autoid_193">Changes on the FTL side</h2> + + + <ul> + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1687248&group_id=794&atid=100794">[1687248]</a> + <strong>Warning! This bugfix may breaks some + templates!</strong> Fixed the bugs of the <a href="ref_builtins_number.html#ref_builtin_c"><code>c</code> built-in</a> + (<code class="inline-code">?c</code>) that sometimes caused whole numbers to + be formatted with ".0" at the end (like: 1.0), and + caused numbers sometimes formatted to exponential form (like + 4E-20). From now whole numbers will never use decimal dot (not + even if the wrapped number is a <code class="inline-code">double</code>; + remember, the template language knows only a single numerical + type), and exponential form will never be used either. Also, the + maximum number of digits after the decimal dot was limited to + 16, so numbers smaller than 1E-16 will be shown as 0.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_194">Changes on the Java side</h2> + + + <ul> + <li> + <p>FreeMarker now has much better JSP 2.0 and JSP 2.1 + compliance. Most notably, the JSP 2.0 + <code class="inline-code">SimpleTag</code> interface is now supported. + Additionally, even when run in an environment that doesn't have + its own JSP implementation, the FreeMarker JSP runtime will make + available its own implementation of + <code class="inline-code">JspFactory</code> and + <code class="inline-code">JspEngineInfo</code> to tags when JSP 2.0 API JAR is + available in classpath, as well as an implementation of + <code class="inline-code">JspApplicationContext</code> when JSP 2.1 API JAR is + available in classpath.</p> + </li> + + <li> + <p>A new model interface, + <code class="inline-code">TemplateDirectiveModel</code> provides an easier + paradigm for implementing user-defined directives than + <code class="inline-code">TemplateTransformModel</code> did previously. + <code class="inline-code">TemplateTransformModel</code> will be + deprecated.</p> + </li> + + <li> + <p>FreeMarker now finds the Xalan-based XPath support + included in Sun JRE/JDK 5 and 6, so no separate Xalan jar is + required for the XPath support to work. (However, we recommend + Jaxen over Xalan, as the FreeMarker XPath support is more + complete with that. Of course for that the Jaxen jar is still + needed.)</p> + </li> + + <li> + <p>Wrapping performance of <code class="inline-code">BeansWrapper</code> + has been significantly improved by eliminating repetitive + execution of various class tests.</p> + + <p><strong>Note for + <code class="inline-code">BeansWrapper</code> customizers:</strong> + subclasses of <code class="inline-code">BeansWrapper</code> that previously + overrode <code class="inline-code">getInstance(Object, ModelFactory)</code> + method should now instead override + <code class="inline-code">getModelFactory(Class)</code> to take advantage of + this improvement. Overriding the old method still works, but it + will not take advantage of the performance improvement.</p> + </li> + + <li> + <p>Memory footprint of a wrapper created by + <code class="inline-code">BeansWrapper</code> has been reduced (by a size of + one default-sized <code class="inline-code">HashMap</code>) until methods or + indexed properties are accessed on it (simple properties can be + accessed without increasing memory footprint).</p> + </li> + + <li> + <p>Rhino objects can be used in templates as scalars, + numbers, and booleans, following the JavaScript conversion + semantics for these types.</p> + </li> + + <li> + <p><code class="inline-code">.data_model</code> is now a + <code class="inline-code">TemplatHashModelEx</code> when possible. This means + that the list of the data-model variable names usually can be + get with <code class="inline-code">.data_model?keys</code>.</p> + </li> + + <li> + <p><code class="inline-code">FileTemplateLoader</code> can now optionally + allow following symlinks that point out of the base directory. + It is disabled by default for backward compatibility.</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1670887&group_id=794&atid=100794">[1670887]</a> + <code class="inline-code">TaglibFactory</code> taglib matching did not follow + JSP 1.2 FCS.</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1754320&group_id=794&atid=100794">[1754320]</a> + Bug in <code class="inline-code">setXPathSupportClass</code> prevented + plugging in a user-supplied <code class="inline-code">XPathSupport</code> + implementation.</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1803298&group_id=794&atid=100794">[1803298]</a> + Parser error while parsing macro with loop variables</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1824122&group_id=794&atid=100794">[1824122]</a> + Loading templates from JAR files could lead to leaking of file + handles (due to a bug in the Java API implementation of + Sun).</p> + </li> + + <li> + <p>Bug fixed: Cached template is now removed from the cache + if the re-loading of the modified template file fails, so no + staled template is served.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_195">Documentation changes</h2> + + + <ul> + <li> + <p>Substantial reworkings in the Template Authors's Guide + (which was previously called Designer's Guide), especially in + the Getting Started section.</p> + </li> + + <li> + <p><code class="inline-code">#{...}</code> is documented as deprected + construct from now.</p> + </li> + + <li> + <p>The "transform" term is now removed from the + documentation. Instead the more general "user-defined directive" + term is used, which encompasses macros, + <code class="inline-code">TemplateTransformModel</code>-s and the new + <code class="inline-code">TemplateDirectiveModel</code>-s, which are just + different ways of implementing user-defined directives.</p> + </li> + + <li> + <p>Some more minor improvements in the Manual.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_12.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_10.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_3_12.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_12.html b/builds/2.3.26-nightly/versions_2_3_12.html new file mode 100644 index 0000000..ddf737e --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_12.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.3.12 - Apache FreeMarker Manual</title> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width,initial-scale=1"> +<meta name="format-detection" content="telephone=no"> +<meta property="og:site_name" content="Apache FreeMarker Manual"> +<meta property="og:title" content="2.3.12"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_12.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_12.html"> +<link rel="icon" href="favicon.png" type="image/png"> +<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono"> +<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979"> +<script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create', 'UA-55420501-1', 'auto'); +ga('send', 'pageview'); +</script> +</head> +<body itemscope itemtype="https://schema.org/Code"> + <meta itemprop="url" content="http://freemarker.org/docs/"> + <meta itemprop="name" content="Apache FreeMarker Manual"> + + <!--[if lte IE 9]> + <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div> + <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner"> <img itemprop="image" src="logo.png" alt="FreeMarker"> +</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_12.html"><span itemprop="name">2.3.12</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div> <div class="main-content site-width"> + <div class="content-wrapper"> + <div id="table-of-contents-wrapper" class="col-left"> + <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.12"];</script> + <script src="toc.js?1489402528979"></script> + <script src="docgen-resources/main.min.js?1489402528979"></script> + </div> +<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_13.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_11.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_12" itemprop="headline">2.3.12</h1> +</div></div><p>Date of release: 2008-02-03</p> + + + + +<h2 class="content-header header-section2" id="autoid_192">Changes on the Java side</h2> + + + <ul> + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1857161&group_id=794&atid=100794">[1857161]</a> + JSP <code class="inline-code">SimpleTag</code> support was broken in + 2.3.11.</p> + </li> + + <li> + <p>In the templates, now you can conveniently call Java + methods that use the Java 5 varargs feature (variable-length + argument lists). Also the overloaded-method chooser logic now + considers vararg methods more intelligently.</p> + </li> + + <li> + <p>Enum constants are now identified by their + <code class="inline-code">name()</code> instead of by their + <code class="inline-code">toString()</code> (because the latter can be + overridden in subclasses). This doesn't affect the way enum + constants are printed; of course that still uses + <code class="inline-code">toString()</code>.</p> + </li> + + <li> + <p>Messages in parser exceptions now display the name of the + template.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_13.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_11.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_3_13.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_13.html b/builds/2.3.26-nightly/versions_2_3_13.html new file mode 100644 index 0000000..3ff89e3 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_13.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.3.13 - Apache FreeMarker Manual</title> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width,initial-scale=1"> +<meta name="format-detection" content="telephone=no"> +<meta property="og:site_name" content="Apache FreeMarker Manual"> +<meta property="og:title" content="2.3.13"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_13.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_13.html"> +<link rel="icon" href="favicon.png" type="image/png"> +<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono"> +<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979"> +<script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create', 'UA-55420501-1', 'auto'); +ga('send', 'pageview'); +</script> +</head> +<body itemscope itemtype="https://schema.org/Code"> + <meta itemprop="url" content="http://freemarker.org/docs/"> + <meta itemprop="name" content="Apache FreeMarker Manual"> + + <!--[if lte IE 9]> + <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div> + <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner"> <img itemprop="image" src="logo.png" alt="FreeMarker"> +</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_13.html"><span itemprop="name">2.3.13</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div> <div class="main-content site-width"> + <div class="content-wrapper"> + <div id="table-of-contents-wrapper" class="col-left"> + <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.13"];</script> + <script src="toc.js?1489402528979"></script> + <script src="docgen-resources/main.min.js?1489402528979"></script> + </div> +<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_14.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_12.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_13" itemprop="headline">2.3.13</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_190" data-menu-target="autoid_190">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_191" data-menu-target="autoid_191">Changes on the Java side</a></li></ul> </div><p>Date of release: 2008-05-05</p> + + + + +<h2 class="content-header header-section2" id="autoid_190">Changes on the FTL side</h2> + + + <ul> + <li> + <p>New built-ins for rounding numbers: + <code class="inline-code">round</code>, <code class="inline-code">floor</code>, + <code class="inline-code">ceiling</code>. See more <a href="ref_builtins_number.html#ref_builtin_rounding">here...</a></p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_191">Changes on the Java side</h2> + + + <ul> + <li> + <p><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1898300&group_id=794&atid=350794">[1898300]</a>, + <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1818742&group_id=794&atid=350794">[1818742]</a>, + <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1780882&group_id=794&atid=350794">[1780882]</a>: + Reworked template caching mechanism for radically improved + concurrent performance, with help from Azul Systems engineers. + (Achieved 20x speedup with Struts2 webapps on a 128-CPU Azul + device compared to 2.3.12.) Also, template loading (including + parsing) errors are now cached, improving performance in + applications that often try to get missing templates.</p> + </li> + + <li> + <p><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1892546&group_id=794&atid=100794">[1892546]</a> + Allow for custom <code class="inline-code">TemplateLoader</code> in + <code class="inline-code">FreemarkerServlet</code>.</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1725107&group_id=794&atid=100794">[1725107]</a> + Using the FreeMarker JSP taglib support with Servlet 2.4 may + generates XML validation warnings.</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1939742&group_id=794&atid=100794">[1939742]</a> + <code class="inline-code">ConcurrentModificationException</code> on accessing + nonexistent <code class="inline-code">SimpleHash</code> entries in a + loop</p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1902012&group_id=794&atid=100794">[1902012]</a> + <code class="inline-code">IteratorModel</code> eats exception causes</p> + </li> + + <li> + <p>Bug fixed: <code class="inline-code"><#assign + x></#assign></code> (empty nested content) has + caused <code class="inline-code">NullPointerException</code></p> + </li> + + <li> + <p>Bug fixed: <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1926150&group_id=794&atid=100794">[1926150]</a> + <code class="inline-code">CachedTemplate</code> should be serializable</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_14.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_12.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_3_14.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_14.html b/builds/2.3.26-nightly/versions_2_3_14.html new file mode 100644 index 0000000..df9eb61 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_14.html @@ -0,0 +1,136 @@ +<!doctype html> +<!-- Generated by FreeMarker/Docgen from DocBook --> +<html lang="en" class="page-type-section"> +<head prefix="og: http://ogp.me/ns#"> +<meta charset="utf-8"> +<title>2.3.14 - Apache FreeMarker Manual</title> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width,initial-scale=1"> +<meta name="format-detection" content="telephone=no"> +<meta property="og:site_name" content="Apache FreeMarker Manual"> +<meta property="og:title" content="2.3.14"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_14.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_14.html"> +<link rel="icon" href="favicon.png" type="image/png"> +<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono"> +<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979"> +<script> +(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ +(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), +m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) +})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create', 'UA-55420501-1', 'auto'); +ga('send', 'pageview'); +</script> +</head> +<body itemscope itemtype="https://schema.org/Code"> + <meta itemprop="url" content="http://freemarker.org/docs/"> + <meta itemprop="name" content="Apache FreeMarker Manual"> + + <!--[if lte IE 9]> + <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div> + <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner"> <img itemprop="image" src="logo.png" alt="FreeMarker"> +</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app.html"><span itemprop="name">Appendixes</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="app_versions.html"><span itemprop="name">Version history</span></a></li><li class="step-3" itemprop="itemListEl ement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_14.html"><span itemprop="name">2.3.14</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div> <div class="main-content site-width"> + <div class="content-wrapper"> + <div id="table-of-contents-wrapper" class="col-left"> + <script>var breadcrumb = ["Apache FreeMarker Manual","Appendixes","Version history","2.3.14"];</script> + <script src="toc.js?1489402528979"></script> + <script src="docgen-resources/main.min.js?1489402528979"></script> + </div> +<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="versions_2_3_15.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_13.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_14" itemprop="headline">2.3.14</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_188" data-menu-target="autoid_188">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_189" data-menu-target="autoid_189">Changes on the Java side</a></li></ul> </div><p>Date of release: 2008-09-01</p> + + + + +<h2 class="content-header header-section2" id="autoid_188">Changes on the FTL side</h2> + + + <ul> + <li> + <p>New built-in: <code class="inline-code">xhtml</code>. See more <a href="ref_builtins_string.html#ref_builtin_xhtml">here...</a></p> + </li> + + <li> + <p>New special variable: <code class="inline-code">template_name</code>. + See more <a href="ref_specvar.html">here...</a></p> + </li> + + <li> + <p>Now you can use the values of parameters as the defaults + of other parameters, for example <code class="inline-code"><#macro section + title label=title></code>. In earlier versions it worked + unreliably. There are no restriction regarding the order of + parameters, like <code class="inline-code"><#macro section label=title + title></code> works too.</p> + </li> + + <li> + <p>Added a new <a href="ref_builtins_number.html#ref_builtin_string_for_number">number format + specifier</a>, <code class="inline-code">computer</code>. This uses the + same formatting as + <code class="inline-code"><em class="code-color">exp</em>?c</code>.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_189">Changes on the Java side</h2> + + + <ul> + <li> + <p>The constructor to + <code class="inline-code">freemarker.ext.servlet.AllHttpScopesHashModel</code> + is now public, allowing it to be reused in 3rd party web + frameworks.</p> + </li> + + <li> + <p>Bugfix: + <code class="inline-code">freemarker.ext.beans.SimpleMapModel</code> (unlike + either <code class="inline-code">freemarker.ext.beans.MapModel</code> or + <code class="inline-code">freemarker.template.SimpleHash</code>) didn't allow + lookup by <code class="inline-code">java.lang.Character</code> key when passed + a single-character string as a key.</p> + </li> + + <li> + <p>Bugfix: permissive unwrapping in + <code class="inline-code">freemarker.template.utility.DeepUnwrap</code> class + was not recursively permissive with elements of sequences and + hashes.</p> + </li> + + <li> + <p>Bugfix: <code class="inline-code">freemarker.ext.beans.MapModel</code> + returns <code class="inline-code">BeansWrapper.wrap(null)</code> instead of + <code class="inline-code">null</code> for <code class="inline-code">null</code> values + explicitly bound into the map.</p> + </li> + + <li> + <p>Bugfix: Fixed a subtle bug with property getters of + classes implementing a type-parametrized interface.</p> + </li> + + <li> + <p>Bug fixed: A further corner case of <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1939742&group_id=794&atid=100794">[1939742]</a>.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_15.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_13.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>
