The following directives are deprecated, but still working:
-
assign: use the set directive instead. [#assign x = y] is equivalent with [#set x = y] if x wasn't declared as scoped (i.e. local) variable. It's equivalent with otherwise [#assign x = y in .namespace]. That is, assign never sets local variables.
-
call: use user-defined directive call instead
-
comment: This is the old format of [#--...--]. Anything between the [#comment] and [/#comment] will be ignored.
-
foreach: it is a synonym of the list directive with slightly different parameter syntax. The syntax is [#foreach item in sequence] that is equivalent with [#list sequence as item].
-
global: use the set directive instead. [#global x = y] is equivalent with [#set x = y in .globals].
-
local: use the set directive instead combined with the var directive. [#local x = y] is equivalent with [#set x = y] if x was declared as scoped (i.e. local) variable with [#var x]. See more here: Template Author's Guide/Miscellaneous/Defining variables in the template
-
transform: use user-defined directive call instead
The following directives are not working anymore:
-
Legacy function: Originally function was used to define macros, and was deprecated in favor of the macro directive. As of FreeMarker 2.3, this directive is reintroduced with different meaning: it is used to define methods.


