Version 44.1 by Marius Dumitru Florea on 2015/03/25

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 = New and Noteworthy (since XWiki 7.0 Milestone 2) =
10
11 [[Full list of issues fixed and Dashboard for 7.0>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=13092]].
12
13 == Experimental Realtime Watchlist Notification ==
14
15 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).
16
17 {{image reference="watchlistRealtime.png"/}}
18
19 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"]].
20
21 == Miscellaneous ==
22
23 * 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).
24 * When deploying XWiki as ROOT [[you must now set the ##xwiki.webapppath## property to empty>>platform:Main.ShortURLs||anchor="HDeployingasROOT"]] as in:(((
25 {{code language="none"}}
26 xwiki.webapppath=
27 {{/code}}
28
29 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.
30 )))
31 * Debian packages based on Tomcat 8 have been added.
32 * Distribution Wizard should not ask to login when installing from scratch anymore
33 * Renamed the WatchList notification options to something simpler and clearer:(((
34 {{image reference="watchlistNotifiers.png"/}}
35 )))
36
37 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.
38
39 = For Developers =
40
41 == Access Extension fields by name ==
42
43 Added a method in Extension to access a field (name, summary, version, etc.) value by name.
44
45 {{code language="java"}}
46 /**
47 * Get an extension field (name, summary, id, etc.) by name. Fallback on properties.
48 *
49 * @param <T> type of the field value
50 * @param fieldName the field name;
51 * @return the field value or null if none could be found
52 * @since 7.0RC1
53 */
54 @Unstable
55 <T> T get(String fieldName);
56 {{/code}}
57
58 == Skin Edition ==
59
60 * We have added a new [[extensions:Extension.Skin Application]] to easily edit a skin document.(((
61  {{image reference="skin-edit1.png" width="45%"/}} {{image reference="skin-edit2.png" width="45%"/}}
62 )))
63 * This application provides a new way to override a template. You do not need to edit the ##XWikiSkins## class anymore.
64 * It also provides the ability to override a file stored in a subdirectory.
65 * It is now possible to override the LESS templates.
66
67 == Extensions Repository improvements ==
68
69 * The new advanced extension search introduced in 7.0 Milestone 2 has been implemented on server side
70 * Source URL is now taken into account when importing an extension
71 * 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.)
72 * Extensions Repository REST service now return scm informations
73
74 == Solr index changes ==
75
76 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.
77
78 == WebJars Caching ==
79
80 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.
81
82 == Deprecated and Retired projects ==
83
84 * 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.
85
86 == Miscellaneous ==
87
88 * XAR Mojos now also format and verify attachment authors.
89 * ##MandatoryDocumentInitializer## components can now use a ##@Priority## annotation to specify the order in which they should be executed. See [[XWIKI-11905>>http://jira.xwiki.org/browse/XWIKI-11905]].
90 * A new ##isMainWikiOnly()## method is available in ##AbstractMandatoryDocumentInitializer## for overriding to specify that the document should be initialized on the main wiki only.
91 * A new ##setDocumentFields()## method is available in ##AbstractMandatoryDocumentInitializer## to be called when initializing a regular document (which is not a class).
92 * 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.
93 * 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.
94 * 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}}.
95 * The default preferences (the ##XWikiPreferences## document) has been moved from ##xwiki-enterprise-ui-admin-user## to ##xwiki-enterprise-ui-mainwikipreferences##.
96
97 == Upgrades ==
98
99 The following dependencies have been upgraded:
100
101 * [[Groovy 2.4.2>>http://jira.xwiki.org/browse/XCOMMONS-771]]
102
103 = Translations =
104
105 The following translations have been updated:
106
107 {{language codes="ca, cs, da, de, es, fr, gl, it, ko, lv, pt_BR, ro, ru, sk, sv, tr, vi, zh, zh_TW"/}}
108
109 = Tested Browsers & Databases =
110
111 {{include reference="TestReports.ManualTestReportTemplateSummary"/}}
112
113 = Known issues =
114
115 * [[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]]
116
117 = Backward Compatibility and Migration Notes =
118
119 == General Notes ==
120
121 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.
122
123 == Issues specific to XWiki 7.0 RC 1 ==
124
125 * 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.
126 * The Solr index changed so it needs to be recreated in case some new feature would expect to find the new fields
127 * Debian packages based on Tomcat 5 and 6 has been removed since they are not supported by XWiki itself anymore
128 * [[XWiki now requires to be deployed in a Servlet Container support Servlet 3.0.1>>platform:AdminGuide.Installation||anchor="HPrerequisites"]]. For example:
129 ** Jetty 8.x
130 ** [[Tomcat 7.x>>http://tomcat.apache.org/whichversion.html]]
131 ** Glassfish 3.x
132 ** WebSphere 8.x
133 ** WebLogic 12.x
134 ** JBoss AS 6.x/7.x
135 ** Resin 4.0.1
136
137 == API Breakages ==
138
139 The following APIs were modified since XWiki 6.4.3:
140
141 * 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.
142
143 * Add support for categories to extension. It should not be an issue for most Extension implementations which are supposed to extend ##AbstractExtension##
144
145 {{code language="none"}}
146 org.xwiki.extension.Extension: Method 'public java.lang.String getCategory()' has been added to an interface
147 {{/code}}
148
149 * Helper to access extension fields by name
150
151 {{code language="none"}}
152 org.xwiki.extension.Extension: Method 'public java.lang.Object get(java.lang.String)' has been added to an interface
153 {{/code}}
154
155 * Added a method to get the date when an extension was installed.
156
157 {{code language="none"}}
158 org.xwiki.extension.InstalledExtension: Method 'public java.util.Date getInstallDate(java.lang.String)' has been added to an interface
159 {{/code}}
160
161 * Added support for associating custom install properties (e.g. the user that triggers the install) to the namespace where the extension is installed.
162
163 {{code language="none"}}
164 org.xwiki.extension.InstalledExtension: Method 'public java.lang.Object getNamespaceProperty(java.lang.String, java.lang.String)' has been added to an interface
165 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
166 {{/code}}
167
168 * Added support for advanced installed extensions search.
169
170 {{code language="none"}}
171 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
172 {{/code}}
173
174 * Using String instead of JRCS Version for better flexibility. Probably should not have been public from the start.
175
176 {{code language="none"}}
177 com.xpn.xwiki.web.DeleteVersionsForm: Return type of method 'public org.suigeneris.jrcs.rcs.Version getRev()' has been changed to java.lang.String
178 com.xpn.xwiki.web.DeleteVersionsForm: Return type of method 'public org.suigeneris.jrcs.rcs.Version getRev1()' has been changed to java.lang.String
179 com.xpn.xwiki.web.DeleteVersionsForm: Return type of method 'public org.suigeneris.jrcs.rcs.Version getRev2()' has been changed to java.lang.String
180 {{/code}}
181
182 * Move to Servlet 3.0.1
183
184 {{code language="none"}}
185 com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Class com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub removed
186 com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Class com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub removed
187 {{/code}}
188
189 * Refactoring the LESS API. Make internal all the classes and interfaces that should never have been public
190
191 {{code language="none"}}
192 org.xwiki.lesscss.cache.ColorThemeCache: Class org.xwiki.lesscss.cache.ColorThemeCache removed
193 org.xwiki.lesscss.cache.LESSCache: Class org.xwiki.lesscss.cache.LESSCache removed
194 org.xwiki.lesscss.cache.LESSResourcesCache: Class org.xwiki.lesscss.cache.LESSResourcesCache removed
195 org.xwiki.lesscss.colortheme.ColorTheme: Class org.xwiki.lesscss.colortheme.ColorTheme removed
196 org.xwiki.lesscss.colortheme.ColorThemeReference: Class org.xwiki.lesscss.colortheme.ColorThemeReference removed
197 org.xwiki.lesscss.colortheme.ColorThemeReferenceFactory: Class org.xwiki.lesscss.colortheme.ColorThemeReferenceFactory removed
198 org.xwiki.lesscss.colortheme.ColorThemeReferenceSerializer: Class org.xwiki.lesscss.colortheme.ColorThemeReferenceSerializer removed
199 org.xwiki.lesscss.colortheme.DocumentColorThemeReference: Class org.xwiki.lesscss.colortheme.DocumentColorThemeReference removed
200 org.xwiki.lesscss.colortheme.LESSColorThemeConverter: Class org.xwiki.lesscss.colortheme.LESSColorThemeConverter removed
201 org.xwiki.lesscss.colortheme.NamedColorThemeReference: Class org.xwiki.lesscss.colortheme.NamedColorThemeReference removed
202 org.xwiki.lesscss.compiler.IntegratedLESSCompiler: Class org.xwiki.lesscss.compiler.IntegratedLESSCompiler removed
203 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
204 org.xwiki.lesscss.compiler.LESSCompiler: In method 'public java.lang.String compile(java.lang.String)' the number of arguments has changed
205 org.xwiki.lesscss.compiler.LESSSkinFileCompiler: Class org.xwiki.lesscss.compiler.LESSSkinFileCompiler removed
206 org.xwiki.lesscss.resources.LESSObjectPropertyResourceReference: Class org.xwiki.lesscss.resources.LESSObjectPropertyResourceReference removed
207 org.xwiki.lesscss.resources.LESSResourceReader: Class org.xwiki.lesscss.resources.LESSResourceReader removed
208 org.xwiki.lesscss.resources.LESSResourceReference: Method 'public java.lang.String getContent(java.lang.String)' has been added to an interface
209 org.xwiki.lesscss.resources.LESSResourceReference: Method 'public java.lang.String serialize()' has been added to an interface
210 org.xwiki.lesscss.resources.LESSResourceReferenceSerializer: Class org.xwiki.lesscss.resources.LESSResourceReferenceSerializer removed
211 org.xwiki.lesscss.resources.LESSSkinFileResourceReference: Class org.xwiki.lesscss.resources.LESSSkinFileResourceReference removed
212 org.xwiki.lesscss.skin.DocumentSkinReference: Class org.xwiki.lesscss.skin.DocumentSkinReference removed
213 org.xwiki.lesscss.skin.FSSkinReference: Class org.xwiki.lesscss.skin.FSSkinReference removed
214 org.xwiki.lesscss.skin.SkinReference: Class org.xwiki.lesscss.skin.SkinReference removed
215 org.xwiki.lesscss.skin.SkinReferenceFactory: Class org.xwiki.lesscss.skin.SkinReferenceFactory removed
216 org.xwiki.lesscss.skin.SkinReferenceSerializer: Class org.xwiki.lesscss.skin.SkinReferenceSerializer removed
217 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
218 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
219 {{/code}}

Get Connected