Changes Report
Share typescript configuration
![]()
A shared Typescript configuration is now available in the @xwiki/platform-tool-tsconfig package.
Shared vite configuration
![]()
A shared Vite configuration is now available in the @xwiki/platform-tool-viteconfiguration package.
Mentions Auto-Complete Allows Spaces
When you have many users in your wiki there is a high chance some of them will have the same first name. If you want to mention such a user from the WYSIWYG editor, you probably have to start typing the second name as well. Before this version, the mention auto-complete dropdown was closing as soon as you typed space (to begin the second name). This has been fixed now. See the User Mentions Application for more information.
New object property type attribute in XAR Format
![]()
The XAR Format Specification has been updated to provide the concept of object property type: an attribute specifying the type of an object property if the corresponding class information is missing in the XML document.
Client-side localization improvements
![]()
Client-side localization benefits from a few improvements:
- When using the default resolver, localizations are now cached in the browser, avoiding translation keys to be resolved several times
- A localization helper is available for Vue.js developer
API extractor shared configuration
![]()
The default api-extractor configuration is now distributed in a dedicated package. See how-to use it in your packages.
tsdoc shared configuration
![]()
The default tsdoc configuration is now distributed in a dedicated package. See how-to use it in your packages.
Page Extra Attachment Tab honors versions
![]()
The Attachment tab located in the Page Extra area now honors versions: when viewing a version, it displays the attachments that existed in that version, at that time.
Jakarta Priority support
![]()
XWiki component API now supports jakarta.annotation.Priority. See Component Module for more details.
Improvements to the display of extension support plans
![]()
Extension support plans now display fields horizontally, and provide a link to the supported extension documentation page.
Notification Messages text format
![]()
An XWiki.widgets.Notification.textFormat() method is now available. It indicates how the text parameter is interpreted.
Callers can check for the presence of this method to decide whether to escape their input:
- When this method is available, the text parameter is treated as plain text and must not be escaped.
- When this method is missing (before 18.4.0RC1/17.10.9), the text parameter is interpreted as HTML and may need to be escaped.
The returned value is always the "plain" string.
Confirmation Box text content format
![]()
And XWiki.widgets.ConfirmationBox.textContentFormat() method is now available. It indicates how the text parameter is interpreted.
Callers can check for the presence of this method to decide whether to escape their input:
- When this method is available, the text parameter is treated as plain text and must not be escaped.
- When this method is missing (before 18.4.0RC1/17.10.9), the text parameter is interpreted as HTML and may need to be escaped.
The returned value is always the "plain" string.
PDF Export Optimization
![]()
We discovered that the code responsible for transforming external links to internal ones, when the target page is included in the export, was quite inefficient. We optimized that code, reducing the export time by up to 2 minutes for large exports of 2k print pages. See the PDF Export Application for more information.
Partial Binary Message Handler
![]()
If your WebSocket end-point needs to handle binary messages, you can now use the helper AbstractPartialBinaryMessageHandler:
session.addMessageHandler(new AbstractPartialBinaryMessageHandler(this.configuration.getMaxMessageSize())
{
@Override
public void onMessage(byte[] message)
{
// ...
}
});It collects and aggregates all the binary message parts, optionally allowing you to enforce an upper limit for the message size. See the WebSocket Integration module documentation for more information.
Instance Id REST Endpoint
![]()
A new /instanceId REST endpoint has been added to get the XWiki instance unique id.
New styles for LiveData table headers

LiveData table headers now have a more subtle and elegant style, closer to what LiveTables have.
Improved contrast on tree navigation

When navigating XWiki trees using a keyboard, the focused element will now have a focus ring instead of a slight highlight in background color.
Front-end links suggestions implementation
![]()
An implementation of the client-side links suggestion API is now available for XWiki, it is published in the @xwiki/platform-link-suggest-xwiki package.
Front-end hierarchy packages
![]()
The front-end package for the handling of pages hierarchy has been moved from cristal, as well as the XWiki specific implementation of the API.
Control DB ports in Docker distribution
![]()
It's now possible to control the DB port used by the XWiki Docker image.