Changes Report

Last modified by Vincent Massol on 2026/09/10 13:54

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.1

Replace "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>.editor

For 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#edit

VirtualMachineError 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.

Get Connected