Wiki source code of Release Notes for XWiki 8.0

Last modified by Thomas Mortagne on 2023/10/13

Hide last authors
Marius Dumitru Florea 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
Thomas Mortagne 20.1 7 This is the first release of the 8.x cycle. This version introduces a new experimental minimal XWiki distribution and a new Distribution Wizard step to create the first user with administration right instead of importing the Admin user. It also adds many improvements related to nested spaces on copy and rename features, location picker, link syntax. Various new option have been added to the chart macro and as usual you will find many more improvements in the detailed release note.
Marius Dumitru Florea 1.1 8
Thomas Mortagne 17.1 9 = New and Noteworthy (since XWiki 7.4.2) =
Marius Dumitru Florea 1.1 10
Thomas Mortagne 30.1 11 [[Full list of issues fixed and Dashboard for 8.0>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=13593]].
Marius Dumitru Florea 1.1 12
Vincent Massol 15.1 13 == Rename and Copy UI ==
Marius Dumitru Florea 1.1 14
Vincent Massol 15.1 15 * The copy and rename page operations are now performed asynchronously, in a background thread, when triggered from the UI. Clicking on the Copy/Rename button takes you to a status page where you can see the options that have been selected and the progress of the operation. The advanced users have access to the operation log.(((
Thomas Mortagne 3.1 16 {{image reference="copyProgress.png" width="600"/}}
17
18 The progress bar is replaced with the operation status at the end in order to let you know if the operation succeeded or failed. You can use the breadcrumbs to navigate to the new page or the old one.
19
20 {{image reference="renameStatus.png" width="600"/}}
21
Thomas Mortagne 31.1 22 See the [[Page Lifecycle documentation>>Documentation.UserGuide.Features.DocumentLifecycle]] for more information.
Vincent Massol 15.1 23 )))
24 * Updated the rename page UI's field labels and descriptions to mention that the update links also updates the relative links inside the renamed page and not just the backlinks. Also moved the count displays from the field label to the field's description, where applicable, in both the rename and the copy UI, for better UI consistency.(((
25 {{image reference="renameRewording-Step1.png"/}}
Thomas Mortagne 3.1 26
Vincent Massol 15.1 27 {{image reference="copyRewording-Step1.png"/}}
28 )))
29 * The copy and rename UI now have the children and links options checked by default. We believe it`s better to preserve data consistency by default, even with the cost o having to go through lengthy operations (like when renaming a document with many children).
30
Thomas Mortagne 3.1 31 == Improved Location Picker ==
32
33 The location picker used on the Create, Copy and Rename page UI is now hiding the advanced edit fields (wiki, parent and name) for simple users. Simple users will have to use the tree picker to select the target location. As a consequence the form validation is now performed on the fields that are visible to the current user.
34
35 {{image reference="simpleLocationPickerValidation.png" width="600"/}}
36
37 == Link syntax improvements for Nested Pages ==
38
39 With the addition of Nested Pages, a discrepancy appeared between the UI and the wiki syntax. The UI always talks about (nested) pages and never about spaces, but in the wiki syntax you would still have to specify both the space and the name of a page when linking to it (e.g. writing ##~[~[Some.Nested.Page.WebHome]]## if you want to create a link to the nested page ##Some.Nested.Page##). The same applies to ##image~:## or ##attach~:## syntax. The technical reason for this was that, at the wiki syntax level, untyped links were always being resolved to ##doc:## type links.
40
41 To improve this, we have added a new ##space:## type link which allows you to simply write ##~[~[space:Some.Nested.Page]]## and have made this the new default type that untyped links resolve to.
42
43 The outcome is that you can now simply type ##~[~[Some.Nested.Page]]## and you will create a link to the nested page ##Some.Nested.Page##.
44
45 For backwards compatibility with the existing untyped links, we have implemented the same mechanism we have applied for URLs, which is to:
46
47 * first try to link to an existing terminal page (i.e. if ##Some.Nested.Page## is actually a terminal page inside the ##Some.Nested## space; this was the previous default behavior)
48 * if no such terminal page exists, then link to the non-terminal page (i.e. ##Some.Nested.Page.WebHome##) for both when the non-terminal page exists or when it does not (and should be a wanted link)
49
50 The same thing applies for ##image~:## (e.g. ##image~:[email protected]## translates technically to ##image~:[email protected]##) and for ##attach~:## syntax (e.g. ##attach~:[email protected]## translates technically to ##attach~:[email protected]##).
51
52 More details and examples can be found in the XWiki link syntax documentation page on your XWiki instance.
53
54 === Relative links to sibling Nested Pages ===
55
56 To better support backwards compatibility with the pre-Nested-Pages behavior when the current document is a non-terminal document and an untyped relative link (e.g ##~[~[Page]]##) has not been resolved using the above mentioned algorithm (i.e. as a terminal or non-terminal child of the current page), we perform 2 additional checks:
57
58 * we try to link to an existing terminal page that is a sibling of the current page (i.e. ##~[~[Page]]## is resolved to the equivalent of ##~[~[doc:currentPageParent.Page]]##)
59 * if no such terminal page exists, then link to the non-terminal page that is a sibling of the current page (i.e. ##~[~[Page]]## is resolved to the equivalent of ##~[~[doc:currentPageParent.Page.WebHome]]##) for both when the non-terminal page exists or when it does not (and should be a wanted link)
60
61 == Disable header and footer in PDF export ==
62
Vincent Massol 15.1 63 It's now possible to disable the display of header and footer (usually the page name and date) when exporting a PDF.
Thomas Mortagne 3.1 64
65 {{image reference="pdfExportOptions.png"/}}
66
Vincent Massol 15.1 67 == Performance Improvements ==
Thomas Mortagne 3.1 68
69 * For performances reasons, we have set a limit for the number of LESS CSS compilations that can be done simultaneously.
Vincent Massol 15.1 70 * For the same reason, the LESS cache is not cleared anymore when XWiki restarts. This prevents recompilation of CSS files and thus improves a lot first time access to (sub)wiki pages.
Thomas Mortagne 3.1 71
Vincent Massol 15.1 72 For more informations about this, please see [[the LESS module Cache>>extensions:Extension.LESS Module||anchor="Cache"]].
Thomas Mortagne 3.1 73
74 == New XWiki distribution ==
75
Vincent Massol 15.1 76 The work on a minimal distribution of XWiki has started. The key goal is to try to have a WAR as small as possible on which you install one of the Flavors automatically found in the registered repositories (meaning [[extensions.xwiki.org>>extensions:Main.WebHome]] for now).
Thomas Mortagne 3.1 77
Vincent Massol 15.1 78 The size of this new distribution is still not very far from the XWiki Enterprise one (188MB compared to the 219MB of XWiki Enterprise); one important limitation is that we kept some old plugins because they are hard to install as extensions (you need to modify ##xwiki.cfg## and restart). We need to convert them to proper components so that we can move them to contrib as "pure" extensions.
Thomas Mortagne 3.1 79
Vincent Massol 16.2 80 There is still a limitation in XWiki 8.0 that we hope to fix in 8.1: supporting upgrades of invalid flavor (propose a valid new flavor in this case).
Thomas Mortagne 3.1 81
Vincent Massol 15.1 82 This minimal distribution is still experimental and should not be put in production yet but the momentum has been started and we excited by the new opportunity that Flavors will bring to XWiki!
Thomas Mortagne 3.1 83
Vincent Massol 15.1 84 == Custom Admin User ==
Thomas Mortagne 3.1 85
Vincent Massol 15.1 86 XWiki Enterprise has always had a hardcoded ##Admin## user (with password ##admin##). This was causing security issues since admins had to change the password explicitly or they'd risk anyone being able to connect to their instance...
Thomas Mortagne 3.1 87
Vincent Massol 15.1 88 This time is now gone and from now on you are asked to register your own user which will be the owner of the wiki (meaning that whatever you do, you won't ever loose Admin Rights for that user, unless you change the owner of course) when you install XWiki from scratch. Note that we've kept a standard ##Admin## user for the all in one Jetty/HSQLDB package for the moment.
Thomas Mortagne 3.1 89
90 {{image reference="newwelcome.png"/}}
91
92 {{image reference="customuser.png"/}}
93
94 == Chart Macro Additions ==
95
96 There are several new parameters that can now be set when using the [[Chart Macro>>extensions:Extension.Chart Macro]]:
97
98 |=Parameter name|=Default value|=Description
99 |##backgroundColor##|Grey background|Background color of the non-chart area, specified using an hexadecimal notation, e.g. ##FFAACC## (first 2 letters are for Red, following 2 are for Green and last 2 are for Blue).
100 |##plotBackgroundColor##|White|Background color of the plot area, specified using an hexadecimal notation (see ##backgroundColor##).
101 |##plotBorderColor##|Black|Color of the plot border, specified using an hexadecimal notation (see ##backgroundColor##).
102 |##borderColor##|Black|Color of the outer graph border, specified using an hexadecimal notation (see ##backgroundColor##).
103 |##legendBackgroundColor##|White|Background color of the legend box, specified using an hexadecimal notation (see ##backgroundColor##).
104 |##plotBorderVisible##|true|Whether the border for the plot area is visible or not. Valid values are ##true## and ##false##.
105 |##legendVisible##|true|Whether the legend is displayed or not. Valid values are ##true## and ##false##.
106
107 Examples:
108
109 * Pie chart with no legend displayed, no border, no title and white background:(((
110 {{code}}
111 {{chart type="pie" source="inline" params="range:B2-D5;series:columns;backgroundColor:FFFFFF;plotBackgroundColor:FFFFFF;plotBorderVisible:false;legendVisible:false" width="320" height="240"}}
112 |=|=X|=Y|=Z
113 |Q1|1.2|3.4|1.3
114 |Q2|4.5|3.4|2.3
115 |Q3|1.2|4.5|9.0
116 |Q4|3.4|1.2|1.2
117 {{/chart}}
118 {{/code}}
119
120 {{image reference="pieChartWhite.png"/}}
121 )))
122 * Colored background:(((
123 {{code}}
124 {{chart type="pie" source="inline" params="range:B2-D5;series:columns;backgroundColor:FFFF11;plotBackgroundColor:11FFFF" title="Chart Test" width="320" height="240"}}
125 |=|=X|=Y|=Z
126 |Q1|1.2|3.4|1.3
127 |Q2|4.5|3.4|2.3
128 |Q3|1.2|4.5|9.0
129 |Q4|3.4|1.2|1.2
130 {{/chart}}
131 {{/code}}
132
133 {{image reference="pieChartColor.png"/}}
134 )))
135
136 In addition, it's now possible to perform [[advanced customization of the generated chart>>extensions:Extension.Chart Macro||anchor="HAdvancedCustomization"]].
137
Marius Dumitru Florea 1.1 138 == Miscellaneous ==
139
Thomas Mortagne 3.1 140 * The WebDAV feature is [[now configured using Servlet 3.0 annotations>>||anchor="HIssuesspecifictoXWiki8.0Milestone1"]] and is [[not bundled by default anymore>>||anchor="HIssuesspecifictoXWiki8.0Milestone1"]].
141 * The [[Statistics Application>>extensions:Extension.Statistics Application]] is no longer installed by default. The same applied for the [[Charting Plugin>>extensions:Extension.Charting Plugin]].
142 * The "Create Page" Panel now supports creating Nested Spaces (i.e. you can use references in the Space input field and you now need to escape special characters if you wish to have a space containing '.' or ':' characters for example).
143 * The [[Active Installs>>extensions:Extension.Active Installs Server Application]] Dashboard now displays the Java versions in an aggregated format, displaying only major + minor (e.g. "1.7", "1.8"). This makes it simpler to analyze the versions of Java used for XWiki.
144 * When deleting a non-terminal page and the only child of that page is the 'WebPreferences' terminal page, the 'Affect children' checkbox will be checked by default. Normally, it would be unchecked, but in this case we`ve noticed that it`s very easy to forget about that document (since it's hidden and automatically created when going into 'Page Administration') and your deleted page might still show up in some places because of that leftover. You can still uncheck it if you know what you are doing.
Thomas Mortagne 31.1 145 * The [[Link Label Generator>>Documentation.AdminGuide.Configuration||anchor="HLinkLabelGeneration"]] nows supports Nested Pages by default and several new configuration formats have been introduced:
Thomas Mortagne 3.1 146 ** ##%s## now uses the full space name (e.g. space1.space2). Note: Prior to 7.4.2/8.0M2 this was only displaying the last space name
147 ** New ##%ls## option: displays the last space name.
148 ** New ##%np## option: displays the nested page name (i.e. will display the space name for Nested Pages).
149 ** New ##%NP## option: displays the nested page name with spaces between camel case words, i.e. "My Page" if the page name is "MyPage".
Vincent Massol 15.1 150 * The main wiki owner now has Programming Rights by default and not only Admin Rights
151 * Better error checking for the Color Theme Displayer: In the administration, an error message is now displayed if the configured Color Theme is invalid. It could happen after an upgrade if you were using an old Colibri Theme.(((
152 {{image reference="ColorThemeDisplayer.png"/}}
153 )))
154 * The XWiki Enterprise XAR does not contain any descriptor for the main wiki anymore. This descriptor is now automatically created/updated at startup and associated to the domain name found in the URL that was used to access the wiki the first time.
Marius Dumitru Florea 1.1 155
Thomas Mortagne 30.1 156 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+%228.0%22&tempMax=1000]] fixed in this release.
Marius Dumitru Florea 1.1 157
158 = For Developers =
159
Thomas Mortagne 3.1 160 == Extension Manager improvements ==
Marius Dumitru Florea 1.1 161
Thomas Mortagne 3.1 162 === Feature version ===
Marius Dumitru Florea 1.1 163
Thomas Mortagne 3.1 164 Each extension feature now have its own version. See [[extensions:Extension.Extension Module Virtual Extensions]] for more details.
165
166 === Namespace constraint ===
167
168 It's now possible to indicate a constraint on where an extension can be installed (only root namespace, etc.).
169
170 In Maven you can do that using ##<xwiki.extension.namespaces>## custom property. See [[Maven Connector>>extensions:Extension.XWiki Commons - Extension - Repository - Maven||anchor="HCustomproperties"]] for more details.
171
Thomas Mortagne 27.1 172 {{warning}}
Thomas Mortagne 30.1 173 The is an issue in the Maven parser in this version with the {{code language="xml"}}<xwiki.extension.namespaces>{root}</xwiki.extension.namespaces>{{/code}} use case. See https://jira.xwiki.org/browse/XCOMMONS-980.
Thomas Mortagne 27.1 174 {{/warning}}
175
Thomas Mortagne 3.1 176 === Compare Extensions ===
177
178 ##org.xwiki.extension.Extension## and ##org.xwiki.extension.ExtensionId## now implement ##Comparable## to make easier manipulate them (order lists, find out if we are doing an upgrade or a downgrade, etc.).
179
180 == Edit Action Events ==
181
182 Two new JavaScript events are available in edit mode:
183
184 * **##xwiki:actions:beforePreview##**
185 This event is fired after the user clicks on the "Preview" button from an edit mode, but before the edit form is validated. You can use this event to update the form fields before they are submitted to the preview action.
186 * **##xwiki:actions:beforeSave##**
187 This event is fired after the user clicks on the "Save" or "Save & Continue" button from an edit mode, but before the edit form is validated. You can use this event to update the form fields before they are submitted to the save action.
188
Thomas Mortagne 31.1 189 See the [[JavaScript API documentation>>Documentation.DevGuide.JavaScriptAPI]] for more information.
Thomas Mortagne 3.1 190
191 == New SVG Rasterizing API ==
192
Vincent Massol 26.2 193 New [[API>>extensions:Extension.SVG Rasterizing API]] to convert a vector-based SVG content into some binary format that can be displayed in browser (i.e. rasterizing). Note that this API is not bundled by default and you'll need to install it with the Extension Manager if you wish to use it.
Thomas Mortagne 3.1 194
Marius Dumitru Florea 1.1 195 == Deprecated and Retired projects ==
196
Thomas Mortagne 3.1 197 * Colibri skin moved to https://github.com/xwiki-contrib/skin-colibri
198 * Color Theme application moved to https://github.com/xwiki-contrib/skin-colibri
199 * Old XWiki 1.0 syntax rendering framework moved to https://github.com/xwiki-contrib/xwiki-platform-oldrendering
200 * XWiki 1.0 rendering parser moved to https://github.com/xwiki-contrib/xwiki10-parser
201 * XWiki 1.0 chart macro moved to https://github.com/xwiki-contrib/xwiki-platform-chart-macro10
Marius Dumitru Florea 1.1 202
203 == Upgrades ==
204
205 The following dependencies have been upgraded:
206
Thomas Mortagne 30.1 207 * [[Bouncy Castle 1.54>>https://jira.xwiki.org/browse/XCOMMONS-897]]
208 * [[HTMLCleaner 2.16>>https://jira.xwiki.org/browse/XCOMMONS-825]]
209 * [[Jackson 2.7.1>>https://jira.xwiki.org/browse/XCOMMONS-875]]
210 * [[JGroups 3.6.7>>https://jira.xwiki.org/browse/XWIKI-13003]]
211 * [[FOP 2.1>>https://jira.xwiki.org/browse/XWIKI-13026]]
212 * [[Slf4j 1.7.14>>https://jira.xwiki.org/browse/XCOMMONS-909]]
213 * [[CSS4J 0.20>>https://jira.xwiki.org/browse/XWIKI-8706]]
Thomas Mortagne 3.1 214 * [[Joda-Time 2.9.2>>https://jira.xwiki.org/browse/XWIKI-13062]]
Thomas Mortagne 30.1 215 * [[slf4j 1.7.16>>https://jira.xwiki.org/browse/XCOMMONS-915]]
216 * [[Logback 1.1.5>>https://jira.xwiki.org/browse/XCOMMONS-915]]
217 * [[Doxia 1.17>>https://jira.xwiki.org/browse/XRENDERING-431]]
218 * [[Aether 1.1.0>>https://jira.xwiki.org/browse/XCOMMONS-913]]
219 * [[Less4j 1.16.0>>https://jira.xwiki.org/browse/XWIKI-13119]]
220 * [[Pygments 2.1.1>>https://jira.xwiki.org/browse/XWIKI-13019]]
Thomas Mortagne 3.1 221 * [[org.eclipse.sisu.plexus 0.3.3>>https://jira.xwiki.org/browse/XCOMMONS-920]]
Thomas Mortagne 30.1 222 * [[Tika 1.12>>https://jira.xwiki.org/browse/XWIKI-13104]]
223 * [[Groovy 2.4.6>>https://jira.xwiki.org/browse/XCOMMONS-918]]
224 * [[JGroups 3.6.8>>https://jira.xwiki.org/browse/XWIKI-13146]]
225 * [[httpclient 4.5.2>>https://jira.xwiki.org/browse/XCOMMONS-924]]
226 * [[slf4j 1.7.18>>https://jira.xwiki.org/browse/XCOMMONS-925]]
227 * [[Jackson 2.7.2>>https://jira.xwiki.org/browse/XCOMMONS-926]]
228 * [[logback 1.1.6>>https://jira.xwiki.org/browse/XCOMMONS-927]]
Marius Dumitru Florea 1.1 229
230 == Miscellaneous ==
231
Thomas Mortagne 3.1 232 * Generated URLs for document-based skin extensions (SSX and JSX) now contain the version of the document, so when a change is made to the extension the browser don't use an outdated version from its cache.
233 * Support for chaining uberspectors, first introduced in XWiki as an enhancement of Velocity 1.5, has been part of the official library since Velocity 1.6. As such, we're deprecating our custom classes that provide this functionality. See the [[upgrade instructions>>||anchor="HIssuesspecifictoXWiki8.0Milestone1"]]
Thomas Mortagne 31.1 234 * the [[XWiki Select Widget>>Documentation.DevGuide.XWikiSelect]] now offers a javascript API in the form of a jQuery plugin, to get the current value or clear the selection.
Thomas Mortagne 3.1 235 * the [[WYSIWYG editor>>extensions:Extension.WYSIWYG Editor Module]] script service has a new method to render a document as a full HTML page. You can use it like this:(((
236 {{code language="none"}}<textarea class="wysiwyg">$escapetool.xml($services.wysiwyg.render('Some.Content.Template'))</textarea>{{/code}}
237 The main difference between this API and the existing ##$doc.getRenderedContent()## is that it replaces [[the skin extension hooks>>extensions:Extension.Skin Extension Plugin]] with the corresponding resource includes (e.g. style sheets includes), allowing us to define a WYSIWYG editor content template in a wiki page.
238 )))
239 * Replaced a few String-based APIs by Locale-based equivalents
240 * All Document Events are now Cancelable and it's now possible for an ##EventListener## implementation to cancel saving a Document.
241 * Added [[new binding>>extensions:Extension.Watchlist Application||anchor="HAdministrators:CustomizingtheWatchListemailtemplate"]] in the WatchList email template: subscriberReference. For example, this can be used to create a URL to the subscriber (i.e. user receiving the message) profile, where the notifications can be disabled:(((
242 {{code}}
243 $xwiki.getURL($subscriberReference, 'view', 'category=notification')
244 {{/code}}
245 )))
246 * It's now possible to directly compare a ##org.xwiki.extension.version.Version## (at least its default implementation) to a String. Makes a lot easier to manipulate versions in Velocity for example. For example, before 8.0M2 you had to write:(((
247 {{code}}
248 #set ($supportsNS = $services.extension.core.getCoreExtension('org.xwiki.platform:xwiki-platform-model').id.version.compareTo($services.extension.parseVersion('7.2')) >= 0)
249 {{/code}}
250
251 You can now write:
252
253 {{code}}
254 #set ($supportsNS = $services.extension.core.getCoreExtension('org.xwiki.platform:xwiki-platform-model').id.version.compareTo('7.2') >= 0)
255 {{/code}}
256 )))
257 * Developers can now enable the [[CSS Source Maps feature in the LESS Module>>extensions:Extension.LESS Module||anchor="HDebuggingLESSfileswithCSSSourceMaps"]], to help the CSS debugging.
Thomas Mortagne 2.1 258 * ##GroupedJob#getGroupPath()## can return null to not be grouped anymore
Marius Dumitru Florea 1.1 259
260 = Translations =
261
262 The following translations have been updated:
263
Thomas Mortagne 3.1 264 {{language codes="da, fr, lv, nl, pl, pt_BR, ru, sk"/}}
Marius Dumitru Florea 1.1 265
266 = Tested Browsers & Databases =
267
Manuel Smeria 21.1 268 {{include reference="TestReports.ManualTestReportSummaryXWiki80"/}}
Marius Dumitru Florea 1.1 269
Thomas Mortagne 26.1 270 = Performances tests compared to 7.4.2 =
Marius Dumitru Florea 1.1 271
Thomas Mortagne 29.1 272 The important speed boost in first access of the UI is due to LESS cache being kept when restarting. See [[Performance Improvements>>||anchor="HPerformanceImprovements"]] for more.
Marius Dumitru Florea 1.1 273
Thomas Mortagne 25.1 274 {{display reference="test:Performances.Jetty HSQLDB single wiki 742 to 80" section="HSummary"/}}
Marius Dumitru Florea 1.1 275
Thomas Mortagne 25.1 276 More details on [[performance comparison on single wiki between 8.0 and 7.4.2>>test:Performances.Jetty HSQLDB single wiki 742 to 80]].
277
Marius Dumitru Florea 1.1 278 = Known issues =
279
Thomas Mortagne 30.1 280 * [[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]]
Marius Dumitru Florea 1.1 281
282 = Backward Compatibility and Migration Notes =
283
284 == General Notes ==
285
286 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.
287
Thomas Mortagne 3.1 288 == Issues specific to XWiki 8.0 Milestone 1 ==
Marius Dumitru Florea 1.1 289
Thomas Mortagne 3.1 290 * The WebDAV feature is now configured using Servlet 3.0 annotations and is not bundled by default anymore.
291 ** If you were using this feature, you should check the [[Instructions to install it manually>>extensions:Extension.WebDAV Server||anchor="HPrerequisites26InstallationInstructions"]].
292 ** If you were not using it, you should make sure to edit your ##web.xml## to remove all the Servlet and Filter definitions for WebDAV (search for ##dav## in ##web.xml##).
293 * If you have custom Velocity Uberspectors that implement ##org.xwiki.velocity.introspection.ChainableUberspector## or extend ##org.xwiki.velocity.introspection.AbstractChainableUberspector##, update them to ##org.apache.velocity.util.introspection.ChainableUberspector## and ##org.apache.velocity.util.introspection.AbstractChainableUberspector##. If you have a custom list of uberspectors specified under ##runtime.introspector.uberspect.chainClasses##, just use the ##runtime.introspector.uberspect## property for defining the list. Otherwise your custom configuration will be ignored!
294 * If you wish to use '.' or ':' characters in the "Create Page" Panel you'll now need to escape them. For example: ##My\.Space\:name##
295 * If, in your application/custom code, you were using ##XWiki.EntityReferenceTree## in the JavaScript API, you will need to update your code to the new structure of the ##children## property of an ##XWiki.EntityReferenceTreeNode##. Previously, the ##children## property was a map of ##<nameString, XWiki.EntityReferenceTreeNode>##. Now, it was changed to a map of ##<nameString, <XWiki.EntityType, XWiki.EntityReferenceTreeNode>>## because, at each level, you can have both a ##XWiki.EntityType.DOCUMENT## and a ##XWiki.EntityType.SPACE## node with the same name (i.e. siblings) and the old implementation did not consider this case, thus creating a bug. Using the new structure, the bug is fixed, but old code had/has to be updated.
Marius Dumitru Florea 1.1 296
Thomas Mortagne 3.1 297 == Mail API Unique Message Identifier ==
298
Thomas Mortagne 30.1 299 In order to solve [[XWIKI-12165>>https://jira.xwiki.org/browse/XWIKI-12165]], the unique identifier of each mime message sent has been changed to a SHA1 based on the ##Message-ID## header and the list of recipients of the mails, ensuring uniqueness during a newsletter or mailing sending. To introduce this change, the ##MailContentStore## and the ##MailListener API## has been broken, and now use a new ExtendedMimeMessage instead of the simple ##MimeMessage## for all arguments. The values ##messageId## returned or used as argument in the API is no more equivalent to the ##Message-ID## header, but is now the unique identifier returned by ##ExtendedMimeMessage#getUniqueMessageId()##. Finally, the ##MessageMimeMessageFactory## now returns cloned ##MimeMessage## without changing the ##Message-ID##.
Thomas Mortagne 3.1 300
301 == New Space prefix for wiki links ==
302
303 We've introduced the possibility to explicitly create a link to a Space in XWiki Syntax 2.1, e.g. ##~[~[space:Space1.Space2]]##. However if you had a subwiki named ##space## the new notation will conflict with the syntax for referencing that wiki. Thus you'll need to edit existing links such as ##~[~[space:something]]## to ##~[~[doc:space:something]]##. And if you wish to reference a given space in the ##space## subwiki, you'd write ##~[~[space:space:something]]##.
304
Marius Dumitru Florea 1.1 305 == API Breakages ==
306
Thomas Mortagne 3.1 307 The following APIs were modified since XWiki 7.4.2:
Marius Dumitru Florea 1.1 308
Thomas Mortagne 3.1 309 * Allow associating a version different from the extension version to the features and allow indicating namespace constraint in an extension(((
Marius Dumitru Florea 1.1 310 {{code language="none"}}
Thomas Mortagne 3.1 311 org.xwiki.extension.Extension: Method 'public java.util.Collection getAllowedNamespaces()' has been added to an interface
312 org.xwiki.extension.Extension: Method 'public org.xwiki.extension.ExtensionId getExtensionFeature(java.lang.String)' has been added to an interface
313 org.xwiki.extension.Extension: Method 'public java.util.Collection getExtensionFeatures()' has been added to an interface
Marius Dumitru Florea 1.1 314 {{/code}}
Thomas Mortagne 3.1 315 )))
316
317 * Deprecating this class in favor of the standard library class with the same name(((
318 {{code language="none"}}
319 org.xwiki.velocity.introspection.AbstractChainableUberspector: Removed field inner
320 org.xwiki.velocity.introspection.DeprecatedCheckUberspector: Removed org.xwiki.velocity.introspection.ChainableUberspector from the set of implemented interface
321 org.xwiki.velocity.introspection.DeprecatedCheckUberspector: Removed org.xwiki.velocity.introspection.AbstractChainableUberspector from the list of superclasse
322 org.xwiki.velocity.introspection.MethodArgumentsUberspector: Removed org.xwiki.velocity.introspection.ChainableUberspector from the set of implemented interface
323 org.xwiki.velocity.introspection.MethodArgumentsUberspector: Removed org.xwiki.velocity.introspection.AbstractChainableUberspector from the list of superclasse
324 {{/code}}
325 )))
326
327 * Young API. Better name(((
328 {{code language="none"}}
329 org.xwiki.platform.flavor.FlavorManager: Method 'public org.xwiki.extension.repository.result.IterableResult searchFlavors(org.xwiki.platform.flavor.FlavorQuery)' has been added to an interface
330 {{/code}}
331 )))
332
333 * Removed constant that shouldn't have been there(((
334 {{code language="none"}}
335 org.xwiki.chart.ChartGenerator: Field COLORS_PARAM has been removed, but it was previously a constant
336 {{/code}}
337 )))

Get Connected