Changes Report

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

Mail Sending Status list

The Mail Sending Status list of the Mail Application is now displayed using the Live Data Macro.

InputSource and OutputTarget converter improvements

The InputSource and OutputTarget converters used for example during macros and filters UI are now extensible so any extension can add support for supporting conversion from more Java types and support for more references prefixes. See Filter Module for more details

Improved Notification Widget Style

Notification widget messages are now displayed with a style that is more aligned with XWiki UI guidelines regarding spacing, border and font weight.

Menus list

The list of menus of the Menu Application is now displayed using the Live Data Macro.

Siblings list

The list of siblings of a Page are now displayed using the Live Data Macro.

Children list

The list of children of a Page are now displayed using the Live Data Macro.

User profile Groups list

The list of groups of a user in the user profile is now displayed using the Live Data Macro.

Orphaned Pages list

The list of Orphaned Pages of theĀ Index Application is now displayed using the Live Data Macro.

New API to unregister a custom right

It was already possible to register a custom right, but we were missing the API to unregister it, this is now possible in the AuthorizationManager API.

History delete event

It's now possible to be notified when a range of document history versions is deleted using the event org.xwiki.bridge.event.DocumentVersionRangeDeletedEvent. See Model Bridge API for more details.

Improved display when there is no entry

A message is now displayed when there is not entries to be displayed in a Live Data.

Java API to delete a range of versions

Exposed a Java API to delete a range of versions and used it inside DeleteVersionsAction.

Document restoration events

It's now possible to be notified when a document is restored from the recycle bin using the events org.xwiki.bridge.event.DocumentRestoringEvent and org.xwiki.bridge.event.DocumentRestoredEvent. See Model Bridge API for more details.

Allow to recompute average ratings from script service

A new API methods has been added in Ratings script service to allow computing back the average ratings when needed.

The signature of the method is the following:

    /**
     * Recompute the average rating of a reference.
     * Note that this method can be resource consuming if the set of data is large.
     *
     * @param reference the reference for which to recompute the average ratings.
     * @return the average rating in an optional or an empty optional in case of error.
     * @since 13.7RC1
     * @since 13.4.3
     * @since 12.10.9
     */
    @Unstable
    @Programming
    Optional<AverageRating> recomputeAverageRating(EntityReference reference)

Allow to store Like average xobjects

Like implementation is based on Ratings, and until this version the configuration of Ratings we were using was hardcoded.

We provide in this version 2 new properties that allow to store the average ratings xobjects related to the Like information: those xobjects can notably be used to perform HQL queries with the total number of likes in pages, since this data is stored in them.

Warning

We only provide those properties as an experimental feature: it might be removed later, by providing a cleaner API for this usecase.

The properties are the following:

## Specify if the average rating should be stored or not for likes. Default value is false.
like.averagerating.isStored=true

## Specify where the average ratings should be stored. Default value is xobject. Possible values are currently solr or xobject.
like.averagerating.hint=xobject

NamespaceURLClassLoader#isClosed()

NamespaceURLClassLoader now exposes an API to know if it has been closed.

History delete event

It's now possible to be notified when a range of document history versions is about to be deleted using the event org.xwiki.bridge.event.DocumentVersionRangeDeletingEvent. See Model Bridge API for more details.

Allow Skins to be loaded from the classloader

Skins can now be stored in extensions. If an extension installed on a wiki contains a skins/skinName/ folder, it can be discovered and used as a wiki Skin.

Provide a script service API for serializing a UserReference

It is possible to serialize a user reference with the default serializer using the user script service:

{{velocity}}
#set ($userReference = $api.returning.user)
Retrieved user: $services.user.serialize($userReference)
{{/velocity}}

Byte array to InputSource

The org.xwiki.filter.input.InputSource converter now support byte[] as input.

Get Connected