You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/05/22 22:21:00 UTC

[3/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.

Removed JavaDoc @since tags, as with 3.0.0 we use different packages anyway, so technically everything class is new.


Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/8d00e4da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/8d00e4da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/8d00e4da

Branch: refs/heads/3
Commit: 8d00e4da45dc8e4e52891273a255b6b9d33f580a
Parents: 99ac697
Author: ddekany <dd...@apache.org>
Authored: Tue May 23 00:09:32 2017 +0200
Committer: ddekany <dd...@apache.org>
Committed: Tue May 23 00:20:40 2017 +0200

----------------------------------------------------------------------
 .../core/userpkg/CustomHTMLOutputFormat.java    |   2 -
 .../org/apache/freemarker/core/ASTElement.java  |   4 -
 ...lPlaceCustomDataInitializationException.java |   2 -
 .../apache/freemarker/core/Configuration.java   |  94 +++++++---------
 .../freemarker/core/DirectiveCallPlace.java     |   2 -
 .../org/apache/freemarker/core/Environment.java |  45 --------
 .../core/ListableRightUnboundedRangeModel.java  |   2 -
 .../freemarker/core/LocalContextStack.java      |   2 -
 ...utableParsingAndProcessingConfiguration.java |   2 -
 .../core/MutableProcessingConfiguration.java    | 109 +++++++++----------
 .../core/NonExtendedNodeException.java          |   2 -
 .../freemarker/core/NonHashException.java       |   2 -
 .../core/NonMarkupOutputException.java          |   2 -
 .../freemarker/core/NonMethodException.java     |   2 -
 .../freemarker/core/NonNamespaceException.java  |   2 -
 .../freemarker/core/NonNodeException.java       |   2 -
 .../freemarker/core/NonSequenceException.java   |   2 -
 .../core/NonSequenceOrCollectionException.java  |   2 -
 .../NonUserDefinedDirectiveLikeException.java   |   2 -
 .../apache/freemarker/core/ParseException.java  |  10 --
 .../org/apache/freemarker/core/Template.java    |  18 ---
 .../freemarker/core/TemplateClassResolver.java  |   2 -
 .../freemarker/core/TemplateConfiguration.java  |   2 -
 .../core/TemplateElementArrayBuilder.java       |   2 -
 .../core/TemplateElementsToVisit.java           |   2 -
 .../freemarker/core/TemplateException.java      |  22 ----
 .../core/TemplateNotFoundException.java         |   3 +-
 .../apache/freemarker/core/TokenMgrError.java   |  11 --
 .../core/UnexpectedTypeException.java           |   2 -
 .../org/apache/freemarker/core/Version.java     |   4 -
 .../core/WrongTemplateCharsetException.java     |   3 -
 .../core/model/ObjectWrapperAndUnwrapper.java   |   8 --
 .../core/model/ObjectWrapperWithAPISupport.java |   4 -
 .../core/model/RichObjectWrapper.java           |   2 -
 .../core/model/TemplateCollectionModelEx.java   |   2 -
 .../core/model/TemplateDirectiveBody.java       |   2 -
 .../core/model/TemplateDirectiveModel.java      |   2 -
 .../core/model/TemplateHashModelEx2.java        |   6 -
 .../core/model/TemplateMarkupOutputModel.java   |   2 -
 .../core/model/TemplateModelWithAPISupport.java |   2 -
 .../core/model/TemplateNodeModel.java           |   2 -
 .../core/model/TemplateNodeModelEx.java         |   2 -
 .../freemarker/core/model/impl/APIModel.java    |   2 -
 .../freemarker/core/model/impl/BeanModel.java   |   1 -
 .../core/model/impl/ClassIntrospector.java      |   4 -
 .../core/model/impl/DefaultArrayAdapter.java    |   2 -
 .../core/model/impl/DefaultIterableAdapter.java |   2 -
 .../core/model/impl/DefaultIteratorAdapter.java |   2 -
 .../core/model/impl/DefaultListAdapter.java     |   2 -
 .../core/model/impl/DefaultMapAdapter.java      |   2 -
 .../impl/DefaultNonListCollectionAdapter.java   |   2 -
 .../core/model/impl/DefaultObjectWrapper.java   |  17 ---
 .../model/impl/MapKeyValuePairIterator.java     |   2 -
 .../model/impl/MethodAppearanceFineTuner.java   |   2 -
 .../freemarker/core/model/impl/SimpleHash.java  |   1 -
 .../core/model/impl/SimpleScalar.java           |   2 -
 .../core/model/impl/SimpleSequence.java         |   2 -
 .../core/model/impl/SingletonCustomizer.java    |   2 -
 .../outputformat/CommonMarkupOutputFormat.java  |   2 -
 .../CommonTemplateMarkupOutputModel.java        |   2 -
 .../core/outputformat/MarkupOutputFormat.java   |   2 -
 .../core/outputformat/OutputFormat.java         |   2 -
 .../UnregisteredOutputFormatException.java      |   2 -
 .../core/outputformat/impl/CSSOutputFormat.java |   2 -
 .../impl/CombinedMarkupOutputFormat.java        |   2 -
 .../outputformat/impl/HTMLOutputFormat.java     |   2 -
 .../outputformat/impl/JSONOutputFormat.java     |   2 -
 .../impl/JavaScriptOutputFormat.java            |   2 -
 .../impl/PlainTextOutputFormat.java             |   2 -
 .../core/outputformat/impl/RTFOutputFormat.java |   2 -
 .../impl/TemplateCombinedMarkupOutputModel.java |   2 -
 .../impl/TemplateHTMLOutputModel.java           |   2 -
 .../impl/TemplateRTFOutputModel.java            |   2 -
 .../impl/TemplateXHTMLOutputModel.java          |   2 -
 .../impl/TemplateXMLOutputModel.java            |   2 -
 .../impl/UndefinedOutputFormat.java             |   2 -
 .../outputformat/impl/XHTMLOutputFormat.java    |   2 -
 .../core/outputformat/impl/XMLOutputFormat.java |   2 -
 .../core/templateresolver/AndMatcher.java       |   2 -
 .../CacheStorageWithGetSize.java                |   2 -
 ...ConditionalTemplateConfigurationFactory.java |   2 -
 .../templateresolver/FileExtensionMatcher.java  |   2 -
 .../templateresolver/FileNameGlobMatcher.java   |   2 -
 .../templateresolver/GetTemplateResult.java     |   2 -
 .../MalformedTemplateNameException.java         |   3 +-
 .../MergingTemplateConfigurationFactory.java    |   2 -
 .../core/templateresolver/NotMatcher.java       |   2 -
 .../core/templateresolver/OrMatcher.java        |   2 -
 .../core/templateresolver/PathGlobMatcher.java  |   2 -
 .../core/templateresolver/PathRegexMatcher.java |   2 -
 .../TemplateConfigurationFactory.java           |   2 -
 .../TemplateConfigurationFactoryException.java  |   2 -
 .../templateresolver/TemplateLookupContext.java |   2 -
 .../templateresolver/TemplateLookupResult.java  |   2 -
 .../TemplateLookupStrategy.java                 |   2 -
 .../core/templateresolver/TemplateResolver.java |   2 -
 .../templateresolver/TemplateSourceMatcher.java |   1 -
 .../impl/DefaultTemplateResolver.java           |   9 --
 .../impl/FileTemplateLoader.java                |  10 --
 .../templateresolver/impl/MruCacheStorage.java  |   7 --
 .../impl/MultiTemplateLoader.java               |   4 -
 .../templateresolver/impl/NullCacheStorage.java |   5 -
 .../templateresolver/impl/SoftCacheStorage.java |   2 -
 .../impl/StrongCacheStorage.java                |   2 -
 .../impl/URLTemplateLoader.java                 |   2 -
 .../freemarker/core/util/BugException.java      |   2 -
 .../apache/freemarker/core/util/DeepUnwrap.java |   1 -
 .../apache/freemarker/core/util/FTLUtil.java    |   8 --
 .../freemarker/core/util/ObjectFactory.java     |   2 -
 .../core/util/UndeclaredThrowableException.java |   1 -
 .../apache/freemarker/core/util/_ClassUtil.java |  14 ---
 .../freemarker/core/util/_CollectionUtil.java   |   1 -
 .../core/util/_NullArgumentException.java       |   3 -
 .../freemarker/core/util/_NullWriter.java       |   2 -
 .../freemarker/core/util/_NumberUtil.java       |   4 -
 .../freemarker/core/util/_StringUtil.java       |  29 -----
 .../InvalidFormatParametersException.java       |   2 -
 .../InvalidFormatStringException.java           |   2 -
 .../ParsingNotSupportedException.java           |   2 -
 .../core/valueformat/TemplateDateFormat.java    |   2 -
 .../valueformat/TemplateDateFormatFactory.java  |   2 -
 .../core/valueformat/TemplateFormatUtil.java    |   2 -
 .../core/valueformat/TemplateNumberFormat.java  |   2 -
 .../TemplateNumberFormatFactory.java            |   2 -
 .../core/valueformat/TemplateValueFormat.java   |   2 -
 .../TemplateValueFormatException.java           |   2 -
 .../valueformat/TemplateValueFormatFactory.java |   2 -
 .../UndefinedCustomFormatException.java         |   1 -
 .../UnformattableValueException.java            |   2 -
 ...nDateTypeFormattingUnsupportedException.java |   2 -
 ...nownDateTypeParsingUnsupportedException.java |   2 -
 .../valueformat/UnparsableValueException.java   |   2 -
 ...AliasTargetTemplateValueFormatException.java |   2 -
 .../impl/AliasTemplateDateFormatFactory.java    |   2 -
 .../impl/AliasTemplateNumberFormatFactory.java  |   2 -
 .../freemarker/servlet/FreemarkerServlet.java   |  40 -------
 .../servlet/WebAppTemplateLoader.java           |  10 --
 .../jsp/CustomTagAndELFunctionCombiner.java     |   2 -
 .../freemarker/servlet/jsp/TaglibFactory.java   |  22 ----
 139 files changed, 96 insertions(+), 645 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/CustomHTMLOutputFormat.java
----------------------------------------------------------------------
diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/CustomHTMLOutputFormat.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/CustomHTMLOutputFormat.java
index f570a66..96a6a63 100644
--- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/CustomHTMLOutputFormat.java
+++ b/freemarker-core-test/src/test/java/org/apache/freemarker/core/userpkg/CustomHTMLOutputFormat.java
@@ -27,8 +27,6 @@ import org.apache.freemarker.core.util._StringUtil;
 
 /**
  * Represents the HTML output format.
- * 
- * @since 2.3.24
  */
 public final class CustomHTMLOutputFormat extends CommonMarkupOutputFormat<CustomTemplateHTMLModel> {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java
index a9cbfc0..574b22d 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ASTElement.java
@@ -52,8 +52,6 @@ abstract class ASTElement extends ASTNode {
 
     /**
      * The index of the element in the parent's {@link #childBuffer} array.
-     * 
-     * @since 2.3.23
      */
     private int index;
 
@@ -250,8 +248,6 @@ abstract class ASTElement extends ASTNode {
 
     /**
      * @param buffWithCnt Maybe {@code null}
-     * 
-     * @since 2.3.24
      */
     final void setChildren(TemplateElements buffWithCnt) {
         ASTElement[] childBuffer = buffWithCnt.getBuffer();

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/CallPlaceCustomDataInitializationException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/CallPlaceCustomDataInitializationException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/CallPlaceCustomDataInitializationException.java
index ffaa2b0..842fda1 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/CallPlaceCustomDataInitializationException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/CallPlaceCustomDataInitializationException.java
@@ -21,8 +21,6 @@ package org.apache.freemarker.core;
 
 /**
  * Thrown by {@link DirectiveCallPlace#getOrCreateCustomData(Object, org.apache.freemarker.core.util.ObjectFactory)}
- * 
- * @since 2.3.22
  */
 public class CallPlaceCustomDataInitializationException extends Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
index 05643a0..6151800 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Configuration.java
@@ -1276,8 +1276,6 @@ public final class Configuration
      * @throws IOException
      *             If there was some other problem with reading the template "file". Note that the other exceptions
      *             extend {@link IOException}, so this should be catched the last.
-     * 
-     * @since 2.3.22
      */
     public Template getTemplate(String name, Locale locale, Serializable customLookupCondition,
             boolean ignoreMissing)
@@ -1447,17 +1445,13 @@ public final class Configuration
      *             Also, "pre" and "rc" was lowercase, and was followd by a number without 0-padding.</li>
      *       </ul>
      * </ul>
-     * 
-     * @since 2.3.20
-     */ 
+     */
     public static Version getVersion() {
         return VERSION;
     }
     
     /**
      * Same as {@link #getSupportedBuiltInNames(NamingConvention)} with argument {@link #getNamingConvention()}.
-     * 
-     * @since 2.3.20
      */
     public Set getSupportedBuiltInNames() {
         return getSupportedBuiltInNames(getNamingConvention());
@@ -1474,8 +1468,6 @@ public final class Configuration
      *            {@link NamingConvention#CAMEL_CASE}. If it's
      *            {@link NamingConvention#AUTO_DETECT} then the union
      *            of the names in all the naming conventions is returned.
-     * 
-     * @since 2.3.24
      */
     public Set<String> getSupportedBuiltInNames(NamingConvention namingConvention) {
         Set<String> names;
@@ -1494,8 +1486,6 @@ public final class Configuration
     /**
      * Same as {@link #getSupportedBuiltInDirectiveNames(NamingConvention)} with argument
      * {@link #getNamingConvention()}.
-     * 
-     * @since 2.3.21
      */
     public Set getSupportedBuiltInDirectiveNames() {
         return getSupportedBuiltInDirectiveNames(getNamingConvention());
@@ -1511,8 +1501,6 @@ public final class Configuration
      *            {@link NamingConvention#CAMEL_CASE}. If it's
      *            {@link NamingConvention#AUTO_DETECT} then the union
      *            of the names in all the naming conventions is returned. 
-     * 
-     * @since 2.3.24
      */
     public Set<String> getSupportedBuiltInDirectiveNames(NamingConvention namingConvention) {
         if (namingConvention == NamingConvention.AUTO_DETECT) {
@@ -1545,108 +1533,108 @@ public final class Configuration
             extends MutableParsingAndProcessingConfiguration<SelfT>
             implements TopLevelConfiguration, CommonBuilder<Configuration> {
 
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String SOURCE_ENCODING_KEY_SNAKE_CASE = "source_encoding";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String SOURCE_ENCODING_KEY = SOURCE_ENCODING_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String SOURCE_ENCODING_KEY_CAMEL_CASE = "sourceEncoding";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String LOCALIZED_LOOKUP_KEY_SNAKE_CASE = "localized_lookup";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String LOCALIZED_LOOKUP_KEY = LOCALIZED_LOOKUP_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String LOCALIZED_LOOKUP_KEY_CAMEL_CASE = "localizedLookup";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String WHITESPACE_STRIPPING_KEY_SNAKE_CASE = "whitespace_stripping";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String WHITESPACE_STRIPPING_KEY = WHITESPACE_STRIPPING_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String WHITESPACE_STRIPPING_KEY_CAMEL_CASE = "whitespaceStripping";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.24 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String OUTPUT_FORMAT_KEY_SNAKE_CASE = "output_format";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String OUTPUT_FORMAT_KEY = OUTPUT_FORMAT_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.24 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String OUTPUT_FORMAT_KEY_CAMEL_CASE = "outputFormat";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.24 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_SNAKE_CASE = "recognize_standard_file_extensions";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY
                 = RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.24 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_CAMEL_CASE = "recognizeStandardFileExtensions";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.24 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_SNAKE_CASE = "registered_custom_output_formats";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY = REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.24 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_CAMEL_CASE = "registeredCustomOutputFormats";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.24 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE = "auto_escaping_policy";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String AUTO_ESCAPING_POLICY_KEY = AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.24 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE = "autoEscapingPolicy";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String CACHE_STORAGE_KEY_SNAKE_CASE = "cache_storage";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String CACHE_STORAGE_KEY = CACHE_STORAGE_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String CACHE_STORAGE_KEY_CAMEL_CASE = "cacheStorage";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TEMPLATE_UPDATE_DELAY_KEY_SNAKE_CASE = "template_update_delay";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String TEMPLATE_UPDATE_DELAY_KEY = TEMPLATE_UPDATE_DELAY_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TEMPLATE_UPDATE_DELAY_KEY_CAMEL_CASE = "templateUpdateDelay";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String AUTO_INCLUDE_KEY_SNAKE_CASE = "auto_include";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String AUTO_INCLUDE_KEY = AUTO_INCLUDE_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String AUTO_INCLUDE_KEY_CAMEL_CASE = "autoInclude";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TEMPLATE_LANGUAGE_KEY_SNAKE_CASE = "template_language";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String TEMPLATE_LANGUAGE_KEY = TEMPLATE_LANGUAGE_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TEMPLATE_LANGUAGE_KEY_CAMEL_CASE = "templateLanguage";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TAG_SYNTAX_KEY_SNAKE_CASE = "tag_syntax";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String TAG_SYNTAX_KEY = TAG_SYNTAX_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TAG_SYNTAX_KEY_CAMEL_CASE = "tagSyntax";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String NAMING_CONVENTION_KEY_SNAKE_CASE = "naming_convention";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String NAMING_CONVENTION_KEY = NAMING_CONVENTION_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String NAMING_CONVENTION_KEY_CAMEL_CASE = "namingConvention";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.25 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TAB_SIZE_KEY_SNAKE_CASE = "tab_size";
-        /** Alias to the {@code ..._SNAKE_CASE} variation. @since 2.3.25 */
+        /** Alias to the {@code ..._SNAKE_CASE} variation. */
         public static final String TAB_SIZE_KEY = TAB_SIZE_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.25 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TAB_SIZE_KEY_CAMEL_CASE = "tabSize";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TEMPLATE_LOADER_KEY_SNAKE_CASE = "template_loader";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String TEMPLATE_LOADER_KEY = TEMPLATE_LOADER_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TEMPLATE_LOADER_KEY_CAMEL_CASE = "templateLoader";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TEMPLATE_LOOKUP_STRATEGY_KEY_SNAKE_CASE = "template_lookup_strategy";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String TEMPLATE_LOOKUP_STRATEGY_KEY = TEMPLATE_LOOKUP_STRATEGY_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TEMPLATE_LOOKUP_STRATEGY_KEY_CAMEL_CASE = "templateLookupStrategy";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TEMPLATE_NAME_FORMAT_KEY_SNAKE_CASE = "template_name_format";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String TEMPLATE_NAME_FORMAT_KEY = TEMPLATE_NAME_FORMAT_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TEMPLATE_NAME_FORMAT_KEY_CAMEL_CASE = "templateNameFormat";
         /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String SHARED_VARIABLES_KEY_SNAKE_CASE = "shared_variables";
@@ -1654,17 +1642,17 @@ public final class Configuration
         public static final String SHARED_VARIABLES_KEY = SHARED_VARIABLES_KEY_SNAKE_CASE;
         /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String SHARED_VARIABLES_KEY_CAMEL_CASE = "sharedVariables";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.24 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String TEMPLATE_CONFIGURATIONS_KEY_SNAKE_CASE = "template_configurations";
-        /** Alias to the {@code ..._SNAKE_CASE} variation. @since 2.3.24 */
+        /** Alias to the {@code ..._SNAKE_CASE} variation. */
         public static final String TEMPLATE_CONFIGURATIONS_KEY = TEMPLATE_CONFIGURATIONS_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.24 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String TEMPLATE_CONFIGURATIONS_KEY_CAMEL_CASE = "templateConfigurations";
-        /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+        /** Legacy, snake case ({@code like_this}) variation of the setting name. */
         public static final String INCOMPATIBLE_IMPROVEMENTS_KEY_SNAKE_CASE = "incompatible_improvements";
         /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
         public static final String INCOMPATIBLE_IMPROVEMENTS_KEY = INCOMPATIBLE_IMPROVEMENTS_KEY_SNAKE_CASE;
-        /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+        /** Modern, camel case ({@code likeThis}) variation of the setting name. */
         public static final String INCOMPATIBLE_IMPROVEMENTS_KEY_CAMEL_CASE = "incompatibleImprovements";
         // Set early in the constructor to non-null
         private Version incompatibleImprovements = Configuration.VERSION_3_0_0;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/DirectiveCallPlace.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/DirectiveCallPlace.java b/freemarker-core/src/main/java/org/apache/freemarker/core/DirectiveCallPlace.java
index 5793ad3..29ac0c2 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/DirectiveCallPlace.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/DirectiveCallPlace.java
@@ -49,8 +49,6 @@ import org.apache.freemarker.core.util.ObjectFactory;
  * {@link TemplateDirectiveModel}, {@link TemplateTransformModel}, or a macro).
  * 
  * @see Environment#getCurrentDirectiveCallPlace()
- * 
- * @since 2.3.22
  */
 public interface DirectiveCallPlace {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java
index 6713200..35ec25d 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Environment.java
@@ -232,8 +232,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * That template will never change, like {@code #include} or macro calls don't change it.
      * 
      * @see #getCurrentNamespace()
-     * 
-     * @since 2.3.22
      */
     public Template getMainTemplate() {
         return mainTemplate;
@@ -247,8 +245,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * 
      * @see #getMainTemplate()
      * @see #getCurrentNamespace()
-     * 
-     * @since 2.3.23
      */
     @SuppressFBWarnings(value = "RANGE_ARRAY_INDEX", justification = "False alarm")
     public Template getCurrentTemplate() {
@@ -269,8 +265,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * executing custom directive. This currently only works for calls made from templates with the {@code <@...>}
      * syntax. This should only be called from the {@link TemplateDirectiveModel} that was invoked with {@code <@...>},
      * otherwise its return value is not defined by this API (it's usually {@code null}).
-     * 
-     * @since 2.3.22
      */
     @SuppressFBWarnings(value = "RANGE_ARRAY_INDEX", justification = "False alarm")
     public DirectiveCallPlace getCurrentDirectiveCallPlace() {
@@ -420,8 +414,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
     /**
      * @param elementBuffer
      *            The elements to visit; might contains trailing {@code null}-s. Can be {@code null}.
-     * 
-     * @since 2.3.24
      */
     final void visit(ASTElement[] elementBuffer) throws IOException, TemplateException {
         if (elementBuffer == null) {
@@ -611,8 +603,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * Tells if we are inside an <tt>#attempt</tt> block (but before <tt>#recover</tt>). This can be useful for
      * {@link TemplateExceptionHandler}-s, as then they may don't want to print the error to the output, as
      * <tt>#attempt</tt> will roll it back anyway.
-     * 
-     * @since 2.3.20
      */
     public boolean isInAttemptBlock() {
         return inAttemptBlock;
@@ -1150,8 +1140,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
 
     /**
      * Compares two {@link TemplateModel}-s according the rules of the FTL "==" operator.
-     * 
-     * @since 2.3.20
      */
     public boolean applyEqualsOperator(TemplateModel leftValue, TemplateModel rightValue)
             throws TemplateException {
@@ -1162,8 +1150,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * Compares two {@link TemplateModel}-s according the rules of the FTL "==" operator, except that if the two types
      * are incompatible, they are treated as non-equal instead of throwing an exception. Comparing dates of different
      * types (date-only VS time-only VS date-time) will still throw an exception, however.
-     * 
-     * @since 2.3.20
      */
     public boolean applyEqualsOperatorLenient(TemplateModel leftValue, TemplateModel rightValue)
             throws TemplateException {
@@ -1172,8 +1158,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
 
     /**
      * Compares two {@link TemplateModel}-s according the rules of the FTL "&lt;" operator.
-     * 
-     * @since 2.3.20
      */
     public boolean applyLessThanOperator(TemplateModel leftValue, TemplateModel rightValue)
             throws TemplateException {
@@ -1182,8 +1166,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
 
     /**
      * Compares two {@link TemplateModel}-s according the rules of the FTL "&lt;" operator.
-     * 
-     * @since 2.3.20
      */
     public boolean applyLessThanOrEqualsOperator(TemplateModel leftValue, TemplateModel rightValue)
             throws TemplateException {
@@ -1192,8 +1174,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
 
     /**
      * Compares two {@link TemplateModel}-s according the rules of the FTL "&gt;" operator.
-     * 
-     * @since 2.3.20
      */
     public boolean applyGreaterThanOperator(TemplateModel leftValue, TemplateModel rightValue)
             throws TemplateException {
@@ -1202,8 +1182,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
 
     /**
      * Compares two {@link TemplateModel}-s according the rules of the FTL "&gt;=" operator.
-     * 
-     * @since 2.3.20
      */
     public boolean applyWithGreaterThanOrEqualsOperator(TemplateModel leftValue, TemplateModel rightValue)
             throws TemplateException {
@@ -1342,8 +1320,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * However, at least as of this writing (2.3.24), changing the current locale {@link #setLocale(Locale)} or changing
      * the current number format ({@link #setNumberFormat(String)}) will drop the stored value, so it will have to be
      * recalculated.
-     * 
-     * @since 2.3.24
      */
     public TemplateNumberFormat getTemplateNumberFormat() throws TemplateValueFormatException {
         TemplateNumberFormat format = cachedTemplateNumberFormat;
@@ -1363,8 +1339,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * @param formatString
      *            A string that you could also use as the value of the {@code numberFormat} configuration setting. Can't
      *            be {@code null}.
-     * 
-     * @since 2.3.24
      */
     public TemplateNumberFormat getTemplateNumberFormat(String formatString) throws TemplateValueFormatException {
         return getTemplateNumberFormat(formatString, true);
@@ -1385,8 +1359,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      *            A string that you could also use as the value of the {@code numberFormat} configuration setting.
      * @param locale
      *            The locale of the number format; not {@code null}.
-     * 
-     * @since 2.3.24
      */
     public TemplateNumberFormat getTemplateNumberFormat(String formatString, Locale locale)
             throws TemplateValueFormatException {
@@ -1670,8 +1642,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * @param formatString
      *            Like {@code "iso m"} or {@code "dd.MM.yyyy HH:mm"} or {@code "@somethingCustom"} or
      *            {@code "@somethingCustom params"}
-     * 
-     * @since 2.3.24
      */
     public TemplateDateFormat getTemplateDateFormat(
             String formatString, int dateType, Class<? extends Date> dateClass)
@@ -1696,8 +1666,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      *            {@link TemplateDateFormatFactory#get(String, int, Locale, TimeZone, boolean, Environment)}
      * 
      * @see #getTemplateDateFormat(String, int, Class)
-     * 
-     * @since 2.4
      */
     public TemplateDateFormat getTemplateDateFormat(
             String formatString,
@@ -1728,8 +1696,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      *            {@code null}.
      * 
      * @see #getTemplateDateFormat(String, int, Class)
-     * 
-     * @since 2.4
      */
     public TemplateDateFormat getTemplateDateFormat(
             String formatString,
@@ -1774,8 +1740,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * @param zonelessInput
      *            See the similar parameter of
      *            {@link TemplateDateFormatFactory#get(String, int, Locale, TimeZone, boolean, Environment)}
-     * 
-     * @since 2.3.24
      */
     public TemplateDateFormat getTemplateDateFormat(
             String formatString,
@@ -2255,7 +2219,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * @param w
      *            If it's a {@link PrintWriter}, {@link PrintWriter#println()} will be used for line-breaks.
      * @see #getInstructionStackSnapshot()
-     * @since 2.3.21
      */
     static void outputInstructionStack(
             ASTElement[] instructionStackSnapshot, boolean terseMode, Writer w) {
@@ -2333,8 +2296,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
 
     /**
      * Returns the snapshot of what would be printed as FTL stack trace.
-     * 
-     * @since 2.3.20
      */
     ASTElement[] getInstructionStackSnapshot() {
         int requiredLength = 0;
@@ -2697,8 +2658,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * @throws IOException
      *             Same as exceptions thrown by
      *             {@link Configuration#getTemplate(String, Locale, Serializable, boolean)}
-     * 
-     * @since 2.3.21
      */
     public Template getTemplateForInclusion(String name, boolean ignoreMissing)
             throws IOException {
@@ -2772,8 +2731,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      * 
      * @return Not {@code null}. This is possibly a lazily self-initializing namespace, which mean that it will only try
      *         to get and process the imported template when you access its content.
-     * 
-     * @since 2.3.25
      */
     public Namespace importLib(String templateName, String targetNsVarName, boolean lazy)
             throws IOException, TemplateException {
@@ -2892,8 +2849,6 @@ public final class Environment extends MutableProcessingConfiguration<Environmen
      *            relatively to the {@code baseName}. Absolute names are simply returned as is, ignoring the
      *            {@code baseName}, except, when the {@code baseName} has scheme part while the {@code targetName}
      *            doesn't have, then the schema of the {@code baseName} is prepended to the {@code targetName}.
-     * 
-     * @since 2.3.22
      */
     public String toFullTemplateName(String baseName, String targetName)
             throws MalformedTemplateNameException {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/ListableRightUnboundedRangeModel.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ListableRightUnboundedRangeModel.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ListableRightUnboundedRangeModel.java
index a4a14b5..935bce9 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ListableRightUnboundedRangeModel.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ListableRightUnboundedRangeModel.java
@@ -29,8 +29,6 @@ import org.apache.freemarker.core.model.impl.SimpleNumber;
 
 /**
  * This is the model used for right-unbounded ranges since Incompatible Improvements 2.3.21.
- * 
- * @since 2.3.21
  */
 final class ListableRightUnboundedRangeModel extends RightUnboundedRangeModel implements TemplateCollectionModel {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/LocalContextStack.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/LocalContextStack.java b/freemarker-core/src/main/java/org/apache/freemarker/core/LocalContextStack.java
index aead89d..5b3b72b 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/LocalContextStack.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/LocalContextStack.java
@@ -20,8 +20,6 @@ package org.apache.freemarker.core;
 
 /**
  * Class that's a little bit more efficient than using an {@code ArrayList<LocalContext>}. 
- * 
- * @since 2.3.24
  */
 final class LocalContextStack {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
index a053d92..1805b54 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableParsingAndProcessingConfiguration.java
@@ -445,8 +445,6 @@ public abstract class MutableParsingAndProcessingConfiguration<
 
     /**
      * Tells if this setting is set directly in this object or its value is inherited from the parent parsing configuration..
-     *
-     * @since 2.3.25
      */
     @Override
     public boolean isTabSizeSet() {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
index 6fc904f..26d7f38 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/MutableProcessingConfiguration.java
@@ -80,170 +80,170 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
     public static final String DEFAULT_VALUE = "default";
     public static final String JVM_DEFAULT_VALUE = "JVM default";
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String LOCALE_KEY_SNAKE_CASE = "locale";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String LOCALE_KEY_CAMEL_CASE = "locale";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String LOCALE_KEY = LOCALE_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String NUMBER_FORMAT_KEY_SNAKE_CASE = "number_format";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String NUMBER_FORMAT_KEY_CAMEL_CASE = "numberFormat";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String NUMBER_FORMAT_KEY = NUMBER_FORMAT_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE = "custom_number_formats";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String CUSTOM_NUMBER_FORMATS_KEY_CAMEL_CASE = "customNumberFormats";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String CUSTOM_NUMBER_FORMATS_KEY = CUSTOM_NUMBER_FORMATS_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String TIME_FORMAT_KEY_SNAKE_CASE = "time_format";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String TIME_FORMAT_KEY_CAMEL_CASE = "timeFormat";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String TIME_FORMAT_KEY = TIME_FORMAT_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String DATE_FORMAT_KEY_SNAKE_CASE = "date_format";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String DATE_FORMAT_KEY_CAMEL_CASE = "dateFormat";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String DATE_FORMAT_KEY = DATE_FORMAT_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE = "custom_date_formats";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String CUSTOM_DATE_FORMATS_KEY_CAMEL_CASE = "customDateFormats";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String CUSTOM_DATE_FORMATS_KEY = CUSTOM_DATE_FORMATS_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String DATETIME_FORMAT_KEY_SNAKE_CASE = "datetime_format";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String DATETIME_FORMAT_KEY_CAMEL_CASE = "datetimeFormat";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String DATETIME_FORMAT_KEY = DATETIME_FORMAT_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String TIME_ZONE_KEY_SNAKE_CASE = "time_zone";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String TIME_ZONE_KEY_CAMEL_CASE = "timeZone";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String TIME_ZONE_KEY = TIME_ZONE_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE = "sql_date_and_time_time_zone";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String SQL_DATE_AND_TIME_TIME_ZONE_KEY_CAMEL_CASE = "sqlDateAndTimeTimeZone";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String SQL_DATE_AND_TIME_TIME_ZONE_KEY = SQL_DATE_AND_TIME_TIME_ZONE_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE = "template_exception_handler";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String TEMPLATE_EXCEPTION_HANDLER_KEY_CAMEL_CASE = "templateExceptionHandler";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String TEMPLATE_EXCEPTION_HANDLER_KEY = TEMPLATE_EXCEPTION_HANDLER_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String ARITHMETIC_ENGINE_KEY_SNAKE_CASE = "arithmetic_engine";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String ARITHMETIC_ENGINE_KEY_CAMEL_CASE = "arithmeticEngine";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String ARITHMETIC_ENGINE_KEY = ARITHMETIC_ENGINE_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String OBJECT_WRAPPER_KEY_SNAKE_CASE = "object_wrapper";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String OBJECT_WRAPPER_KEY_CAMEL_CASE = "objectWrapper";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String OBJECT_WRAPPER_KEY = OBJECT_WRAPPER_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String BOOLEAN_FORMAT_KEY_SNAKE_CASE = "boolean_format";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String BOOLEAN_FORMAT_KEY_CAMEL_CASE = "booleanFormat";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String BOOLEAN_FORMAT_KEY = BOOLEAN_FORMAT_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String OUTPUT_ENCODING_KEY_SNAKE_CASE = "output_encoding";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String OUTPUT_ENCODING_KEY_CAMEL_CASE = "outputEncoding";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String OUTPUT_ENCODING_KEY = OUTPUT_ENCODING_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String URL_ESCAPING_CHARSET_KEY_SNAKE_CASE = "url_escaping_charset";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String URL_ESCAPING_CHARSET_KEY_CAMEL_CASE = "urlEscapingCharset";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String URL_ESCAPING_CHARSET_KEY = URL_ESCAPING_CHARSET_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String AUTO_FLUSH_KEY_SNAKE_CASE = "auto_flush";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String AUTO_FLUSH_KEY_CAMEL_CASE = "autoFlush";
-    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. @since 2.3.17 */
+    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String AUTO_FLUSH_KEY = AUTO_FLUSH_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE = "new_builtin_class_resolver";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String NEW_BUILTIN_CLASS_RESOLVER_KEY_CAMEL_CASE = "newBuiltinClassResolver";
-    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. @since 2.3.17 */
+    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String NEW_BUILTIN_CLASS_RESOLVER_KEY = NEW_BUILTIN_CLASS_RESOLVER_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String SHOW_ERROR_TIPS_KEY_SNAKE_CASE = "show_error_tips";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String SHOW_ERROR_TIPS_KEY_CAMEL_CASE = "showErrorTips";
-    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. @since 2.3.21 */
+    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String SHOW_ERROR_TIPS_KEY = SHOW_ERROR_TIPS_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String API_BUILTIN_ENABLED_KEY_SNAKE_CASE = "api_builtin_enabled";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String API_BUILTIN_ENABLED_KEY_CAMEL_CASE = "apiBuiltinEnabled";
-    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. @since 2.3.22 */
+    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String API_BUILTIN_ENABLED_KEY = API_BUILTIN_ENABLED_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.23 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE = "log_template_exceptions";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.23 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String LOG_TEMPLATE_EXCEPTIONS_KEY_CAMEL_CASE = "logTemplateExceptions";
-    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. @since 2.3.22 */
+    /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String LOG_TEMPLATE_EXCEPTIONS_KEY = LOG_TEMPLATE_EXCEPTIONS_KEY_SNAKE_CASE;
 
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.25 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String LAZY_IMPORTS_KEY_SNAKE_CASE = "lazy_imports";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.25 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String LAZY_IMPORTS_KEY_CAMEL_CASE = "lazyImports";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String LAZY_IMPORTS_KEY = LAZY_IMPORTS_KEY_SNAKE_CASE;
 
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.25 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE = "lazy_auto_imports";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.25 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String LAZY_AUTO_IMPORTS_KEY_CAMEL_CASE = "lazyAutoImports";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String LAZY_AUTO_IMPORTS_KEY = LAZY_AUTO_IMPORTS_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.25 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String AUTO_IMPORT_KEY_SNAKE_CASE = "auto_import";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.25 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String AUTO_IMPORT_KEY_CAMEL_CASE = "autoImport";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String AUTO_IMPORT_KEY = AUTO_IMPORT_KEY_SNAKE_CASE;
     
-    /** Legacy, snake case ({@code like_this}) variation of the setting name. @since 2.3.25 */
+    /** Legacy, snake case ({@code like_this}) variation of the setting name. */
     public static final String AUTO_INCLUDE_KEY_SNAKE_CASE = "auto_include";
-    /** Modern, camel case ({@code likeThis}) variation of the setting name. @since 2.3.25 */
+    /** Modern, camel case ({@code likeThis}) variation of the setting name. */
     public static final String AUTO_INCLUDE_KEY_CAMEL_CASE = "autoInclude";
     /** Alias to the {@code ..._SNAKE_CASE} variation due to backward compatibility constraints. */
     public static final String AUTO_INCLUDE_KEY = AUTO_INCLUDE_KEY_SNAKE_CASE;
@@ -2036,8 +2036,6 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
      *            convention.
      * 
      * @see Configuration.ExtendableBuilder#getSettingNames(boolean)
-     * 
-     * @since 2.3.24
      */
     public static Set<String> getSettingNames(boolean camelCase) {
         return new _SortedArraySet<>(camelCase ? SETTING_NAMES_CAMEL_CASE : SETTING_NAMES_SNAKE_CASE);
@@ -2077,7 +2075,6 @@ public abstract class MutableProcessingConfiguration<SelfT extends MutableProces
     /**
      * @param name The wrong name
      * @return The corrected name, or {@code null} if there's no known correction
-     * @since 2.3.21
      */
     protected String getCorrectedNameForUnknownSetting(String name) {
         return null;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonExtendedNodeException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonExtendedNodeException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonExtendedNodeException.java
index b95cf77..4c69b05 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonExtendedNodeException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonExtendedNodeException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateNodeModelEx;
 
 /**
  * Indicates that a {@link TemplateNodeModelEx} value was expected, but the value had a different type.
- * 
- * @since 2.3.26
  */
 public class NonExtendedNodeException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonHashException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonHashException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonHashException.java
index 7c26bf2..eb56312 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonHashException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonHashException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateModel;
 
 /**
  * Indicates that a {@link TemplateHashModel} value was expected, but the value had a different type.
- * 
- * @since 2.3.21
  */
 public class NonHashException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonMarkupOutputException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonMarkupOutputException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonMarkupOutputException.java
index 9a2d5c4..cdc0728 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonMarkupOutputException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonMarkupOutputException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateModel;
 
 /**
  * Indicates that a {@link TemplateMarkupOutputModel} value was expected, but the value had a different type.
- * 
- * @since 2.3.24
  */
 public class NonMarkupOutputException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonMethodException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonMethodException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonMethodException.java
index b6c461e..6a51f4c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonMethodException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonMethodException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateModel;
 
 /**
  * Indicates that a {@link TemplateMethodModel} value was expected, but the value had a different type.
- * 
- * @since 2.3.21
  */
 public class NonMethodException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonNamespaceException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonNamespaceException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonNamespaceException.java
index bf66312..1433e02 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonNamespaceException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonNamespaceException.java
@@ -23,8 +23,6 @@ import org.apache.freemarker.core.model.TemplateModel;
 
 /**
  * Indicates that a {@link Environment.Namespace} value was expected, but the value had a different type.
- * 
- * @since 2.3.21
  */
 class NonNamespaceException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonNodeException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonNodeException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonNodeException.java
index 9c9e566..f6e693f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonNodeException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonNodeException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateNodeModel;
 
 /**
  * Indicates that a {@link TemplateNodeModel} value was expected, but the value had a different type.
- * 
- * @since 2.3.21
  */
 public class NonNodeException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceException.java
index 5018dc8..738bb35 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceException.java
@@ -24,8 +24,6 @@ import org.apache.freemarker.core.model.TemplateSequenceModel;
 
 /**
  * Indicates that a {@link TemplateSequenceModel} value was expected, but the value had a different type.
- * 
- * @since 2.3.21
  */
 public class NonSequenceException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceOrCollectionException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceOrCollectionException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceOrCollectionException.java
index 0baa5c5..7b58013 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceOrCollectionException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonSequenceOrCollectionException.java
@@ -28,8 +28,6 @@ import org.apache.freemarker.core.util._CollectionUtil;
 /**
  * Indicates that a {@link TemplateSequenceModel} or {@link TemplateCollectionModel} value was expected, but the value
  * had a different type.
- * 
- * @since 2.3.21
  */
 public class NonSequenceOrCollectionException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/NonUserDefinedDirectiveLikeException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/NonUserDefinedDirectiveLikeException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/NonUserDefinedDirectiveLikeException.java
index 918c720..4cf353b 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/NonUserDefinedDirectiveLikeException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/NonUserDefinedDirectiveLikeException.java
@@ -26,8 +26,6 @@ import org.apache.freemarker.core.model.TemplateTransformModel;
 /**
  * Indicates that a {@link TemplateDirectiveModel} or {@link TemplateTransformModel} or {@link ASTDirMacro} value was
  * expected, but the value had a different type.
- * 
- * @since 2.3.21
  */
 class NonUserDefinedDirectiveLikeException extends UnexpectedTypeException {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/ParseException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/ParseException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/ParseException.java
index 9e5dad3..698562f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/ParseException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/ParseException.java
@@ -113,7 +113,6 @@ public class ParseException extends IOException implements FMParserConstants {
     }
 
     /**
-     * @since 2.3.21
      */
     public ParseException(String description, Template template,
             int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber) {
@@ -121,7 +120,6 @@ public class ParseException extends IOException implements FMParserConstants {
     }
 
     /**
-     * @since 2.3.21
      */
     public ParseException(String description, Template template,
             int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber,
@@ -144,14 +142,12 @@ public class ParseException extends IOException implements FMParserConstants {
     }
     
     /**
-     * @since 2.3.20
      */
     public ParseException(String description, Template template, Token tk) {
         this(description, template, tk, null);
     }
 
     /**
-     * @since 2.3.20
      */
     public ParseException(String description, Template template, Token tk, Throwable cause) {
         this(description,
@@ -162,14 +158,12 @@ public class ParseException extends IOException implements FMParserConstants {
     }
 
     /**
-     * @since 2.3.20
      */
     public ParseException(String description, ASTNode astNode) {
         this(description, astNode, null);
     }
 
     /**
-     * @since 2.3.20
      */
     public ParseException(String description, ASTNode astNode, Throwable cause) {
         this(description,
@@ -274,8 +268,6 @@ public class ParseException extends IOException implements FMParserConstants {
 
     /**
      * 1-based line number of the last line that contains the failing section, or 0 if the information is not available.
-     * 
-     * @since 2.3.21
      */
     public int getEndLineNumber() {
         return endLineNumber;
@@ -284,8 +276,6 @@ public class ParseException extends IOException implements FMParserConstants {
     /**
      * 1-based column number of the last character of the failing section, or 0 if the information is not available.
      * Note that unlike with Java string API-s, this column number is inclusive.
-     * 
-     * @since 2.3.21
      */
     public int getEndColumnNumber() {
         return endColumnNumber;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java b/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
index 7562b85..e653254 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/Template.java
@@ -135,8 +135,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
     /**
      * Convenience constructor for {@link #Template(String, Reader, Configuration)
      * Template(lookupName, new StringReader(reader), cfg)}.
-     * 
-     * @since 2.3.20
      */
     public Template(String lookupName, String sourceCode, Configuration cfg) throws IOException {
         this(lookupName, new StringReader(sourceCode), cfg);
@@ -145,8 +143,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
     /**
      * Convenience constructor for {@link #Template(String, String, Reader, Configuration, TemplateConfiguration,
      * Charset) Template(lookupName, null, new StringReader(reader), cfg), tc, null}.
-     *
-     * @since 2.3.20
      */
     public Template(String lookupName, String sourceCode, Configuration cfg, TemplateConfiguration tc) throws IOException {
         this(lookupName, null, new StringReader(sourceCode), cfg, tc, null);
@@ -193,8 +189,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      *            method ensures that it will be read in few kilobyte chunks, not byte by byte.
      * @param cfg
      *            The Configuration object that this Template is associated with. Can't be {@code null}.
-     * 
-     * @since 2.3.22
      */
    public Template(
            String lookupName, String sourceName, Reader reader, Configuration cfg) throws IOException {
@@ -210,8 +204,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      *            was loaded from a source that returns it already as text. If this is not {@code null} and there's an
      *            {@code #ftl} header with {@code encoding} parameter, they must match, or else a
      *            {@link WrongTemplateCharsetException} is thrown.
-     * 
-     * @since 2.3.22
      */
    public Template(
            String lookupName, String sourceName, Reader reader, Configuration cfg, Charset actualSourceEncoding) throws
@@ -232,8 +224,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      *            template is the main template of the {@link Environment}.
      * @param actualSourceEncoding
      *            Same as in {@link #Template(String, String, Reader, Configuration, Charset)}.
-     * 
-     * @since 2.3.24
      */
    public Template(
            String lookupName, String sourceName, Reader reader,
@@ -363,8 +353,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      * @param sourceEncoding The charset used to decode the template content to the {@link String} passed in with the
      *            {@code content} parameter. If that information is not known or irrelevant, this should be
      *            {@code null}.
-     *
-     * @since 2.3.22
      */
     static public Template createPlainTextTemplate(String lookupName, String sourceName, String content, Configuration config,
                Charset sourceEncoding) {
@@ -663,8 +651,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      * couldn't be determined (like because there was no tags in the template, or it was a plain text template), this
      * returns whatever the default is in the current configuration, so it's maybe
      * {@link TagSyntax#AUTO_DETECT}.
-     * 
-     * @since 2.3.20
      */
     public TagSyntax getActualTagSyntax() {
         return actualTagSyntax;
@@ -676,8 +662,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      * couldn't be determined (like because there no identifier that's part of the template language was used where
      * the naming convention matters), this returns whatever the default is in the current configuration, so it's maybe
      * {@link TagSyntax#AUTO_DETECT}.
-     * 
-     * @since 2.3.23
      */
     public NamingConvention getActualNamingConvention() {
         return actualNamingConvention;
@@ -689,8 +673,6 @@ public class Template implements ProcessingConfiguration, CustomStateScope {
      * {@link Configuration#getOutputFormat()}, {@link ParsingConfiguration#getOutputFormat()} (which is usually
      * provided by {@link Configuration#getTemplateConfigurations()}) and the {@code #ftl} header's
      * {@code output_format} option in the template.
-     * 
-     * @since 2.3.24
      */
     public OutputFormat getOutputFormat() {
         return outputFormat;

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
index c49e3fa..c6146d5 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateClassResolver.java
@@ -30,8 +30,6 @@ import org.apache.freemarker.core.util._ClassUtil;
  * instance is always only used in a single {@link Environment} object.
  * 
  * @see MutableProcessingConfiguration#setNewBuiltinClassResolver(TemplateClassResolver)
- * 
- * @since 2.3.17
  */
 public interface TemplateClassResolver {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
index 77a40bb..47d21b8 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateConfiguration.java
@@ -169,8 +169,6 @@ public final class TemplateConfiguration implements ParsingAndProcessingConfigur
      * {@link MutableProcessingConfiguration}. The target {@link MutableProcessingConfiguration} is assumed to be not seen be other thread than the current
      * one yet. (That is, the operation is not synchronized on the target {@link MutableProcessingConfiguration}, only on the source
      * {@link MutableProcessingConfiguration})
-     *
-     * @since 2.3.24
      */
     private void copyDirectCustomAttributes(MutableProcessingConfiguration<?> target, boolean overwriteExisting) {
         if (customAttributes == null) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementArrayBuilder.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementArrayBuilder.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementArrayBuilder.java
index f8fe66b..3b8f40f 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementArrayBuilder.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementArrayBuilder.java
@@ -23,8 +23,6 @@ import org.apache.freemarker.core.util._CollectionUtil;
 /**
  * Holds an buffer (array) of {@link ASTElement}-s with the count of the utilized items in it. The un-utilized tail
  * of the array must only contain {@code null}-s.
- * 
- * @since 2.3.24
  */
 class TemplateElements {
     

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java
index 9aaf0c7..145916c 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateElementsToVisit.java
@@ -26,8 +26,6 @@ import java.util.Collections;
  * to invoke. It would be more natural to invoke child elements before returning from
  * {@link ASTElement#accept(Environment)}, however, if there's nothing to do after the child elements were invoked,
  * that would mean wasting stack space.
- * 
- * @since 2.3.24
  */
 class TemplateElementsToVisit {
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/8d00e4da/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateException.java
----------------------------------------------------------------------
diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateException.java b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateException.java
index 3ca9914..fb54f82 100644
--- a/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateException.java
+++ b/freemarker-core/src/main/java/org/apache/freemarker/core/TemplateException.java
@@ -96,8 +96,6 @@ public class TemplateException extends Exception {
      *
      * @param cause the underlying {@link Exception} that caused this
      * exception to be raised
-     * 
-     * @since 2.3.20
      */
     public TemplateException(Throwable cause, Environment env) {
         this(null, cause, env);
@@ -118,8 +116,6 @@ public class TemplateException extends Exception {
      *
      * @param description the description of the error that occurred
      * @param cause the underlying {@link Exception} that caused this exception to be raised
-     * 
-     * @since 2.3.20
      */
     public TemplateException(String description, Throwable cause, Environment env) {
         this(description, cause, env, null, null);
@@ -314,8 +310,6 @@ public class TemplateException extends Exception {
      * @param heading should the heading at the top be printed 
      * @param ftlStackTrace should the FTL stack trace be printed
      * @param javaStackTrace should the Java stack trace be printed
-     *  
-     * @since 2.3.20
      */
     public void printStackTrace(PrintWriter out, boolean heading, boolean ftlStackTrace, boolean javaStackTrace) {
         synchronized (out) {
@@ -327,8 +321,6 @@ public class TemplateException extends Exception {
      * @param heading should the heading at the top be printed 
      * @param ftlStackTrace should the FTL stack trace be printed
      * @param javaStackTrace should the Java stack trace be printed
-     *  
-     * @since 2.3.20
      */
     public void printStackTrace(PrintStream out, boolean heading, boolean ftlStackTrace, boolean javaStackTrace) {
         synchronized (out) {
@@ -401,7 +393,6 @@ public class TemplateException extends Exception {
     
     /**
      * Prints the stack trace as if wasn't overridden by {@link TemplateException}. 
-     * @since 2.3.20
      */
     public void printStandardStackTrace(PrintStream ps) {
         super.printStackTrace(ps);
@@ -409,7 +400,6 @@ public class TemplateException extends Exception {
 
     /**
      * Prints the stack trace as if wasn't overridden by {@link TemplateException}. 
-     * @since 2.3.20
      */
     public void printStandardStackTrace(PrintWriter pw) {
         super.printStackTrace(pw);
@@ -442,8 +432,6 @@ public class TemplateException extends Exception {
     
     /**
      * 1-based line number of the failing section, or {@code null} if the information is not available.
-     * 
-     * @since 2.3.21
      */
     public Integer getLineNumber() {
         synchronized (lock) {
@@ -457,8 +445,6 @@ public class TemplateException extends Exception {
     /**
      * Returns the {@linkplain Template#getSourceName() source name} of the template where the error has occurred, or
      * {@code null} if the information isn't available. This is what should be used for showing the error position.
-     *
-     * @since 2.3.22
      */
     public String getTemplateSourceName() {
         synchronized (lock) {
@@ -494,8 +480,6 @@ public class TemplateException extends Exception {
 
     /**
      * 1-based column number of the failing section, or {@code null} if the information is not available.
-     * 
-     * @since 2.3.21
      */
     public Integer getColumnNumber() {
         synchronized (lock) {
@@ -509,8 +493,6 @@ public class TemplateException extends Exception {
     /**
      * 1-based line number of the last line that contains the failing section, or {@code null} if the information is not
      * available.
-     * 
-     * @since 2.3.21
      */
     public Integer getEndLineNumber() {
         synchronized (lock) {
@@ -524,8 +506,6 @@ public class TemplateException extends Exception {
     /**
      * 1-based column number of the last character of the failing template section, or {@code null} if the information
      * is not available. Note that unlike with Java string API-s, this column number is inclusive.
-     * 
-     * @since 2.3.21
      */
     public Integer getEndColumnNumber() {
         synchronized (lock) {
@@ -541,8 +521,6 @@ public class TemplateException extends Exception {
      * {@code null}. This expression should always be inside the failing FTL instruction.
      *  
      * <p>The typical application of this is getting the undefined expression from {@link InvalidReferenceException}-s.
-     * 
-     * @since 2.3.21
      */
     public String getBlamedExpressionString() {
         synchronized (lock) {