http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/SecurityUtilities.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/SecurityUtilities.html 
b/docs/api/freemarker/template/utility/class-use/SecurityUtilities.html
index 3375dcc..99693d7 100644
--- a/docs/api/freemarker/template/utility/class-use/SecurityUtilities.html
+++ b/docs/api/freemarker/template/utility/class-use/SecurityUtilities.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.SecurityUtilities (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.SecurityUtilities (FreeMarker 
2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.SecurityUtilities (FreeMarker 2.3.27-incubating 
API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.SecurityUtilities (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/StandardCompress.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/StandardCompress.html 
b/docs/api/freemarker/template/utility/class-use/StandardCompress.html
index a20a179..365656b 100644
--- a/docs/api/freemarker/template/utility/class-use/StandardCompress.html
+++ b/docs/api/freemarker/template/utility/class-use/StandardCompress.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.StandardCompress (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.StandardCompress (FreeMarker 
2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.StandardCompress (FreeMarker 2.3.27-incubating 
API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.StandardCompress (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/StringUtil.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/class-use/StringUtil.html 
b/docs/api/freemarker/template/utility/class-use/StringUtil.html
index 7244da8..1cbd299 100644
--- a/docs/api/freemarker/template/utility/class-use/StringUtil.html
+++ b/docs/api/freemarker/template/utility/class-use/StringUtil.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.StringUtil (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.StringUtil (FreeMarker 2.3.28 
API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.StringUtil (FreeMarker 2.3.27-incubating API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.StringUtil (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/TemplateModelUtils.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/TemplateModelUtils.html 
b/docs/api/freemarker/template/utility/class-use/TemplateModelUtils.html
new file mode 100644
index 0000000..7db5eb1
--- /dev/null
+++ b/docs/api/freemarker/template/utility/class-use/TemplateModelUtils.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class freemarker.template.utility.TemplateModelUtils 
(FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class 
freemarker.template.utility.TemplateModelUtils (FreeMarker 2.3.28 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../freemarker/template/utility/TemplateModelUtils.html" 
title="class in freemarker.template.utility">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../index.html?freemarker/template/utility/class-use/TemplateModelUtils.html"
 target="_top">Frames</a></li>
+<li><a href="TemplateModelUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class freemarker.template.utility.TemplateModelUtils" 
class="title">Uses of 
Class<br>freemarker.template.utility.TemplateModelUtils</h2>
+</div>
+<div class="classUseContainer">No usage of 
freemarker.template.utility.TemplateModelUtils</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../freemarker/template/utility/TemplateModelUtils.html" 
title="class in freemarker.template.utility">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../index.html?freemarker/template/utility/class-use/TemplateModelUtils.html"
 target="_top">Frames</a></li>
+<li><a href="TemplateModelUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/ToCanonical.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/class-use/ToCanonical.html 
b/docs/api/freemarker/template/utility/class-use/ToCanonical.html
index b92f04b..e914b5b 100644
--- a/docs/api/freemarker/template/utility/class-use/ToCanonical.html
+++ b/docs/api/freemarker/template/utility/class-use/ToCanonical.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.ToCanonical (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.ToCanonical (FreeMarker 
2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.ToCanonical (FreeMarker 2.3.27-incubating API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.ToCanonical (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/UndeclaredThrowableException.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/UndeclaredThrowableException.html
 
b/docs/api/freemarker/template/utility/class-use/UndeclaredThrowableException.html
index 4aeccf9..4aceb8f 100644
--- 
a/docs/api/freemarker/template/utility/class-use/UndeclaredThrowableException.html
+++ 
b/docs/api/freemarker/template/utility/class-use/UndeclaredThrowableException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.UndeclaredThrowableException 
(FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.UndeclaredThrowableException 
(FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.UndeclaredThrowableException (FreeMarker 
2.3.27-incubating API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.UndeclaredThrowableException (FreeMarker 2.3.28 
API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/UnrecognizedTimeZoneException.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/UnrecognizedTimeZoneException.html
 
b/docs/api/freemarker/template/utility/class-use/UnrecognizedTimeZoneException.html
index 28eb479..1ee7186 100644
--- 
a/docs/api/freemarker/template/utility/class-use/UnrecognizedTimeZoneException.html
+++ 
b/docs/api/freemarker/template/utility/class-use/UnrecognizedTimeZoneException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.UnrecognizedTimeZoneException 
(FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.UnrecognizedTimeZoneException 
(FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.UnrecognizedTimeZoneException (FreeMarker 
2.3.27-incubating API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.UnrecognizedTimeZoneException (FreeMarker 2.3.28 
API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/UnsupportedNumberClassException.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/UnsupportedNumberClassException.html
 
b/docs/api/freemarker/template/utility/class-use/UnsupportedNumberClassException.html
index b81f407..927c904 100644
--- 
a/docs/api/freemarker/template/utility/class-use/UnsupportedNumberClassException.html
+++ 
b/docs/api/freemarker/template/utility/class-use/UnsupportedNumberClassException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class 
freemarker.template.utility.UnsupportedNumberClassException (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class 
freemarker.template.utility.UnsupportedNumberClassException (FreeMarker 2.3.28 
API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.UnsupportedNumberClassException (FreeMarker 
2.3.27-incubating API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.UnsupportedNumberClassException (FreeMarker 2.3.28 
API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/WriteProtectable.html
----------------------------------------------------------------------
diff --git 
a/docs/api/freemarker/template/utility/class-use/WriteProtectable.html 
b/docs/api/freemarker/template/utility/class-use/WriteProtectable.html
index 275aafc..60a0971 100644
--- a/docs/api/freemarker/template/utility/class-use/WriteProtectable.html
+++ b/docs/api/freemarker/template/utility/class-use/WriteProtectable.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface freemarker.template.utility.WriteProtectable 
(FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Interface freemarker.template.utility.WriteProtectable 
(FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface 
freemarker.template.utility.WriteProtectable (FreeMarker 2.3.27-incubating 
API)";
+            parent.document.title="Uses of Interface 
freemarker.template.utility.WriteProtectable (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/class-use/XmlEscape.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/class-use/XmlEscape.html 
b/docs/api/freemarker/template/utility/class-use/XmlEscape.html
index 710ba30..d9bc61b 100644
--- a/docs/api/freemarker/template/utility/class-use/XmlEscape.html
+++ b/docs/api/freemarker/template/utility/class-use/XmlEscape.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.template.utility.XmlEscape (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Class freemarker.template.utility.XmlEscape (FreeMarker 2.3.28 
API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class 
freemarker.template.utility.XmlEscape (FreeMarker 2.3.27-incubating API)";
+            parent.document.title="Uses of Class 
freemarker.template.utility.XmlEscape (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/package-frame.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/package-frame.html 
b/docs/api/freemarker/template/utility/package-frame.html
index 4f48e97..100b6be 100644
--- a/docs/api/freemarker/template/utility/package-frame.html
+++ b/docs/api/freemarker/template/utility/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:47 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.template.utility (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>freemarker.template.utility (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -44,6 +44,7 @@
 <li><a href="SecurityUtilities.html" title="class in 
freemarker.template.utility" target="classFrame">SecurityUtilities</a></li>
 <li><a href="StandardCompress.html" title="class in 
freemarker.template.utility" target="classFrame">StandardCompress</a></li>
 <li><a href="StringUtil.html" title="class in freemarker.template.utility" 
target="classFrame">StringUtil</a></li>
+<li><a href="TemplateModelUtils.html" title="class in 
freemarker.template.utility" target="classFrame">TemplateModelUtils</a></li>
 <li><a href="ToCanonical.html" title="class in freemarker.template.utility" 
target="classFrame">ToCanonical</a></li>
 <li><a href="XmlEscape.html" title="class in freemarker.template.utility" 
target="classFrame">XmlEscape</a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/package-summary.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/package-summary.html 
b/docs/api/freemarker/template/utility/package-summary.html
index 0918809..139a2f7 100644
--- a/docs/api/freemarker/template/utility/package-summary.html
+++ b/docs/api/freemarker/template/utility/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:47 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.template.utility (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>freemarker.template.utility (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="freemarker.template.utility (FreeMarker 
2.3.27-incubating API)";
+            parent.document.title="freemarker.template.utility (FreeMarker 
2.3.28 API)";
         }
     }
     catch(err) {
@@ -261,12 +261,18 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a 
href="../../../freemarker/template/utility/TemplateModelUtils.html" 
title="class in freemarker.template.utility">TemplateModelUtils</a></td>
+<td class="colLast">
+<div class="block">Static utility method related to <a 
href="../../../freemarker/template/TemplateModel.html" title="interface in 
freemarker.template"><code>TemplateModel</code></a>-s that didn't fit 
elsewhere.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a 
href="../../../freemarker/template/utility/ToCanonical.html" title="class in 
freemarker.template.utility">ToCanonical</a></td>
 <td class="colLast">Deprecated
 <div class="block"><span class="deprecationComment">Will be removed (main 
method in a library, often classified as CWE-489 "Leftover Debug 
Code").</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a 
href="../../../freemarker/template/utility/XmlEscape.html" title="class in 
freemarker.template.utility">XmlEscape</a></td>
 <td class="colLast">
 <div class="block">Performs an XML escaping of a given template fragment.</div>

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/package-tree.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/package-tree.html 
b/docs/api/freemarker/template/utility/package-tree.html
index c9d94ac..92331dd 100644
--- a/docs/api/freemarker/template/utility/package-tree.html
+++ b/docs/api/freemarker/template/utility/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:47 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.template.utility Class Hierarchy (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>freemarker.template.utility Class Hierarchy (FreeMarker 2.3.28 
API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="freemarker.template.utility Class Hierarchy 
(FreeMarker 2.3.27-incubating API)";
+            parent.document.title="freemarker.template.utility Class Hierarchy 
(FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {
@@ -106,6 +106,7 @@
 <li type="circle">freemarker.template.utility.<a 
href="../../../freemarker/template/utility/SecurityUtilities.html" title="class 
in freemarker.template.utility"><span 
class="typeNameLink">SecurityUtilities</span></a></li>
 <li type="circle">freemarker.template.utility.<a 
href="../../../freemarker/template/utility/StandardCompress.html" title="class 
in freemarker.template.utility"><span 
class="typeNameLink">StandardCompress</span></a> (implements 
freemarker.template.<a 
href="../../../freemarker/template/TemplateTransformModel.html" 
title="interface in freemarker.template">TemplateTransformModel</a>)</li>
 <li type="circle">freemarker.template.utility.<a 
href="../../../freemarker/template/utility/StringUtil.html" title="class in 
freemarker.template.utility"><span 
class="typeNameLink">StringUtil</span></a></li>
+<li type="circle">freemarker.template.utility.<a 
href="../../../freemarker/template/utility/TemplateModelUtils.html" 
title="class in freemarker.template.utility"><span 
class="typeNameLink">TemplateModelUtils</span></a></li>
 <li type="circle">java.lang.Throwable (implements java.io.Serializable)
 <ul>
 <li type="circle">java.lang.Exception

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/freemarker/template/utility/package-use.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/template/utility/package-use.html 
b/docs/api/freemarker/template/utility/package-use.html
index 6088e32..d4acf1a 100644
--- a/docs/api/freemarker/template/utility/package-use.html
+++ b/docs/api/freemarker/template/utility/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package freemarker.template.utility (FreeMarker 
2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Uses of Package freemarker.template.utility (FreeMarker 2.3.28 
API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" 
title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package freemarker.template.utility 
(FreeMarker 2.3.27-incubating API)";
+            parent.document.title="Uses of Package freemarker.template.utility 
(FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/help-doc.html
----------------------------------------------------------------------
diff --git a/docs/api/help-doc.html b/docs/api/help-doc.html
index 82ef265..92520e5 100644
--- a/docs/api/help-doc.html
+++ b/docs/api/help-doc.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>API Help (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>API Help (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="API Help (FreeMarker 2.3.27-incubating 
API)";
+            parent.document.title="API Help (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/index-all.html
----------------------------------------------------------------------
diff --git a/docs/api/index-all.html b/docs/api/index-all.html
index 0547ccc..3fbd323 100644
--- a/docs/api/index-all.html
+++ b/docs/api/index-all.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Index (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Index (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Index (FreeMarker 2.3.27-incubating API)";
+            parent.document.title="Index (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {
@@ -246,7 +246,9 @@
 <dt><span class="memberNameLink"><a 
href="freemarker/cache/AndMatcher.html#AndMatcher-freemarker.cache.TemplateSourceMatcher...-">AndMatcher(TemplateSourceMatcher...)</a></span>
 - Constructor for class freemarker.cache.<a 
href="freemarker/cache/AndMatcher.html" title="class in 
freemarker.cache">AndMatcher</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#ANGLE_BRACKET_TAG_SYNTAX">ANGLE_BRACKET_TAG_SYNTAX</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">For example <code>&lt;#if x&gt;&lt;@foo 
/&gt;&lt;/#if&gt;</code></div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/Configurable.html#API_BUILTIN_ENABLED_KEY">API_BUILTIN_ENABLED_KEY</a></span>
 - Static variable in class freemarker.core.<a 
href="freemarker/core/Configurable.html" title="class in 
freemarker.core">Configurable</a></dt>
 <dd>
 <div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to 
backward compatibility constraints.</div>
@@ -363,7 +365,10 @@
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#AUTO_DETECT_NAMING_CONVENTION">AUTO_DETECT_NAMING_CONVENTION</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#AUTO_DETECT_TAG_SYNTAX">AUTO_DETECT_TAG_SYNTAX</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">The parser decides between <a 
href="freemarker/template/Configuration.html#ANGLE_BRACKET_TAG_SYNTAX"><code>Configuration.ANGLE_BRACKET_TAG_SYNTAX</code></a>
 and <a 
href="freemarker/template/Configuration.html#SQUARE_BRACKET_TAG_SYNTAX"><code>Configuration.SQUARE_BRACKET_TAG_SYNTAX</code></a>
 based on the
+ first tag (like <code>[#if x]</code> or <code>&lt;#if x&gt;</code>) it 
mets.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#AUTO_ESCAPING_POLICY_KEY">AUTO_ESCAPING_POLICY_KEY</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
 <div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to 
backward compatibility constraints.</div>
@@ -1416,6 +1421,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/jsp/FreemarkerTag.html#doInitBody--">doInitBody()</a></span>
 - Method in class freemarker.ext.jsp.<a 
href="freemarker/ext/jsp/FreemarkerTag.html" title="class in 
freemarker.ext.jsp">FreemarkerTag</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#DOLLAR_INTERPOLATION_SYNTAX">DOLLAR_INTERPOLATION_SYNTAX</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block"><code>${expression}</code> only (not <code>#{expression; 
numFormat}</code>) @since 2.3.28</div>
+</dd>
 <dt><a href="freemarker/template/utility/DOMNodeModel.html" title="class in 
freemarker.template.utility"><span class="typeNameLink">DOMNodeModel</span></a> 
- Class in <a 
href="freemarker/template/utility/package-summary.html">freemarker.template.utility</a></dt>
 <dd>
 <div class="block">A convenient wrapper class for wrapping a Node in the W3C 
DOM API.</div>
@@ -2656,11 +2665,15 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/dom/NodeModel.html#getErrorHandler--">getErrorHandler()</a></span>
 - Static method in class freemarker.ext.dom.<a 
href="freemarker/ext/dom/NodeModel.html" title="class in 
freemarker.ext.dom">NodeModel</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#getExposeAsProperty--">getExposeAsProperty()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">See in the documentation of <a 
href="freemarker/ext/beans/MethodAppearanceFineTuner.html#process-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision-"><code>MethodAppearanceFineTuner.process(freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput,
 freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision)</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapperConfiguration.html#getExposeFields--">getExposeFields()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapperConfiguration.html" title="class in 
freemarker.ext.beans">BeansWrapperConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#getExposeMethodAs--">getExposeMethodAs()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">See in the documentation of <a 
href="freemarker/ext/beans/MethodAppearanceFineTuner.html#process-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision-"><code>MethodAppearanceFineTuner.process(freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput,
 freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision)</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.html#getExposureLevel--">getExposureLevel()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.html" title="class in 
freemarker.ext.beans">BeansWrapper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapperConfiguration.html#getExposureLevel--">getExposureLevel()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapperConfiguration.html" title="class in 
freemarker.ext.beans">BeansWrapperConfiguration</a></dt>
@@ -2752,6 +2765,22 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/util/ModelCache.html#getInstance-java.lang.Object-">getInstance(Object)</a></span>
 - Method in class freemarker.ext.util.<a 
href="freemarker/ext/util/ModelCache.html" title="class in 
freemarker.ext.util">ModelCache</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/core/ParserConfiguration.html#getInterpolationSyntax--">getInterpolationSyntax()</a></span>
 - Method in interface freemarker.core.<a 
href="freemarker/core/ParserConfiguration.html" title="interface in 
freemarker.core">ParserConfiguration</a></dt>
+<dd>
+<div class="block">See <a 
href="freemarker/template/Configuration.html#getInterpolationSyntax--"><code>Configuration.getInterpolationSyntax()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/core/TemplateConfiguration.html#getInterpolationSyntax--">getInterpolationSyntax()</a></span>
 - Method in class freemarker.core.<a 
href="freemarker/core/TemplateConfiguration.html" title="class in 
freemarker.core">TemplateConfiguration</a></dt>
+<dd>
+<div class="block">The getter pair of <a 
href="freemarker/core/TemplateConfiguration.html#setInterpolationSyntax-int-"><code>TemplateConfiguration.setInterpolationSyntax(int)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#getInterpolationSyntax--">getInterpolationSyntax()</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block">The getter pair of <a 
href="freemarker/template/Configuration.html#setInterpolationSyntax-int-"><code>Configuration.setInterpolationSyntax(int)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Template.html#getInterpolationSyntax--">getInterpolationSyntax()</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/Template.html" title="class in 
freemarker.template">Template</a></dt>
+<dd>
+<div class="block">Returns the interpolation syntax the parser has used for 
this template.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/DefaultObjectWrapper.html#getIterableSupport--">getIterableSupport()</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/DefaultObjectWrapper.html" title="class in 
freemarker.template">DefaultObjectWrapper</a></dt>
 <dd>
 <div class="block">Getter pair of <a 
href="freemarker/template/DefaultObjectWrapper.html#setIterableSupport-boolean-"><code>DefaultObjectWrapper.setIterableSupport(boolean)</code></a>;
 see there.</div>
@@ -2762,6 +2791,11 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/TemplateHashModelEx2.KeyValuePair.html#getKey--">getKey()</a></span>
 - Method in interface freemarker.template.<a 
href="freemarker/template/TemplateHashModelEx2.KeyValuePair.html" 
title="interface in 
freemarker.template">TemplateHashModelEx2.KeyValuePair</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/utility/TemplateModelUtils.html#getKeyValuePairIterator-freemarker.template.TemplateHashModelEx-">getKeyValuePairIterator(TemplateHashModelEx)</a></span>
 - Static method in class freemarker.template.utility.<a 
href="freemarker/template/utility/TemplateModelUtils.html" title="class in 
freemarker.template.utility">TemplateModelUtils</a></dt>
+<dd>
+<div class="block"><code>TemplateHashModelExKeyValuePairIterator</code> that 
even works for a non-<a href="freemarker/template/TemplateHashModelEx2.html" 
title="interface in freemarker.template"><code>TemplateHashModelEx2</code></a>
+ <a href="freemarker/template/TemplateHashModelEx.html" title="interface in 
freemarker.template"><code>TemplateHashModelEx</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/Environment.html#getKnownVariableNames--">getKnownVariableNames()</a></span>
 - Method in class freemarker.core.<a href="freemarker/core/Environment.html" 
title="class in freemarker.core">Environment</a></dt>
 <dd>
 <div class="block">Returns a set of variable names that are known at the time 
of call.</div>
@@ -2889,7 +2923,9 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapperConfiguration.html#getMethodAppearanceFineTuner--">getMethodAppearanceFineTuner()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapperConfiguration.html" title="class in 
freemarker.ext.beans">BeansWrapperConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#getMethodShadowsProperty--">getMethodShadowsProperty()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">See in the documentation of <a 
href="freemarker/ext/beans/MethodAppearanceFineTuner.html#process-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision-"><code>MethodAppearanceFineTuner.process(freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput,
 freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision)</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Version.html#getMicro--">getMicro()</a></span> - 
Method in class freemarker.template.<a href="freemarker/template/Version.html" 
title="class in freemarker.template">Version</a></dt>
 <dd>
 <div class="block">The 3rd version number, like 3 in "1.2.3".</div>
@@ -3212,6 +3248,15 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>
 <div class="block">Getter pair of <a 
href="freemarker/template/Configuration.html#setRegisteredCustomOutputFormats-java.util.Collection-"><code>Configuration.setRegisteredCustomOutputFormats(Collection)</code></a>.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#getReplaceExistingProperty--">getReplaceExistingProperty()</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
+<dd>
+<div class="block">Getter pair of <a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#setReplaceExistingProperty-boolean-"><code>BeansWrapper.MethodAppearanceDecision.setReplaceExistingProperty(boolean)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/TemplateModelException.html#getReplaceWithCause--">getReplaceWithCause()</a></span>
 - Method in exception freemarker.template.<a 
href="freemarker/template/TemplateModelException.html" title="class in 
freemarker.template">TemplateModelException</a></dt>
+<dd>
+<div class="block">Indicates that the cause exception should be thrown instead 
of this exception; it was only wrapped into this
+ exception due to API constraints.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/servlet/HttpRequestHashModel.html#getRequest--">getRequest()</a></span>
 - Method in class freemarker.ext.servlet.<a 
href="freemarker/ext/servlet/HttpRequestHashModel.html" title="class in 
freemarker.ext.servlet">HttpRequestHashModel</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/cache/ClassTemplateLoader.html#getResourceLoaderClass--">getResourceLoaderClass()</a></span>
 - Method in class freemarker.cache.<a 
href="freemarker/cache/ClassTemplateLoader.html" title="class in 
freemarker.cache">ClassTemplateLoader</a></dt>
@@ -3435,6 +3480,11 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>
 <div class="block">The <a href="freemarker/template/Template.html" 
title="class in freemarker.template"><code>Template</code></a> if it wasn't 
missing, otherwise <code>null</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/core/DirectiveCallPlace.html#getTemplate--">getTemplate()</a></span>
 - Method in interface freemarker.core.<a 
href="freemarker/core/DirectiveCallPlace.html" title="interface in 
freemarker.core">DirectiveCallPlace</a></dt>
+<dd>
+<div class="block">The template that contains this call; <code>null</code> if 
the call is not from a template (but directly from
+ user Java code, for example).</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/Environment.html#getTemplate--">getTemplate()</a></span> 
- Method in class freemarker.core.<a href="freemarker/core/Environment.html" 
title="class in freemarker.core">Environment</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -3678,7 +3728,11 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#getVersion--">getVersion()</a></span>
 - Static method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
-<div class="block">Returns the FreeMarker version information, most 
importantly the major.minor.micro version numbers.</div>
+<div class="block">Returns FreeMarker version information, most importantly 
the major.minor.micro version numbers;
+ do NOT use this as the value of the <code>incompatible_improvements</code> 
setting (as the parameter to
+ <a 
href="freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>Configuration.Configuration(Version)</code></a>),
 as then your application can break when you upgrade FreeMarker!
+ Use a constant value, like <a 
href="freemarker/template/Configuration.html#VERSION_2_3_28"><code>Configuration.VERSION_2_3_28</code></a>,
 to protect your application from fixes/changes that aren't
+ entirely backward compatible.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#getVersionNumber--">getVersionNumber()</a></span>
 - Static method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
@@ -3818,6 +3872,11 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>
 <div class="block">Whether the model has a plain get(String) or get(Object) 
method</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/utility/NumberUtil.html#hasTypeThatIsKnownToNotSupportInfiniteAndNaN-java.lang.Number-">hasTypeThatIsKnownToNotSupportInfiniteAndNaN(Number)</a></span>
 - Static method in class freemarker.template.utility.<a 
href="freemarker/template/utility/NumberUtil.html" title="class in 
freemarker.template.utility">NumberUtil</a></dt>
+<dd>
+<div class="block">Tells if the type of the parameter number is known to not 
be able to represent infinite (positive or negative)
+ and NaN.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/TemplateExceptionHandler.html#HTML_DEBUG_HANDLER">HTML_DEBUG_HANDLER</a></span>
 - Static variable in interface freemarker.template.<a 
href="freemarker/template/TemplateExceptionHandler.html" title="interface in 
freemarker.template">TemplateExceptionHandler</a></dt>
 <dd>
 <div class="block"><a href="freemarker/template/TemplateExceptionHandler.html" 
title="interface in 
freemarker.template"><code>TemplateExceptionHandler</code></a> useful when you 
developing HTML templates.</div>
@@ -4084,6 +4143,18 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/utility/StandardCompress.html#INSTANCE">INSTANCE</a></span>
 - Static variable in class freemarker.template.utility.<a 
href="freemarker/template/utility/StandardCompress.html" title="class in 
freemarker.template.utility">StandardCompress</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#INTERPOLATION_SYNTAX_KEY">INTERPOLATION_SYNTAX_KEY</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block">Alias to the <code>..._SNAKE_CASE</code> variation due to 
backward compatibility constraints.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#INTERPOLATION_SYNTAX_KEY_CAMEL_CASE">INTERPOLATION_SYNTAX_KEY_CAMEL_CASE</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block">Modern, camel case (<code>likeThis</code>) variation of the 
setting name.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#INTERPOLATION_SYNTAX_KEY_SNAKE_CASE">INTERPOLATION_SYNTAX_KEY_SNAKE_CASE</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block">Legacy, snake case (<code>like_this</code>) variation of 
the setting name.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Version.html#intValue--">intValue()</a></span> - 
Method in class freemarker.template.<a href="freemarker/template/Version.html" 
title="class in freemarker.template">Version</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Version.html#intValueFor-int-int-int-">intValueFor(int,
 int, int)</a></span> - Static method in class freemarker.template.<a 
href="freemarker/template/Version.html" title="class in 
freemarker.template">Version</a></dt>
@@ -4364,6 +4435,10 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>
 <div class="block">Tells if a <code>BigDecimal</code> stores a whole 
number.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/core/TemplateConfiguration.html#isInterpolationSyntaxSet--">isInterpolationSyntaxSet()</a></span>
 - Method in class freemarker.core.<a 
href="freemarker/core/TemplateConfiguration.html" title="class in 
freemarker.core">TemplateConfiguration</a></dt>
+<dd>
+<div class="block">Tells if this setting is set directly in this object or its 
value is coming from the <a 
href="freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/Configurable.html#isLazyAutoImportsSet--">isLazyAutoImportsSet()</a></span>
 - Method in class freemarker.core.<a href="freemarker/core/Configurable.html" 
title="class in freemarker.core">Configurable</a></dt>
 <dd>
 <div class="block">Tells if this setting is set directly in this object or its 
value is coming from the <a 
href="freemarker/core/Configurable.html#getParent--"><code>parent</code></a>.</div>
@@ -4867,6 +4942,10 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <div class="block">Pads the string at the left with a filling pattern until it 
reaches the
  desired length.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#LEGACY_INTERPOLATION_SYNTAX">LEGACY_INTERPOLATION_SYNTAX</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block"><code>${expression}</code> and the deprecated 
<code>#{expression; numFormat}</code> @since 2.3.28</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#LEGACY_NAMING_CONVENTION">LEGACY_NAMING_CONVENTION</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/log/Logger.html#LIBRARY_AUTO">LIBRARY_AUTO</a></span> - Static 
variable in class freemarker.log.<a href="freemarker/log/Logger.html" 
title="class in freemarker.log">Logger</a></dt>
@@ -6036,22 +6115,26 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-">removeTemplateFromCache(String)</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
-<div class="block">Equivalent to <tt>removeTemplateFromCache(name, 
thisCfg.getLocale(), thisCfg.getEncoding(thisCfg.getLocale()), true)</tt>.</div>
+<div class="block">Equivalent to <a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-"><code>removeTemplateFromCache(name,
 thisCfg.getLocale(), null, thisCfg.getEncoding(thisCfg.getLocale()), 
true)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-">removeTemplateFromCache(String,
 Locale)</a></span> - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
-<div class="block">Equivalent to <tt>removeTemplateFromCache(name, locale, 
thisCfg.getEncoding(locale), true)</tt>.</div>
+<div class="block">Equivalent to <a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-"><code>removeTemplateFromCache(name,
 locale, null, thisCfg.getEncoding(locale), true)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.lang.String-">removeTemplateFromCache(String,
 String)</a></span> - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
-<div class="block">Equivalent to <tt>removeTemplateFromCache(name, 
thisCfg.getLocale(), encoding, true)</tt>.</div>
+<div class="block">Equivalent to <a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-"><code>removeTemplateFromCache(name,
 thisCfg.getLocale(), null, encoding, true)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.String-">removeTemplateFromCache(String,
 Locale, String)</a></span> - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
-<div class="block">Equivalent to <tt>removeTemplateFromCache(name, locale, 
encoding, true)</tt>.</div>
+<div class="block">Equivalent to <a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-"><code>removeTemplateFromCache(name,
 locale, null, encoding, true)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.String-boolean-">removeTemplateFromCache(String,
 Locale, String, boolean)</a></span> - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
+<div class="block">Equivalent to <a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-"><code>removeTemplateFromCache(name,
 locale, null, encoding, parse)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#removeTemplateFromCache-java.lang.String-java.util.Locale-java.lang.Object-java.lang.String-boolean-">removeTemplateFromCache(String,
 Locale, Object, String, boolean)</a></span> - Method in class 
freemarker.template.<a href="freemarker/template/Configuration.html" 
title="class in freemarker.template">Configuration</a></dt>
+<dd>
 <div class="block">Removes a template from the template cache, hence forcing 
the re-loading
  of it when it's next time requested.</div>
 </dd>
@@ -6152,6 +6235,13 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <div class="block">Pads the string at the right with a filling pattern until 
it reaches the
  desired length.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/core/Environment.html#rootBasedToAbsoluteTemplateName-java.lang.String-">rootBasedToAbsoluteTemplateName(String)</a></span>
 - Method in class freemarker.core.<a href="freemarker/core/Environment.html" 
title="class in freemarker.core">Environment</a></dt>
+<dd>
+<div class="block">Converts a root based name (a name that's either relative 
to the root, or is absolute), which are typically used
+ by the API (such as for <a 
href="freemarker/template/Configuration.html#getTemplate-java.lang.String-"><code>Configuration.getTemplate(String)</code></a>),
 to an absolute name, which can be safely
+ passed to <code>&lt;#include path&gt;</code> and such, as it won't be 
misinterpreted to be relative to the directory of the
+ template.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/ArithmeticEngine.html#roundingPolicy">roundingPolicy</a></span>
 - Variable in class freemarker.core.<a 
href="freemarker/core/ArithmeticEngine.html" title="class in 
freemarker.core">ArithmeticEngine</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/utility/StringUtil.html#RTFEnc-java.lang.String-">RTFEnc(String)</a></span>
 - Static method in class freemarker.template.utility.<a 
href="freemarker/template/utility/StringUtil.html" title="class in 
freemarker.template.utility">StringUtil</a></dt>
@@ -6520,7 +6610,9 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#setExposeAsProperty-java.beans.PropertyDescriptor-">setExposeAsProperty(PropertyDescriptor)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">See in the documentation of <a 
href="freemarker/ext/beans/MethodAppearanceFineTuner.html#process-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision-"><code>MethodAppearanceFineTuner.process(freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput,
 freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision)</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.html#setExposeFields-boolean-">setExposeFields(boolean)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.html" title="class in 
freemarker.ext.beans">BeansWrapper</a></dt>
 <dd>
 <div class="block">Controls whether public instance fields of classes are 
exposed to 
@@ -6531,7 +6623,9 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <div class="block">See <a 
href="freemarker/ext/beans/BeansWrapper.html#setExposeFields-boolean-"><code>BeansWrapper.setExposeFields(boolean)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#setExposeMethodAs-java.lang.String-">setExposeMethodAs(String)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">See in the documentation of <a 
href="freemarker/ext/beans/MethodAppearanceFineTuner.html#process-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision-"><code>MethodAppearanceFineTuner.process(freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput,
 freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision)</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.html#setExposureLevel-int-">setExposureLevel(int)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.html" title="class in 
freemarker.ext.beans">BeansWrapper</a></dt>
 <dd>
 <div class="block">Sets the method exposure level.</div>
@@ -6576,6 +6670,14 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Turn on/off incremental processing.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/core/TemplateConfiguration.html#setInterpolationSyntax-int-">setInterpolationSyntax(int)</a></span>
 - Method in class freemarker.core.<a 
href="freemarker/core/TemplateConfiguration.html" title="class in 
freemarker.core">TemplateConfiguration</a></dt>
+<dd>
+<div class="block">See <a 
href="freemarker/template/Configuration.html#setInterpolationSyntax-int-"><code>Configuration.setInterpolationSyntax(int)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#setInterpolationSyntax-int-">setInterpolationSyntax(int)</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block">Determines the interpolation syntax (like <code>${x}</code> 
VS <code>[=x]</code>) of the template files.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/DefaultObjectWrapper.html#setIterableSupport-boolean-">setIterableSupport(boolean)</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/DefaultObjectWrapper.html" title="class in 
freemarker.template">DefaultObjectWrapper</a></dt>
 <dd>
 <div class="block">Specifies whether <code>Iterable</code>-s (not to be 
confused with <code>Iterator</code>-s) that don't implement any other
@@ -6645,7 +6747,9 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
  the value implements <a href="freemarker/ext/beans/SingletonCustomizer.html" 
title="interface in 
freemarker.ext.beans"><code>SingletonCustomizer</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#setMethodShadowsProperty-boolean-">setMethodShadowsProperty(boolean)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">See in the documentation of <a 
href="freemarker/ext/beans/MethodAppearanceFineTuner.html#process-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput-freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision-"><code>MethodAppearanceFineTuner.process(freemarker.ext.beans.BeansWrapper.MethodAppearanceDecisionInput,
 freemarker.ext.beans.BeansWrapper.MethodAppearanceDecision)</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.html#setMethodsShadowItems-boolean-">setMethodsShadowItems(boolean)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.html" title="class in 
freemarker.ext.beans">BeansWrapper</a></dt>
 <dd>
 <div class="block">Sets whether methods shadow items in beans.</div>
@@ -6764,6 +6868,12 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <div class="block">Sets the custom output formats that can be referred by 
their unique name (<a 
href="freemarker/core/OutputFormat.html#getName--"><code>OutputFormat.getName()</code></a>)
 from
  templates.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#setReplaceExistingProperty-boolean-">setReplaceExistingProperty(boolean)</a></span>
 - Method in class freemarker.ext.beans.<a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html" 
title="class in 
freemarker.ext.beans">BeansWrapper.MethodAppearanceDecision</a></dt>
+<dd>
+<div class="block">If <a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#getExposeAsProperty--"><code>BeansWrapper.MethodAppearanceDecision.getExposeAsProperty()</code></a>
 is non-<code>null</code>, and a <code>PropertyDescriptor</code> with the same
+ property name was already added to the class introspection data, this decides 
if that will be replaced
+ with the <code>PropertyDescriptor</code> returned by <a 
href="freemarker/ext/beans/BeansWrapper.MethodAppearanceDecision.html#getExposeAsProperty--"><code>BeansWrapper.MethodAppearanceDecision.getExposeAsProperty()</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/ArithmeticEngine.html#setRoundingPolicy-int-">setRoundingPolicy(int)</a></span>
 - Method in class freemarker.core.<a 
href="freemarker/core/ArithmeticEngine.html" title="class in 
freemarker.core">ArithmeticEngine</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#setServletContextForTemplateLoading-java.lang.Object-java.lang.String-">setServletContextForTemplateLoading(Object,
 String)</a></span> - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
@@ -6864,8 +6974,8 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#setTagSyntax-int-">setTagSyntax(int)</a></span>
 - Method in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
 <dd>
-<div class="block">Determines the syntax of the template files (angle bracket 
VS square bracket)
- that has no <code>#ftl</code> in it.</div>
+<div class="block">Determines the tag syntax (like <code>&lt;#if x&gt;</code> 
VS <code>[#if x]</code>) of the template files 
+ that has no <code>#ftl</code> header to decide that.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/core/FreeMarkerTree.html#setTemplate-freemarker.template.Template-">setTemplate(Template)</a></span>
 - Method in class freemarker.core.<a 
href="freemarker/core/FreeMarkerTree.html" title="class in 
freemarker.core">FreeMarkerTree</a></dt>
 <dd>
@@ -7374,8 +7484,14 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>
 <div class="block">Legacy, snake case (<code>like_this</code>) variation of 
the setting name.</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#SQUARE_BRACKET_INTERPOLATION_SYNTAX">SQUARE_BRACKET_INTERPOLATION_SYNTAX</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block"><code>[=expression]</code> instead of 
<code>${expression}</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#SQUARE_BRACKET_TAG_SYNTAX">SQUARE_BRACKET_TAG_SYNTAX</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">For example <code>[#if x][@foo /][/#if]</code>.</div>
+</dd>
 <dt><a href="freemarker/template/utility/StandardCompress.html" title="class 
in freemarker.template.utility"><span 
class="typeNameLink">StandardCompress</span></a> - Class in <a 
href="freemarker/template/utility/package-summary.html">freemarker.template.utility</a></dt>
 <dd>
 <div class="block">A filter that compresses each sequence of consecutive 
whitespace
@@ -7934,6 +8050,11 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/TemplateModelException.html#TemplateModelException-java.lang.String-java.lang.Throwable-">TemplateModelException(String,
 Throwable)</a></span> - Constructor for exception freemarker.template.<a 
href="freemarker/template/TemplateModelException.html" title="class in 
freemarker.template">TemplateModelException</a></dt>
 <dd>
+<div class="block">Same as <a 
href="freemarker/template/TemplateModelException.html#TemplateModelException-java.lang.String-boolean-java.lang.Throwable-"><code>TemplateModelException.TemplateModelException(String,
 boolean, Throwable)</code></a> with <code>false</code> 
<code>replaceWithCause</code>
+ argument.</div>
+</dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/TemplateModelException.html#TemplateModelException-java.lang.String-boolean-java.lang.Throwable-">TemplateModelException(String,
 boolean, Throwable)</a></span> - Constructor for exception 
freemarker.template.<a href="freemarker/template/TemplateModelException.html" 
title="class in freemarker.template">TemplateModelException</a></dt>
+<dd>
 <div class="block">Constructs a TemplateModelException with both a description 
of the error
  that occurred and the underlying Exception that caused this exception
  to be raised.</div>
@@ -7957,6 +8078,10 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 </dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/TemplateModelListSequence.html#TemplateModelListSequence-java.util.List-">TemplateModelListSequence(List)</a></span>
 - Constructor for class freemarker.template.<a 
href="freemarker/template/TemplateModelListSequence.html" title="class in 
freemarker.template">TemplateModelListSequence</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="freemarker/template/utility/TemplateModelUtils.html" title="class 
in freemarker.template.utility"><span 
class="typeNameLink">TemplateModelUtils</span></a> - Class in <a 
href="freemarker/template/utility/package-summary.html">freemarker.template.utility</a></dt>
+<dd>
+<div class="block">Static utility method related to <a 
href="freemarker/template/TemplateModel.html" title="interface in 
freemarker.template"><code>TemplateModel</code></a>-s that didn't fit 
elsewhere.</div>
+</dd>
 <dt><a href="freemarker/template/TemplateModelWithAPISupport.html" 
title="interface in freemarker.template"><span 
class="typeNameLink">TemplateModelWithAPISupport</span></a> - Interface in <a 
href="freemarker/template/package-summary.html">freemarker.template</a></dt>
 <dd>
 <div class="block"><b>Experimental - subject to change:</b> A <a 
href="freemarker/template/TemplateModel.html" title="interface in 
freemarker.template"><code>TemplateModel</code></a> on which the 
<code>?api</code> operation can be applied.</div>
@@ -8573,6 +8698,10 @@ start with <a 
href="freemarker/template/Configuration.html" title="class in free
 <dd>
 <div class="block">FreeMarker version 2.3.27 (an <a 
href="freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible
 improvements break-point</code></a>)</div>
 </dd>
+<dt><span class="memberNameLink"><a 
href="freemarker/template/Configuration.html#VERSION_2_3_28">VERSION_2_3_28</a></span>
 - Static variable in class freemarker.template.<a 
href="freemarker/template/Configuration.html" title="class in 
freemarker.template">Configuration</a></dt>
+<dd>
+<div class="block">FreeMarker version 2.3.28 (an <a 
href="freemarker/template/Configuration.html#Configuration-freemarker.template.Version-"><code>incompatible
 improvements break-point</code></a>)</div>
+</dd>
 <dt><span class="memberNameLink"><a 
href="freemarker/template/utility/StringUtil.html#versionStringToInt-java.lang.String-">versionStringToInt(String)</a></span>
 - Static method in class freemarker.template.utility.<a 
href="freemarker/template/utility/StringUtil.html" title="class in 
freemarker.template.utility">StringUtil</a></dt>
 <dd>
 <div class="block">Converts a version number string to an integer for easy 
comparison.</div>

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/index.html
----------------------------------------------------------------------
diff --git a/docs/api/index.html b/docs/api/index.html
index f2bca4f..11ed8ed 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FreeMarker 2.3.27-incubating API</title>
+<title>FreeMarker 2.3.28 API</title>
 <script type="text/javascript">
     tmpTargetPage = "" + window.location.search;
     if (tmpTargetPage != "" && tmpTargetPage != "undefined")

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/overview-frame.html
----------------------------------------------------------------------
diff --git a/docs/api/overview-frame.html b/docs/api/overview-frame.html
index a7b7cc4..6aab022 100644
--- a/docs/api/overview-frame.html
+++ b/docs/api/overview-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:50 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:47 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Overview List (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Overview List (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/overview-summary.html
----------------------------------------------------------------------
diff --git a/docs/api/overview-summary.html b/docs/api/overview-summary.html
index cf30555..4a0271d 100644
--- a/docs/api/overview-summary.html
+++ b/docs/api/overview-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Overview (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Overview (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Overview (FreeMarker 2.3.27-incubating 
API)";
+            parent.document.title="Overview (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {
@@ -71,7 +71,7 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h1 class="title">FreeMarker 2.3.27-incubating</h1>
+<h1 class="title">FreeMarker 2.3.28</h1>
 </div>
 <div class="contentContainer">
 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" 
summary="Packages table, listing packages, and an explanation">

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/overview-tree.html
----------------------------------------------------------------------
diff --git a/docs/api/overview-tree.html b/docs/api/overview-tree.html
index ff2643c..a2baf94 100644
--- a/docs/api/overview-tree.html
+++ b/docs/api/overview-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:52 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:48 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Class Hierarchy (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Class Hierarchy (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Class Hierarchy (FreeMarker 
2.3.27-incubating API)";
+            parent.document.title="Class Hierarchy (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {
@@ -332,6 +332,7 @@
 <li type="circle">freemarker.cache.<a 
href="freemarker/cache/TemplateLookupResult.html" title="class in 
freemarker.cache"><span 
class="typeNameLink">TemplateLookupResult</span></a></li>
 <li type="circle">freemarker.cache.<a 
href="freemarker/cache/TemplateLookupStrategy.html" title="class in 
freemarker.cache"><span 
class="typeNameLink">TemplateLookupStrategy</span></a></li>
 <li type="circle">freemarker.template.<a 
href="freemarker/template/TemplateModelListSequence.html" title="class in 
freemarker.template"><span 
class="typeNameLink">TemplateModelListSequence</span></a> (implements 
freemarker.template.<a href="freemarker/template/TemplateSequenceModel.html" 
title="interface in freemarker.template">TemplateSequenceModel</a>)</li>
+<li type="circle">freemarker.template.utility.<a 
href="freemarker/template/utility/TemplateModelUtils.html" title="class in 
freemarker.template.utility"><span 
class="typeNameLink">TemplateModelUtils</span></a></li>
 <li type="circle">freemarker.cache.<a 
href="freemarker/cache/TemplateNameFormat.html" title="class in 
freemarker.cache"><span class="typeNameLink">TemplateNameFormat</span></a></li>
 <li type="circle">freemarker.core.TemplateObject
 <ul>

http://git-wip-us.apache.org/repos/asf/freemarker-site/blob/e3ae7133/docs/api/serialized-form.html
----------------------------------------------------------------------
diff --git a/docs/api/serialized-form.html b/docs/api/serialized-form.html
index b7cecec..63e023b 100644
--- a/docs/api/serialized-form.html
+++ b/docs/api/serialized-form.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_144) on Sat Nov 11 19:25:51 CET 2017 -->
+<!-- Generated by javadoc (1.8.0_144) on Fri Mar 30 23:10:47 CEST 2018 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Serialized Form (FreeMarker 2.3.27-incubating API)</title>
-<meta name="date" content="2017-11-11">
+<title>Serialized Form (FreeMarker 2.3.28 API)</title>
+<meta name="date" content="2018-03-30">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Serialized Form (FreeMarker 
2.3.27-incubating API)";
+            parent.document.title="Serialized Form (FreeMarker 2.3.28 API)";
         }
     }
     catch(err) {
@@ -167,22 +167,6 @@
 <!--   -->
 </a>
 <h3>Class <a href="freemarker/core/FreeMarkerTree.html" title="class in 
freemarker.core">freemarker.core.FreeMarkerTree</a> extends javax.swing.JTree 
implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>1L</dd>
-</dl>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>nodeMap</h4>
-<pre>java.util.Map&lt;K,V&gt; nodeMap</pre>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 <li class="blockList"><a 
name="freemarker.core.InvalidFormatParametersException">
 <!--   -->
@@ -1062,6 +1046,17 @@
 <!--   -->
 </a>
 <h3>Class <a href="freemarker/template/TemplateModelException.html" 
title="class in 
freemarker.template">freemarker.template.TemplateModelException</a> extends <a 
href="freemarker/template/TemplateException.html" title="class in 
freemarker.template">TemplateException</a> implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>replaceWithCause</h4>
+<pre>boolean replaceWithCause</pre>
+</li>
+</ul>
+</li>
+</ul>
 </li>
 <li class="blockList"><a name="freemarker.template.TemplateNotFoundException">
 <!--   -->

Reply via email to