Release Notes for XWiki 9.6-rc-1

Last modified by Gabriela Anechitoaei on 2017/07/19

This is the release notes for XWiki Commons, XWiki Rendering and the 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 optional extension dependencies so they can be uninstalled by the Extension Manager.

New and Noteworthy (since XWiki 9.5)

Full list of issues fixed and Dashboard for 9.6.

For Users

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.

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.

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

No changes!

Miscellaneous

  • 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

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.

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.

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 and XWiki Enterprise):

Translations

The following translations have been updated: 

  • French
  • Latvian

Tested Browsers & Databases

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

BrowserTest Result
Chrome30.pngGoogle ChromeNot Tested
Firefox30.pngMozilla Firefox 54Not Tested
IE30.pngInternet Explorer 10Not Tested
IE30.pngInternet Explorer 11Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features

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

DatabaseTest Result
hypersql.pngHyperSQLNot Tested
mysql.pngMySQL 5.7Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
oracle.pngOracleNot Tested
postgresql.pngPostgreSQLNot Tested
Test Closed XWIKI-14510 Failed because of Closed XWIKI-14579.

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:

  • Young API
    • Violation type: java.method.removed
    • 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
    • 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
    • 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
    • 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
    • Old: null
    • New: method int org.xwiki.notifications.NotificationConfiguration::liveNotificationsGraceTime()

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
Thomas Mortagne
Vincent Massol
ricky

Tags:
Created by Vincent Massol on 2017/06/24
   

Get Connected