Release Notes for XWiki 5.4

Version 19.3 by Vincent Massol on 2014/02/05

This is the release notes for XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise. They share the same release notes as they are released together and have the same version.

This is an improvement and stability release for things started during the 5.x cycle.

New and Noteworthy (since XWiki 5.3)

Full list of issues fixed and Dashboard for XWiki 5.4.

Solr Search Improvements

The search facets now support multiple selection. Moreover, selecting a facet value doesn't hide the rest of the values of that facet. You can still see the number of results matching that value. We also decided to display a facet even when it has only one value, so that the user understands that all the results have that value for the specified facet. The facet selection is now preserved when you perform a new search. You can reset the current facets from the header of the facet pane if you want.


Advanced Search Options Removed

We decided to remove the Advanced Search Options (i.e. the search filters) because they weren't visible enough (you had to notice the arrow at the end of the search input) and, most importantly, because most of these options were duplicated by search facets, creating confusion. We integrated into the facet column the filters that were not already present there. The query boost option is no longer available but you can achieve the same thing from the query input and we'll add later a query boost configuration in the search administration section.

Following this change, we aligned the search input to the left. The reason it was centered before is because we didn't want the advanced search pane to hide the start of the first search results.

The Result Type facet has the document type selected by default. This is consistent with the old Result Type filter from the Advanced Search Options which was set to include by default only documents in the search results.

Improved File Type Facet

The File Type facet filters results based on the attachment file type. E.g. "documents that have attached images", "text attachments". File types are grouped by category. You can select both an entire category and a specific file type. Categories can be expanded and collapsed.


Improved File Size Facet

The File Size facet lets you filter the results based on the size (in bytes) of the attachments. You can new choose between 4 ranges:

  • tiny (less than 10KB)
  • small (between 10KB and 500KB)
  • medium (between 500KB and 5MB)
  • large (more than 5MB)


Debug Mode

You can enable search debug mode by adding &debug=true to the search URL query string. See the Solr Search Application for more details.


WikiStream improvements

  • added support for file:<path> syntax in source and target properties wikistream-target.png
  • instance input module is now able to generate generic revision events
  • Confluence input module pass page content as it is when target does not support rendering events (instead of nothing)

Distribution Wizard improvements

We changed the labels of the Skip and Cancel buttons from the Distribution Wizard steps. We hope this will remove some of the confusion around these two buttons. Additionally, we added a confirmation pop-up when the Never button (former Cancel) is clicked to prevent users from discarding the Distribution Wizard by mistake.


No Upgrade Mode anymore

The Upgrade Mode step has been removed. Instead, both upgrade modes are kind of enabled: you can upgrade your wikis when running the Distribution Wizard on the main wiki, from the Wikis step, but you can also run the Distribution Wizard on each of your wikis separately (like on the main wiki). As a consequence, upgrading the wikis in the Wikis step is now optional: you always get the Continue button. So it's up to you if you want to upgrade the default set of wiki pages on your wikis now or later by accessing each wiki.


New report step

A new last step has been introduce to display all the changes made to the wiki and give a chance to do some rollbacks.


Repair Previous UI

When repairing the previous UI, you can now enter a version that is not on the list by clicking on the pencil icon after the version list box. Moreover, the version list box should contain now all the available stable versions of the recommended UI.


On the Wikis step, you can now repair the previous UI on all the available wikis.


Activity Stream improvements

  • The name of the wiki where the event has happened is displayed now, if the event concerns an other wiki than the current one.
  • On the main wiki, Activity Stream now display events from every wikis where the current user has view right.


  • Added support for creating and deleting wikis when using the H2 database.
  • Extension Manager XAR handler now compares attachment content (but does not merge them) and save them in the same version than the document itself
  • Images that are copy-pasted as HTML in the WYSIWYG editor now work fine, thanks to the added support of the Data URI scheme in XWiki Syntax 2.1. The wiki syntax is:
  • The user and group pickers now take into account the User Scope specified when you create a new wiki. If the current wiki supports only global users then the user picker will suggest global users. If the current wiki supports both local and global users then the user picker has a toggle that lets you choose whether to get local or global suggestions. The group picker behaves slightly different because you can have local groups even when only global users are allowed (to be able to setup various rights for the global users). Thus the group picker shows the scope toggle when you are in a subwiki that accepts global users, otherwise it suggests only local groups (from the current wiki, which can be the main wiki).
  • Increased the size of the security cache to improve performances from 500 entries to 10000 entries. This setting could still be overwritten in the infinispan configuration of the cache named This new setting should be sufficient for most usages while the previous default were only valid for small single wiki.
  • Improvement in the wiki descriptor pages. It is now consistent with our vertical forms standard.
    descriptor-improvement1.png descriptor-improvement2.png
  • When the user creates a new wiki, without a template, a message is displayed to explain to him that the Distribution Wizard will be started to initialize the newly created wiki.
  • When the user creates a new wiki from a template, an error is now displayed when an error happens:
  • A few changes that were applied on since a long time were not applied on git repository, this is now fixed.

See the full list of JIRA issues fixed in this release.

For Developers

New APIs to manipulate XAR files

A new "xar" ScriptService has been introduced with APIs to manipulate XAR files. It does not yet contains a lot of methods and new will be added as needed. See XAR Module extension for more details.


  • Properties annotations (@PropertyName, @PropertyDescription, etc.) are now now annotated with @Inherited which make possible to define them in interfaces or abstracts for example
  • It's now possible to use plugins installed as extension (only if installed or either main wiki or farm)
  • It's now possible to specify a custom version for the distribution UI in the WAR pom.xml using xwiki.extension.distribution.ui.version and xwiki.extension.distribution.wikiui.version.
  • New Document.getLocale() API which should be used rather than the older Document.getLanguage() which is now deprecated.
  • It's now possible to organize the slf4j log as a tree, see Logging Module.
  • The XWiki.XWikiAdminGroup and XWiki.XWikiAllGroup pages have been moved from the xwiki-platform-administration-ui module to the xwiki-enterprise-ui-admin-user one.
  • We added a new parameter to the Live Table Velocity macro named 'selectedTags' which controls the list of tags that are selected initially in the tag cloud. You can still select different tags after the live table loads. With this new parameter you can have a permanent link to a live table that has the rows filtered initially by some tags:
    ## /xwiki/bin/view/Demo/WebHome?tag=news&tag=science
    #set ($options = {
      'className': 'Demo.DemoClass',
      'tagCloud': true,
      'selectedTags': $request.getParameterValues('tag'),
  • The module xwiki-platform-wiki-rest replaces the old module xwiki-platform-wiki-manager-rest in order to move xwiki-platform-wiki-manager in contrib, but the API is unchanged.
  • Verbosity of the job is now configurable right from the org.xwiki.job.Request object
  • Log generator now generates BeginEvent/EndEvent variants based on marker informations
  • The following java.lang.Class methods are now allowed in Velocity by default: name, isArray, isAssignableFrom, isEnum, isInstance, isInterface, isLocalClass, isMemberClass, isPrimitive, isSynthetic
  • Default job status does not provide log tree anymore. Was making the API too complex. It can be created from the log queue very easily in Java and a helper method has been added in logging ScriptService to create one: $services.logging.toLogTree($logs)
  • Various APIs have been added to help translate log. See Logging Module for more details
  • It's now possible to add new Images Types when rendering in XHTML
  • Introduced org.xwiki.observation.AbstractEventListener
  • New model API and script service API to create a tree from a list of entity references. See Model Module for more details
  • New option in the XAR plugin's format mojo to add missing license headers
  • If you want to restrict the list of wikis that are searchable by default with Solr from the main wiki then you can define the following Velocity variable in a page that includes Main.SolrSearch:
    #set ($wikisSearchableFromMainWiki = ["xwiki", "platform", "enterprise", ..., "commons", "rendering"])
  • $, $, $ are deprecated now. Please use the corresponding lastError function instead.


The following dependencies have been upgraded:


The following translations have been updated: 

Tested Browsers & Databases

Known issues

Backward Compatibility and Migration Notes

General Notes

General Notes

When upgrading make sure you compare your xwiki.cfg, and web.xml files with the newest version since some configuration parameters may have been modified or added. Note that you should add so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.

New Velocity uberspector

If you modified = runtime.introspector.uberspect.chainClasses = ... property in xwiki.propertes file you should make sure to replace org.apache.velocity.util.introspection.SecureUberspector with org.xwiki.velocity.introspection.SecureUberspector.

API Breakages

The following APIs were modified since 5.3 (young APIs introduced recently not finalized yet):

org.xwiki.wikistream.xar.input.XARInputProperties: Method 'public boolean isReferencesOnly()' has been removed
org.xwiki.wikistream.xar.input.XARInputProperties: Method 'public void setReferencesOnly(boolean)' has been removed
org.xwiki.wikistream.model.filter.WikiDocumentFilter: Field PARAMETER_REVISION has been removed, but it was previously a constant
org.xwiki.wikistream.model.filter.WikiObjectPropertyFilter: Parameter 2 of 'public void onWikiObjectProperty(java.lang.String, java.lang.String, org.xwiki.filter.FilterEventParameters)' has changed its type to java.lang.Object

Get Connected