Changes Report
Suggestions for the wiki macro parameter type

It's now easier to decide what value to set in the wiki macro parameter type as suggestions are proposed: "Unknown" (the default), and "Wiki" for a parameter containing wiki markup. It's still possible to explicitly set the Java type to use.
Add concept of image to What's New API
![]()
In preparation for displaying images in the What's New UI for news items, the What's New API has been updated to support getting images for news items.
@Inject
@Named("xwikiblog")
private NewsSourceFactory factory;
@Inject
@Named("xwikiblog")
private NewsConfiguration configuration;
...
List<NewsSourceDescriptor> descriptors = this.configuration.getNewsSourceDescriptors();
NewsSourceDescriptor descriptor = descriptors.get(0);
List<NewsSourceItem> items = this.factory.create(descriptor.getParameters())
.forUser(...)
.forCategories(...)
.build()
String imageURL = items.get(0).getImageURL().get();
...Dynamic registration of rendering listeners
![]()
It is now possible to declare a rendering listener dynamically from an extension.
![]()
Livedata colors now properly use the color theme variables. This fixes the display of livedata on color themes different from Iceberg. This difference is especially important on dark colorthemes.
![]()
Updated the menu structure to make it navigable with a keyboard. Now each menu with subsections contains a proper toggle button.
TOC macro numbered property
![]()
The numbered property of the Table of Content macro is now marked as advanced and is only proposed in the "more" section of the macro configuration dialog. This is because we're now offering a Numbered Content Application covering the numbering use case in a better way.
Anchor in EntityResourceReference
![]()
The anchor metadata has been added to EntityResourceReference, to align it with other entity reference-related APIs. The general goal is to be able to support anchors (a.k.a URL fragments) in references to resources.
Component role type priority
![]()
It's now possible to indicate the priority of a component among its role type siblings when it's retrieved through APIs like ComponentManager#getInstanceList and ComponentManager#getInstanceMap. In a Java component declaration, this is done through the standard javax.annotation.Priority annotation.
Note that component priority can also be used to sort event listeners.
Common User Name Differentiator
![]()
It's now possible to configure an user property to be used as differentiator (hint) when displaying users in compact mode, in order to better identify users that have common or similar names. You can use an existing user property, like address, or a custom user property that you need to add first (e.g. the position inside the organization). This can be done from xwiki.properties file:
#-# [Since 14.10.12]
#-# [Since 15.5RC1]
#-# When displaying an user in a compact mode we usually rely only on the user avatar and their full name. If this is
#-# not enough to properly identify the user then this configuration can be used to display additional information.
#-#
#-# The name of the user property to be used as qualifier (hint) when displaying the user in a compact mode. This
#-# configuration is not set by default, which means no additional information is displayed:
# user.display.qualifierProperty =For instance:
user.display.qualifierProperty = addressAt the moment this configuration is taken into account only by the user picker, and is not set by default, meaning that we don't show any differentiator by default. Check out the User Module documentation for more information.
Mail Deletion

It's now possible to delete a single mail from the Admin UI, by clicking on the "Delete" button next to the mail in the Mail Status screen.
Home page change

The Youtube video located on the XWiki Standard flavor's home page has been removed (for privacy reasons and also for increased usability, as the underlying markup was complex to understand for users).
Provide strategies for grouping notifications
![]()
Notifications used to be automatically grouped using an hardcoded algorithm based on type of events and documents attached to the events. Starting with this release, we provide strategies to allow choosing how to group the events to be displayed in alert and email notifications.
This work is still at early stage since we do not provide yet an UI for users to chose their strategies, neither we provide updated templates that would work properly with all type of strategies. So if developers want to use the new strategy, they'd need to customize the notification templates.
Common User Name Differentiator
The user picker can now be configured to show additional information about the listed users (e.g. the user address or user position within the organisation) in order to help you distinguish between users with similar names. Check out the User Module documentation for more information.
Empty Line Placeholder

A placeholder text is now displayed on currently focused empty lines. By default it indicates the type of content block that holds the caret (e.g. paragraph, heading, list item, etc.), but it could also show tips on how to use the editor in that particular context. This is for instance used to advertise the Quick Actions shortcut (slash). Checkout the CKEditor Integration documentation for more information.
![]()
Improved contrast of the autosave text when disabled.
![]()
Fixed tabulator order for the quick search feature. Now only visible elements will get focus via keyboard.
PDF Export Size Limit
![]()
The default PDF export size limit has been increased from 100KB to 5MB and is now applied only when exporting multiple wiki pages. Checkout the PDF Export Application documentation for more information.
More robust security cache
![]()
The security cache has been made robust against the disposal of structurally important entries by storing them also outside the cache as long as they're still needed by entries in the cache to avoid cascading disposal of large parts of the cache. If you've had problems with users seeing access denied sometimes, this might be the improvement you've been looking forward to. Also, if you've configured a very high size for the security cache to avoid these problems, it should be possible to reduce these limits now. The documentation provides some hints how to choose a reasonable security cache size. However, as with every change to code that is critical to performance and security, there is a risk for regressions even though we have extensive tests. In particular if you're maintaining a larger instance of XWiki, it is advised to monitor memory usage and performance after the upgrade to see if there are any irregularities. Also, please check that access restrictions are still working, in particular, if they involve nested groups. As always, please open a bug report or create a forum post if you're noticing anything unusual.
Improved Security Vulnerabilities scanner


On XWiki 15.5 the Security Vulnerabilities Application was limited to installed extensions. The scan now includes core extensions as well as dependencies provided by the environment (e.g., the servlet engine).
Environment vulnerabilities are listed in a separate tab.
