Version 20.1 by Vincent Massol on 2014/11/20

Hide last authors
Thomas Mortagne 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the release notes for [[XWiki Commons>>http://commons.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]], [[XWiki Platform>>http://platform.xwiki.org]] and [[XWiki Enterprise>>http://enterprise.xwiki.org]]. They share the same release notes as they are released together and have the same version.
6
7 <insert description of release here>
8
9 = New and Noteworthy (since XWiki 6.3) =
10
11 [[Full list of issues fixed and Dashboard for <version>>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=<fill id here>]].
12
Thomas Mortagne 14.1 13 == Miscellaneous ==
14
Vincent Massol 19.1 15 * It's [[now possible to send Registration emails in HTML>>extensions:Extension.Administration Application||anchor="HRegistration"]] (by default they're sent in plain text). This is achieved by fully supporting any MIME content in the "Validation Email Content" and "Confirmation Email Content" sections of the Registration Administration UI. For example for the "Validation Email Content" field, you could use the following template to send HTML emails:(((
16 {{code language="none"}}
17 #set ($wikiname = $request.serverName)
18 #set ($host = ${request.getRequestURL()})
19 #set ($host = ${host.substring(0, ${host.indexOf('/', ${mathtool.add(${host.indexOf('//')}, 2)})})})
20 Subject: Validate your account on ${wikiname}
21 Content-type: text/html; charset=iso-8859-1
Thomas Mortagne 14.1 22
Vincent Massol 19.1 23 <p>Hello <b>${xwiki.getUserName("XWiki.$xwikiname", false)}</b>,</p>
24 <p>This email address was used to register a new account on ${wikiname}. If you did not make the request, please ignore this message.</p>
25 <p>In order to activate your account, please follow this link:
26 ${host}${xwiki.getURL('XWiki.AccountValidation', 'view', "validkey=${validkey}&xwikiname=${xwikiname}")}</p>
27 {{/code}}
28 )))
29
Thomas Mortagne 14.1 30 See the [[full list of JIRA issues>>http://jira.xwiki.org/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+in+%28XCOMMONS%2C+XRENDERING%2C+XWIKI%2C+XE%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%22<version>%22&tempMax=1000]] fixed in this release.
31
32 = For Developers =
33
Thomas Mortagne 1.1 34 == Velocity changes ==
35
Thomas Mortagne 10.1 36 === Remove a Velocity Engine from the cache ===
37
38 ##org.xwiki.velocity.VelocityFactory## now provide an API to remove a cached Velocity Engine.
39
Vincent Massol 13.1 40 === Overriding Velocimacros in wiki-based skins ===
Thomas Mortagne 11.1 41
Vincent Massol 13.1 42 It's now possible to override the ##macros.vm## template in a wiki based skin (object property and attachment). Any modification to this template is also taken into account (the Velocity engine is recreated when the template is modified).
Thomas Mortagne 11.1 43
Thomas Mortagne 10.1 44 === Cleanup unprotected namespaces ===
45
Thomas Mortagne 1.1 46 VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected.
47
48 In practice in means that the following:
49
Thomas Mortagne 2.1 50 {{code language="java"}}
Thomas Mortagne 1.1 51 engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
52
53 Writer out = new StringWriter();
54 engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
55
56 System.out.println(out.toString())
57 {{/code}}
58
59 will now print
60
61 {{code language="none"}}
62 #mymacro()
63 {{/code}}
64
65 To get
66
67 {{code language="none"}}
68 toto
69 {{/code}}
70
71 you need the following
72
Thomas Mortagne 2.1 73 {{code language="java"}}
Thomas Mortagne 1.1 74 engine.startedUsingMacroNamespace("namespace")
75
76 try {
77 engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")
78
79 Writer out = new StringWriter();
80 engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")
81
82 System.out.println(out.toString())
83 } finally {
84 engine.stoppedUsingMacroNamespace("namespace")
85 }
86 {{/code}}
87
Thomas Mortagne 18.1 88 == Skins system improvements ==
89
Vincent Massol 18.2 90 Support for a new ##skin.properties## configuration file has been introduced in filesystem skins.
Thomas Mortagne 18.1 91
Vincent Massol 18.2 92 Right now it supports a ##parent## property to indicate another skin to inherit from. If set to an empty value ({{code language="properties"}}parent={{/code}}) the skin will directly inherit from the WAR; if not set at all it will behave as before which means inherit from whatever is configured in ##xwiki.cfg##'s ##xwiki.defaultbaseskin## property.
Thomas Mortagne 18.1 93
Vincent Massol 20.1 94 == Component Metadata Access ==
95
96 If your Component implementation needs to get access to its component metadata (i.e. its ##ComponentDescriptor##) then it can [[get it injected automatically>>extensions:Extension.Component Module||anchor="HComponentMetadata"]]. For example:
97
98 {{code language="java"}}
99 import org.xwiki.component.descriptor.ComponentDescriptor;
100 ...
101 @Component
102 @Singleton
103 public class MyComponentImpl implements MyComponent
104 {
105 @Inject
106 private ComponentDescriptor<MyComponent> descriptor;
107
108 public void doSomething()
109 {
110 String hint = this.descriptor.getRoleHint();
111 ...
112 }
113 }
114 {{/code}}
115
Guillaume Delhumeau 15.1 116 == Miscellaneous ==
117
Vincent Massol 18.2 118 * Added new APIs to get all the icon themes present on the wiki, and all icons that these icon themes contain.(((
Guillaume Delhumeau 15.1 119 {{code language="velocity"}}
120 $services.icon.getIconSetNames()
121 $services.icon.getIconNames()
122 $services.icon.getIconNames("Font Awesome")
123 {{/code}}
Vincent Massol 18.2 124 )))
125 * A new parameter has been added to the ##get## action and the ##plain## xpage: ##htmlHeaderAndFooter##, which add the HTML headers (##<html>##,##<head>##,##<body>##, etc...) and footers (##</body>##, ##</html>##, etc...). It could be useful to create light popups that display only the document content without any UI.
126 * XWikiAttachment now provide ##setAuthorReference## and ##getAuthorReference## APIs
Guillaume Delhumeau 15.1 127
Thomas Mortagne 1.1 128 == Deprecated and Retired projects ==
129
130 <description of deprecated and retired projects>
131
132 == Upgrades ==
133
134 The following dependencies have been upgraded:
135
Thomas Mortagne 8.1 136 * [[httpclient 4.3.6>>http://jira.xwiki.org/browse/XCOMMONS-681]]
Thomas Mortagne 9.1 137 * [[commons-codec 1.10>>http://jira.xwiki.org/browse/XCOMMONS-684]]
Thomas Mortagne 1.1 138
139 = Translations =
140
141 The following translations have been updated:
142
143 {{language codes="none, none"/}}
144
145 = Tested Browsers & Databases =
146
147 {{include reference="TestReports.ManualTestReportTemplateSummary"/}}
148
149 = Performances tests compared to <last super stable version> =
150
151 <a summary of the comparison with latest super stable version>
152
153 More details on <link to the test report>.
154
155 = Known issues =
156
157 * [[Bugs we know about>>http://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+%3D+%22Top+Level+Projects%22+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]]
158
159 = Backward Compatibility and Migration Notes =
160
161 == General Notes ==
162
163 When upgrading make sure you compare your ##xwiki.cfg##, ##xwiki.properties## and ##web.xml## files with the newest version since some configuration parameters may have been modified or added. Note that you should add ##xwiki.store.migration=1## so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.
164
Thomas Mortagne 3.1 165 == Issues specific to XWiki 6.4-milestone-1 ==
Thomas Mortagne 1.1 166
Thomas Mortagne 6.1 167 * VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected. See [[Velocity section>>||anchor="HVelocitychanges"]].
Thomas Mortagne 1.1 168
169 == API Breakages ==
170
171 The following APIs were modified since <project> <version - 1>:
172
173 {{code language="none"}}
174 <clirr output here>
175 {{/code}}

Get Connected