Last modified by Eleni Cojocariu on 2026/09/16 16:55

Show last authors
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 The version is mostly about stabilization before 7.0 final. It contains diff UI improvements, Extension Repository improvements, a new component based watchlist module, a new application to edit wiki skins. XWiki also moved to Servlet 3.0.1 which means various old application servers versions are not supported anymore.
8
9 {{error}}
10 This release introduce a new internal group cache in the security module. This group cache is affected by a serious issue. In certain situations, it causes group members not to be recognized as such, leading to incorrect access decisions. If you follow the XWiki best practices for setting rights (which recommends to minimize use of denies), this issue will result mostly in unexpected access denials, which obviously does not seriously compromise the security but cause real annoyance to legitimate users. See {{jira url="https://jira.xwiki.org" style="enum"}}XWIKI-12016{{/jira}} for more technical detail about this issue.
11 {{/error}}
12
13 = New and Noteworthy (since XWiki 7.0 Milestone 2) =
14
15 [[Full list of issues fixed and Dashboard for 7.0>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=13092]].
16
17 == Improved Document Diff View ==
18
19 The document history view that shows the differences between two versions of a document has been improved:
20
21 * The new summary gives you an overview of the changes and provides fast navigation.
22 * The changes made to the short text properties (e.g. title, which has only one line of text) are more readable now.
23 * You can see the changes that have been made to a text attachment. For non-text attachments you can see the difference in the file size.
24 * You can see detailed changes to a class definition (e.g. which meta properties, like 'Custom Display', have been modified).
25
26 {{image reference="history-compareDocumentVersions.png"/}}
27
28 See the [[Version Control feature documentation>>Documentation.UserGuide.Features.VersionControl]] for more details.
29
30 == Extension Diff View ==
31
32 You can now view the changes that have been made to the wiki pages of an installed extension. This can help you review your customizations to a XAR extension before doing an upgrade. The wiki pages of the transitive dependencies are also taken into account.
33
34 {{image reference="extension-changes.png"/}}
35
36 See more on the [[Extension Manager Application documentation>>extensions:Extension.Extension Manager Application||anchor="HChanges"]] page.
37
38 == Experimental Realtime Watchlist Notification ==
39
40 We have added a new notification option for WatchList that notifies users of changes on their watched documents in real time (i.e. as soon as they happen).
41
42 {{image reference="watchlistRealtime.png"/}}
43
44 This feature is currently **experimental and disabled by default**. Fore more information on it and how to enable it, please see [[the documentation>>extensions:Extension.Watchlist Application||anchor="HSince7.0RC1"]].
45
46 == Miscellaneous ==
47
48 * Rendering page performances have been improved when using the Flamingo skin (thanks to the usage of [[Less4j>>https://github.com/SomMeri/less4j]] for the integration of the LESS language).
49 * When deploying XWiki as ROOT [[you must now set the ##xwiki.webapppath## property to empty>>Documentation.AdminGuide.ShortURLs||anchor="HDeployingasROOT"]] as in:(((
50 {{code language="none"}}
51 xwiki.webapppath=
52 {{/code}}
53
54 The reason is that XWiki cannot guess the webapp context from the URL in this case. This seemed to work on previous versions but it was actually leading to errors from time to time, depending on what URL was used when doing the first request on the XWiki instance.
55 )))
56 * Debian packages based on Tomcat 8 have been added.
57 * Distribution Wizard should not ask to login when installing from scratch anymore
58 * Renamed the WatchList notification options to something simpler and clearer:(((
59 {{image reference="watchlistNotifiers.png"/}}
60 )))
61
62 See the [[full list of JIRA issues>>https://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+%227.0-rc-1%22&tempMax=1000]] fixed in this release.
63
64 = For Developers =
65
66 == Access Extension fields by name ==
67
68 Added a method in Extension to access a field (name, summary, version, etc.) value by name.
69
70 {{code language="java"}}
71 /**
72 * Get an extension field (name, summary, id, etc.) by name. Fallback on properties.
73 *
74 * @param <T> type of the field value
75 * @param fieldName the field name;
76 * @return the field value or null if none could be found
77 * @since 7.0RC1
78 */
79 @Unstable
80 <T> T get(String fieldName);
81 {{/code}}
82
83 == Skin Edition ==
84
85 * We have added a new [[extensions:Extension.Skin.Application.WebHome]] to easily edit a skin document.(((
86  {{image reference="skin-edit1.png" width="45%"/}} {{image reference="skin-edit2.png" width="45%"/}}
87 )))
88 * This application provides a new way to override a template. You do not need to edit the ##XWikiSkins## class anymore.
89 * It also provides the ability to override a file stored in a subdirectory.
90 * It is now possible to override the LESS templates.
91
92 == Extensions Repository improvements ==
93
94 * The new advanced extension search introduced in 7.0 Milestone 2 has been implemented on server side
95 * Source URL is now taken into account when importing an extension
96 * Search and advanced search are now implemented based on Solr which among other things make the search ordered by score by default and boost configuration has been associated to each extension element (high score for extension name and id, etc.)
97 * Extensions Repository REST service now return scm informations
98
99 == Solr index changes ==
100
101 All String based object properties raw values are now stored in the Solr index with _string suffix (exactly like for static lists properties) in DOCUMENT types. This mean that when upgrading to 7.0 you should recreate the Solr index so that they are added.
102
103 == WebJars Caching ==
104
105 The WebJar resources are now permanently cached by the browser. The browser won't request them again unless you clear the browser cache or you force reload the page. See more on the [[WebJars Integration>>extensions:Extension.WebJars Integration||anchor="HCaching"]] documentation.
106
107 == Deprecated and Retired projects ==
108
109 * The [[WatchList plugin>>extensions:Extension.Watchlist Plugin]] has been moved to legacy and was replaced by a component-based implementation. The legacy module still provides a plugin API for compatibility, but clients should move to the new script service instead.
110
111 == Miscellaneous ==
112
113 * XAR Mojos now also format and verify attachment authors.
114 * ##MandatoryDocumentInitializer## components can now use a ##@Priority## annotation to specify the order in which they should be executed. See [[XWIKI-11905>>https://jira.xwiki.org/browse/XWIKI-11905]].
115 * A new ##isMainWikiOnly()## method is available in ##AbstractMandatoryDocumentInitializer## for overriding to specify that the document should be initialized on the main wiki only.
116 * A new ##setDocumentFields()## method is available in ##AbstractMandatoryDocumentInitializer## to be called when initializing a regular document (which is not a class).
117 * A new component based implementation of the watchlist module is now available (replacing the plugin one). See [[the documentation>>extensions:Extension.Watchlist API]] for more information.
118 * The XWiki pages for the [[XClass Application>>extensions:Extension.XClass Application]] (a.k.a Class Wizard or Class Editor Wizard) which were located in the ##xwiki-enterprise## GitHub repository have been moved into a ##xwiki-platform-xclass## Maven module in the ##xwiki-platform## GitHub repository.
119 * Added access to the document XDOM in ##com.xpn.xwiki.api.Document##. That means you can now do {{code language="velocity"}}$doc.getXDOM(){{/code}} and {{code language="velocity"}}$doc.setContent($xdom){{/code}}.
120 * The default preferences (the ##XWikiPreferences## document) has been moved from ##xwiki-enterprise-ui-admin-user## to ##xwiki-enterprise-ui-mainwikipreferences##.
121
122 == Upgrades ==
123
124 The following dependencies have been upgraded:
125
126 * [[Groovy 2.4.2>>https://jira.xwiki.org/browse/XCOMMONS-771]]
127
128 = Translations =
129
130 The following translations have been updated:
131
132 {{language codes="ca, cs, da, de, es, fr, gl, it, ko, lv, pt_BR, ro, ru, sk, sv, tr, vi, zh, zh_TW"/}}
133
134 = Tested Browsers & Databases =
135
136 {{include reference="TestReports.ManualTestReportSummaryXWiki70RC1"/}}
137
138 = Known issues =
139
140 * [[Bugs we know about>>https://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]]
141
142 = Backward Compatibility and Migration Notes =
143
144 == General Notes ==
145
146 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.
147
148 == Issues specific to XWiki 7.0 RC 1 ==
149
150 * The [[WatchList plugin>>extensions:Extension.Watchlist Plugin]] has been moved to legacy and was replaced by a component-based implementation. The legacy module still provides a plugin API for compatibility, but clients should move to the new script service instead.
151 * The Solr index changed so it needs to be recreated in case some new feature would expect to find the new fields
152 * Debian packages based on Tomcat 5 and 6 has been removed since they are not supported by XWiki itself anymore
153 * [[XWiki now requires to be deployed in a Servlet Container support Servlet 3.0.1>>Documentation.AdminGuide.Installation||anchor="HPrerequisites"]]. For example:
154 ** Jetty 8.x
155 ** [[Tomcat 7.x>>http://tomcat.apache.org/whichversion.html]]
156 ** Glassfish 3.x
157 ** WebSphere 8.x
158 ** WebLogic 12.x
159 ** JBoss AS 6.x/7.x
160 ** Resin 4.0.1
161
162 == API Breakages ==
163
164 The following APIs were modified since XWiki 6.4.3:
165
166 * In Velocity $jsontool.serialize($object) method return null when failing to serialize the passed object (it used to return whatever it was able to write before failing to serialize an element). This should not cause much issue since expecting to get a partial invalid JSON content is most probably a very rare use case.
167
168 * The Watchlist plugin has been moved to legacy and a component-based implementation has replaced it. Major refactoring has been performed.
169
170 {{code language="none"}}
171 com.xpn.xwiki.plugin.watchlist.AutomaticWatchMode: Class com.xpn.xwiki.plugin.watchlist.AutomaticWatchMode removed
172 com.xpn.xwiki.plugin.watchlist.AutomaticWatchModeListener: Class com.xpn.xwiki.plugin.watchlist.AutomaticWatchModeListener removed
173 com.xpn.xwiki.plugin.watchlist.WatchListEvent: Class com.xpn.xwiki.plugin.watchlist.WatchListEvent removed
174 com.xpn.xwiki.plugin.watchlist.WatchListEventFeedManager: Class com.xpn.xwiki.plugin.watchlist.WatchListEventFeedManager removed
175 com.xpn.xwiki.plugin.watchlist.WatchListEventMatcher: Class com.xpn.xwiki.plugin.watchlist.WatchListEventMatcher removed
176 com.xpn.xwiki.plugin.watchlist.WatchListEventType: Class com.xpn.xwiki.plugin.watchlist.WatchListEventType removed
177 com.xpn.xwiki.plugin.watchlist.WatchListJob: Class com.xpn.xwiki.plugin.watchlist.WatchListJob removed
178 com.xpn.xwiki.plugin.watchlist.WatchListJobManager: Class com.xpn.xwiki.plugin.watchlist.WatchListJobManager removed
179 com.xpn.xwiki.plugin.watchlist.WatchListNotifier: Class com.xpn.xwiki.plugin.watchlist.WatchListNotifier removed
180 com.xpn.xwiki.plugin.watchlist.WatchListPlugin: Class com.xpn.xwiki.plugin.watchlist.WatchListPlugin removed
181 com.xpn.xwiki.plugin.watchlist.WatchListPluginApi: Class com.xpn.xwiki.plugin.watchlist.WatchListPluginApi removed
182 com.xpn.xwiki.plugin.watchlist.WatchListStore: Class com.xpn.xwiki.plugin.watchlist.WatchListStore removed
183 com.xpn.xwiki.plugin.watchlist.WatchListStore$ElementType: Class com.xpn.xwiki.plugin.watchlist.WatchListStore$ElementType removed
184 {{/code}}
185
186 * Add support for categories to extension. It should not be an issue for most Extension implementations which are supposed to extend ##AbstractExtension##
187
188 {{code language="none"}}
189 org.xwiki.extension.Extension: Method 'public java.lang.String getCategory()' has been added to an interface
190 {{/code}}
191
192 * Helper to access extension fields by name
193
194 {{code language="none"}}
195 org.xwiki.extension.Extension: Method 'public java.lang.Object get(java.lang.String)' has been added to an interface
196 {{/code}}
197
198 * Added a method to get the date when an extension was installed.
199
200 {{code language="none"}}
201 org.xwiki.extension.InstalledExtension: Method 'public java.util.Date getInstallDate(java.lang.String)' has been added to an interface
202 {{/code}}
203
204 * Added support for associating custom install properties (e.g. the user that triggers the install) to the namespace where the extension is installed.
205
206 {{code language="none"}}
207 org.xwiki.extension.InstalledExtension: Method 'public java.lang.Object getNamespaceProperty(java.lang.String, java.lang.String)' has been added to an interface
208 org.xwiki.extension.repository.InstalledExtensionRepository: Method 'public org.xwiki.extension.InstalledExtension installExtension(org.xwiki.extension.LocalExtension, java.lang.String, boolean, java.util.Map)' has been added to an interface
209 {{/code}}
210
211 * Added support for advanced installed extensions search.
212
213 {{code language="none"}}
214 org.xwiki.extension.repository.InstalledExtensionRepository: Method 'public org.xwiki.extension.repository.result.IterableResult searchInstalledExtensions(java.lang.String, org.xwiki.extension.repository.search.ExtensionQuery)' has been added to an interface
215 {{/code}}
216
217 * Using String instead of JRCS Version for better flexibility. Probably should not have been public from the start.
218
219 {{code language="none"}}
220 com.xpn.xwiki.web.DeleteVersionsForm: Return type of method 'public org.suigeneris.jrcs.rcs.Version getRev()' has been changed to java.lang.String
221 com.xpn.xwiki.web.DeleteVersionsForm: Return type of method 'public org.suigeneris.jrcs.rcs.Version getRev1()' has been changed to java.lang.String
222 com.xpn.xwiki.web.DeleteVersionsForm: Return type of method 'public org.suigeneris.jrcs.rcs.Version getRev2()' has been changed to java.lang.String
223 {{/code}}
224
225 * Move to Servlet 3.0.1
226
227 {{code language="none"}}
228 com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Class com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub removed
229 com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Class com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub removed
230 {{/code}}
231
232 * Refactoring the LESS API. Make internal all the classes and interfaces that should never have been public
233
234 {{code language="none"}}
235 org.xwiki.lesscss.cache.ColorThemeCache: Class org.xwiki.lesscss.cache.ColorThemeCache removed
236 org.xwiki.lesscss.cache.LESSCache: Class org.xwiki.lesscss.cache.LESSCache removed
237 org.xwiki.lesscss.cache.LESSResourcesCache: Class org.xwiki.lesscss.cache.LESSResourcesCache removed
238 org.xwiki.lesscss.colortheme.ColorTheme: Class org.xwiki.lesscss.colortheme.ColorTheme removed
239 org.xwiki.lesscss.colortheme.ColorThemeReference: Class org.xwiki.lesscss.colortheme.ColorThemeReference removed
240 org.xwiki.lesscss.colortheme.ColorThemeReferenceFactory: Class org.xwiki.lesscss.colortheme.ColorThemeReferenceFactory removed
241 org.xwiki.lesscss.colortheme.ColorThemeReferenceSerializer: Class org.xwiki.lesscss.colortheme.ColorThemeReferenceSerializer removed
242 org.xwiki.lesscss.colortheme.DocumentColorThemeReference: Class org.xwiki.lesscss.colortheme.DocumentColorThemeReference removed
243 org.xwiki.lesscss.colortheme.LESSColorThemeConverter: Class org.xwiki.lesscss.colortheme.LESSColorThemeConverter removed
244 org.xwiki.lesscss.colortheme.NamedColorThemeReference: Class org.xwiki.lesscss.colortheme.NamedColorThemeReference removed
245 org.xwiki.lesscss.compiler.IntegratedLESSCompiler: Class org.xwiki.lesscss.compiler.IntegratedLESSCompiler removed
246 org.xwiki.lesscss.compiler.LESSCompiler: In method 'public java.lang.String compile(java.lang.String, java.nio.file.Path[])' the number of arguments has changed
247 org.xwiki.lesscss.compiler.LESSCompiler: In method 'public java.lang.String compile(java.lang.String)' the number of arguments has changed
248 org.xwiki.lesscss.compiler.LESSSkinFileCompiler: Class org.xwiki.lesscss.compiler.LESSSkinFileCompiler removed
249 org.xwiki.lesscss.resources.LESSObjectPropertyResourceReference: Class org.xwiki.lesscss.resources.LESSObjectPropertyResourceReference removed
250 org.xwiki.lesscss.resources.LESSResourceReader: Class org.xwiki.lesscss.resources.LESSResourceReader removed
251 org.xwiki.lesscss.resources.LESSResourceReference: Method 'public java.lang.String getContent(java.lang.String)' has been added to an interface
252 org.xwiki.lesscss.resources.LESSResourceReference: Method 'public java.lang.String serialize()' has been added to an interface
253 org.xwiki.lesscss.resources.LESSResourceReferenceSerializer: Class org.xwiki.lesscss.resources.LESSResourceReferenceSerializer removed
254 org.xwiki.lesscss.resources.LESSSkinFileResourceReference: Class org.xwiki.lesscss.resources.LESSSkinFileResourceReference removed
255 org.xwiki.lesscss.skin.DocumentSkinReference: Class org.xwiki.lesscss.skin.DocumentSkinReference removed
256 org.xwiki.lesscss.skin.FSSkinReference: Class org.xwiki.lesscss.skin.FSSkinReference removed
257 org.xwiki.lesscss.skin.SkinReference: Class org.xwiki.lesscss.skin.SkinReference removed
258 org.xwiki.lesscss.skin.SkinReferenceFactory: Class org.xwiki.lesscss.skin.SkinReferenceFactory removed
259 org.xwiki.lesscss.skin.SkinReferenceSerializer: Class org.xwiki.lesscss.skin.SkinReferenceSerializer removed
260 org.xwiki.lesscss.LessCompilerScriptService: Return type of method 'public org.xwiki.lesscss.colortheme.ColorTheme getColorThemeFromSkinFile(java.lang.String)' has been changed to org.xwiki.lesscss.internal.colortheme.ColorTheme
261 org.xwiki.lesscss.LessCompilerScriptService: Return type of method 'public org.xwiki.lesscss.colortheme.ColorTheme getColorThemeFromSkinFile(java.lang.String, java.lang.String)' has been changed to org.xwiki.lesscss.internal.colortheme.ColorTheme
262 {{/code}}

Get Connected