Release Notes for XWiki 12.1-rc-1

Last modified by Ilie Andriuta on 2020/06/01

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 brings a simplified WYSIWYG Editor toolbar and a couple of bug fixes. Many of our third party dependencies have been upgraded also. There are less new features and improvements than usual because we focused on 3 important investigations, whose results will be seen in the next versions:

  • ActivityPub Integration: we're implementing an extension to allow XWiki be part of the Fediverse and use ActivityPub. The first use case we want to support is to be able to follow the activity of an user from another XWiki instance.
  • Notifications Re-Architecture: we're looking for ways to improve the performance of the XWiki notifications; we're experimenting for instance with storing pre-filtered user notifications.
  • In-place and real-time editing: we want to improve the editing experience by reducing the number of steps required to make changes and we want to enable true collaboration with real-time editing

New and Noteworthy (since XWiki 12.0)

Full list of issues fixed and Dashboard for XWiki 12.1.

For Users

Simplified WYSIWYG Editor Toolbar

 
The WYSIWYG Editor toolbar has been simplified by grouping and reorganizing the buttons, removing those that were used very rarely. Here's a summary of the changes we did:

  • the Format drop down is now the first item on the left side
  • Strike, Underline, Subscript, Superscript and Remove Format have been grouped in a drop down menu
  • the list buttons have been grouped in a dedicated drop down menu
  • the Unlink button was moved from the main toolbar to the floating toolbar that is shown when you click on a link
  • we enabled the image floating toolbar, visible when an image is selected
  • Horizontal Line, Special Character and Import from Office have been grouped in a new Insert drop down menu
  • we moved the Insert/Edit Macro button to the Insert drop down menu, where we also added shortcuts for common macros
  • we removed the Copy, Cut and Paste buttons from the toolbar. They are available in the context menu
  • we removed the Copy Formatting button, as we don't encourage the usage of in-line styles
  • we removed the Language drop down because it was causing confusion with the wiki page language

As a result the toolbar now takes a single line by default.

For Admins

  • Use LibreOffice with a pool of process: The Office Importer Application configuration has changed to allow using a pool of process in case of internally managed office server.

    The property openoffice.serverPort is deprecated in favor of openoffice.serverPorts which takes a list of ports: each port will be use to start a dedicated office process. This will allow to use the process in parallel and avoid blocking users when several operations involving office are performed at the same time (imports and exports).

  • Notifications Redesign: The start of a Notifications re-architecture has been started in order to improve performances. The current implementation is computing changes for a given user on the fly, when asked. This has the advantage of being very light to save new events but the computation is cost when displaying notifications (even though there's a cache). It doesn't scale well when there are a lot of events and users. Thus we've started a redesign where we compute and store the notifications for each user, when a new event is triggered.

    To enable the new feature, edit your xwiki.properties file and set the notifications.eventPreFilteringEnabled property to true.

    This feature is currently EXPERIMENTAL and should not be tried in production.

    #-# [Since 12.1] [Experimental]
    #-# Enabling this option will make user notifications be filtered and stored when the event is generated
    #-# instead of filtered each time they are displayed.
    #-#
    #-# The default is :
    # notifications.eventPreFilteringEnabled = false

For Developers

No changes!

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:

Tested Browsers & Databases

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

 BrowserTested on:
Chrome30.pngGoogle Chrome 80Not tested
Firefox30.pngMozilla Firefox 73Jira Tickets Marked as Fixed in the Release Notes

Tests run and results
IE30.pngInternet Explorer 11
Edge30.pngMicrosoft Edge 80Not Tested
Safari30.pngSafari 13Not Tested

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

 DatabaseTested on:
hypersql.pngHyperSQL 2.5.0Not Tested
mysql.pngMySQL 5.7Jira Tickets Marked as Fixed in the Release Notes

Tests run and results
postgresql.pngPostgreSQL 12
oracle.pngOracle 19cNot Tested

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

 Servlet ContainerTested on:
tomcat-icon.pngTomcat 9.0.27Not Tested
jetty-icon.pngJetty 9.4.22 (XWiki Standalone packaging)Jira Tickets Marked as Fixed in the Release Notes

Tests run and results
jetty-icon.pngJetty 9.4.22Not Tested

Known issues

Backward Compatibility and Migration Notes

General Notes

  • When upgrading make sure you compare and merge the following XWiki configuration files since some parameters may have been modified, removed or added:
    • xwiki.cfg
    • xwiki.properties
    • web.xml
    • hibernate.cfg.xml
  • Add xwiki.store.migration=1 in xwiki.cfg so that XWiki will attempt to automatically migrate your current database to any new schema. Make sure you backup your Database before doing anything.

Issues specific to XWiki 12.1RC1

CollectionsTool deprecated

The Velocity binding $collectionstool has been deprecated in favor of $collectiontool. Two methods were renamed to not collide with Velocity standard methods:

  • sort(List<E> input) was renamed sortModifiable
  • reverse(List<E> input) was renamed to reverseModifiable

openoffice.serverPort property deprecated

The openoffice.serverPort option located in xwiki.properties is now deprecated in favor of openoffice.serverPorts.
Check the related release change for more information.

API Breakages

The following APIs were modified since XWiki 12.0:

Failed to execute the [groovy] macro. Cause: [startup failed: Script1632.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 and translations to this release (sorted alphabetically):

  • ClĂ©ment Aubin
  • DenisF
  • Guillaume Delhumeau
  • Jonathan Leitschuh
  • Kim,Jonghyun
  • Marius Dumitru Florea
  • Mateusz Idczak
  • Paul Massol
  • Prachi Joshi
  • Sebek Kusek
  • Simon Urli
  • Thomas Mortagne
  • tomaszkowalczyk94
  • Vincent Massol
  • xrichard

Get Connected