Changes Report

Last modified by Vincent Massol on 2026/09/02 19:04

Document Tree Improvements

The tree now displays the rendered translated page title when the showDocumentTitle parameter is set to true, which is the default value. So the document tree is now taking into account the current locale when displaying the page titles. Moreover, the child pages are now sorted by their raw translated title, with a fall-back on the raw default title and then on the page name (if the raw titles are empty). Note that the rendered title may be different than the raw title if the title is dynamic (i.e. has Velocity code) so the child pages may not be sorted correctly if some have dynamic titles. The child pages are sorted by their name when the showDocumentTitle parameter is set to false.

The support for relative references in the root and openTo parameters has been improved. You still need to prefix the entity reference with its entity type though.

{{documentTree root="document:Alice" openTo="document:Bob" /}}

The behavior of the limit parameter has changed a bit: if there is only one child node remaining the "more ..." link is replaced by that child node, instead of displaying "one more".

The child nodes should be loaded much faster now as we refactored and improved the database queries used under the hood.

Extension Repository adds recommendations

The Extension Repository Application now supports the optional feature of being able to mark some Extensions as Recommended. This provides some form of curation and separate "good" Extensions from others. The need arises when there are lots of Extensions. 

The screenshots show:

  • The view when the Recommendation feature is turned on
  • How a Recommended Extension is displayed with a badge showing it's Recommended

Author Executor

It's now easier to execute code with a different author. Author is used to check SCRIPT and PROGRAMMING right. Example:

this.authorExecutor.call(this.renderer::execute, getAuthorReference());

Default values in User Preferences

When you go to your user profile in order to changes your preferences, you now see better what are the default values (both in view and edit modes).

Language Picker

It's now easier to select a language in the administration for your wiki.

Ability to re-order items in the Applications Panel

It's now possible to re-order the items displayed in the Application Panel, in the administration.

XWiki Select Widget can be filtered

When you use an XWiki Select Widget, you can now let the user filter the proposed options dynamically.

Ability to filter the page types

When you create a new page, you have to chose the type in a lot of them. To help you to pick the one you want, you can now filter them thanks to a text input.

Wiki initialization

Like the main wiki, sub wikis now have asynchronous initialization. This reduce a lot the chance that one or several initializing wikis end up eating all the farm input threads.

Embedded core extension descriptors

All the jars packaged in the standard JAR comes with their complete Extension descriptor so XWiki won't try to find them in the repositories to get more information anymore. It will still be the case for any jar which does not provide a complete descriptor or jars that comes from the application server (but only the first time, then it's cached).

Extension sorted by rating

The Repository REST search API now sort extensions by Ratings when the search query is empty. This means that extensions will end up sorted by Ratings (per repository) in Extension Manager when accessing the Add Extension administration section. 

Note that xwiki.org needs to run XWiki 8.4RC1+ to see this feature for the extensions.xwiki.org extension repository (which is the one used by default in XWiki).

Localization Section

It's now easier to pick a time zone or a language in the "Localization" section of the Administration, thanks to a filter box.

The "page type" picker is bigger

In order to better see the available page types (like Encyclopedia, Article, etc...), the "page type" selector has been enlarged.

Update of the UI extension point for the Drawer

The UI extension point DrawerItem has a new parameter called category in order to specify where the drawer item should be located (either in the local or global section).

Create Wiki button in the Wiki Index

A button "Create Wiki" has been added on the top of the Wiki Index, so you can decide to create a wiki after browsing the existing ones. 

This behavior is more consistent with the Blog Application, where you can create a new post in the same page that you could read existing ones. In the future, we will make this behavior generic in XWiki.

Default UI JAR dependencies installed on root namespace

JAR extensions of the default UI are now automatically installed on root namespace. This allows subwikis to be installed/upgraded by users without programming right.

Template Provider Improvements

We have improved the template provider edit form:

  • Both the creation and the visibility restrictions are now using a location picker. When you click on the "+" icon a popup appears with the page tree from where you can select one or multiple locations.
  • The icon field is now using an icon picker.
  • We rearranged the fields in order to better fill the available space. The left column contains visibility / display options, while the right column contains creation options.
  • We added more hints and improved some of the field labels.

See the Template Provider documentation for more information.

Attachments are not loaded in memory anymore when imported

The XAR input filter used to load an entire attachment in memory before sending it to the Instance output. It's now stored in a temporary file before being sent as an InputStream.

Improved avatar image quality

XWiki supports server-side image resizing since version 2.5 but the quality of the scaled images was poor up until now. Starting with this version we're using the Thumbnailator library which leads to better image quality. This is most noticeable in the case of the user avatars.

Option to use custom temporary file name for download

The temp action supports a new parameter (force-filename) to indicate the file to pass to the browser when force-download is enabled. See Standard URL Format for more.

Get Connected