Wiki source code of Release Notes for XWiki 5.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 Platform, XWiki Enterprise and XWiki Enterprise Manager. They share the same release notes as they are released together and have the same version.
6
Marius Dumitru Florea 9.1 7 This is the first release of the 5.x cycle ([[Roadmap>>Main.Roadmap]]). This release comes with virtual mode enabled and uses the new security authorization module for rights checking. It also brings improvements to the Extension Manager, Distribution Wizard and the WYSIWYG editor.
Marius Dumitru Florea 1.1 8
9 = New and Noteworthy (since XWiki 4.5.3) =
10
Thomas Mortagne 14.1 11 [[Full list of issues fixed and Dashboard for 5.0>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=11493]].
Marius Dumitru Florea 1.1 12
Marius Dumitru Florea 5.1 13 {{display reference="ReleaseNotesXWiki50M1" section="HExtensionManagerimprovements"/}}
Marius Dumitru Florea 1.1 14
Marius Dumitru Florea 3.1 15 === Extension Updater ===
Marius Dumitru Florea 1.1 16
Marius Dumitru Florea 3.1 17 We added a new section to the [[Extension Manager>>extensions:Extension.Extension Manager Application]] administration UI that lists the available extension updates.
18
19 {{image reference="ReleaseNotesXWiki50RC1@EM-extensionUpdater.png"/}}
20
Marius Dumitru Florea 5.1 21 {{display reference="ReleaseNotesXWiki50M1" section="HDistributionWizardimprovements"/}}
Marius Dumitru Florea 3.1 22
23 === New wiki mode step ===
24
25 By default you can now get the same distribution wizard you used to have for main wiki only on subwikis too. When enabled it means that each wiki administrator is able to take care of his own wiki upgrade and farm administrator will only deal with main wiki.
26
27 There are two modes:
28
29 * ALL IN ONE: the former Distribution Wizard behavior where everything is done at main wiki level
30 * WIKI: on main wiki only the main wiki is upgraded and each wiki gets its own Distribution Wizard and its own status
31
32 A new step to setup the upgrade mode has been added.
33
34 {{image reference="ReleaseNotesXWiki50RC1@upgrademode.png"/}}
35
36 == WYSIWYG Editor improvements ==
37
Marius Dumitru Florea 4.1 38 === Automatic Paste Cleaning ===
Marius Dumitru Florea 3.1 39
40 Starting with this version, whenever you paste some content into the rich text area of the WYSIWYG Editor that content is (by default) automatically cleaned before being inserted into the rest of the content.
41
42 You can disable the automatic cleaning from the WYSIWYG Editor administration section if you wish:
43
44 {{image reference="ReleaseNotesXWiki50M2@WYSIWYGEditor-AdminSection-cleanPasteAutomatically.png"/}}
45
46 === Office Import using the Office Macro ===
47
Thomas Mortagne 15.1 48 We added an option to the [[WYSIWYG Editor>>Documentation.UserGuide.Features.WysiwygEditor]]'s Import Office Document dialog to allow you to import an office file using the [[Office Macro>>extensions:Extension.Office Macro]]. This is useful if you don't plan to edit the content of the office file after the import or if you don't want to mix the content of the office file with the content of the wiki page.
Marius Dumitru Florea 3.1 49
50 {{image reference="ReleaseNotesXWiki50M1@xwe-importOfficeDocumentDialog.png"/}}
51
52 The generated wiki syntax looks like this:
53
54 {{code language="none"}}
55 {{office attachment="presentation.odp"/}}
56 {{/code}}
57
58 Of course, you need to have the Office server connected in order to use this feature.
59
Marius Dumitru Florea 5.1 60 {{display reference="ReleaseNotesXWiki50M1" section="HReleaseApplication"/}}
Marius Dumitru Florea 3.1 61
Marius Dumitru Florea 5.1 62 {{display reference="ReleaseNotesXWiki50M2" section="HNewsecurityauthorizationmodulereplacestheoldRightService"/}}
Marius Dumitru Florea 3.1 63
Marius Dumitru Florea 5.1 64 {{display reference="ReleaseNotesXWiki50M2" section="HVirtualmodeisalwaysenabled"/}}
Marius Dumitru Florea 3.1 65
Marius Dumitru Florea 5.1 66 {{display reference="ReleaseNotesXWiki50M2" section="HReplace22xwiki.virtual.redirect22withanerrortemplate28orpage29"/}}
Marius Dumitru Florea 3.1 67
Marius Dumitru Florea 1.1 68 == Miscellaneous ==
69
Marius Dumitru Florea 5.1 70 * Add support for Numbered Lists and Verbatim for the LaTex Renderer
71 * Ability to [[more easily create multiple FAQ spaces>>extensions:Extension.FAQ Application||anchor="HCreatemultipleFAQs"]].
72 * The [[FAQ Application>>extensions:Extension.FAQ Application]] can now be translated into multiple languages + added translation for French.
73 * Automatically register translations for the Annotations application
Thomas Mortagne 14.1 74 * ##autowww## is not enabled by default {{jira url="https://jira.xwiki.org" style="enum"}}XWIKI-8877{{/jira}} and mandatory (can not be disabled), since with virtual mode enabled by default if could prove problematic to access your main wiki without a proper wiki descriptor set up. The main reason why you could have needed to disable it was if you actually had subwiki named ##www## and you wanted to access it instead of the main wiki. Now the ##autowww## feature checks for this case and serves the right content.
Thomas Mortagne 15.1 75 * Increased [[Permgen requirements from recommended 128MB to 196MB>>Documentation.AdminGuide.Installation]]
Marius Dumitru Florea 5.1 76 * The Jetty distribution now uses Jetty 8.1.9.v20130131
Marius Dumitru Florea 1.1 77
Thomas Mortagne 14.1 78 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%2C+XEM%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+in+%28%225.0-milestone-1%22%2C+%225.0-milestone-2%22%2C+%225.0-rc-1%22%2C+%225.0%22%29&tempMax=1000]] fixed in this release.
Marius Dumitru Florea 1.1 79
80 = For Developers =
81
Marius Dumitru Florea 7.1 82 {{display reference="ReleaseNotesXWiki50M1" section="HButtonGroupWidget"/}}
Marius Dumitru Florea 1.1 83
Marius Dumitru Florea 7.1 84 {{display reference="ReleaseNotesXWiki50M2" section="HJQueryinXWikiusingAMD2FRequire.js"/}}
Marius Dumitru Florea 1.1 85
Marius Dumitru Florea 7.1 86 {{display reference="ReleaseNotesXWiki50RC1" section="HJodaTimepluginaddsDurationAPI"/}}
87
88 {{display reference="ReleaseNotesXWiki50M2" section="HDocumentrollbackevents"/}}
89
90 {{display reference="ReleaseNotesXWiki50M2" section="HTranslatelog"/}}
91
92 {{display reference="ReleaseNotesXWiki50M2" section="HXWikiDocumentauthorsandpublicaccess"/}}
93
94 {{display reference="ReleaseNotesXWiki50M2" section="HBacktoJUnit"/}}
95
Marius Dumitru Florea 1.1 96 == Deprecated and Retired projects ==
97
Marius Dumitru Florea 6.1 98 No deprecated nor retired projects in this release.
Marius Dumitru Florea 1.1 99
100 == Upgrades ==
101
102 The following dependencies have been upgraded:
103
Marius Dumitru Florea 6.1 104 * Apache Ivy 2.3.0
105 * Groovy 2.1.3
106 * GWT 2.5.1 and SmartGWT 3.1
107 * Hamcrest 1.3
108 * httpclient 4.2.3
109 * JGroups 3.2.7.Final
110 * Joda Time 2.2
111 * JUnit 4.11
112 * Jython 2.5.4-rc1
113 * Liquibase 2.0.5
114 * LogBack 1.0.11
115 * Pygments 1.6
116 * SLF4J 1.7.5
117 * Tika 1.3
118 * XStream 1.4.4
Marius Dumitru Florea 1.1 119
120 == Miscellaneous ==
121
Marius Dumitru Florea 6.1 122 * [[More API added to the Model Script Service>>extensions:Extension.Model Module]]
123 * You can now specify a target user or an email address in the share page URL like this:
124 {{code language="none"}}/xwiki/bin/view/Space/Page?viewer=share&target=foo@bar.org&target=XWiki.mflorea{{/code}}
Thomas Mortagne 14.1 125 * Added methods to query existing wikis: api.XWiki.getWikiNames() {{jira url="https://jira.xwiki.org" style="enum"}}XWIKI-8841{{/jira}} and api.XWiki.hasSubWikis() {{jira url="https://jira.xwiki.org" style="enum"}}XWIKI-8875{{/jira}}
Marius Dumitru Florea 6.1 126 * XWiki is now always in virtual mode so development needs to consider the fact that the main wiki may not be the only wiki available.
127 * With the transition to virtual mode by default, the XWiki.XWikiServerClass is now a mandatory class to be used when creating a wiki descriptor. Its existence will be, like all mandatory classes, checked when XWiki starts, but only for the main wiki. It was formerly initialized by and part of the wiki-manager module but it's now part of the core. Also, the XWiki.XWikiServerClassSheet has been moved to the wiki-manager-ui module.
Vincent Massol 12.1 128 * [[A new Unstable annotation>>dev:Community.DevelopmentPractices||anchor="H40UnstableAnnotation"]] has been added to indicate new API that is not stable yet.
Marius Dumitru Florea 1.1 129
130 = Translations =
131
132 The following translations have been updated:
133
Marius Dumitru Florea 6.1 134 {{language codes="ca,cs,da,de,es,fr,gl,it,ko,lv,nl,pt,pt_BR,ro,ru,sk,sv,uk,zh,zh_TW"/}}
Marius Dumitru Florea 1.1 135
136 = Tested Browsers & Databases =
137
Manuel Smeria 9.2 138 {{include reference="TestReports.ManualTestReportXWiki50Summary"/}}
Marius Dumitru Florea 1.1 139
140 = Known issues =
141
Thomas Mortagne 14.1 142 * [[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]]
143 * If you're migrating an XWiki instance using PostgreSQL or Oracle you may get [[this error>>https://jira.xwiki.org/browse/XWIKI-9473]] (fixed in XWiki 5.2). The workaround is to remove the ##hibernate_sequence## sequence prior to starting XWiki (for the main wiki and all subwikis).
Marius Dumitru Florea 1.1 144
145 = Backward Compatibility and Migration Notes =
146
147 == General Notes ==
148
149 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
150
151 {{warning}}
152 Always make sure you compare your ##xwiki.cfg## and ##xwiki.properties## files with the newest version since some configuration parameters were 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.
153 {{/warning}}
154
Marius Dumitru Florea 8.1 155 == Issues specific to XWiki 5.0 ==
Marius Dumitru Florea 1.1 156
Marius Dumitru Florea 8.1 157 === Page/Attachment deletion on Oracle and PosgreSQL ===
Marius Dumitru Florea 1.1 158
Marius Dumitru Florea 8.1 159 In multiwiki mode, page deletion wasn't working prior to XWiki 4.5.4 and 5.0M2. If you have created subwikis and you get an error you'll need to issue the following SQL command for all your subwikis:
Marius Dumitru Florea 1.1 160
Marius Dumitru Florea 8.1 161 (((
162 {{code}}
163 create sequence hibernate_sequence
164 {{/code}}
Marius Dumitru Florea 1.1 165
Marius Dumitru Florea 8.1 166 Of course all new subwikis you create starting with XWiki 4.5.4 and 5.0M2 will work seamlessly.
167 )))
168
169 === XWikiDocument authors and public access ===
170
Thomas Mortagne 14.1 171 The document reference used to indicate that a document has been created/modified by a public access user (or guest user) is now null. In practice in means that even if the database indicate that the document has been saved by "XWiki.XWikiGuest" document.getAuthorReference() will return null. See https://jira.xwiki.org/browse/XWIKI-8953.
Marius Dumitru Florea 8.1 172
173 === Programming right imply Admin right and not the opposite ===
174
175 With the previous Right Service implementation some side effect used to give you Programming Right when you had main wiki admin right, it's not the case anymore. Programming right is stronger than admin right in new security module default implementation which means you can have admin right without programming right, even on main wiki.
176
177 {{warning}}
178 In practice it means that most of the time you will have to give Programming Right to main wiki admin group which used to be granted only Admin right by default distribution.
179 {{/warning}}
180
181 === Sub-wikis now inherit rights from their main wiki ===
182
183 With the previous Right Service implementation, only the admin and programming rights get inherited somehow on sub-wikis. The new implementation provide a more consistant behavior, all rights are inherited from the main wiki into sub-wikis in the same maner they are between wiki, space and document.
184
185 === Public access on an empty wiki does not receive admin right anymore ===
186
187 With the previous Right Service implementation, until some right are sets, the public (previously XWikiGuest user, now null user) used to receive admin access and is able to import the default XAR. Since we now have a Distribution Wizard that kicks in to allow installing at least a minimal flavor to get you started, this is no more needed. This will improve security since the detection of an initial import situation was not so trivial.
188
189 If you do not have installed a minimal package using the new Distribution Wizard or you want to continue to import XAR manually, you may use the superadmin access to do so.
190
191 Note that public receive view, edit, comment, login, and register access to an empty wiki.
192
193 === Edit right now imply view right ===
194
195 With the previous Right Service implementation, you were able to receive edit access to a document while you were not able to see or read that same document. This potential issue stay hidden since nobody notice until a edit URL is manually entered. Since we do not see any practical use case where a user would need to edit a document he cannot access, the edit right now imply the view right. Therefore, giving edit alone is now sufficient.
196
197 === Edition of XWikiPreferences and WebPreferences ===
198
199 For increased security, edition of the XWikiPreferences and WebPreferences documents are now always restricted to admin users, whatever the right settings of these documents and their parents.
200
201 === The undelete action is now checked against the edit right ===
202
203 The undelete right (not exposed in the UI) was associated with the undelete action in the old implementation. The new module currently check the edit right for the undelete action. We are currently evaluating the opportunity to reintroduce the undelete right, and the right way to do so.
204
205 === The xwiki/1.0 syntax is now hidden by default ===
206
207 The old xwiki/1.0 syntax is no longer available for selection when editing a document. The rendering engine will continue to be available, so existing documents using it will continue to work, and creating application documents based on a template in the xwiki/1.0 syntax will still work. Anyway, users are strongly encouraged to migrate away from this syntax.
208
Vincent Massol 11.3 209 === Virtual mode is always on ===
Vincent Massol 11.1 210
Vincent Massol 11.4 211 Since the multiwiki mode (aka virtual mode) is always on now you might have some error like the following one after migrating:
Vincent Massol 11.1 212
213 {{code}}
214 Throwable occurred: com.xpn.xwiki.XWikiException: Error number 2 in 0: The wiki [wiki] does not exist
215 at com.xpn.xwiki.XWiki.getXWiki(XWiki.java:505)
216 ...
Vincent Massol 11.2 217 {{/code}}
Vincent Massol 11.1 218
Vincent Massol 11.5 219 The problem will happen if you had the virtual mode off before and if you were using some URL with a domain like {{code}}http://wiki.some.domain/xwiki/bin/view...{{/code}}. Since all URLs are now multiwiki URLs XWiki needs to figure out which wiki is being called. What happens is the following:
Vincent Massol 11.1 220 * Since the default configuration is a path-based configuration XWiki first tries to find the wiki name in the URL path and it won't find it
Vincent Massol 11.6 221 * Then it falls back to domain-based configuration and gets the host name, i.e. ##wiki.some.domain##. It tries to find a page in the wiki containing an Object of type ##XWiki.XWikiServerClass## and with a ##server## property of ##wiki.some.domain##.
Vincent Massol 11.7 222 * Since it doesn't find one, it defaults to using the ##wiki## wiki (ie the part of the host name before the first dot), which leads to the error since that wiki doesn't exist.
Vincent Massol 11.1 223
Vincent Massol 11.8 224 To fix this, you need to create a wiki descriptor for your main wiki. This is done by creating a page named ##XWiki.XWikiServerXwiki## (be careful with the case) and add a ##XWiki.XWikiServerClass## object in it with a ##server## field value of ##wiki.some.domain##.
Vincent Massol 11.1 225
226 Once you've done this XWiki will find that page and will compute the wiki name based on the suffix of the page name found (it'll also lowercase it), i.e. it'll find ##XWiki.XWikiServerXwiki## and extract ##Xwiki## which, when lowercased, will be ##xwiki## which is the name of the main wiki...
227
Thomas Mortagne 15.1 228 For more details on this, check the [[Admin Guide for Multi-wiki>>Documentation.AdminGuide.AccessWiki]].
Vincent Massol 11.1 229
Marius Dumitru Florea 8.1 230 === Miscellaneous ===
231
Thomas Mortagne 14.1 232 * the default resolver used by the model script service moved from ##currentmixed## to ##current##. In practice it means ##$services.model.resolveDocument('')## will now return a document reference with ##currentwiki:currentspace.currentdocument## instead of ##currentwiki:currentspace.WebHome##. See [[XWIKI-8834>>https://jira.xwiki.org/browse/XWIKI-8834]] for more details.
Thomas Mortagne 10.1 233 * The translations page for each workspace (xwiki:WorkspaceManager.TemplateTranslations) has been moved to the template (and implicitly locally, on each workspace) in XWiki.WorkspaceTranslations. The extension ##org.xwiki.platform:xwiki-platform-workspace-template-features## will need to be installed on existing workspaces. New workspaces will use their local XWiki.WorkspaceTranslations document.
Marius Dumitru Florea 8.1 234 * As stated above, a new table has been added to the schema, ##xwikistringlists##. Make sure the DB user has the required privileges to create it automatically, or create it manually before starting the new version.
235 * Links to attachment by default point to a specific version instead of a versionless "display the latest" link.
Thomas Mortagne 14.1 236 * Several velocity templates have been removed, since they haven't been used in a very long time; this might break custom skins built on top of old skins like Dodo or Albatross. See [[the related issue>>https://jira.xwiki.org/browse/XWIKI-8987]] for more details.
Marius Dumitru Florea 8.1 237 ** One important template that was removed is ##analytics.vm##, the preferred way of enabling Google Analytics is through the dedicated administration section
238
Manuel Smeria 9.2 239 {{display reference="ReleaseNotesXWiki50M2" section="HAPIBreakages"/}}

Get Connected