Changes Report
Filter Stream annotations
![]()
Thanks to Java 8 now supporting getting method parameter names through reflection, it's not required anymore to use @Name annotation in the definition of a filter. See Filter Module for more details.
It's also possible to override the name of the event (which is by default extracted from the method name) using the @Name annotation.
Filter manager make sure to calculate the event descriptor based on the top most overridden method (usually coming from an interface). Various things were not always properly inherited (like event name or reflection based parameters names).
![]()
It's now possible to customize a Maven repository in xwiki.properties with any Aether property. See XWiki Commons - Extension - Repository - Maven.
![]()
It's now possible to change the socket and connection timeouts of a XWiki Repository in xwiki.properties. See XWiki Commons - Extension - Repository - XWiki.
![]()
The AutoSave feature is now available in the WYSIWYG edit mode.
![]()
Debian packages now override standard configuration files handling for xwiki.cfg, xwiki.properties and web.xml to provide 3 ways merge with standard dpkg and apt command line tools.
![]()
Two new generic extension points for the Document/Attachment Not Found views:
![]()
Two new specific extension points for providing recommendations in the Document/Attachment Not Found views:
![]()
Injected extension repositories can now be associated with a priority
Improved Not Found Screen

Added partial matches for the Document/Attachment Does Not Exist suggestions, in addition to the existing stemmed and fuzzy matches, for better results.
We were previously searching using indexed Solr data (stemmed) and also using fuzzy searches (string difference of 2; helps with minor typos), but this did not cover partial matches. Example: "Sandb" is matched by the fuzzy search, since it has a difference of 2 characters ("ox"), but "Sand" is not matched by anything (no stemming and too greater string difference - 3).
![]()
XWiki can now be deployed fine in WildFly 10.x.
![]()
The Let's Encrypt root certificate is now automatically registered at runtime.
![]()
The Velocity #try() directive now accepts an optional parameter to specify the name of a Velocity variable into which to save the caught exception. For example:
{{velocity}}
#try("myexception")
$services.query.xwql("zzzzz").execute()
#end
#if ($myexception != '')
... do something...
#end
{{/velocity}}![]()
Added an order field to the "After Header" extension point.
![]()
A new "instance" ScriptService has been introduced with an API to get the XWiki instance id. New methods will be added if needed. See Instance Module extension for more details.
Make most expensive steps more visible

The performance tree give interesting information but it was hard to see quickly which steps where causing performances issues.
Recommended extensions
![]()
"Recommended" concept has been added to Extension and Repository API
Disable core extensions resolution
![]()
It's now possible to disable core extension update at startup. See property extension.core.resolve in xwiki.properties.
New parameters for the Gallery Macro
![]()
The Gallery Macro has 3 new parameters. You can use the width and height parameters to control the amount of space reserved for the gallery. The class parameter can be used to add custom CSS class names in order to customize the appearance of a gallery. Here's an example where we use the Bootstrap Grid system:
{{gallery class="col-xs-12 col-sm-6 col-md-4" width="" height="300px"}}
image:[email protected]
{{/gallery}}Pre-configured mail session
![]()
It's now possible to directly create a pre-configured mail Session. See Mail Sender API.
Support for the locale in the uid serializer
![]()
uid Reference serializers now supports Locales in DocumentReference. It's added at the end of the string representation, in the same way as for other parts of the reference (same as what XWikiDocument#getKey() was doing).