New and Noteworthy (since XWiki 5.3)

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

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.

Miscellaneous

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 platform.security.authorization.cache. This new setting should be sufficient for most usages while the previous default were only valid for small single wiki.

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.

Miscellaneous

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:

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

Known issues

Backward Compatibility and Migration Notes

General Notes

When upgrading make sure you compare your xwiki.cfg, xwiki.properties and web.xml files with the newest version since some configuration parameters may have been modified or added. Note that you should add xwiki.store.migration=1 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 velocity.properties=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

A few breaking changes has been done to WikiStream API which young and still in progress:

org.xwiki.wikistream.xar.input.XARInputProperties: Method 'public boolean isReferencesOnly()' has been removedorg.xwiki.wikistream.xar.input.XARInputProperties: Method 'public void setReferencesOnly(boolean)' has been removedorg.xwiki.wikistream.model.filter.WikiDocumentFilter: Field PARAMETER_REVISION has been removed, but it was previously a constantorg.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