Changes Report

Last modified by Vincent Massol on 2017/05/31

Maven "legacy" profile

The Extension Manager now automatically activates the legacy profile when reading a pom.

Display Type property annotation

The PropertyDisplayType annotation has been introduced to allow specifying a display type (that can be different from the actual property type) which can be used when rendering properties (i.e. inputs of the WYSIWYG macros).

New tip about typing the [ character when editing in WYSIWYG to get autocompletion for links.

Deprecated macro parameters are hidden

When inserting a macro from the WYSIWYG editor the deprecated macro parameters are hidden in order to discourage their usage and to simplify the UI. A deprecated macro parameter is shown only if it has a value set (when editing a macro).

Advanced macro parameters shown last

When inserting a macro from the WYSIWYG editor the advanced macro parameters are shown at the end, most of the time hidden under the "More" link in order to simplify the UI. An advanced macro parameter might be shown at the top if it has a value set (when editing a macro).

Job Waiting Information

You might now see a new information box instead of the progress bar if another job is currently performed against the pages you selected. In that case, you have to wait that the other job is finished or cancelled before yours start. The UI would refresh automatically.

Copy / Rename Events

The refactoring module introduces dedicated events for document copy and rename operations. Checkout the documentation for more information.

XClass Rename

The xobjects of an xclass are now updated automatically when the xclass is renamed if:

  • the xclass is not moved to a different wiki
  • the "Update Links" option is checked (which is the case by default)

Renaming xclasses is still considered a dangerous operation though, because xclasses are often used in scripts, which are not updated when an xclass is renamed.

Macro Category Count

When inserting a macro through the WYSIWYG Editor the macro selector now shows the number of macros available in each category.

Allow to perform custom decisions in case of merge conflict

The Diff module now offers new APIs to enhance the 3-way merge operation. The MergeResult is now capable of returning a list of Conflict objects which gives some information about the conflicts that occurred during the merge. Those conflicts can be solved on a case-by-case basis by specifying some ConflictDecision in the MergeConfiguration that is passed to the merge operation.

The main goal here is to allow more fine-grained conflict resolution when performing a merge operation.

Ability to inject content in the HTML header

It is now possible to inject content dynamically in the "head" tag of the HTML pages via a dedicated extension point named org.xwiki.platform.head. It is useful typically for adding metadata to the pages. Checkout the extension point documentation for more information and an example.

Create Template Provider from the Class UI

Until now, the place to create a template provider was Administration->Content->Page Templates and most of the time the need was to work together with a template created for a class. It is possible now to create the template provider from the class UI, just as the sheet and template are created. The only condition is to first create the template, in order to use it (otherwise it doesn't make sense to have a template provider for the class).

Display page reference in the information viewer

You can now retrieve quickly the page reference of any page by going to the Information tab. The reference is by default displayed to the local wiki, but you can switch it to get a global reference for all wiki in a farm. The right button allow you to quickly copy it to the clipboard.


A event is now sent when a modification may have an impact on the result of a right check (modified XWikiRights object, modified group, etc.).

Mail Configuration inherited from main wiki

The Mail Configuration for a subwiki is now inheriting from the configuration from the main wiki. More precisely if the local Mail.MailConfig is empty for the looked up configuration property, it's looked for in the same page in the main wiki, and if not found then it defaults to the value from

An API has been added to get orphaned dependencies

Hints for Meta Properties

The class editor is now displaying hints for meta properties when they are available. You can check for instance the Size, Editor and Content Type meta properties of a Text Area object property.

An API has been added to get backward dependencies including optional dependencies

Possibility to disable the fullscreen behaviour on textarea

Until now a "maximize" link was automatically added to any textarea added to a page when viewing it in an editor. This can be now disabled by using the CSS class not-maximizable on the textarea. 

Improved Database List Field

The Database List field that you can use when creating an application with AppWithinMinutes has been improved. It is now displayed by default using an input suggest picker that adapts to single and multiple selection. You can still change the display type if you want. If you choose the "Select" display type then you can also control its size.

Remove XWikiUser disabled property and introduce email_checked property

We introduced in XWiki 11.6RC1 a new property on XWikiUsers objects called disabled to allow to disable or enable users. This property was however redundant with the previously existing active property, which was until then only used to check if users validated their email account, when the linked registration option was activated. 

In this release, we remove the disabled property and rely entirely on the active property to know if a user account is enabled or not. We introduced a new email_checked property to verify if a user validated his/her email address if the option was activated. 

The user notification filter preferences are now automatically updated when a watched page is moved/renamed.

Computed field values are now available in REST representations

In the REST API, the REST representation of objects containing computed fields now includes the computed values of these fields while previously, they contained an empty value.

"My Groups" user profile section has been renamed to "Groups"

Check the User Profile documentation for more information.

Bypass log grabbing

It's now possible to force a log to end up in the main log even when during a job that is supposed to grab it.

Additional information when a delete operation fails

When an error happens while deleting a page, detailed information are displayed to help understand the problem.

Execution context push/pop

Helpers has been adding in ExecutionContextManager to have a better control on the way to push/pop ExecutionContext instances. See Context Module for more details.

Filesystem store location

It's now possible to set the location of the filesystem store without modifying the general permanent directory using property of the file

Document default locale

Added a script API to set the document default locale

Display nice error message in case of path too long

In a few cases, an error might happen when creating a page, if its full path is too long. The full path is defined by the title of the page and the title of all parent pages. We now provide an UI for this error to explain what happens: the fix is generally to reduce the size of the title of the page, or to put it under another hierarchy. 

Main wiki descriptor used in path based mode

The main wiki descriptor is now also used to find out the the protocol, the domain and the port to use when generating an URL in path based mode in a background thread (typically the mails).

Line numbers in code macro

A new parameter has been introduced to enable line number display in the code macro. See Code Macro for more details.

Allow to create Static List class with value suggestion

It is now possible to create a Static List class that will display a suggest picker for the values that are entered.
Note that the displayer is only available when using the input display type.

Display content in restricted mode

A new URL parameter is available for viewing pages in restricted mode.
You can now use restricted parameter, with the following values:

  • false (default): the macro transformations are normally executed
  • true: macro transformations are executed in degraded mode or not executed at all, depending on the macro implementation.

In particular, various scripting macro such as Velocity Macro or Groovy Macro are not executed in restricted mode.
This parameter might be then use to check if a page is well displayed for user who cannot execute those scripts for example.

The deleter of a document is now allowed to restore it even without admin right (provided the user have enough right to create a document at this location).

Allow to store a StaticList value in a large string

When creating a Static List class, it is now possible to choose to  Allow large string. This can be useful if this list aims at storing large values. 

Check user inactive status by default

If you configured the registration page to enable the Use Email Verification, then new registered users are by default inactive until they fill a form. Starting with this release the active status is checked by default at login. The previous option to enable this in the Administration > Registration page, Authentication Active Check, has been removed.

Allow to disable the edit conflict mechanism

We introduced in XWiki 11.2 a mechanism that allows user to detect edition conflicts on a page and we are continuing to improving it. However this feature is still experimental and might have unwanted consequences on older extensions. So we added the possibility to completely disable the feature if needed, with a new property in
edit.conflictChecking.enabled = true

You can set this property to false and restart the wiki in case of trouble. In that case, please let us know so we can improve our feature.

Tomcat 9 based Debian Package

Tomcat 9 is now the current stable branch of Tomcat so we provide a Debian Package of XWiki based on it.

Display conflict information inside unified diff

The display diff API allows to display information about conflicts.
The APIs to build unified diff takes as input a list of conflict elements that have been computed during a merge: some conflict information are then available in the resulting unified diff blocks, and can be used to present conflicts and possible decisions inside an UI presenting unified diff.


Get Connected