http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/52c070a9/builds/2.3.26-nightly/versions_2_3_15.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_15.html b/builds/2.3.26-nightly/versions_2_3_15.html new file mode 100644 index 0000000..be94b71 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_15.html @@ -0,0 +1,115 @@ +<!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.15 - 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.15"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_15.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_15.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_15.html"><span itemprop="name">2.3.15</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.15"];</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_16.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_14.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_15" itemprop="headline">2.3.15</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_186" data-menu-target="autoid_186">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_187" data-menu-target="autoid_187">Changes on the Java side</a></li></ul> </div><p>Date of release: 2008-12-16</p> + + + + +<h2 class="content-header header-section2" id="autoid_186">Changes on the FTL side</h2> + + + <ul> + <li> + <p>Bug fixed: Hash concatenation (like <code class="inline-code">hash1 + + hash2</code>) shuffled the order of keys/values even if both + hashes were ordered.</p> + </li> + + <li> + <p>In web pages that are based on the + <code class="inline-code">FreemarkerServlet</code>, you can now use + <code class="inline-code"><@include_page path="..."/></code> to use + servlet includes. See more <a href="pgui_misc_servlet.html#pgui_misc_servlet_include">here...</a></p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_187">Changes on the Java side</h2> + + + <ul> + <li> + <p>The <code class="inline-code">BeansWrapper</code> can automatically + detect that classes were reloaded by JavaRebel.</p> + </li> + + <li> + <p>Fixed a bug that caused <code class="inline-code">null</code> to be + returned from + <code class="inline-code">Environment.getCurrentEnvironment()</code> while + processing autoincludes and autoimports. (<a href="https://sourceforge.net/forum/message.php?msg_id=5531621">See + bug report</a>)</p> + </li> + + <li> + <p>Fixed a bug that caused + <code class="inline-code">getObject(Object)</code> method on POJOs to not be + recognized as a general get method.</p> + </li> + + <li> + <p>Substantially improved performance of the + <code class="inline-code"><#break></code> directive.</p> + </li> + + <li> + <p><code class="inline-code">DeepUnwrap</code> now unwraps custom null + model of the current object wrapper into a Java + <code class="inline-code">null</code>.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_16.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_14.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_16.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_16.html b/builds/2.3.26-nightly/versions_2_3_16.html new file mode 100644 index 0000000..acc58a5 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_16.html @@ -0,0 +1,135 @@ +<!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.16 - 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.16"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_16.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_16.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_16.html"><span itemprop="name">2.3.16</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.16"];</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_17.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_15.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_16" itemprop="headline">2.3.16</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_184" data-menu-target="autoid_184">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_185" data-menu-target="autoid_185">Changes on the FTL side</a></li></ul> </div><p>Date of release: 2009-12-07</p> + + + + +<h2 class="content-header header-section2" id="autoid_184">Changes on the Java side</h2> + + + <ul> + <li> + <p>Fixed a bug that caused incorrect unwrapping of sequences + to Java arrays (<a href="https://sourceforge.net/tracker/?func=detail&aid=2105310&group_id=794&atid=100794">See + bug report</a>)</p> + </li> + + <li> + <p>Fixed a bug that caused rounding of float and double + values (<a href="https://sourceforge.net/tracker/?func=detail&aid=2503124&group_id=794&atid=100794">See + bug report</a>)</p> + </li> + + <li> + <p>Created a new + <code class="inline-code">freemarker.runtime.attempt</code> category and + exceptions caught in <code class="inline-code"><#attempt></code> blocks + are logged into it at a DEBUG severity.</p> + </li> + + <li> + <p>Fixing the (ages old) problem of + <code class="inline-code">RhinoWrapper</code> not working with all versions of + Rhino because of binary incompatible change of Rhino's + <code class="inline-code">Undefined.instance</code>.</p> + </li> + + <li> + <p>Fixed bug where <code class="inline-code">TextUtil.XMLEncNQG</code> + didn't escape <code class="inline-code">]]></code> as + <code class="inline-code">]]&gt;</code>.</p> + </li> + + <li> + <p>Fixed bug where the root directory couldn't be used as the + template base directory, as + <code class="inline-code">FileTemplateLoader</code> believed that the template + is outside the base directory.</p> + </li> + + <li> + <p>Macro names can no longer be changed through the + API.</p> + </li> + + <li> + <p>FreemarkerServlet now cooperates with Session Fixation + Attack Protection in Spring Security, see <a href="https://sourceforge.net/projects/freemarker/forums/forum/2345/topic/3475868"> + forum discussion</a> for details.</p> + </li> + + <li> + <p>Substantially improved performance of the + <code class="inline-code"><#return></code> directive.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_185">Changes on the FTL side</h2> + + + <ul> + <li> + <p>Fixed bug where + <code class="inline-code"><em class="code-color">anXMLNode</em>.@@markup</code> + and <code class="inline-code">@@nested_markup</code> didn't escape + <code class="inline-code">]]></code> as + <code class="inline-code">]]&gt;</code>.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_17.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_15.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_17.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_17.html b/builds/2.3.26-nightly/versions_2_3_17.html new file mode 100644 index 0000000..a9c317c --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_17.html @@ -0,0 +1,331 @@ +<!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.17 - 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.17"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_17.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_17.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_17.html"><span itemprop="name">2.3.17</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.17"];</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_18.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_16.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_17" itemprop="headline">2.3.17</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_181" data-menu-target="autoid_181">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_182" data-menu-target="autoid_182">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_183" data-menu-target="autoid_183">Other changes</a></li></ul> </div><p>Date of release: 2011-05-17</p><p>It's possibly urgent to update to this version because of a + <a href="#v2317secfix">security fix</a>!</p> + + + + +<h2 class="content-header header-section2" id="autoid_181">Changes on the FTL side</h2> + + + <ul> + <li> + <p><code class="inline-code">?seq_index_of</code> and + <code class="inline-code">?seq_last_index_of</code> now works on collections + (<code class="inline-code">freemarker.template.TemplateCollectionModel</code>-s) + too, not only on sequences + (<code class="inline-code">freemarker.template.TemplateSequenceModel</code>-s).</p> + </li> + + <li> + <p><code class="inline-code">?long</code> now works for date, date-time or + time values, and returns the milliseconds since the epoch (as + <code class="inline-code">java.util.Date.getTime()</code>).</p> + </li> + + <li> + <p>To convert numbers (usually Java + <code class="inline-code">long</code>-s) to date or date-time and time values, + <code class="inline-code">?number_to_date</code>, + <code class="inline-code">?number_to_time</code>, + <code class="inline-code">?number_to_datetime</code> was added. <a href="ref_builtins_expert.html#ref_builtin_numToDate">See more here...</a> + (Unfortunately, <code class="inline-code">?date</code> and like can't be + extended to support this due to backward compatibility + issues.)</p> + </li> + + <li> + <p>New built-ins to format numbers with ISO 8601 "extended" + format regardless of the current date/time formatting settings, + and even regardless of the current time zone setting. For + example <code class="inline-code">${myTimeStamp?iso_utc}</code> will print + something like <code class="inline-code">2010-05-16T23:05:45Z</code>. <a href="ref_builtins_date.html#ref_builtin_date_iso">See more here...</a></p> + </li> + + <li> + <p>New <a href="ref_specvar.html">special variable</a>, + <code class="inline-code">now</code>. This returns the current date-time. + Usage examples: "<code class="inline-code">Page generated: ${.now}</code>", + "<code class="inline-code">Today is ${.now?date}</code>", "<code class="inline-code">The + current time is ${.now?time}</code>".</p> + </li> + + <li> + <p><code class="inline-code">?sort</code> and <code class="inline-code">?sort_by</code> + now supports sorting boolean values.</p> + </li> + + <li> + <p>When using unsupported or unknown <a href="ref_builtins_string.html#ref_builtin_string_flags">string built-in flags</a>, + FreeMarker will now <a href="pgui_misc_logging.html">log</a> + warnings (maximum 25 times per class-loader, to prevent flooding + the log). It's certain that starting from FreeMarker 2.4 these + will count as errors.</p> + </li> + + <li> + <p>Bug fixed <a href="http://sourceforge.net/tracker/?func=detail&atid=100794&aid=3047201&group_id=794">[3047201]</a>: + Using regular expressions (like with <code class="inline-code">?match</code>) + could cause lockup in multi-threaded environment, also memory + leakage when using dynamically generated regular + expressions.</p> + </li> + + <li> + <p>Bug fixed: <code class="inline-code">?seq_contains</code>, + <code class="inline-code">?seq_index_of</code> and + <code class="inline-code">?seq_last_index_of</code> has failed with + non-<code class="inline-code">java.util.List</code> + <code class="inline-code">java.util.Collection</code>-s that are wrapped with + pure <code class="inline-code">BeansWrapper</code> (not the + <code class="inline-code">DefaultObjectWrapper</code>) as + <code class="inline-code">TemplateSequenceModel</code>. (See also: + <code class="inline-code">getSupportsIndexedAccess()</code> below)</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_182">Changes on the Java side</h2> + + + <ul> + <li> + <p><a name="v2317secfix"></a><em>Security fix</em>: + Using carefully crafted template names (template paths) that + contain code point 0 (<code class="inline-code">'\u0000'</code>), it was + possible to load files from outside the template root directory + like if they were FreeMarker templates. The root of the problem + is that the underlying native C/C++ part (which belongs to the + Java platform or to the OS) interprets the 0 as the end of the + string, while Java (and hence FreeMarker and the Servlet + container) doesn't. Thus a path that looked safe for FreeMarker + become unsafe on the lower level. The problem is present with + all ways of loading templates by name + (<code class="inline-code">Configuration.getTemplate(<em class="code-color">...</em>)</code>, + <code class="inline-code"><#include + <em class="code-color">...</em>></code>, + <code class="inline-code"><#import + <em class="code-color">...</em>></code>).</p> + + <p>You are not affected if you don't allow users to upload + templates and also at least one of these stands:</p> + + <ul> + <li> + <p>In your system users can't provide arbitrary strings + as template names (template paths). For example, if users + are only allowed to visit the URL-s that belong to the MVC + Controller (like they can't visit <code class="inline-code">*.ftl</code>) + then they can't suggest arbitrary template names.</p> + </li> + + <li> + <p>The template names are part of the path in the Web + page URL, and your webserver or Servlet container disallows + URL-s that contain <code class="inline-code">%00</code>, or terminate the + URL at it before passing it to the servlets.</p> + </li> + + <li> + <p>You are using <code class="inline-code">FileTemplateLoader</code> + and linking is not allowed in it (by default it isn't + allowed).</p> + </li> + </ul> + </li> + + <li> + <p>FreeMarker now can log its messages directly using SLF4J + or Apache Commons Logging. However, it will not use these logger + libraries automatically, until 2.4; <a href="pgui_misc_logging.html">see more here...</a> But it's + recommended to switch to SLF4J now.</p> + </li> + + <li> + <p>New setting: <code class="inline-code">"auto_flush"</code>, + <code class="inline-code">Configurable.setAutoFlush(boolean)</code>. Sets + whether the output <code class="inline-code">Writer</code> is automatically + flushed at the end of <code class="inline-code">Template.process(Object, + Writer)</code> (and its overloads). The default is + <code class="inline-code">true</code>, which corresponds to the earlier + behavior. Using <code class="inline-code">false</code> is needed for example + when a Web page is composed from several boxes (like portlets, + GUI panels, etc.) that aren't inserted with + <code class="inline-code">#include</code> (or with similar directives) into a + master FreeMarker template, rather they are all processed with a + separate + <code class="inline-code">Template.process(<em class="code-color">...</em>)</code> + call. In a such scenario the automatic flushes would commit the + HTTP response after each box, hence interfering with full-page + buffering, and also possibly decreasing performance with too + frequent and too early response buffer flushes.</p> + </li> + + <li> + <p>Added new setting: + <code class="inline-code">Configuration.setNewBuiltinClassResolver(TemplateClassResolver)</code>, + or <code class="inline-code">new_builtin_class_resolver</code> property. This + allows you to specify how the <a href="ref_builtins_expert.html#ref_builtin_new"><code>new</code> built-in</a> + (like in <code class="inline-code">"com.example.SomeClass"?new()</code>) + resolves classes and which classes are accessible at all. If you + are allowing not-so-much-trusted users to upload templates, you + should be definitely interested; see the Java API docs of + <code class="inline-code">freemarker.core.Configurable.setSetting</code> and + <code class="inline-code">freemareker.template.Configuration.setNewBuiltinClassResolver</code>. + Otherwise it's still recommended to set this to + <code class="inline-code">TemplateClassResolver.SAFER_RESOLVER</code> (or + <code class="inline-code">safer</code> if you are using properties), although + that's not 100% backward compatible (see Java API docs) .</p> + </li> + + <li> + <p>Added + <code class="inline-code">freemarker.cache.NullCacheStorage</code>: Setting + this as the cache storage in <code class="inline-code">Configuration</code> + disables caching.</p> + </li> + + <li> + <p>Added <code class="inline-code">getSupportsIndexedAccess()</code> to + <code class="inline-code">freemarker.ext.beans.CollectionModel</code>, so one + can check if <code class="inline-code">TemplateSequenceModel.get(int)</code> + will work with a particular <code class="inline-code">CollectionModel</code> + instance or not.</p> + </li> + + <li> + <p>Bug fixed <a href="http://sourceforge.net/tracker/?func=detail&aid=2992265&group_id=794&atid=100794">[2992265]</a>: + JSP <code class="inline-code">FreeMarkerPageContext.include</code> behaved + incorrectly.</p> + </li> + + <li> + <p>Bug fixed: When using FreeMarker's JSP support with JSP + tags that use + <code class="inline-code">javax.servlet.jsp.PageContext.pushBody</code> (like + some Stripes tags), <code class="inline-code">"ArrayIndexOutOfBoundsException: + -1"</code> occurred inside + <code class="inline-code">freemarker.ext.jsp.FreeMarkerPageContext.popWriter</code>.</p> + </li> + + <li> + <p>Bug fixed <a href="http://sourceforge.net/tracker/?func=detail&atid=100794&aid=3033015&group_id=794">[3033015]</a>: + <code class="inline-code">AllHttpScopesHashModel</code> used + <code class="inline-code">WrappingTemplateModel.getDefaultObjectWrapper()</code> + for wrapping variables in the page scope, while used the + user-specified <code class="inline-code">ObjectWrapper</code> for all other + scopes (request, session, etc.). Now it uses the user-specified + wrapper in the page scope as well.</p> + </li> + + <li> + <p>Bug fixed <a href="https://sourceforge.net/tracker/?func=detail&aid=3128073&group_id=794&atid=100794">[3128073]</a>: + <code class="inline-code">HashAdapther.containsKey(...)</code> returned + <code class="inline-code">true</code> for a key that doesn't exist when + unwrapping the key has failed. As a side effect of the fix, + <code class="inline-code">BeansWrapper.CAN_NOT_UNWRAP</code> is now private; + earlier it was public by mistake.</p> + </li> + + <li> + <p>Big fixed <a href="http://sourceforge.net/tracker/?func=detail&aid=3151085&group_id=794&atid=100794">[3151085]</a>: + <code class="inline-code">freemarker.jsp.TaglibFactory</code> didn't locate + tld files properly. This fix gives better compliance with JSP + specification for resolving and loading tld files.</p> + </li> + + <li> + <p>Bug fixed: Unwrapping <code class="inline-code">null</code> with a + <code class="inline-code">BeansWrapper</code> that had a custom null-model + didn't result in <code class="inline-code">null</code>. Now both unwrapping + <code class="inline-code">null</code> and the custom null-model gives + <code class="inline-code">null</code>.</p> + </li> + + <li> + <p>Log messages doesn't contain line-breaks (CR or LF) + anymore and quote paths and other arbitrary text with Java + string literal syntax that also escapes <code class="inline-code"><</code> + characters as <code class="inline-code">\u003C</code>. These address security + concerns related to poor quality log appenders and buggy log + readers. This change is mostly noticeable on template processing + error entries, which will now quote the exception message. Note + that how stack traces (the <code class="inline-code">Throwable</code> objects) + are logged is still up to the logging framework you are + using.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_183">Other changes</h2> + + + <ul> + <li> + <p>The DTD-s and XSD-s that are included in + <code class="inline-code">freemarker.jar</code> under + <code class="inline-code">freemarker/ext/jsp</code> are now under Apache + Software License, Version 2. This is also clarified in the + <code class="inline-code">LICENSE.txt</code>. Earlier these files had no clear + license terms.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_18.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_16.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_18.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_18.html b/builds/2.3.26-nightly/versions_2_3_18.html new file mode 100644 index 0000000..e0c149e --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_18.html @@ -0,0 +1,87 @@ +<!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.18 - 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.18"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_18.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_18.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_18.html"><span itemprop="name">2.3.18</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.18"];</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_19.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_17.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_18" itemprop="headline">2.3.18</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_179" data-menu-target="autoid_179">Changes on the Java side</a></li><li><a class="page-menu-link" href="#autoid_180" data-menu-target="autoid_180">Other changes</a></li></ul> </div><p>Date of release: 2011-05-21</p> + + + + +<h2 class="content-header header-section2" id="autoid_179">Changes on the Java side</h2> + + + <ul> + <li> + <p>Bugfix <a href="https://sourceforge.net/tracker/?func=detail&aid=3304568&group_id=794&atid=100794">[3304568]</a>: + 2.3.17 didn't find TLD-s in <code class="inline-code">WEB-INF\lib\*.jar</code> + unless they were explicitly pointed in the + <code class="inline-code">web.xml</code> with a <code class="inline-code">taglib</code> + element. This bug was introduced in 2.3.17.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_180">Other changes</h2> + + + <ul> + <li> + <p>Added <code class="inline-code">LICENSE.txt</code> and + <code class="inline-code">NOTICE.txt</code> to + <code class="inline-code">freemarker.jar</code> under + <code class="inline-code">META-INF</code>.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_19.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_17.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_19.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_19.html b/builds/2.3.26-nightly/versions_2_3_19.html new file mode 100644 index 0000000..ef82d33 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_19.html @@ -0,0 +1,236 @@ +<!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.19 - 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.19"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_19.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_19.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_19.html"><span itemprop="name">2.3.19</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.19"];</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_20.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_18.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_19" itemprop="headline">2.3.19</h1> +</div></div><div class="page-menu"> +<div class="page-menu-title">Page Contents</div> +<ul><li><a class="page-menu-link" href="#autoid_177" data-menu-target="autoid_177">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_178" data-menu-target="autoid_178">Changes on the Java side</a></li></ul> </div><p>Date of release: 2012-02-29</p><p>Don't miss the <a href="#v2319secfix">security related + changes</a>, they may affect your application!</p> + + + + +<h2 class="content-header header-section2" id="autoid_177">Changes on the FTL side</h2> + + + <ul> + <li> + <p><em>Attention</em>: The output of <a href="ref_builtins_date.html#ref_builtin_date_iso">ISO 8601 date/time formatting + built-ins</a>, introduced in 2.3.17, was slightly changed. + From now on, the time zone offset, when it's displayed and it + isn't <code class="inline-code">Z</code>, always includes the minutes. For + example, <code class="inline-code">15:30:15+02</code> becomes to + <code class="inline-code">15:30:15+02:00</code> in the template output. Both + formats are valid according to ISO 8601 (so anything that + expects ISO 8601 date/times should continue working), but only + the last format complies with the XML Schema date/time formats, + hence this change.</p> + </li> + + <li> + <p>New built-in for escaping inside JSON string literals: + <a href="ref_builtins_string.html#ref_builtin_json_string"><code>json_string</code></a>.</p> + </li> + + <li> + <p>Bugfix: Wrong <code class="inline-code">#</code> tags were printed as + static text instead of causing parsing error if there was no + correct <code class="inline-code">#</code> tag earlier in the same template. + Since fixing this would not be 100% backward compatible, the old + behavior has remained, unless you set the + <code class="inline-code">incompatible_enhancements</code> setting + (<code class="inline-code">Configuration.setIncompatibleEnhancements(String)</code>) + to <code class="inline-code">"2.3.19"</code> or higher.</p> + </li> + </ul> + + + + + +<h2 class="content-header header-section2" id="autoid_178">Changes on the Java side</h2> + + + <ul> + <li> + <p><a name="v2319secfix"></a><em>Attention</em>: This + release contains two important security workarounds that + unavoidably make it obvious how some applications can be + exploited. <em>FreeMarker can't solve these issues on all + configurations, so please read the details instead of just + updating FreeMarker!</em> Also, these changes are not 100% + backward compatible in theory, however it's not probable that + they will break anything. The two changes are:</p> + + <ul> + <li> + <p>The character with character code 0 + (<code class="inline-code">\u0000</code>) is not allowed in template paths + anymore. When a path contains it, FreeMarker behaves as if + the template was not found.</p> + + <p>This is to fix the security problem where a template + path like <code class="inline-code">"secret.txt\u0000.ftl"</code> is used + to bypass extension filtering in an application. FreeMarker + itself doesn't care about the extension, but some + applications decide based on the extension if they will + delegate a path to FreeMarker. When they do with such a + path, the C/C++ implementation behind the storage mechanism + may sees the path as <code class="inline-code">"secret.txt"</code> as the + 0 terminates the string in C/C++, and thus load a non-FTL + file as a template, returning the file contents to the + attacker.</p> + + <p>Note that some HTTP servers, notably Tomcat and the + Apache HTTP Server blocks URL-s where the URL contains 0 + (<code class="inline-code">%00</code>) outside the query string, thus this + wasn't exploitable there through such Web URL-s. Some other + HTTP servers however, like Jetty, doesn't block such + URL-s.</p> + </li> + + <li> + <p><code class="inline-code">ClassTemplateLoader</code>, when it's + created with base path <code class="inline-code">"/"</code> (like with + <code class="inline-code">new ClassTemplateLoader(someClass, "/")</code>), + will not allow template paths that contain colon earlier + than any <code class="inline-code">/</code>, and will act like if the + template was not found in such case.</p> + + <p>This is to fix the security problem where a template + path like <code class="inline-code">"file:/etc/secret"</code> or + <code class="inline-code">"http://example.com/malware.ftl"</code> is + interpreted as a full URL by a + <code class="inline-code">java.net.URLClassLoader</code> in the + class-loader hierarchy, and thus allow loading files from + these URL-s as templates. This is a quirk (or bug) of + <code class="inline-code">java.net.URLClassLoader</code>, thus this + problem only exists on systems that use such + class-loaders.</p> + + <p>Beware, some frameworks use their own + <code class="inline-code">TemplateLoader</code> implementations, and if + those are vulnerable, they will remain so after updating + FreeMarker too! Note that this exploit only works if the + class-loader hierarchy contains an + <code class="inline-code">URLClassLoader</code> and the class-loader is + used to load templates without adding any prefix before the + template path (other than <code class="inline-code">"/"</code>).</p> + </li> + </ul> + + <p>These security issues mostly only affect applications + <em>where the user (the visitor) can supply arbitrary + template paths to the application</em>. This is not the + case with properly built MVC applications, as there only the MVC + Controller can be addressed directly, and it's the Controller + that specifies the template paths. But legacy MVC applications + based on <a href="pgui_misc_servlet.html#pgui_misc_servlet_model2">JSP + Model-2</a> often expose the MVC Views as public URL-s ending + with <code class="inline-code">.ftl</code>, thus allowing the user to give + arbitrary paths to FreeMarker. Such applications should be + secured with a <code class="inline-code">security-constratint</code> in + <code class="inline-code">web.xml</code> as shown in the <a href="pgui_misc_servlet.html#pgui_misc_servlet_model2">related Manual + section</a>. This should be done regardless of the current + security fixes.</p> + + <p>In general, you should not allow users to specify + arbitrary template paths, or if you do allow that, you should be + extra careful with the <code class="inline-code">TemplateLoader</code> + used.</p> + </li> + + <li> + <p><code class="inline-code">Configuration</code> has new methods: + <code class="inline-code">removeTemplateFromCache(...)</code>. This will + remove the given template for the given locale from the cache, + so it will be re-loaded regardless of the template update delay + when it's next time requested.</p> + </li> + + <li> + <p><code class="inline-code">BeansWrapper</code> ignores setter methods + from now when introspecting classes. They weren't used anyway, + so they unnecessarily caused + "<code class="inline-code">java.beans.IntrospectionException</code>: type + mismatch between read and write methods" errors.</p> + </li> + + <li> + <p><code class="inline-code">TemplateClassResolver.SAFER_RESOLVER</code> + now disallows creating + <code class="inline-code">freemarker.template.utility.JythonRuntime</code> and + <code class="inline-code">freemarker.template.utility.Execute</code>. This + change affects the behavior of the <a href="ref_builtins_expert.html#ref_builtin_new"><code>new</code> built-in</a> + if FreeMarker was configured to use + <code class="inline-code">SAFER_RESOLVER</code>, which is not the default + until 2.4 and is hence improbable.</p> + </li> + + <li> + <p>Bug fixed: Calling varargs methods now indeed works. + (Earlier it only worked for overloaded methods.)</p> + </li> + + <li> + <p>Bug fixed <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=1837697&group_id=794&atid=100794">[1837697]</a> + <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=2831150&group_id=794&atid=100794">[2831150]</a> + <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=3039096&group_id=794&atid=100794">[3039096]</a> + <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=3165425&group_id=794&atid=100794">[3165425]</a>: + Jython support now works with Jython 2.2 and 2.5.</p> + </li> + + <li> + <p>Bug fixed <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=3325103&group_id=794&atid=100794">[3325103]</a>: + <code class="inline-code">TemplateException</code>-s and + <code class="inline-code">ParseException</code>-s are now serializable.</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_20.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_18.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_2.html ---------------------------------------------------------------------- diff --git a/builds/2.3.26-nightly/versions_2_3_2.html b/builds/2.3.26-nightly/versions_2_3_2.html new file mode 100644 index 0000000..899e309 --- /dev/null +++ b/builds/2.3.26-nightly/versions_2_3_2.html @@ -0,0 +1,77 @@ +<!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.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.3.2"> +<meta property="og:locale" content="en_US"> +<meta property="og:url" content="http://freemarker.org/docs/versions_2_3_2.html"> +<link rel="canonical" href="http://freemarker.org/docs/versions_2_3_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_3_2.html"><span itemprop="name">2.3.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.3.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_3_3.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_1.html"><span>Next</span></a></div><div class="title-wrapper"> +<h1 class="content-header header-section1" id="versions_2_3_2" itemprop="headline">2.3.2</h1> +</div></div><p>Date of release: 2005-01-22</p><p>Bugfix release.</p> + + + + +<h2 class="content-header header-section2" id="autoid_213">Changes on the Java side</h2> + + + <ul> + <li> + <p>Bugfix: If you use JSP taglibs in FreeMarker templates, + FreeMarker possibly tried to get DTD-s from the Sun Web site + because of a bug introduced with FreeMarker 2.3.1. This was a + serious problem since if your server is offline or the Sun Web + site becomes temporarily inaccessible the templates that are + using JSP taglibs will possibly die with error.</p> + </li> + + <li> + <p>Bugfix: The <code class="inline-code">DefaultObjectWrapper</code> has + ignored the value of the <code class="inline-code">nullModel</code> property. + (Note that it's discouraged to use a "null + model".)</p> + </li> + </ul> + <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_3.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_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>
