Changes Report

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

Mail Address Conversion

There's now a Converter to convert from a String to an InternetAddress and vice versa. It's especially important since we've modified the User API's get/setEmail() to use an InternetAddress. This allows using Velocity scripts that call APIs accepting an InternetAddress by passing a string. For example:

$services.user.properties.setEmail("[email protected]")

Mail Address HTML Displayer

An HTML Displayer for email addresses (i.e. objects of type javax.mail.internet.InternetAddress) has been added (it displays the email address obfuscated if obfuscation is on). It's not used anywhere but can be called. Scripting example:

{{velocity}}
#set ($email = $services.user.properties.email)
{{html}}
$services.display.html.display('javax.mail.internet.InternetAddress', $email)
{{/html}}
{{/velocity}}

Configuration permissions

It's now possible to implement permission checking for ConfigurationSource properties, to decide who has the rights to view or modify them. To implement this check for your ConfigurationSource component, you need to implement the ConfigurationSourceAuthorization component role.

Configuration modifications

There's now a setProperties() API to modify ConfigurationSource properties. Scripting example:

{{groovy}}
import org.xwiki.configuration.*

def cs = services.component.getInstance(ConfigurationSource.class, 'mailsend')
cs.setProperties(['host' : 'localhost'])
println cs.getProperty('host')
{{/groovy}}

More locale-oriented APIs

We deprecated Document#getTranslationList() in favor of the new Document#getTranslationLocales() so if you have Velocity scripts using $doc.translationList you'll notice a deprecation warning in the server logs which you can avoid by using $doc.translationLocales instead.

We also added XWiki#getAvailableLocales() so you can now replace

$xwiki.getXWikiPreference('languages').split('\s*[|, ]\s*')

with $xwiki.availableLocales in your Velocity scripts.

New experimental event store

A new Solr based event store has been introduced. It's still disabled by default (will be enabled as soon as the user notification use case is fully refactored to use it) and meant to be used more and more to replace the current Hibernate based event and event status store.

Configuration option to disable in-place editing

A new configuration option is available in xwiki.properties to disable the in-place editing of plain wiki pages.

#-# [Since 12.5]
#-# Indicate if the XWiki documents should be edited in-place, without leaving the view mode, whenever possible (e.g. if
#-# the default edit mode for that document and the preferred editor both support in-place editing). When enabled,
#-# clicking on the document Edit button makes the document title and content editable in-place, without leaving the view
#-# mode. When disabled, clicking on the document Edit button loads the default (stand-alone) edit mode for that
#-# document.
#-#
#-# The default is:
# edit.document.inPlaceEditing.enabled = true

Toggle Rendered Diff Context

You can now use the "Show context" toggle button to show / hide all the unmodified parts of the page rendered content when comparing two versions of a wiki page from its history. Check the user guide for more information.

User Avatar macro with user picker

When inserting the User Avatar macro from the WYSIWYG editor you can now select the target user with a user picker.

JMX Monitor of Apache DBCP and Hibernate

JMX Monitoring of Apache DBCP and Hibernate are now enabled by default.

Comment form not displayed by default

The comment form is now hidden by default. This allows improving the loading performance of XWiki pages and makes the UI less cluttered.

A button allows you to display the comment form when you need to add a new comment.

Add a Solr store for ratings

It is now possible to store Ratings information in a Solr core: this should improve the scalability of the extension. Please note that the migration of data from one store to another is not yet supported.

Non-minified Javascript

Non-minified versions of JavaScript files are now also bundled by default in XWiki. This makes it much simpler to debug JavaScript issues in production. Just look for the non-minified (source) code using the developer tools provided by the browser. Since the minified code indicates the source map and the source map indicates the source file, the browser ends up loading all 3 (when the developer tools are open). If you can't find the source code then you can force the browser to load it by reloading the current page with ?minify=false in the URL.

New Comment button

The comments section at the bottom of pages used to have the comment editor visible. There's now a Comment button to click when wanting to add a comment. This was done for 3 reasons:

  • For consistency with other actions where you have to click a button to do them (annotate, edit, create, etc).
  • It makes the UI a bit less cluttered and avoids focusing the attention on comments which was very visible, especially since we moved to using the WYSIWYG editor by default in comments.
  • It also improves the loading performance of XWiki pages since the editor doesn't need to be loaded when viewing pages

Mentions explained on the tips

The use of the mentions in WYSIWYG editor autocompletion is now explained on the tips.

Simplified Unliking

A modal was previously asking for confirmation for removing a like on a page. This has been removed to make it simpler and more consistent: liking and unliking are now both immediate actions.

Social category in Administration

A new Social category has been added in Administration to gather all configurations related to social features. Those items were previously all in the Other category.

New UIXP for the viewers menu section

A new UI Extension Point has been created to be able to extend the Viewers sub-menu of "other options" menu.

View Likes in viewers menu section

The menu item for viewing Likes information has been moved to Viewers sub-section of the other options menu, for consistency.

View source in viewers menu section

The View source link has been moved to the Viewers menu sub-section of Other actions menu, to be consistent.

Get Connected