Changes Report
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.
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.
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 xwiki.properties: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.
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.
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.
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.
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 xwiki.properties.
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.
Remove XWikiUser disabled property and introduce email_checked property
![]()
We introduced in 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.
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).
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.
RightUpdatedEvent
![]()
A org.xwiki.security.authorization.event.RightUpdatedEvent event is now sent when a modification may have an impact on the result of a right check (modified XWikiRights object, modified group, etc.).
Document default locale
![]()
Added a script API to set the document default locale
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.
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.
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).
Export Target XWiki Version

The Export administration section has a new option named "Target XWiki version" that is useful if you need to generate a XAR that is compatible with an older version of XWiki. For instance, if you need to import the generated XAR in an XWiki version older than 12.0 then you should set "Target XWiki version" to "Below 12.0".
Rendered Changes Using Image Data
![]()
A change in the source URL, or reference, of an image displayed on a wiki page, where the image itself is not modified, doesn't appear in the rendered diff anymore when comparing the revisions of that page.
Select the Wiki Home Page with the new Page Picker
![]()
The wiki descriptor administration section is now using the new page picker for the home page field.
Velocity Object Tool
![]()
Provides various methods to manipulate objects from Velocity. For example to check for null:
#set ($result = ...)
#if ($objecttool.isNull($result))
...
#else
...
#end