Wiki source code of Release Notes for XWiki 5.0

Last modified by Thomas Mortagne on 2023/10/13

Show last authors
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
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.
8
9 = New and Noteworthy (since XWiki 4.5.3) =
10
11 [[Full list of issues fixed and Dashboard for 5.0>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=11493]].
12
13 {{display reference="ReleaseNotesXWiki50M1" section="HExtensionManagerimprovements"/}}
14
15 === Extension Updater ===
16
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
21 {{display reference="ReleaseNotesXWiki50M1" section="HDistributionWizardimprovements"/}}
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
38 === Automatic Paste Cleaning ===
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
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.
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
60 {{display reference="ReleaseNotesXWiki50M1" section="HReleaseApplication"/}}
61
62 {{display reference="ReleaseNotesXWiki50M2" section="HNewsecurityauthorizationmodulereplacestheoldRightService"/}}
63
64 {{display reference="ReleaseNotesXWiki50M2" section="HVirtualmodeisalwaysenabled"/}}
65
66 {{display reference="ReleaseNotesXWiki50M2" section="HReplace22xwiki.virtual.redirect22withanerrortemplate28orpage29"/}}
67
68 == Miscellaneous ==
69
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
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.
75 * Increased [[Permgen requirements from recommended 128MB to 196MB>>Documentation.AdminGuide.Installation]]
76 * The Jetty distribution now uses Jetty 8.1.9.v20130131
77
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.
79
80 = For Developers =
81
82 {{display reference="ReleaseNotesXWiki50M1" section="HButtonGroupWidget"/}}
83
84 {{display reference="ReleaseNotesXWiki50M2" section="HJQueryinXWikiusingAMD2FRequire.js"/}}
85
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
96 == Deprecated and Retired projects ==
97
98 No deprecated nor retired projects in this release.
99
100 == Upgrades ==
101
102 The following dependencies have been upgraded:
103
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
119
120 == Miscellaneous ==
121
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}}
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}}
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.
128 * [[A new Unstable annotation>>dev:Community.DevelopmentPractices||anchor="H40UnstableAnnotation"]] has been added to indicate new API that is not stable yet.
129
130 = Translations =
131
132 The following translations have been updated:
133
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"/}}
135
136 = Tested Browsers & Databases =
137
138 {{include reference="TestReports.ManualTestReportXWiki50Summary"/}}
139
140 = Known issues =
141
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).
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
155 == Issues specific to XWiki 5.0 ==
156
157 === Page/Attachment deletion on Oracle and PosgreSQL ===
158
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:
160
161 (((
162 {{code}}
163 create sequence hibernate_sequence
164 {{/code}}
165
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
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.
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
209 === Virtual mode is always on ===
210
211 Since the multiwiki mode (aka virtual mode) is always on now you might have some error like the following one after migrating:
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 ...
217 {{/code}}
218
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:
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
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##.
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.
223
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##.
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
228 For more details on this, check the [[Admin Guide for Multi-wiki>>Documentation.AdminGuide.AccessWiki]].
229
230 === Miscellaneous ===
231
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.
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.
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.
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.
237 ** One important template that was removed is ##analytics.vm##, the preferred way of enabling Google Analytics is through the dedicated administration section
238
239 {{display reference="ReleaseNotesXWiki50M2" section="HAPIBreakages"/}}

Get Connected