Release Notes for XWiki 10.5-rc-1

Last modified by Guillaume Delhumeau on 2018/08/13

This is the release notes for XWiki Commons, XWiki Rendering and XWiki Platform. They share the same release notes as they are released together and have the same version.

This release allows to make the action buttons on an edit page always visible, enable the possibility to send user messages in the notification center and provide improvements to the administration UI of the navigation panel.

After the released we found that the upgrade to HTML Cleaner 2.20 broke some HTML cleaning features. We don't know the exact consequences but it's been fixed in XWiki 10.5 final.

This release contains a bug that can affect the scalability of the service. Until the proper fix, it is highly recommended to make sure that the "autowatch" feature of the notifications is turned off. Note that starting with XWiki 10.7 (10.7RC1 to be precise), "autowatch" is turned off by default.
 
You can do that by adding in the xwiki.properties file the following lines:

# Disable autowatch until the following issue is fixed:
# https://jira.xwiki.org/browse/XWIKI-15445
xwiki.plugin.watchlist.automaticwatch=none

New and Noteworthy (since XWiki 10.4)

Full list of issues fixed and Dashboard for XWiki 10.5RC1 and 10.5.

For Users

Visible Save

 
The save buttons bar is now always visible which makes it simpler to see the buttons, even for long pages (some users used to not find the buttons).

Messages in Notifications

 
When the Message Stream Application is enabled (which is not the case by default), you can now see your messages in the notifications.

With this feature in place, the Notifications application is now able to fully replace the Activity Stream one (which will happen in the following versions of XWiki).

New Tip

 
New tip about x+x+x+a and x+x+x+h key combos.

For Admins

XAR entry types improvements

 
Starting XWiki 10.4 we started to introduce the concept of page "Types".

  • Several ways to protect extension pages are now provided and can be configured in xwiki.properties:

    #-# The possible choices are:
    #-# * none: no protection at all
    #-# * warning (the default): everyone get a warning when trying to edit a protected document
    #-# * deny = EDIT/DELETE right is denied for everyone except for admins who just get a warning
    #-# * forcedDeny = EDIT/DELETE right is denied for everyone, admins can't force edit/delete
    #-# * denySimple = EDIT/DELETE right is denied for simple users except for simple admins who just get a warning
    #-# * forcedDenySimple = EDIT/DELETE right is denied for all simple users, simple admins can't force edit/delete
    # extension.xar.protection=warning
  • Main.WebHome page entry type is now demo since the wiki home page is configurable so there is no reason to prevent its deletion
  • XWiki.XWikiAdminGroup page entry type is now configuration, was forgotten in previous version
  • the type home has been removed since it was designed for wiki home page use case which does not make much sense anymore

Improved Navigation Panel Administration

 
The Navigation Panel administration section has been improved with support for drag & drop. You can now drag pages from the navigation tree to exclude them and back to the tree to include them. See the Navigation Panel documentation for more information.

Miscellaneous

  • Filesystem store by default: Filesystem store is now the default location for attachments and deleted documents. See attachment storage documentation for more details.

For Developers

Date Script Services

 
A new script service called $services.date is now available. It currently implements the "time ago" displays (such as "12 minutes ago") and it support a lot of locales. See: Date Script Service.

Miscellaneous

  • The content of 'doc.location' in Livetables is automatically set to HTML: The content of the 'doc.location' column in livetables is now automatically set to HTML, there is no need to add 'doc.location':{'html':true} to the $columnProperties of the livetable anymore.

Upgrades

The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):

Translations

The following translations have been updated: 

Since the switch to Weblate as our main translation platform, we don't have a tool allowing us to calculate the list of updated languages. We are currently working on a new tool to mitigate this problem

Tested Browsers & Databases

Here is the list of browsers we support and how they have been tested for this release:

BrowserTests performed and results
Chrome30.pngGoogle Chrome 67Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
Firefox30.pngMozilla Firefox 60Not Tested
Edge30.pngMicrosoft Edge 17Smoke tests
IE30.pngInternet Explorer 11Not Tested
Safari30.pngSafari 11.1Not Tested

Here is the list of databases we support and how they have been tested for this release:

DatabaseTests performed and results
hypersql.pngHyperSQL 2.4.1Not Tested
mysql.pngMySQL 5.7Smoke tests
oracle.pngOracle 11.2Not Tested
postgresql.pngPostgreSQL 10Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features

Known issues

Backward Compatibility and Migration Notes

General Notes

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.

Issues specific to XWiki 10.5

Dropped Groovy modules

The bundled groovy-all JAR has been replaced by a discrete list of groovy JARs. We've dropped several JARs that we consider are not required by default in XWiki. We dropped the content of the following JARs: groovy-ant, groovy-bsf, groovy-cli-picocli, groovy-console, groovy-docgenerator, groovy-groovydoc, groovy-groovysh, groovy-swing, groovy-test, groovy-test-junit5, groovy-testng.

Filesystem storage by default for attachments and deleted documents

New attachments and deleted documents will now be stored in the filesystem by default. If you really don't want that you can go to xwiki.cfg and set hibernate value for all the properties in the section Stores with both "hibernate" and "file" support in XWiki Standard..

Note that existing attachments or deleted documents are not moved to filesystem but keep working since XWiki now supports mixed storage for those. So if you don't want to place any attachment on the filesystem store make sure to move the configuration to "hibernate" before executing the Distribution Wizard.

API Breakages

The following APIs were modified since XWiki 10.4:

  • Fixed a typo. Young API.
    • Violation type:
      java.method.exception.checkedAdded
    • Code:
      ## Old:
      method com.xpn.xwiki.doc.XWikiDocument org.xwiki.extension.xar.XWikiDocumentMerger::merge(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, org.xwiki.extension.xar.XWikiDocumentMergerConfiguration) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.doc.XWikiDocument org.xwiki.extension.xar.XWikiDocumentMerger::merge(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, org.xwiki.extension.xar.XWikiDocumentMergerConfiguration) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Young API.
    • Violation type:
      java.method.exception.checkedRemoved
    • Code:
      ## Old:
      method com.xpn.xwiki.doc.XWikiDocument org.xwiki.extension.xar.XWikiDocumentMerger::merge(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, org.xwiki.extension.xar.XWikiDocumentMergerConfiguration) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.doc.XWikiDocument org.xwiki.extension.xar.XWikiDocumentMerger::merge(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.doc.XWikiDocument, org.xwiki.extension.xar.XWikiDocumentMergerConfiguration) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Should not have any impact on scripts
    • Violation type:
      java.method.exception.checkedAdded
    • Code:
      ## Old:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Should not have any impact on scripts
    • Violation type:
      java.method.exception.checkedRemoved
    • Code:
      ## Old:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Should not have any impact on scripts
    • Violation type:
      java.method.exception.checkedAdded
    • Code:
      ## Old:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.ExtensionId) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.ExtensionId) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Should not have any impact on scripts
    • Violation type:
      java.method.exception.checkedRemoved
    • Code:
      ## Old:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.ExtensionId) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.ExtensionId) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Should not have any impact on scripts
    • Violation type:
      java.method.exception.checkedAdded
    • Code:
      ## Old:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.xar.internal.repository.XarInstalledExtension) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.xar.internal.repository.XarInstalledExtension) throws org.xwiki.extension.xar.XarExtensionException
  • Fixed a typo. Should not have any impact on scripts
    • Violation type:
      java.method.exception.checkedRemoved
    • Code:
      ## Old:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.xar.internal.repository.XarInstalledExtension) throws org.xwiki.extension.xar.XarExtensionExtension

      ## New:
      method com.xpn.xwiki.api.Document org.xwiki.extension.xar.script.XarExtensionScriptService::getInstalledExtensionDocument(org.xwiki.model.reference.DocumentReference, org.xwiki.extension.xar.internal.repository.XarInstalledExtension) throws org.xwiki.extension.xar.XarExtensionException

Credits

The following people have contributed code to this release (sorted alphabetically):

Adel Atallah
Alex Cotiugă
Anca Luca
Clément Aubin
Ecaterina Moraru (Valica)
Guillaume Delhumeau
Marius Dumitru Florea
Nam
Pierre Bondoerffer
shivahnshankar
Stéphane Laurière
sytkosa
Thomas Mortagne
Vincent Massol
xrichard

Get Connected