<!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.31 - 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.31">
<meta property="og:locale" content="en_US">
<meta property="og:url" content="https://freemarker.apache.org/docs/versions_2_3_31.html">
<link rel="canonical" href="https://freemarker.apache.org/docs/versions_2_3_31.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="https://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?1707770044859">
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/cookie-bar/cookiebar-latest.min.js"></script>
</head>
<body itemscope itemtype="https://schema.org/Code">
    <meta itemprop="url" content="https://freemarker.apache.org/docs/">
    <meta itemprop="name" content="Apache FreeMarker Manual">

  <!--[if lte IE 9]>
  <div class="oldBrowserWarning" style="display: block">
    Unsupported web browser - Use a modern browser to view this website!
  </div>
  <![endif]-->  <div class="oldBrowserWarning">
    Unsupported web browser - Use a modern browser to view this website!
  </div>
<div class="header-top-bg"><div class="site-width header-top"><div id="hamburger-menu" role="button"></div>          <div class="logo">
<a href="https://freemarker.apache.org" role="banner"><img itemprop="image" src="logo.png" alt="FreeMarker"></a>          </div>
<ul class="tabs"><li><a href="https://freemarker.apache.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="https://freemarker.apache.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/projects/FREEMARKER" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="https://freemarker.apache.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="search-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">  <div class="breadcrumbs">
<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="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="versions_2_3_31.html"><span itemprop="name">2.3.31</span></a></li></ul>  </div>
<div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul><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.31"];</script>
      <script src="toc.js?1707770044859"></script>
      <script src="docgen-resources/main.min.js?1707770044859"></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_32.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_30.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-section1" id="versions_2_3_31" itemprop="headline">2.3.31</h1>
</div></div><div class="page-menu">
<div class="page-menu-title">Page Contents</div>
<ul><li><a class="page-menu-link" href="#autoid_152" data-menu-target="autoid_152">Changes on the FTL side</a></li><li><a class="page-menu-link" href="#autoid_153" data-menu-target="autoid_153">Changes on the Java side</a></li></ul> </div><p>Release date: 2021-02-16</p>
          



<h2 class="content-header header-section2" id="autoid_152">Changes on the FTL side</h2>


          <ul>
            <li>
              <p>Added <code class="inline-code">?eval_json</code> to evaluate JSON given
              as flat string. This was added as <code class="inline-code">?eval</code> is
              routinely misused for the same purpose, which not only doesn&#39;t
              work for all JSON-s, but can be a security problem. <a href="ref_builtins_expert.html#ref_builtin_eval_json">See more here...</a></p>
            </li>

            <li>
              <p>Added new special variable, <code class="inline-code">time_zone</code>
              (referred like <code class="inline-code">.time_zone</code>, like all special
              variables), to retrieve the current value of the
              <code class="inline-code">time_zone</code> setting as a string.</p>
            </li>

            <li>
              <p>Allowed escaping <code class="inline-code">#</code> with backlash in
              identifier names (not in string), as it used to occur in
              database column names. Like if you have a column name like
              <code class="inline-code">#users</code>, you can refer to it as
              <code class="inline-code">row.\#users</code>. (Alternatively,
              <code class="inline-code">row[&#39;#users&#39;]</code> always worked, but is often
              less convenient.)</p>
            </li>

            <li>
              <p><a href="https://issues.apache.org/jira/projects/FREEMARKER/issues/FREEMARKER-169">FREEMARKER-169</a>:
              Fixed bug that made <code class="inline-code">?c</code> and
              "computer" number format inconsistent. If <a href="pgui_config_incompatible_improvements.html#pgui_config_incompatible_improvements_how_to_set"><code>incomplatible_improvements</code></a>
              is set to 2.3.31 (or higher), when you set the
              <code class="inline-code">number_format</code> setting to
              <code class="inline-code">computer</code> (or you call
              <code class="inline-code">Environment.getCNumberFormat()</code>), the format
              now matches the behavior of <code class="inline-code">?c</code>, when
              formatting infinite (positive and negative), and NaN. Matching
              the behavior of <code class="inline-code">?c</code> was always the intent, but
              before this incompatible improvement, the
              <code class="inline-code">computer</code> format always behaved like
              <code class="inline-code">?c</code> before incompatible improvements 2.3.21,
              where instead of "INF", and "NaN", the
              results used Unicode characters U+221E, and U+FFFD.</p>
            </li>

            <li>
              <p>Fixed bug where <code class="inline-code">.globals</code> weren&#39;t seen
              as namesapce, so something like <code class="inline-code">&lt;#assign
              <em class="code-color">name</em> =
              <em class="code-color">value</em> in .globals&gt;</code>
              failed (although you should use <code class="inline-code">&lt;#global
              <em class="code-color">name</em> =
              <em class="code-color">value</em>&gt;</code> instead
              anyway).</p>
            </li>
          </ul>
        
          



<h2 class="content-header header-section2" id="autoid_153">Changes on the Java side</h2>


          <ul>
            <li>
              <p>More helpful parser error messages for nesting problems
              (caused by missed or malformed end-tags usually).</p>
            </li>

            <li>
              <p>Added <code class="inline-code">DOMNodeSupport</code> and
              <code class="inline-code">JythonSupport</code> <code class="inline-code">boolean</code>
              properties to <code class="inline-code">DefaultObjectWrapper</code>. This
              allows disabling the special wrapping of DOM nodes and Jython
              classes. This might be desirable <a href="app_faq.html#faq_template_uploading_security">for security
              reasons</a>.</p>
            </li>

            <li>
              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-145">FREEMARKER-145</a>:
              Fixed bug where methods with &quot;overloaded&quot; return type may become
              inaccessible on Java 9+, if some overriding subclasses are not
              public. (This is because
              <code class="inline-code">java.beans.Introspector</code> behavior has changed
              with Java 9.)</p>
            </li>

            <li>
              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-133">FREEMARKER-133</a>:
              Fixed bug where FreeMarker sometimes tries to expose public
              methods that are defined or overridden in a non-public class, if
              the non-public class was then extended by a public class.
              Calling such method just ends up with
              <code class="inline-code">IllegalAccessException</code>, but they shouldn&#39;t be
              exposed on the first place. Furthermore, such a wrong method
              sometimes replaces the good version of the method, which would
              be callable. When this glitch happens is somewhat unpredictable,
              as it also depends on what methods
              <code class="inline-code">java.beans.Introspector</code> exposes (which at
              very least can depend on the Java version), and in what
              order.</p>
            </li>

            <li>
              <p>Fixed bug where OSGi
              <code class="inline-code">Bundle-RequiredExecutionEnvironment</code> in
              <code class="inline-code">META-INF/MANIFEST.FM</code> has incorrectly
              contained JavaSE-1.6, J2SE-1.5</p>
            </li>

            <li>
              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-159">FREEMARKER-159</a>:
              Set <code class="inline-code">Automatic-Module-Name</code> to
              <code class="inline-code">freemarker</code> in
              <code class="inline-code">META-INF/MANIFEST.FM</code>. In most cases this was
              the deduced Java 9 module name earlier, but that was fragile, as
              Java has deduced it from the jar file name.</p>
            </li>

            <li>
              <p><a href="https://issues.apache.org/jira/browse/FREEMARKER-165">FREEMARKER-165</a>:
              Fixed bug where where if the namespace expression in a block
              assignment (like <code class="inline-code">&lt;#assign
              <em class="code-color">x</em> in
              <em class="code-color">someNamespace</em>&gt;<em class="code-color">...</em>&lt;/#assign&gt;</code>)
              refers to a missing variable, or has the wrong type, FreeMarker
              has thrown <code class="inline-code">NullPointerException</code> or
              <code class="inline-code">ClassCastException</code>, instead of
              <code class="inline-code">InvalidReferenceException</code> and
              <code class="inline-code">NonNamespaceException</code> with proper helpful
              message.</p>
            </li>

            <li>
              <p>Build related changes:</p>

              <ul>
                <li>
                  <p>Simplified the way Apache Ivy is used in our Ant
                  build. It&#39;s now used on the standard way, there&#39;s no
                  <code class="inline-code">ant update-deps</code> anymore.</p>
                </li>

                <li>
                  <p>Test suite is now ran on ARM (64 bit) as well on CI
                  (Travis).</p>
                </li>

                <li>
                  <p>FreeMarker Manual and web site now works much better
                  on mobile, because of developments in the Docgen
                  project.</p>
                </li>

                <li>
                  <p>Docgen is now a Maven project, and so a plain Maven
                  dependency of the other projects (although, it&#39;s still only
                  in the Apache Snapshot Repository, not in Central yet). With
                  this we could get rid of our Ivy repository.</p>
                </li>
              </ul>
            </li>
          </ul>
        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="versions_2_3_32.html"><span>Previous</span></a><a class="paging-arrow next" href="versions_2_3_30.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="https://freemarker.apache.org/">What is FreeMarker?</a></li><li><a href="https://freemarker.apache.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="app_faq.html">FAQ</a></li><li><a itemprop="license" href="app_license.html">License</a></li><li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li></ul></div><div class="column"><h3 class="column-header">Often used / Reference</h3><ul><li><a href="https://try.freemarker.apache.org/">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><li><a href="api/freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-">Configuration settings</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href="https://github.com/apache/freemarker">Github project page</a></li><li><a href="https://issues.apache.org/jira/projects/FREEMARKER">Report a bug</a></li><li><a href="https://freemarker.apache.org/report-security-vulnerabilities.html">Report security vulnerability</a></li><li><a href="https://stackoverflow.com/questions/ask?tags=freemarker">Get help on StackOverflow</a></li><li><a href="https://twitter.com/freemarker">Announcements on Twitter</a></li><li><a href="https://freemarker.apache.org/mailing-lists.html">Discuss on mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/apache/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="https://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="2024-02-12T20:34:04Z" title="Monday, February 12, 2024 at 8:34:04 PM Greenwich Mean Time">2024-02-12 20:34:04 GMT</time>, for Freemarker 2.3.32 </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2024
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="https://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. </p>
</div></div></div></body>
</html>
