Release Notes for XWiki 9.5

Last modified by Vincent Massol on 2017/08/01

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.

Lots of usability improvements: improved Livetable filtering (Date filters, Multilist filters, DBList filters), Page Templates can now be auto-selected based on the current location, simplified way of adding a logo to a Color Theme and a lot more. In addition, the new Notifications feature has been worked on too: grouping of related notifications, ability to send emails, configuration of locations and sending diffs in emails. Last but not least: XWiki Enterprise is dead! We now have a new XWiki distribution that asks you at startup what Flavor you'd like to use for your wiki, and we're providing a default Flavor called the Standard Flavor (the closest to the previous XWiki Enterprise distribution). In the future there should be more Flavors offered.

After this version was released, we noticed a blocker bug: if you use one distribution that doesn't bundle the Standard Flavor, when you execute XWiki the first time, the Distribution Wizard step that lets you choose the Flavor to use comes up empty, instead of proposing the Standard Flavor. We're working on fixing this and we'll release an XWiki 9.5.1 version very quickly. Sorry about that.

New and Noteworthy (since XWiki 9.4)

Full list of issues fixed and Dashboard for 9.5.

For Users

Recommended Templates when creating pages

 
Depending on the location, when creating a page, the page type could "promote" several Templates and the first one might be automatically selected. This promotion occurs for Templates that have a "creation restriction" matching the current location (or a parent of the current location).

Example: When going to the Blog home page or when on any Blog post, if you try to create a page, you will see that the Blog Post Template will be displayed first in the list and it will be pre-selected. The same thing will happen for applications created with App Within Minutes.

More details in the documentation.

Notifications can now be received by emails

 
It is now possible to receive notifications by email. The feature is still quite new and the displayed content will be polished in future versions, but you can already use it.

All you need is to select, on your user settings, the types of notifications you are interested in. The emails are sent periodically and according to you preferences: hourly, daily or weekly.

This feature will progressively replace the Watchlist application that has been available in XWiki for several years now.

Date filter in Livetables

 
You can now filter by date in the livetable.

Notification Filters

 
When configuring Notifications, it is now possible to control the locations you are interested in. This allows to limit the number of Notifications you receive or only receive specific ones. For example you can decide to receive Notifications when Comments are created but only on the Blog page and its children.

Attachment Icons use the Icon Theme

 
The attachment icons displayed on the attachments tab at the bottom of the page is now using the configured Icon Theme.

Image Attachment Preview

 
The attachments tab at the bottom of the page is now displaying a preview for image attachments.

Notifications sent by emails now contains a diff for each event

 
Previously only a link was displayed.

Attachment Selector can set a version summary

 
When using the Attachment Selector macro the user can now specify a version summary that will be recorded in the history. This is disabled by default but you can enabled it by setting the versionSummary parameter to true.

Visual separation for page tabs

 
The page tabs are now visually separated from the page content.

Replace attachment with Attachment Selector

 
When uploading a new file from the Attachment Selector you now have the option to replace the selected attachment.

Miscellaneous

  • Restore document and translations: When deleting the final revision of a document, from the History tab, the original document and all its translations may get deleted. To avoid having to restore them one by one, they are now all grouped in the same batch so they can be restored together.

  • Multilists are filterable: We can now filter multiselect lists.

For Admins

XWiki Enterprise is dead, long live XWiki Standard!

 
The XWiki Enterprise distribution of XWiki has been abandoned and replaced in 9.5 by a new XWiki Standard flavor.

Here are the main changes in 9.5 related to distribution packages and flavors:

  • XWiki Enterprise does not exist anymore
  • A new XWiki Standard flavor has been introduced (actually two: one for the main wiki and one for sub wikis like XWiki Enterprise had)
  • Administrators now install XWiki and get to choose which flavor they want (at the time of 9.5 release only XWiki Standard is available but there will be many more as contributors add new ones on http://extensions.xwiki.org) to install on top of it
  • A XIP package is provided to help with offline install use case
  • Graphical installers have been abandoned, too hard to maintain (and not working very well anyway) and not providing much value for something that was unusable in production

Simplified adding a logo to a Flamingo Theme

 
Adding a logo to a flamingo theme used to require you to first go into view mode on the theme page and attach the new logo image file before you would be able to see it in edit mode, as an option. Now, we have integrated the attachment selector so that you can upload and select a new logo image directly from edit mode, removing the extra steps. More details in the documentation.

Menus use the Icon Theme

 
Before all Icon themes shared the same menu icons (coming from Bootstrap's Glyphicon). Now the Icon themes affect also the icons from the content menu and drawer.

Miscellaneous

  • Disable notifications emails: You can disable the new notifications emails feature with the option notifications.emails.enabled on xwiki.properties.

  • Partial import of Extensions: By default only the extension file is proxied from external source. Since XWiki 9.5RC1 you can bump proxy level up and proxy also previous extension versions and their dependency information. After update of extensions this information will no longer be kept in document objects but, when requested, proxied from external source. This may be enabled by setting Proxy Level attribute of ExtensionProxy XObject to File and Previous Versions. The point of bumping up proxying level is to save space in XWiki database.

  • Support selecting and uploading SVG logos when editing a skin: Added support for uploading and selecting SVG images as logos when editing a skin. Previously, the attachment selector would not accept SVG files.

  • Find where to change the logo: Filtering for "logo" or "skin" in the Administration menu will now list Look & Feel > Themes as the place to customize them.

For Developers

Notifications Email Renderer

 
You can override the way notifications emails are generated for each individual event type. See Notifications API.

New icons

 
We added new mappings for the menu, more-vertical, edit, copy, move, download, log-in, log-out, th icons. They can be used using the Icon Themes service and they have equivalent in both Silk and FontAwesome themes. 

Also with the upgrade to Font Awesome 4.7.0 we improved the mapping for the basket, bell_delete, book_addresses, cake, calendar_add, calendar_delete, cart_add, chart_curve, cursor, emoticon_smile, hourglass, newspaper, note, paintbrush, shape_group, shape_ungroup, sitemap, television, thumb_down, thumb_up, tick, user_add, user_delete, weather_snow icons.

New API for in-page component instantiation

 
The Wiki Component API offers a new interface called WikiObjectComponentBuilder that allows to instantiate new components using defined XObjects. For more informations, see the Wiki Component API documentation

Miscellaneous

  • A property converter was added for org.xwiki.component.namespace.Namespace. This means among other things that it can be used as Macro parameter and it's now supported by automatic method parameters conversion in Velocity.

  • It's now possible to indicate flavors known to be incompatible with a distribution package. See Flavor Module for more details.

  • It is possible to create custom Notification Filters: see the documentation.

  • Beginning and ending of job is not logged anymore if the verbose is false in the job request.

  • It's now possible to "match" an ExtensionId with another ExtensionId having a null version. For example extension group:id will match group:id/version considering the first one as "all the version of the extension with id group:id".

  • A new method refresh() has been added to XWiki.widgets.LiveTable (javascript) to dynamically refresh a livetable.

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):

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 FirefoxNot Tested
IE30.pngInternet Explorer 10Not Tested
IE30.pngInternet Explorer 11Jira Tickets Marked as Fixed in the Release Notes

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

DatabaseTest Result
hypersql.pngHyperSQLNot Tested
mysql.pngMySQLNot Tested
oracle.pngOracleNot Tested
postgresql.pngPostgreSQL 9.6Jira Tickets Marked as Fixed in the Release Notes

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 9.5

None!

API Breakages

The following APIs were modified since XWiki 9.4:

Failed to execute the [groovy] macro. Cause: [startup failed: Script1117.groovy: 9: unable to resolve class XmlSlurper  @ line 9, column 12.      result = new XmlSlurper().parseText(xml)                ^  1 error ]. Click on this message for details.

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
Pierre Bondoerffer
Thomas Mortagne
Vincent Massol
krisss2121

Get Connected