Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
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.
7 <insert description of release here>
9 = New and Noteworthy (since XWiki 5.0 Milestone 1) =
11 [[Full list of issues fixed and Dashboard for 5.0>>]].
13 == New security authorization module replace the old RightService ==
15 With this new module, we bring the following improvements:
17 * More efficient and performant authorization management thanks to a smart access rules and decision cache.
18 * More generic and consistant right policy based on declarative definition of rights.
19 * Extensible solution, allowing registration of new rights.
20 * Customizable thanks to pluggable authentication settlers using configuration.
22 Read the [[full documentation of this module>>extensions:Extension.Security Module]] for complete details.
24 {{warning}}With this new module, the access policies also evolve and this introduce some major changes that you should consider if you are migrating an existing installation. Please read those changes in the migration chapter below.{{/warning}}
26 == Automatic Paste Cleaning in WYSIWYG Editor ==
28 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.
30 You can disable the automatic cleaning from the WYSIWYG Editor administration section if you wish:
32 {{image reference="WYSIWYGEditor-AdminSection-cleanPasteAutomatically.png"/}}
34 == Virtual mode is always enabled ==
36 Virtual mode and ##multiwiki## is now part of XWiki's model and can no longer be disabled. What this means is that the difference between the 2 main products ([[XE>>enterprise:Main.WebHome]] and [[XEM>>manager:Main.WebHome]]) is getting smaller and smaller.
38 In the past, XEM differed from XE by the fact that it allowed the creation of multiple wikis (called subwikis) because it had the property ##xwiki.virtual=1## by default in xwiki.cfg, where as XE had ##xwiki.virtual=0## by default. Coupled with the [[extensions:Extension.Wiki Manager Application]] and the [[extensions:Extension.Workspace Application]] which were bundled by default, this allowed XEM to create and manage subwikis, while XE could not. This was causing confusion to users that had installed one product and later on, found out that they needed the other.
40 To avoid confusion and to simplify our development as well, we have defaulted to a virtual mode enabled by default, allowing you to create and manage subwikis/workspaces no matter what product you have downloaded. For instance, if you have downloaded XE, you now only have to install one or two extensions ([[extensions:Extension.Wiki Manager Application]] and/or [[extensions:Extension.Workspace Application]]) using the extension manager and you are all set. Most likely we will also switch to a single product scheme in the future.
42 == Replace "xwiki.virtual.redirect" with an error template(or page) ==
44 This xwiki.cfg setting allowed the admin to redirect to a specified URL an user that tried to access an nonexistent wiki. However, it was enabled by default and the default value was ## ## which was definitely wrong and was causing more problems than it solved. See {{jira url="" style="enum"}}XWIKI-479{{/jira}} for an example.
46 We have decided to drop this feature and replace it with an error template ##wikidoesnotexist.vm## that can be overridden by a document in the main wiki named ##XWiki.WikiDoesNotExist##, to be consistent with what we are doing for other XWiki entities (documents, attachments, etc).
48 However, to avoid hitting problems with accessing your main wiki, this feature is disabled by default and can be enabled by uncommenting ##xwiki.virtual.failOnWikiDoesNotExist## in ##xwiki.cfg## and setting its value to ##1##. Otherwise, by default, the user will always get server the content of the main wiki if the wiki he requested is not found.
50 For those that want to achieve the same behavior as before (by redirecting to a fixed URL every time), they have to enable ##xwiki.virtual.failOnWikiDoesNotExist## in ##xwiki.cfg## and then redirect to the desired URL either in ##wikidoesnotexist.vm## or in the main wiki's ##XWiki.WikiDoesNotExist##.
52 == Miscellaneous ==
54 <insert misc user stuff and important bug fix descriptions here in a list, when they are too small to warrant a section by themselves - Change the version in the URL below!>
56 - ##autowww## is not enabled by default {{jira url="" 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.
58 See the [[full list of JIRA issues>>]] fixed in this release.
60 = For Developers =
62 == Translate log ==
64 It's possible to provide a translation key with any log to let log displayer use some localization framework to find proper translation for it.
66 See [[extensions:Extension.Logging Module||anchor="HTranslatelog"]] for more details.
68 == JQuery in XWiki using AMD/Require.js ==
70 Now with [[require.js>>]] you can pull in jQuery and use it when you need it without incurring the performance penalty when you don't need it.
71 To use jquery, use the script below:
73 {{code language="html"}}
74 {{html}}
75 <script>
76 require(['jquery'], function($) {
77 $('#document-title>h1').text('JQuery in action');
78 });
79 </script>
80 {{/html}}
81 {{/code}}
83 You can learn more about the power of AMD javascript modules by reading [[require.js documentation>>]].
85 == Back to JUnit ==
87 XWiki Commons used to force using junit-dep instead of junit at build time because of embedded libraries in junit jar. Since it's not the case anymore the enforcer rule and everything about junit-dep has been removed from our pom.xml files.
89 The main change for external projects if that if you depends on junit-dep and don't specify the version your project won't build anymore and you should change for junit
91 == XWikiDocument authors and public access ==
93 The document reference used to indicate that a document has been created/modified by a public access user (or guest user) is now null. It's following what is already the XWikiContext behavior which means that you can now safely compare context user reference and document authors reference since both of these APIs have the same behavior regarding unauthenticated users.
95 == Document rollback events ==
97 We introduced two new document events: ##DocumentRollingBackEvent## and ##DocumentRolledBackEvent##. The first one is triggered before the document is saved (before the ##DocumentUpdatingEvent##) and the second is triggered after the document is saved (after the ##DocumentUpdatedEvent##). Checkout the [[Observation Module documentation>>]] to see how you can listen to these events.
99 == Deprecated and Retired projects ==
101 <description of deprecated and retired projects>
103 == Upgrades ==
105 The following dependencies have been upgraded:
107 * GWT 2.5.1
108 * JUnit 4.11
109 * slf4j 1.7.5
110 * logback 1.0.11
111 * Hamcrest 1.3
112 * Groovy 2.1.2
114 == Miscellaneous ==
116 <other dev stuff to add and link to JIRA for all issues fixed>
118 - Added methods to query existing wikis: api.XWiki.getWikiNames() {{jira url="" style="enum"}}XWIKI-8841{{/jira}} and api.XWiki.hasSubWikis() {{jira url="" style="enum"}}XWIKI-8875{{/jira}}
119 - Virtual mode is now enabled by default so development needs to consider the fact that the main wiki may not be the only wiki available.
120 - 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.
121 - The ##xwikilargestrings## table was used to store both ##LargeStringProperty## and ##StringListProperty## values; now ##StringListProperty##es are stored in a new table, ##xwikistringlists##. Existing data should be automatically migrated from one table to the other.
123 = Translations =
125 The following translations have been updated:
127 {{language codes="none, none"/}}
129 = Tested Browsers & Databases =
131 {{include reference="TestReports.ManualTestReportTemplateSummary"/}}
133 = Known issues =
135 * [[Bugs we know about>>]]
137 = Backward Compatibility and Migration Notes =
139 == General Notes ==
141 You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above.
143 {{warning}}
144 Always make sure you compare your ##xwiki.cfg## and files with the newest version since some configuration parameters were added. Note that you should add so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.
145 {{/warning}}
147 == Issues specific to XWiki 5.0 Milestone 2 ==
149 === XWikiDocument authors and public access ===
151 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
153 === Programming right imply Admin right and not the opposite ===
155 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.
157 {{warning}}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.{{/warning}}
159 === Sub-wikis now inherit rights from their main wiki ===
161 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.
163 === Public access on an empty wiki does not receive admin right anymore ===
165 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.
167 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.
169 Note that public receive view, edit, comment, login, and register access to an empty wiki.
171 === Edit right now imply view right ===
173 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.
175 === Edition of XWikiPreferences and WebPreferences ===
177 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.
179 === The xwiki/1.0 syntax is now hidden by default ===
181 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.
183 === Miscellaneous ===
185 * The translations page for each workspace (xwiki:WorkspaceManager.TemplateTranslations) has been moved to the template (and implicitly locally, on each workspace) in XWiki.WorkspaceTranslations. Existing workspaces will still use any existing xwiki:WorkspaceManager.TemplateTranslations document (registered as translation bundle) that you may still have on the main wiki. New workspaces will use their local XWiki.WorkspaceTranslations document.
186 * 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.
187 * Links to attachment by default point to a specific version instead of a versionless "display the latest" link.
188 * 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>>]] for more details.
189 ** One important template that was removed is ##analytics.vm##, the preferred way of enabling Google Analytics is through the dedicated administration section
191 == API Breakages ==
193 The following APIs were modified since XWiki 4.5.2:
195 {{code language="none"}}
196 <clirr output here>
197 {{/code}}

Get Connected