FreshMarker 2.2.0 Released
The latest version of FreshMarker, the Java 21 template engine, is now available. Version 2.2.0 introduces several improvements and new features. Some internal improvements ensure even faster processing.
Thoughts on agile software development
The latest version of FreshMarker, the Java 21 template engine, is now available. Version 2.2.0 introduces several improvements and new features. Some internal improvements ensure even faster processing.
The FreshMarker template engine has the Partial Template Reduction feature. This makes it possible to create a new Template from an existing Template by adding an incomplete model. Some constructs are simplified in the new Template because the data from the incomplete model could be evaluated there. Until now, this could only be used in directives and interpolations, so why not use the mechanism in expressions as well?
This article on performance was not actually intended to be a multi-part article. But if you take a closer look at your own code through performance glasses, you will quickly discover further bottlenecks. In this case, it’s an unclean modeling that FreshMarker has been carrying around since its early days. This article is about how this affects the performance of the template engine.
In addition to the expressiveness of the template, the number of supported data types and functions and the expandability, performance is a decisive criterion for a template engine. FreshMarker only evaluates the template output at runtime, so although the template engine is very flexible, it cannot compete with those that evaluate the templates at compile time. For historical reasons, FreshMarker also has no upfront type information about the data used, so some optimization options are not available.
The latest version of FreshMarker, the Java 21 template engine, is now available. Version 2.1.0 introduces several improvements and new features.
The latest version of FreshMarker, the Java template engine, is now available. Version 2.0.0 introduces several improvements, new features, and a more streamlined foundation with an emphasis on cleaner templating capabilities.
FreshMarker allows you to overload a wide variety of operators for your own model types. These operators are multiplication, addition, negation and comparison operators. For strings, the addition operator + has so far been overloaded to realize a string concatenation. In this blog post, we want to implement comparison operators for strings.
For the next version of FreshMarker, a number of new options will be created for the template engine. These new possibilities include the Spaceship Operator and a new String Concatenation Operator.
I am pleased to announce the release of the Java 21 template engine FreshMarker 1.11.0. This is the last planned release before the next major release 2.0.0 and includes some new features and improvements.
Some features in open source projects are gimmicks whose utility value is rather low. On the other hand, they enable the evaluation of new functions and previously unused libraries. In this article, support for astronomical seasons is implemented in Freshmarker using the Time4J library.