Changes Report
Mandatory documents improvements
![]()
- AbstractMandatoryDocumentInitializer have been made public (and improved a bit). It's very useful to initialize documents/classes required by an extension and there is no reason to forbid contrib extensions to use it.
- An AbstractMandatoryClassInitializer base class have also been added to help class related mandatory initializers to concentrate on how they want the class to look like and not deal with how to migrate it anymore. Just need to implement createClass.
Solr search without programming right
![]()
It's now possible to do Solr request without programming right. In such a case the result will be filtered based on current script author right.
Added support for attachments bigger than 2GB
![]()
Attachment sized used to be limited by the size of a Java integer (2,147,483,647), the size is now a long (9,223,372,036,854,775).
Filter users in notifications




You now have the ability to black list some users in the notifications you receive (by default you follow everyone).
Filesystem attachment improvements
![]()
A few of the long standing issues in the filesystem attachments storage have been fixed:
- Deleted attachments are now available on the "Deleted Attachments" tab of the Page Index
- The attachment porter script is not needed anymore (XWiki supports mixed attachment storage which means database attachment will stay in the database and keep working after changing the default store)
- Various other bugfixes
See your own activity in notifications

It's now possible to see your own activity in the notifications (either in the "alert" menu or in the emails). By default, your activity is hidden, but you have the ability to disable this filter in the "advanced filtering options" section of your notification settings.
Notification email details



It's now possible to configure what kind of information is displayed in the "details" section of the notification emails. Currently, there are 2 levels:
- None, if you don't want to see change details and only get links to changes
- Standard to display the change details as diffs.
Shortcuts are now handled by the Keypress JS library
![]()
We now handle keyboard shortcuts using the Keypress JS library.
The old API for declaring and managing shortcuts has been kept (XWiki.shortcuts). However, some parameters such as propagate or type are now handled differently.
Please refer to the API to learn more.
Set the default level of details for the notification emails

The administrator can decide what is the default value when the users don't touch their settings. The following screen is available in the "Notifications" section in the Administration.
Hints for class properties


It is now possible, for developers, to add an hint in a class property. Then this hint is displayed in the object editor.
Notification emails embed images present on the mail template
![]()
The notification emails are based on a template (XWiki.Notifications.MailTemplate) that you can customize. Now it is possible to attach images to that templates, and they will be embedded in the notifications email.
To display them in the email, you need to use the syntax <img src="cid:myImage.png" />.
New super secret developers shortcuts
![]()
We are now providing the following developer shortcuts:
- The key sequence X, X, X, A toggles the "advanced user mode" for the currently logged in user. Performing this sequence as an advanced user will switch it back to the "simple user mode" (the default).
- The key sequence X, X, X, H toggles the "show hidden pages" option for the currently logged in user. Performing this sequence while already viewing hidden pages will switch back to hiding hidden pages (the default).
Get the complete list of developer shortcuts here.
Improved HTML Export


The HTML export has been improved to better scale with the Nested Pages concept. The exported pages are now located in directories named after the parent pages in which they are located. In addition a basic HTML index page (index.html) is now generated at the root listing and linking to all exported pages.
CKEditor Integration Improvements

CKEditor has been upgraded to the latest version 4.6.2 which brings a couple of improvements and bug fixes. The XWiki integration has been improved by enabling and configuring the Advanced Content Filter for the XWiki 2.1 syntax. This should prevent the editor from generating content that cannot be saved as wiki syntax. The filter disables automatically the editor features that generate such content. Another improvement concerns the Styles drop down from the tool bar. We removed the styles that were not supported by XWiki and we added some new styles that we hope you will like. The support for wiki rendering macros has also been improved. Inserting a block-level macro in-line will split the paragraph, avoiding the "macro cannot be used inline" error. Besides these improvements, there are a couple of integration bugs that have been fixed.
![]()
In the past, when several long running actions were happening on your wiki (page deletions, copies, subwiki creation, etc), an action had to be finished before the next one could be triggered. This is no longer the case and they run in parallel. If there are common pages affected by the various actions then a wait will still occur.
Non interactive mode in distribution job
![]()
The Distribution Job (on which Distribution Wizard is based) now support non interactive mode. For example if you want to fully automate an XWiki install and not get the Distribution Wizard you can use the the new Job REST API to start distribution job in non interactive mode before opening the instance to the public.
Confirmation before clearing notifications

Now a confirmation is asked before clearing all notifications.
Filer Stream improvements
![]()
Instance Filter output stream now support xobjects without class definition so input filters don't have to generate events for it. It automatically fallback on the xclass located in the current wiki.
Jobs improvements
![]()
- The JobStatus now indicates the job type. There is nothing to do for Job extending AbstractJob but other will have to properly support it in the their JobStatus.
- The Job REST API now automatically injects context information (current user, current caller, current wiki, current document, current secure document, the request URL and parameters) in the job thread.
Improvements of the Menu Application on Mobile

The space taken by the horizontal menus created with the Menu Application has been reduced by introducing menu burgers on Mobile display. The burgers are placed on the left side of the page, to avoid confusion between the Drawer menu and the horizontal menus.