Release Notes for XWiki 9.6

Last modified by Thomas Mortagne on 2017/07/24

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

This release brings improvements to Notifications, like live email notifications, the ability to get notifications through RSS feed or to override their default display. It is now possible also to generate table of content for another page, or to define recommended extensions versions and optional extension dependencies so they can be uninstalled by the Extension Manager.

New and Noteworthy (since XWiki 9.5.1)

Full list of issues fixed and Dashboard for 9.6.

For Users

New RSS feed for Notifications

 
It is now possible to get the notifications occurring on a farm through a RSS feed. The user can access their RSS feeds through two links in the notifications center and in the notifications tray.

Generate TOC for another page

 
It's now possible to generate a table of contents for another page with the introduction of the reference parameter.

Live email notifications

 
A user can now receive live notifications when some events are triggered in the wiki.
Depending on the platform configuration, when an event that should trigger a live notification is sent, the platform will wait X minutes before sending the notification email. If during this period, new events of the same kind are sent, they will be grouped in the same email. You can get more informations in the Notifications Application documentation.

Miscellaneous

  • Encoding parameter for RSS Macro: The RSS Macro now supports an optional parameter named encoding that allows forcing an encoding to use when reading the RSS feed. To be used for cases when the guessed encoding is not correct. Example:

    {{rss feed="..." encoding="UTF-8"/}}
  • Menu application visibility change: The Menu application is configured to only allow Administrators to see it (this can be changed through permissions). However all Menu entries created with the application are viewable by everyone by default (provided the visibility scope used when creating the entry allows it; for example selecting a "Current User" visibility makes the created menu only visible for the current user).

For Admins

  • Optional Standard Flavor dependencies: The following dependencies are now optional, which means that they can now be uninstalled easily (before, uninstalling them would uninstall the Flavor too!):

    • xwiki-platform-logging-ui
    • xwiki-platform-user-directory-ui
    • xwiki-platform-scheduler-ui
    • xwiki-platform-help-ui
    • xwiki-platform-flamingo-theme-bootswatch
    • xwiki-platform-search-solr-ui
    • xwiki-platform-search-ui
    • xwiki-platform-office-ui
    • xwiki-platform-invitation-ui
    • xwiki-platform-appwithinminutes-ui
    • xwiki-platform-linkchecker-ui
    • xwiki-platform-sandbox
    • xwiki-platform-sharepage-ui
    • xwiki-platform-distribution-flavor-tour
    • application-templates-ui
    • editor-tool-highlighting-ui
    • xwiki-platform-wiki-ui-mainwiki
    • xwiki-platform-wiki-ui-wiki
    • xwiki-platform-menu-ui
    • application-help-center
  • Grace time for Live notifications: The grace time of the live email notifications sent by the platform to the users can be configured in xwiki.properties. You can get more informations in the Notifications Application documentation.

For Developers

Optional extension dependencies

 
It's now possible for Extension authors to define which of the dependencies are mandatory and which are optional. The Extension Manager will install all of them by default but optional dependencies won't have any impact on the validity of the extension:

  • if the optional dependency install plan fail, the extension is installed without it
  • if the optional dependency is uninstalled, it won't uninstall the extension
  • if the optional dependency is missing at startup, it won't make the extension invalid

Recommended versions

 
It's now possible in the build or in the xwiki.properties file to indicate a set of extension for which you want to use a specific version when they are installed as dependencies. By default all commons/rendering/platform extension have a recommended version synchronized with the version of the distribution or XWiki you installed.

Notification templates override through XObjects

 
A wiki administrator can now create custom NotificationDisplayerClass XObjects in order to override default templates used in the notifications tray. For more informations, please refer to the Notifications API documentation.

New XObject type for in-page event definition

 
Custom events can now be defined directly in wiki pages through XObjects ; more information about this feature can be found in the Event Stream Module documentation.

The Event Stream can now send events

 
The Event Stream now sends EventStreamAddedEvent and EventStreamDeletedEvent events when an event is added or removed from the Event Stream. You can find more informations in the Event Stream documentation.

Miscellaneous

  • New typed extensions of Namespace: Each supported type of namespace now have a corresponding typed extension of org.xwiki.component.namespace.Namespace. See Component Module.

Moved Modules

Upgrades

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

Translations

The following translations have been updated: 

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.

API Breakages

The following APIs were modified since XWiki 9.5.1:

  • Young API
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method java.util.List<org.xwiki.eventstream.RecordableEventDescriptor> org.xwiki.eventstream.RecordableEventDescriptorManager::getAllRecordableEventDescriptors() throws org.xwiki.eventstream.EventStreamException
  • Young API
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method java.util.List<org.xwiki.eventstream.RecordableEventDescriptor> org.xwiki.eventstream.RecordableEventDescriptorManager::getAllRecordableEventDescriptorsAllWikis() throws org.xwiki.eventstream.EventStreamException
  • Young API
    • Violation type:
      java.method.addedToInterface
    • Code:
      ## Old:
      null

      ## New:
      method java.util.List<org.xwiki.eventstream.RecordableEventDescriptor> org.xwiki.eventstream.RecordableEventDescriptorManager::getRecordableEventDescriptors(boolean) throws org.xwiki.eventstream.EventStreamException
  • Young API
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method java.util.List<org.xwiki.eventstream.RecordableEventDescriptor> org.xwiki.eventstream.script.EventStreamScriptService::getAllRecordableEventDescriptors() throws org.xwiki.eventstream.EventStreamException
  • Young API
    • Violation type:
      java.method.addedToInterface
    • Code:
      ## Old:
      null

      ## New:
      method int org.xwiki.notifications.NotificationConfiguration::liveNotificationsGraceTime()
  • Young API
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method java.util.Map<java.lang.String, java.lang.Object> org.xwiki.notifications.NotificationFilter::queryFilterParams(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat)

      ## New:
      method java.util.Map<java.lang.String, java.lang.Object> org.xwiki.notifications.NotificationFilter::queryFilterParams(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat, java.util.List<java.lang.String>)

Credits

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

  • ClĂ©ment Aubin
  • Ecaterina Moraru (Valica)
  • Eduard Moraru
  • Guillaume Delhumeau
  • Marius Dumitru Florea
  • ricky
  • Thomas Mortagne
  • Vincent Massol
Tags:
   

Get Connected