Release Notes for $doc.getValue('product') $doc.getValue('version')

Version 1.3 by Manuel Leduc on 2021/08/30
Warning: For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:ReleaseNotes.Data.XWiki.13\.7.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Contents

This is the release notes for XWiki Commons, XWiki Rendering and XWiki Platform. They share the same release notes as they are released together and have the same version.

The main focus of this version was developer tools such as introducing support for exposing WebSocket endpoints as XWiki components, making easier to handle skin extensions in asynchronous HTML content, a more accurate strategy to select between several similar Java methods in Velocity scripts and support for ConfigurableClass in all administration pages. It also comes with various bug fixes and improvements.

New and Noteworthy (since Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:ReleaseNotes.Data.XWiki.13\.7.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.
13.6)

Full list of issues fixed and Dashboard for <full version here even for RC, e.g. 10.5>.

For Users

No changes!

For Admins

  • Smaller serialized job status: Job status are now zipped (new jobs will end up with a file named status.xml.zip instead of status.xml). The content of the actual XML used to serialize the progress was also optimized a little (removed various metadata which did not really needed to be serialized) when possible. This should help reduce quite a lot the disk space used by some jobs statuses.

For Developers

WebSocket Integration

 
Starting with this version you can write WebSocket end-points as XWiki Components using the standard Java API for WebSocket (JSR 356). For deploying the end-points we rely on the servlet container, which means the servlet container needs to support WebSockets (i.e. it needs to provide an implementation of the JSR 356 specs). At the moment, this includes all the servlet containers we support. See the documentation for more information.

Automatic injection of required skin extensions

 
Lazy loading UI elements has become much easier with the automatic injection (on the client side) of the required skin extensions.

Method selection improvement in Velocity

 
When standard Velocity cannot match a method call, XWiki try to find a close approximation that could be called provided the arguments are converted. The only criteria to select a suitable method used to be to count the number of arguments, but the order in which methods with the same number of arguments were tried was pretty much random. This leaded sometime to either hard to call methods or random results. This has been greatly improved to have more advanced ordering (taking into account already compatible arguments, etc.), see Velocity Module for more details.

Allow to display ConfigurableClass in all administration pages

 
The ConfigurableClass has been refactored to use a new scope property for defining where it should be configured. This property can take 4 different values:

  • WIKI (displayed Wiki): the configuration will be displayed in the wiki administration (equivalent to true value in configureGlobally for older versions)
  • SPACE (displayed "Current space"): the configuration will be displayed in administration of pages that belongs to the current space (equivalent to false value in configureGlobally for older versions)
  • ALL_SPACES (displayed "All spaces"): the configuration will be displayed on administration of pages for any space, but not on the wiki administration. 
  • WIKI+ALL_SPACES (displayed "Wiki and all spaces"): the configuration will be displayed in all administration pages, be it the wiki administration or any page administration. 

Note that the old configureGlobally property is still supported in the code handling the ConfigurableClass so no migration is needed for this change.

Miscellaneous

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

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

  • NamespaceURLClassLoader#isClosed(): NamespaceURLClassLoader now exposes an API to know if it has been closed.

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

    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

Moved Modules

<description deprecated, retired and moved projects>

Upgrades

The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):

  • <list libraries that have been upgraded>

Translations

The following translations have been updated: 

Known issues

Backward Compatibility and Migration Notes

General Notes

  • When upgrading make sure you compare and merge the following XWiki configuration files since some parameters may have been modified, removed or added:
    • xwiki.cfg
    • xwiki.properties
    • web.xml
    • hibernate.cfg.xml
  • Add xwiki.store.migration=1 in xwiki.cfg so that XWiki will attempt to automatically migrate your current database to any new schema. Make sure you backup your Database before doing anything.

Issues specific to Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:ReleaseNotes.Data.XWiki.13\.7.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

<issues specific to the project>

API Breakages

The following APIs were modified since Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:ReleaseNotes.Data.XWiki.13\.7.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.
13.6:

Credits

The following people have contributed code and translations to this release (sorted alphabetically):

<code contributors>

Tags:
   

Get Connected