Last modified by Ilie Andriuta on 2020/06/01

<
From version < 17.3 >
edited by Vincent Massol
on 2020/01/27
To version < 17.4 >
edited by Vincent Massol
on 2020/01/27
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -94,11 +94,11 @@
94 94  * Most names of Velocity configuration properties have changed ; old names are still functional but will emit a deprecation warning in the log. See the [[Configuration Changes in Velocity 2.1>>https://velocity.apache.org/engine/2.2/configuration-property-changes-in-2.1.html]] page.
95 95  * We tried to reduce as much as possible the breaking changes in the language using some retro compatibility flags provided by Velocity and some hacks on XWiki side but there is still things for which you might want to be carefull:
96 96  ** Deprecations: A lot of APIs are now deprecated, they should work fine but will produce a warning in the log (unless you disabled that using the new property ##logging.deprecated.enabled## in ##xwiki.properties##)
97 -*** $listtool was already deprecatedd since Velocity 1.6 which added support for allows all List methods to be called on arrays
98 -*** $sorttool replaced by $collectiontool
99 -*** $velocityCount and $velocityHasNext where already deprecated in Velocity 1.7 without producing any deprecation warning, they now do
97 +*** ##$listtool## was already deprecatedd since Velocity 1.6 which added support for allows all List methods to be called on arrays
98 +*** ##$sorttool## replaced by ##$collectiontool##
99 +*** ##$velocityCount## and ##$velocityHasNext## where already deprecated in Velocity 1.7 without producing any deprecation warning, they now do
100 100  ** Breackages:
101 -*** No more Velocity macro semi-local context: in Velocity 1.7 variable set inside a macro were set both in the global context and in a special macro local context. In Velocity 2.x this local context does not exist anymore. In pratice in means that if, in your macro, you #set a variable and execute another Velocity template which set the same variable your macro will be affected while it used to be "protected" by the previous explicit #set. It's now (since Velocity 1.7 actually) recommended to use the $macro map to manipulate local variable (as in {{code}}#set($macro.myLocalVar = "value"){{/code}}).
101 +*** No more Velocity macro semi-local context: in Velocity 1.7 variable set inside a macro were set both in the global context and in a special macro local context. In Velocity 2.x this local context does not exist anymore. In pratice in means that if, in your macro, you ###set## a variable and execute another Velocity template which set the same variable your macro will be affected while it used to be "protected" by the previous explicit ###set##. It's now (since Velocity 1.7 actually) recommended to use the $macro map to manipulate local variable (as in {{code}}#set($macro.myLocalVar = "value"){{/code}}).
102 102  ** Known bugs:
103 103  *** [[Macro parameter names problem with expression passed to the macro>>https://issues.apache.org/jira/browse/VELOCITY-904?focusedCommentId=17019513&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17019513]]. Should be fixed in 12.0 final.
104 104  

Get Connected