freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ddek...@apache.org
Subject [1/3] incubator-freemarker git commit: Removed JavaDoc @since tags, as with 3.0.0 we use different packages anyway, so technically everything class is new.
Date Mon, 22 May 2017 22:20:58 GMT
Repository: incubator-freemarker
Updated Branches:
  refs/heads/3 99ac69739 -> 8d00e4da4


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MultiTemplateLoader.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MultiTemplateLoader.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MultiTemplateLoader.java
index 883ec62..08fc3ca 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MultiTemplateLoader.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/MultiTemplateLoader.java
@@ -73,8 +73,6 @@ public class MultiTemplateLoader implements TemplateLoader {
 
     /**
      * Show class name and some details that are useful in template-not-found errors.
-     * 
-     * @since 2.3.21
      */
     @Override
     public String toString() {
@@ -92,8 +90,6 @@ public class MultiTemplateLoader implements TemplateLoader {
 
     /**
      * Returns the number of {@link TemplateLoader}-s directly inside this {@link TemplateLoader}.
-     * 
-     * @since 2.3.23
      */
     public int getTemplateLoaderCount() {
         return templateLoaders.length;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java
index c8ff55c..0de7410 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/NullCacheStorage.java
@@ -28,13 +28,10 @@ import org.apache.freemarker.core.templateresolver.CacheStorageWithGetSize;
  * don't want caching.
  *
  * @see Configuration#getCacheStorage()
- * 
- * @since 2.3.17
  */
 public class NullCacheStorage implements CacheStorage, CacheStorageWithGetSize {
     
     /**
-     * @since 2.3.22
      */
     public static final NullCacheStorage INSTANCE = new NullCacheStorage();
     
@@ -60,8 +57,6 @@ public class NullCacheStorage implements CacheStorage, CacheStorageWithGetSize {
 
     /**
      * Always returns 0.
-     * 
-     * @since 2.3.21
      */
     @Override
     public int getSize() {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java
index 3e22c33..ad974c3 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/SoftCacheStorage.java
@@ -76,8 +76,6 @@ public class SoftCacheStorage implements CacheStorage, CacheStorageWithGetSize {
     
     /**
      * Returns a close approximation of the number of cache entries.
-     * 
-     * @since 2.3.21
      */
     @Override
     public int getSize() {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java
index 1d0533b..b6eea51 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/StrongCacheStorage.java
@@ -55,8 +55,6 @@ public class StrongCacheStorage implements CacheStorage, CacheStorageWithGetSize
     
     /**
      * Returns a close approximation of the number of cache entries.
-     * 
-     * @since 2.3.21
      */
     @Override
     public int getSize() {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/URLTemplateLoader.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/URLTemplateLoader.java b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/URLTemplateLoader.java
index dcb9222..0bbebf7 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/URLTemplateLoader.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/templateresolver/impl/URLTemplateLoader.java
@@ -51,8 +51,6 @@ public abstract class URLTemplateLoader implements TemplateLoader {
     
     /**
      * Getter pair of {@link #setURLConnectionUsesCaches(Boolean)}.
-     * 
-     * @since 2.3.21
      */
     public Boolean getURLConnectionUsesCaches() {
         return urlConnectionUsesCaches;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/BugException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/BugException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/BugException.java
index 399778a..f4ac880 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/BugException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/BugException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.util;
 
 /**
  * An unexpected state was reached that is certainly caused by a bug in FreeMarker.
- * 
- * @since 2.3.21
  */
 public class BugException extends RuntimeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java
index d2e361e..b62be6f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/DeepUnwrap.java
@@ -78,7 +78,6 @@ public class DeepUnwrap {
     /**
      * Same as {@link #unwrap(TemplateModel)}, but it doesn't throw exception 
      * if it doesn't know how to unwrap the model, but rather returns it as-is.
-     * @since 2.3.14
      */
     public static Object permissiveUnwrap(TemplateModel model) throws TemplateModelException {
         return unwrap(model, true);

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/FTLUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/FTLUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/FTLUtil.java
index b9c9e80..4b3adc6 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/FTLUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/FTLUtil.java
@@ -48,8 +48,6 @@ import org.apache.freemarker.core.model.impl.BeanModel;
 /**
  * Static utility methods that perform tasks specific to the FreeMarker Template Language (FTL).
  * This is meant to be used from outside FreeMarker (i.e., it's an official, published API), not just from inside it.
- *
- * @since 3.0.0
  */
 public final class FTLUtil {
 
@@ -85,7 +83,6 @@ public final class FTLUtil {
      * @param quotation Either {@code '"'} or {@code '\''}. It's assumed that the string literal whose part we calculate is
      *                  enclosed within this kind of quotation mark. Thus, the other kind of quotation character will not be
      *                  escaped in the result.
-     * @since 2.3.22
      */
     public static String escapeStringLiteralPart(String s, char quotation) {
         return escapeStringLiteralPart(s, quotation, false);
@@ -295,7 +292,6 @@ public final class FTLUtil {
      * doesn't contain apostrophe-quote character.)
      *
      * @param s The value that should be converted to an FTL string literal whose evaluated value equals to {@code s}
-     * @since 2.3.22
      */
     public static String toStringLiteral(String s) {
         char quotation;
@@ -309,8 +305,6 @@ public final class FTLUtil {
 
     /**
      * Tells if a character can occur on the beginning of an FTL identifier expression (without escaping).
-     *
-     * @since 2.3.22
      */
     public static boolean isNonEscapedIdentifierStart(final char c) {
         // This code was generated on JDK 1.8.0_20 Win64 with src/main/misc/identifierChars/IdentifierCharGenerator.java
@@ -654,8 +648,6 @@ public final class FTLUtil {
      *
      * @param tm The value whose type we will describe. If {@code null}, then {@code "Null"} is returned (without the
      *           quotation marks).
-     *
-     * @since 2.3.20
      */
     public static String getTypeDescription(TemplateModel tm) {
         if (tm == null) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/ObjectFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/ObjectFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/ObjectFactory.java
index 370d08d..471ed35 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/ObjectFactory.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/ObjectFactory.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.util;
 
 /**
  * Used for the trivial cases of the factory pattern. Has a generic type argument since 2.3.24.
- * 
- * @since 2.3.22
  */
 public interface ObjectFactory<T> {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/UndeclaredThrowableException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/UndeclaredThrowableException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/UndeclaredThrowableException.java
index 5b5cf97..d4cb111 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/UndeclaredThrowableException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/UndeclaredThrowableException.java
@@ -30,7 +30,6 @@ public class UndeclaredThrowableException extends RuntimeException {
     }
 
     /**
-     * @since 2.3.22
      */
     public UndeclaredThrowableException(String message, Throwable t) {
         super(message, t);

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtil.java
index 2670c8c..7a605b1 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ClassUtil.java
@@ -56,8 +56,6 @@ public class _ClassUtil {
     
     /**
      * Same as {@link #getShortClassName(Class, boolean) getShortClassName(pClass, false)}.
-     * 
-     * @since 2.3.20
      */
     public static String getShortClassName(Class pClass) {
         return getShortClassName(pClass, false);
@@ -71,8 +69,6 @@ public class _ClassUtil {
      * @param shortenFreeMarkerClasses if {@code true}, it will also shorten FreeMarker class names. The exact rules
      *     aren't specified and might change over time, but right now, {@link BeanModel} for
      *     example becomes to {@code o.a.f.c.m.BeanModel}.
-     * 
-     * @since 2.3.20
      */
     public static String getShortClassName(Class pClass, boolean shortenFreeMarkerClasses) {
         if (pClass == null) {
@@ -103,8 +99,6 @@ public class _ClassUtil {
 
     /**
      * Same as {@link #getShortClassNameOfObject(Object, boolean) getShortClassNameOfObject(pClass, false)}.
-     * 
-     * @since 2.3.20
      */
     public static String getShortClassNameOfObject(Object obj) {
         return getShortClassNameOfObject(obj, false);
@@ -113,8 +107,6 @@ public class _ClassUtil {
     /**
      * {@link #getShortClassName(Class, boolean)} called with {@code object.getClass()}, but returns the fictional
      * class name {@code Null} for a {@code null} value.
-     * 
-     * @since 2.3.20
      */
     public static String getShortClassNameOfObject(Object obj, boolean shortenFreeMarkerClasses) {
         if (obj == null) {
@@ -131,8 +123,6 @@ public class _ClassUtil {
      * @param primitiveClass A {@link Class} like {@code int.type}, {@code boolean.type}, etc. If it's not a primitive
      *     class, or it's {@code null}, then the parameter value is returned as is. Note that performance-wise the
      *     method assumes that it's a primitive class.
-     *     
-     * @since 2.3.21
      */
     public static Class primitiveClassToBoxingClass(Class primitiveClass) {
         // Tried to sort these with decreasing frequency in API-s:
@@ -150,8 +140,6 @@ public class _ClassUtil {
 
     /**
      * The exact reverse of {@link #primitiveClassToBoxingClass}.
-     *     
-     * @since 2.3.21
      */
     public static Class boxingClassToPrimitiveClass(Class boxingClass) {
         // Tried to sort these with decreasing frequency in API-s:
@@ -171,8 +159,6 @@ public class _ClassUtil {
      * Tells if a type is numerical; works both for primitive types and classes.
      * 
      * @param type can't be {@code null}
-     * 
-     * @since 2.3.21
      */
     public static boolean isNumerical(Class type) {
         return Number.class.isAssignableFrom(type)

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtil.java
index 5d532de..88700da 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_CollectionUtil.java
@@ -29,7 +29,6 @@ public class _CollectionUtil {
     public static final String[] EMPTY_STRING_ARRAY = new String[] { };
 
     /**
-     * @since 2.3.22
      */
     public static final char[] EMPTY_CHAR_ARRAY = new char[] { };
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullArgumentException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullArgumentException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullArgumentException.java
index 5b3ea5f..4e7f777 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullArgumentException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullArgumentException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.util;
 
 /**
  * Indicates that an argument that must be non-{@code null} was {@code null}. 
- * 
- * @since 2.3.20
  */
 public class _NullArgumentException extends IllegalArgumentException {
 
@@ -48,7 +46,6 @@ public class _NullArgumentException extends IllegalArgumentException {
     }
 
     /**
-     * @since 2.3.22
      */
     public static void check(Object argumentValue) {
         if (argumentValue == null) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullWriter.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullWriter.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullWriter.java
index 399fca4..2f80c27 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullWriter.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NullWriter.java
@@ -24,8 +24,6 @@ import java.io.Writer;
 
 /**
  * A {@link Writer} that simply drops what it gets.
- * 
- * @since 2.3.20
  */
 public final class _NullWriter extends Writer {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtil.java
index 500a185..c300b5c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_NumberUtil.java
@@ -101,8 +101,6 @@ public class _NumberUtil {
     /**
      * Tells if a {@link BigDecimal} stores a whole number. For example, it returns {@code true} for {@code 1.0000},
      * but {@code false} for {@code 1.0001}.
-     * 
-     * @since 2.3.21
      */
     static public boolean isIntegerBigDecimal(BigDecimal bd) {
         // [Java 1.5] Try to utilize BigDecimal.toXxxExact methods
@@ -122,8 +120,6 @@ public class _NumberUtil {
      * 
      * @throws ArithmeticException
      *             if the conversion to {@code int} is not possible without losing precision or overflow/underflow.
-     * 
-     * @since 2.3.22
      */
     public static int toIntExact(Number num) {
         if (num instanceof Integer || num instanceof Short || num instanceof Byte) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
index 4035a1f..98c9f84 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_StringUtil.java
@@ -54,8 +54,6 @@ public class _StringUtil {
 
     /**
      * Like {@link #XMLEnc(String)}, but writes the result into a {@link Writer}.
-     * 
-     * @since 2.3.24
      */
     public static void XMLEnc(String s, Writer out) throws IOException {
         XMLOrHTMLEnc(s, XML_APOS, out);
@@ -74,8 +72,6 @@ public class _StringUtil {
 
     /**
      * Like {@link #XHTMLEnc(String)}, but writes the result into a {@link Writer}.
-     * 
-     * @since 2.3.24
      */
     public static void XHTMLEnc(String s, Writer out) throws IOException {
         XMLOrHTMLEnc(s, HTML_APOS, out);
@@ -288,8 +284,6 @@ public class _StringUtil {
     
     /**
      * Like {@link #RTFEnc(String)}, but writes the result into a {@link Writer}.
-     * 
-     * @since 2.3.24
      */
     public static void RTFEnc(String s, Writer out) throws IOException {
         int writtenEnd = 0;  // exclusive end
@@ -324,8 +318,6 @@ public class _StringUtil {
      * This can be used to encode a path only if you know that no folder or file name will contain {@code /}
      * character (not in the path, but in the name itself), which usually stands, as the commonly used OS-es don't
      * allow that.
-     * 
-     * @since 2.3.21
      */
     public static String URLPathEnc(String s, Charset charset) throws UnsupportedEncodingException {
         return URLEnc(s, charset, true);
@@ -507,7 +499,6 @@ public class _StringUtil {
 
     /**
      * Same as {@link #replace(String, String, String, boolean, boolean)} with two {@code false} parameters. 
-     * @since 2.3.20
      */
     public static String replace(String text, String oldSub, String newSub) {
         return replace(text, oldSub, newSub, false, false);
@@ -819,8 +810,6 @@ public class _StringUtil {
      *     u2029 (Paragraph separator - source code line-break in ECMAScript)<br>
      *   <td><tt>\<tt>u</tt><i>XXXX</i></tt>
      * </table>
-     * 
-     * @since 2.3.20
      */
     public static String jsStringEnc(String s, boolean json) {
         _NullArgumentException.check("s", s);
@@ -1304,8 +1293,6 @@ public class _StringUtil {
      * Tries to run {@code toString()}, but if that fails, returns a
      * {@code "[com.example.SomeClass.toString() failed: " + e + "]"} instead. Also, it returns {@code null} for
      * {@code null} parameter.
-     * 
-     * @since 2.3.20
      */
     public static String tryToString(Object object) {
         if (object == null) return null;
@@ -1334,8 +1321,6 @@ public class _StringUtil {
      * 
      * @throws IllegalArgumentException
      *             If the argument is 0 or less.
-     * 
-     * @since 2.3.22
      */
     public static String toUpperABC(int n) {
         return toABC(n, 'A');
@@ -1343,8 +1328,6 @@ public class _StringUtil {
 
     /**
      * Same as {@link #toUpperABC(int)}, but produces lower case result, like {@code "ab"}.
-     * 
-     * @since 2.3.22
      */
     public static String toLowerABC(int n) {
         return toABC(n, 'a');
@@ -1397,8 +1380,6 @@ public class _StringUtil {
      * Behaves exactly like {@link String#trim()}, but works on arrays. If the resulting array would have the same
      * content after trimming, it returns the original array instance. Otherwise it returns a new array instance (or
      * {@link _CollectionUtil#EMPTY_CHAR_ARRAY}).
-     * 
-     * @since 2.3.22
      */
     public static char[] trim(final char[] cs) {
         if (cs.length == 0) {
@@ -1428,8 +1409,6 @@ public class _StringUtil {
 
     /**
      * Tells if {@link String#trim()} will return a 0-length string for the {@link String} equivalent of the argument.
-     * 
-     * @since 2.3.22
      */
     public static boolean isTrimmableToEmpty(char[] text) {
         return isTrimmableToEmpty(text, 0, text.length);
@@ -1437,8 +1416,6 @@ public class _StringUtil {
 
     /**
      * Like {@link #isTrimmableToEmpty(char[])}, but acts on a sub-array that starts at {@code start} (inclusive index).
-     * 
-     * @since 2.3.23
      */
     public static boolean isTrimmableToEmpty(char[] text, int start) {
         return isTrimmableToEmpty(text, start, text.length);
@@ -1447,8 +1424,6 @@ public class _StringUtil {
     /**
      * Like {@link #isTrimmableToEmpty(char[])}, but acts on a sub-array that starts at {@code start} (inclusive index)
      * and ends at {@code end} (exclusive index).
-     * 
-     * @since 2.3.23
      */
     public static boolean isTrimmableToEmpty(char[] text, int start, int end) {
         for (int i = start; i < end; i++) {
@@ -1462,8 +1437,6 @@ public class _StringUtil {
 
     /**
      * Same as {@link #globToRegularExpression(String, boolean)} with {@code caseInsensitive} argument {@code false}.
-     * 
-     * @since 2.3.24
      */
     public static Pattern globToRegularExpression(String glob) {
         return globToRegularExpression(glob, false);
@@ -1488,8 +1461,6 @@ public class _StringUtil {
      *   <li>{@code [}: Reserved for future purposes; can't be used
      *   <li><code>{</code>: Reserved for future purposes; can't be used
      * </ul>
-     * 
-     * @since 2.3.24
      */
     public static Pattern globToRegularExpression(String glob, boolean caseInsensitive) {
         StringBuilder regex = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatParametersException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatParametersException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatParametersException.java
index ba09574..1c91762 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatParametersException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatParametersException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.valueformat;
 /**
  * Used when creating {@link TemplateDateFormat}-s and {@link TemplateNumberFormat}-s to indicate that the parameters
  * part of the format string (like some kind of pattern) is malformed.
- * 
- * @since 2.3.24
  */
 public final class InvalidFormatParametersException extends InvalidFormatStringException {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatStringException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatStringException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatStringException.java
index 05c7ed1..6048651 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatStringException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/InvalidFormatStringException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.valueformat;
 /**
  * Used when creating {@link TemplateDateFormat}-s and {@link TemplateNumberFormat}-s to indicate that the format
  * string (like the value of the {@code dateFormat} setting) is malformed.
- * 
- * @since 2.3.24
  */
 public abstract class InvalidFormatStringException extends TemplateValueFormatException {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/ParsingNotSupportedException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/ParsingNotSupportedException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/ParsingNotSupportedException.java
index 08eba37..cbf2fdf 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/ParsingNotSupportedException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/ParsingNotSupportedException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.valueformat;
 
 /**
  * Thrown when the {@link TemplateValueFormat} doesn't support parsing, and parsing was invoked.
- * 
- * @since 2.3.24
  */
 public class ParsingNotSupportedException extends TemplateValueFormatException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java
index 7626d90..f5f8650 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormat.java
@@ -36,8 +36,6 @@ import org.apache.freemarker.core.model.TemplateModelException;
  * Implementations need not be thread-safe if the {@link TemplateNumberFormatFactory} doesn't recycle them among
  * different {@link Environment}-s. As far as FreeMarker's concerned, instances are bound to a single
  * {@link Environment}, and {@link Environment}-s are thread-local objects.
- * 
- * @since 2.3.24
  */
 public abstract class TemplateDateFormat extends TemplateValueFormat {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormatFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormatFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormatFactory.java
index ca3b4bd..c1bf79c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormatFactory.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateDateFormatFactory.java
@@ -34,8 +34,6 @@ import org.apache.freemarker.core.model.TemplateDateModel;
  * (one-per-VM or one-per-{@link Configuration}), and so must be thread-safe.
  * 
  * @see MutableProcessingConfiguration#setCustomDateFormats(java.util.Map)
- * 
- * @since 2.3.24
  */
 public abstract class TemplateDateFormatFactory extends TemplateValueFormatFactory {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java
index 4029c78..366962a 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateFormatUtil.java
@@ -28,8 +28,6 @@ import org.apache.freemarker.core.model.TemplateNumberModel;
 
 /**
  * Utility classes for implementing {@link TemplateValueFormat}-s.
- * 
- * @since 2.3.24 
  */
 public final class TemplateFormatUtil {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
index 54873d6..af4f9d7 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormat.java
@@ -36,8 +36,6 @@ import org.apache.freemarker.core.model.TemplateNumberModel;
  * Implementations need not be thread-safe if the {@link TemplateNumberFormatFactory} doesn't recycle them among
  * different {@link Environment}-s. As far as FreeMarker's concerned, instances are bound to a single
  * {@link Environment}, and {@link Environment}-s are thread-local objects.
- * 
- * @since 2.3.24
  */
 public abstract class TemplateNumberFormat extends TemplateValueFormat {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormatFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormatFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormatFactory.java
index a4cac22..c863264 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormatFactory.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateNumberFormatFactory.java
@@ -30,8 +30,6 @@ import org.apache.freemarker.core.Environment;
  * one-per-{@link Configuration}), and so must be thread-safe.
  * 
  * @see MutableProcessingConfiguration#setCustomNumberFormats(java.util.Map)
- * 
- * @since 2.3.24
  */
 public abstract class TemplateNumberFormatFactory extends TemplateValueFormatFactory {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormat.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormat.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormat.java
index 9203e5a..d6284c1 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormat.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormat.java
@@ -20,8 +20,6 @@ package org.apache.freemarker.core.valueformat;
 
 /**
  * Superclass of all value format objects; objects that convert values to strings, or parse strings.
- * 
- * @since 2.3.24
  */
 public abstract class TemplateValueFormat {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatException.java
index dd538e6..ea0335e 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core.valueformat;
 /**
  * Error while getting, creating or applying {@link TemplateValueFormat}-s (including its subclasses, like
  * {@link TemplateNumberFormat}).
- * 
- * @since 2.3.24
  */
 public abstract class TemplateValueFormatException extends Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatFactory.java
index 04f706e..b6f0059 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatFactory.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/TemplateValueFormatFactory.java
@@ -20,8 +20,6 @@ package org.apache.freemarker.core.valueformat;
 
 /**
  * Superclass of all format factories.
- * 
- * @since 2.3.24
  */
 public abstract class TemplateValueFormatFactory {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UndefinedCustomFormatException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UndefinedCustomFormatException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UndefinedCustomFormatException.java
index fa4ed3d..89edecb 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UndefinedCustomFormatException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UndefinedCustomFormatException.java
@@ -19,7 +19,6 @@
 package org.apache.freemarker.core.valueformat;
 
 /**
- * @since 2.3.24
  */
 public class UndefinedCustomFormatException extends InvalidFormatStringException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnformattableValueException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnformattableValueException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnformattableValueException.java
index 6ef3b10..d594de4 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnformattableValueException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnformattableValueException.java
@@ -25,8 +25,6 @@ import org.apache.freemarker.core.model.TemplateModel;
  * Thrown when a {@link TemplateModel} can't be formatted because of the value/properties of it are outside of that the
  * {@link TemplateValueFormat} supports. For example, a formatter may not support dates before year 1, or can't format
  * NaN. The most often used subclass is {@link UnknownDateTypeFormattingUnsupportedException}.
- * 
- * @since 2.3.24
  */
 public class UnformattableValueException extends TemplateValueFormatException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeFormattingUnsupportedException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeFormattingUnsupportedException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeFormattingUnsupportedException.java
index 90ae4be..ec88eaa 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeFormattingUnsupportedException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeFormattingUnsupportedException.java
@@ -23,8 +23,6 @@ import org.apache.freemarker.core.model.TemplateDateModel;
 
 /**
  * Thrown when a {@link TemplateDateModel} can't be formatted because its type is {@link TemplateDateModel#UNKNOWN}.
- * 
- * @since 2.3.24
  */
 public final class UnknownDateTypeFormattingUnsupportedException extends UnformattableValueException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeParsingUnsupportedException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeParsingUnsupportedException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeParsingUnsupportedException.java
index ef6cca2..200f841 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeParsingUnsupportedException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnknownDateTypeParsingUnsupportedException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateDateModel;
 /**
  * Thrown when a string can't be parsed to {@link TemplateDateModel}, because the provided target type is
  * {@link TemplateDateModel#UNKNOWN}.
- * 
- * @since 2.3.24
  */
 public final class UnknownDateTypeParsingUnsupportedException extends UnformattableValueException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnparsableValueException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnparsableValueException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnparsableValueException.java
index 78af935..d08f37e 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnparsableValueException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/UnparsableValueException.java
@@ -22,8 +22,6 @@ package org.apache.freemarker.core.valueformat;
 /**
  * Thrown when the content of the string that should be parsed by the {@link TemplateValueFormat} doesn't match what the
  * format expects.
- * 
- * @since 2.3.24
  */
 public class UnparsableValueException extends TemplateValueFormatException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTargetTemplateValueFormatException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTargetTemplateValueFormatException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTargetTemplateValueFormatException.java
index b4625a4..0b8b07c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTargetTemplateValueFormatException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTargetTemplateValueFormatException.java
@@ -22,8 +22,6 @@ import org.apache.freemarker.core.valueformat.TemplateValueFormatException;
 
 /**
  * Can't invoke a template format that the template format refers to (typically thrown by alias template formats).
- * 
- * @since 2.3.24
  */
 class AliasTargetTemplateValueFormatException extends TemplateValueFormatException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateDateFormatFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateDateFormatFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateDateFormatFactory.java
index a964bc2..eefb512 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateDateFormatFactory.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateDateFormatFactory.java
@@ -33,8 +33,6 @@ import org.apache.freemarker.core.valueformat.TemplateValueFormatException;
 /**
  * Creates an alias to another format, so that the format can be referred to with a simple name in the template, rather
  * than as a concrete pattern or other kind of format string.
- * 
- * @since 2.3.24
  */
 public final class AliasTemplateDateFormatFactory extends TemplateDateFormatFactory {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateNumberFormatFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateNumberFormatFactory.java b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateNumberFormatFactory.java
index 72e8abd..9d80ab8 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateNumberFormatFactory.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/valueformat/impl/AliasTemplateNumberFormatFactory.java
@@ -32,8 +32,6 @@ import org.apache.freemarker.core.valueformat.TemplateValueFormatException;
 /**
  * Creates an alias to another format, so that the format can be referred to with a simple name in the template, rather
  * than as a concrete pattern or other kind of format string.
- * 
- * @since 2.3.24
  */
 public final class AliasTemplateNumberFormatFactory extends TemplateNumberFormatFactory {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
index b4a2602..570fe17 100644
--- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
+++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/FreemarkerServlet.java
@@ -337,73 +337,53 @@ public class FreemarkerServlet extends HttpServlet {
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params. (This init-param
      * has existed long before 2.3.22, but this constant was only added then.)
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_TEMPLATE_PATH = "TemplatePath";
     
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params. (This init-param
      * has existed long before 2.3.22, but this constant was only added then.)
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_NO_CACHE = "NoCache";
 
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params. (This init-param
      * has existed long before 2.3.22, but this constant was only added then.)
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_CONTENT_TYPE = "ContentType";
 
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     *
-     * @since 2.3.24
      */
     public static final String INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE = "OverrideResponseContentType";
 
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     *
-     * @since 2.3.24
      */
     public static final String INIT_PARAM_RESPONSE_CHARACTER_ENCODING = "ResponseCharacterEncoding";
 
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     *
-     * @since 2.3.24
      */
     public static final String INIT_PARAM_OVERRIDE_RESPONSE_LOCALE = "OverrideResponseLocale";
 
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_BUFFER_SIZE = "BufferSize";
     
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_META_INF_TLD_LOCATIONS = "MetaInfTldSources";
 
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE = "ExceptionOnMissingTemplate";
     
     /**
      * Init-param name - see the {@link FreemarkerServlet} class documentation about the init-params.
-     * 
-     * @since 2.3.22
      */
     public static final String INIT_PARAM_CLASSPATH_TLDS = "ClasspathTlds";
     
@@ -433,37 +413,27 @@ public class FreemarkerServlet extends HttpServlet {
      * When set, the items defined in it will be added after those coming from the
      * {@value #INIT_PARAM_META_INF_TLD_LOCATIONS} init-param. The value syntax is the same as of the init-param. Note
      * that {@value #META_INF_TLD_LOCATION_CLEAR} can be used to re-start the list, rather than continue it.
-     * 
-     * @since 2.3.22
      */
     public static final String SYSTEM_PROPERTY_META_INF_TLD_SOURCES = "org.freemarker.jsp.metaInfTldSources";
 
     /**
      * When set, the items defined in it will be added after those coming from the
      * {@value #INIT_PARAM_CLASSPATH_TLDS} init-param. The value syntax is the same as of the init-param.
-     * 
-     * @since 2.3.22
      */
     public static final String SYSTEM_PROPERTY_CLASSPATH_TLDS = "org.freemarker.jsp.classpathTlds";
     
     /**
      * Used as part of the value of the {@value #INIT_PARAM_META_INF_TLD_LOCATIONS} init-param.
-     * 
-     * @since 2.3.22
      */
     public static final String META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS = "webInfPerLibJars";
     
     /**
      * Used as part of the value of the {@value #INIT_PARAM_META_INF_TLD_LOCATIONS} init-param.
-     * 
-     * @since 2.3.22
      */
     public static final String META_INF_TLD_LOCATION_CLASSPATH = "classpath";
     
     /**
      * Used as part of the value of the {@value #INIT_PARAM_META_INF_TLD_LOCATIONS} init-param.
-     * 
-     * @since 2.3.22
      */
     public static final String META_INF_TLD_LOCATION_CLEAR = "clear";
 
@@ -916,8 +886,6 @@ public class FreemarkerServlet extends HttpServlet {
      * @param env
      *            The {@link Environment} object already set up to execute the template. You only have to call
      *            {@link Environment#process()} and the output will be produced by the template.
-     * 
-     * @since 2.3.24
      */
     protected void processEnvironment(Environment env, HttpServletRequest request, HttpServletResponse response)
             throws TemplateException, IOException {
@@ -1071,8 +1039,6 @@ public class FreemarkerServlet extends HttpServlet {
      * Called to create the {@link TaglibFactory} once per servlet context.
      * The default implementation configures it based on the servlet-init parameters and various other environmental
      * settings, so if you override this method, you should call super, then adjust the result.
-     * 
-     * @since 2.3.22
      */
     protected TaglibFactory createTaglibFactory(ObjectWrapper objectWrapper,
             ServletContext servletContext) throws TemplateModelException {
@@ -1151,8 +1117,6 @@ public class FreemarkerServlet extends HttpServlet {
      * The implementation in {@link FreemarkerServlet} returns {@link TaglibFactory#DEFAULT_CLASSPATH_TLDS}.
      * 
      * @return A {@link List} of {@link String}-s; not {@code null}.
-     * 
-     * @since 2.3.22
      */
     protected List/*<MetaInfTldSource>*/ createDefaultClassPathTlds() {
         return TaglibFactory.DEFAULT_CLASSPATH_TLDS;
@@ -1166,8 +1130,6 @@ public class FreemarkerServlet extends HttpServlet {
      * The implementation in {@link FreemarkerServlet} returns {@link TaglibFactory#DEFAULT_META_INF_TLD_SOURCES}.
      * 
      * @return A {@link List} of {@link MetaInfTldSource}-s; not {@code null}.
-     * 
-     * @since 2.3.22
      */
     protected List/*<MetaInfTldSource>*/ createDefaultMetaInfTldSources() {
         return TaglibFactory.DEFAULT_META_INF_TLD_SOURCES;
@@ -1384,8 +1346,6 @@ public class FreemarkerServlet extends HttpServlet {
      * Returns the default value of the {@value #INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE} Servlet init-param.
      * The method inherited from {@link FreemarkerServlet} returns {@value #INIT_PARAM_VALUE_ALWAYS}; subclasses my
      * override this.
-     * 
-     * @since 2.3.24
      */
     protected String getDefaultOverrideResponseContentType() {
         return INIT_PARAM_VALUE_ALWAYS;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/WebAppTemplateLoader.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/WebAppTemplateLoader.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/WebAppTemplateLoader.java
index 9be5834..3051be3 100644
--- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/WebAppTemplateLoader.java
+++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/WebAppTemplateLoader.java
@@ -101,8 +101,6 @@ public class WebAppTemplateLoader implements TemplateLoader {
 
     /**
      * Getter pair of {@link #setURLConnectionUsesCaches(Boolean)}.
-     * 
-     * @since 2.3.21
      */
     public Boolean getURLConnectionUsesCaches() {
         return urlConnectionUsesCaches;
@@ -110,8 +108,6 @@ public class WebAppTemplateLoader implements TemplateLoader {
 
     /**
      * It does the same as {@link URLTemplateLoader#setURLConnectionUsesCaches(Boolean)}; see there.
-     * 
-     * @since 2.3.21
      */
     public void setURLConnectionUsesCaches(Boolean urlConnectionUsesCaches) {
         this.urlConnectionUsesCaches = urlConnectionUsesCaches;
@@ -119,8 +115,6 @@ public class WebAppTemplateLoader implements TemplateLoader {
 
     /**
      * Show class name and some details that are useful in template-not-found errors.
-     * 
-     * @since 2.3.21
      */
     @Override
     public String toString() {
@@ -142,8 +136,6 @@ public class WebAppTemplateLoader implements TemplateLoader {
 
     /**
      * Getter pair of {@link #setAttemptFileAccess(boolean)}.
-     * 
-     * @since 2.3.23
      */
     public boolean getAttemptFileAccess() {
         return attemptFileAccess;
@@ -157,8 +149,6 @@ public class WebAppTemplateLoader implements TemplateLoader {
      * with {@link #setURLConnectionUsesCaches(Boolean)}, which is also the default behavior with
      * {@link Configuration#getIncompatibleImprovements() incompatibleImprovements} 2.3.21
      * and later.
-     * 
-     * @since 2.3.23
      */
     public void setAttemptFileAccess(boolean attemptFileAccess) {
         this.attemptFileAccess = attemptFileAccess;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/CustomTagAndELFunctionCombiner.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/CustomTagAndELFunctionCombiner.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/CustomTagAndELFunctionCombiner.java
index b005260..cfb91b6 100644
--- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/CustomTagAndELFunctionCombiner.java
+++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/CustomTagAndELFunctionCombiner.java
@@ -40,8 +40,6 @@ import org.apache.freemarker.core.util._ClassUtil;
  * Used when a custom JSP tag and an EL function uses the same name in a tag library, to invoke a single FTL value from
  * the two. As FTL as no separate namespace for "tags" and functions, both aspect has to be implemented by the same
  * value.
- * 
- * @since 2.3.25
  */
 @SuppressWarnings("rawtypes")
 class CustomTagAndELFunctionCombiner {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java
index 0416ca7..9d87357 100644
--- a/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java
+++ b/freemarker-servlet/src/main/java/org/apache/freemarker/servlet/jsp/TaglibFactory.java
@@ -96,8 +96,6 @@ public class TaglibFactory implements TemplateHashModel {
 
     /**
      * The default of {@link #getClasspathTlds()}; an empty list.
-     * 
-     * @since 2.3.22
      */
     public static final List DEFAULT_CLASSPATH_TLDS = Collections.EMPTY_LIST;
     
@@ -105,8 +103,6 @@ public class TaglibFactory implements TemplateHashModel {
      * The default of {@link #getMetaInfTldSources()}; a list that contains
      * {@link WebInfPerLibJarMetaInfTldSource#INSTANCE}, which gives the behavior described in the JSP 2.2
      * specification.
-     * 
-     * @since 2.3.22
      */
     public static final List/*<? extends MetaInfTldSource>*/ DEFAULT_META_INF_TLD_SOURCES
             = Collections.singletonList(WebInfPerLibJarMetaInfTldSource.INSTANCE);
@@ -292,8 +288,6 @@ public class TaglibFactory implements TemplateHashModel {
     
     /**
      * See {@link #setObjectWrapper(ObjectWrapper)}.
-     * 
-     * @since 2.3.22
      */
     public ObjectWrapper getObjectWrapper() {
         return objectWrapper;
@@ -304,8 +298,6 @@ public class TaglibFactory implements TemplateHashModel {
      * Usually, it should be the same {@link ObjectWrapper} that will be used inside the templates. {@code null} value
      * is only supported for backward compatibility. For custom EL functions to be exposed, it must be non-{@code null}
      * and an {@code intanceof} {@link DefaultObjectWrapper} (like typically, a {@link DefaultObjectWrapper}).
-     * 
-     * @since 2.3.22
      */
     public void setObjectWrapper(ObjectWrapper objectWrapper) {
         checkNotStarted();
@@ -314,8 +306,6 @@ public class TaglibFactory implements TemplateHashModel {
 
     /**
      * See {@link #setMetaInfTldSources(List)}.
-     * 
-     * @since 2.3.22
      */
     public List/*<Pattern>*/ getMetaInfTldSources() {
         return metaInfTldSources;
@@ -336,8 +326,6 @@ public class TaglibFactory implements TemplateHashModel {
      *            {@link MetaInfTldSource} wins.
      * 
      * @see #setClasspathTlds(List)
-     * 
-     * @since 2.3.22
      */
     public void setMetaInfTldSources(List/*<? extends MetaInfTldSource>*/ metaInfTldSources) {
         checkNotStarted();
@@ -347,8 +335,6 @@ public class TaglibFactory implements TemplateHashModel {
 
     /**
      * See {@link #setClasspathTlds(List)}.
-     * 
-     * @since 2.3.22
      */
     public List/*<String>*/ getClasspathTlds() {
         return classpathTlds;
@@ -367,8 +353,6 @@ public class TaglibFactory implements TemplateHashModel {
      *            {@code "/META-INF/my.tld"}. (Relative resource paths will be interpreted as root-relative.)
      * 
      * @see #setMetaInfTldSources(List)
-     * 
-     * @since 2.3.22
      */
     public void setClasspathTlds(List/*<String>*/ classpathTlds) {
         checkNotStarted();
@@ -1108,8 +1092,6 @@ public class TaglibFactory implements TemplateHashModel {
     /**
      * A location within which we will look for {@code META-INF/**}{@code /*.tld}-s. Used in the parameter to
      * {@link #setMetaInfTldSources}. See concrete subclasses for more.
-     * 
-     * @since 2.3.22
      */
     public static abstract class MetaInfTldSource {
         private MetaInfTldSource() { }
@@ -1119,8 +1101,6 @@ public class TaglibFactory implements TemplateHashModel {
      * To search TLD-s under <tt>sevletContext:/WEB-INF/lib/*.{jar,zip}/META-INF/**</tt><tt>/*.tld</tt>, as requested by
      * the JSP specification. Note that these also used to be in the classpath, so it's redundant to use this together
      * with a sufficiently permissive {@link ClasspathMetaInfTldSource}.
-     * 
-     * @since 2.3.22
      */
     public static final class WebInfPerLibJarMetaInfTldSource extends MetaInfTldSource {
         public final static WebInfPerLibJarMetaInfTldSource INSTANCE = new WebInfPerLibJarMetaInfTldSource();
@@ -1136,8 +1116,6 @@ public class TaglibFactory implements TemplateHashModel {
      * 
      * <p>
      * Note that this TLD discovery mechanism is not part of the JSP specification.
-     * 
-     * @since 2.3.22
      */
     public static final class ClasspathMetaInfTldSource extends MetaInfTldSource {
         


Mime
View raw message