Changes Report
Macro execution can be marked as isolated for improved rendering performance
![]()
In case of slow rendering times due to thousands of macros on a page, it is now possible to configure macros as being isolated without needing to modify the used macros. This is particularly useful for macros that have been installed as extensions whose authors haven't updated the macros to indicate if the execution is isolated yet.
Added font weight properties to the skin
![]()
When developping a UI element, instead of hard-coding font-weights, prefer using the CSS properties font-weight-regular, font-weight-semibold and font-weight-bold. Learn more about CSS properties in XWiki and those new variables.
Regular case on form labels


To improve legibility on XWiki forms, all form labels use regular case now, instead of uppercase.
document macro filters parameter
![]()
The documents macro now provides a filters optional parameter. It allows for the definition of a default filtering of the Live Data displaying the list of documents.
UserManager#hasUsers
![]()
The UserManager API now offers a way to check if a given wiki contains users: UserManager#hasUsers(WikiReference wiki).
Conversion filter made more generic
![]()
The conversion (servlet) filter allows WYSIWYG editors to submit HTML even if the edited content is supposed to be saved as wiki syntax, by intercepting the request and replacing the HTML with the conversion result. But not all WYSIWYG editors are using HTML internally to edit the content. In order to support such editors we made the conversion filter more generic, allowing it to convert from any input syntax (for which there is a parser) to any output syntax (for which there is a renderer). The WYSIWYG editor needs to submit 4 parameters, like this:
fieldName=value
RequiresConversion=fieldName
fieldName_inputSyntax=foo/1.0
fieldName_outputSyntax=xwiki/2.1Replace "fieldName" with the name of the edited field and replace "foo/2.1" with the syntax expected by the editor as input. See the WYSIWYG Editor module for more information.
New parameter in the Location Picker Macro
![]()
New parameters have been added to the locationPicker velocity macro: filterHiddenDocuments, root and sortDocumentsBy.
These new parameters are just passed to the Document tree macro.
Improved Solr search indexing speed
![]()
The batch size of the Solr search index has been increased to speed up indexing. To further speed up indexing, documents are now submitted in batches to Solr (using the same batch size) and batches are now prepared in parallel to the indexing of the previous batch. This slightly increases the memory usage as two full batches of data to index might be kept in memory. You can control the memory usage by adapting the number of characters after which a batch is committed, the (new) default is 10 million.
Updated the Live Data pagination

Standardized the look of the Live Data pagination to fit better in the standard Flamingo Skin.
Started enforcing required rights in some bundled pages
![]()
After adding the possibility to configure required rights of pages in XWiki 17.4.0, we're now starting to slowly enforce required rights for wiki pages that are part of a standard XWiki installation. In this release, we're starting with the Alerts Application and the Annotation Application.
Skin extensions on this wiki require just wiki admin right
![]()
Skin extensions that are always active on this wiki now require just wiki admin right instead of programming right. This makes the required rights more consistent as UI extensions with the same scope also just require wiki admin right and already allowed activating skin extensions on a whole wiki. Further, this should reduce problems when admins without programming right install extensions, for example, on a subwiki.
New ordering property
![]()
A new bean property has been added allowing to specify the order of a parameter. This is currently used for defined the order to display the macro parameters in the macro configuration UI. The order is defined such as the lower the value the higher the priority, with a default value defined to -1, meaning no order set.
Possibility to define the order of content and parameters in Wiki Macros
![]()
It's now possible to specify the order of the wiki macro parameters: a new property "order" is available in the WikiMacroParameterClass allowing to define the order of each parameter. This order defines how the parameters are sorted in the macro configuration UI. The lower the value for the order, the higher the priority to display them in the configuration UI. Note that it's also possible to define the order of the content, which is displayed in same UI, to order it with the other parameters. The default value is -1 and means no preset order.
Support for the conversion of new collection types
![]()
To make it much easier to use the properties converter API which takes a default value, support for the types of the following very common objects has been added:
- List.of()
- List.of(1)
- List.of(1, 2, 3)
- Arrays.asList()
- Collections.emptyList()
- Collections.unmodifiableList(Collections.emptyList())
- Set.of()
- Set.of(1)
- Set.of(1, 2, 3)
- Collections.emptySet()
- Collections.unmodifiableSet
Faster loading of icons
![]()
We've made rendering icons faster, leading to slightly improved loading times of all pages and significantly improved loading times of UIs that involve lots of icons like the quick action for inserting icons in the editor.
Override Default WYSIWYG Editor from Request
![]()
XWiki already supports configuring the default WYSIWYG editor from the dedicated administration section, but this affects all users. When testing an experimental editor it's better to overwrite the default WYSIWYG editor from request, i.e. for a single editing session. Starting with this version, you can use a request parameter like this to overwrite the WYSIWYG editor:
<simpleTypeName>.<category>.editorFor instance, for a WYSIWYG editor with hint "blocknote", registered for the data type "org.xwiki.rendering.syntax.SyntaxContent" and category "wysiwyg" you can use a URL like this to change the editor:
## Standalone edit mode
/xwiki/bin/edit/Some/Page?editor=wysiwyg&SyntaxContent.wysiwyg.editor=blocknote
## Inplace edit mode
/xwiki/bin/view/Some/Page?SyntaxContent.wysiwyg.editor=blocknote#editVirtualMachineError always logged
![]()
Any log with a VirtualMachineError (for example, OutOfMemoryError or StackOverflowError) are now forced to go through any job log filtering and will always end up in the main log. It's important to be able to catch them there, since they are very often death sentences for the instance.
Faster notification dispatching
![]()
Notifications in large wikis with lots of changes arrive faster.
Annotation bubble can now be displayed on the left of the annotation

When there is not enough space on the right of the annotated place, the annotation bubble appearing when creating an annotation will now be placed on its left instead of overflowing the viewport.
Added a logo-description field to color themes

It contains the alternative text for the logo of the wiki. The localized value associated to the key core.document.header.logo.image.text is used by default. This field contains an hint in the editor. Hints provided as a specific translation value can now be used for all fields in the editor.