FreeMarker 2.3.23 Release Candidate 1 is available

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

FreeMarker 2.3.23 Release Candidate 1 is available

Daniel Dekany
Test it, especially if it breaks something in your existing
applications, and give feedback! Final release is planned for July the
5th (that's only two weeks from now).

Download (includes documentation with full change log):

(Binary-only for Google App Engine:

A quick overview of the most important changes (see full documentation
in the downloadable distribution):

  * Listing-related (#list) specialized convenience features that
    target some of the most typical tasks in templates:

      * New list directive child directives, #else and #items deal with
        the special cases with 0-length lists. #sep makes inserting
        separators between items much easier than it was with #if +

      * New built-ins that act on loop variables: var?index
        (deprecates var_index), var?counter (1-based index),
        var?has_next (deprecates var_has_next), var?item_parity
        (returns "odd" or "even"), var?item_cycle("lightRow",
        "darkRow"), and some more.

  * Convenience assignment operators, like in <#assign counter++> and
    <#assign counter += 2>

  * True ternary operator equivalent:
    someBoolean?then(whenTrue, whenFalse)

  * Switch as expression:
    someValue?switch(case1, result1, case2, result2, ... caseN,
    resultN, defaultResult)

  * FTL now supports camel case for the identifiers that are part of
    the template language. For example,
    <#noEscape>${x?upperCase}</#noEscape> or <#setting
    numberFormat="0.0"> or <#ftl stripText=true> are valid. You can
    just start using camel case without configuring anything, however,
    within the same template, FreeMarker will require you to use the
    same naming convention for all identifiers that are part of the
    template language. (Also, a certain naming convention can be
    enforced for all templates from configuration.)

  * More configurable template loading for FreemarkerServlet, also
    loading from Servlet 3.0 META-INF/resources now works as expected

  * Various bugfixes

 Daniel Dekany

FreeMarker-user mailing list
[hidden email]