Release Notes for XWiki 16.5.0

Last modified by Marius Dumitru Florea on 2024/07/05

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 most noticeable change of this release is a revamp of the notifications watch button. In addition, the notification email contrast has been improved. This release also contains a few bug fixes, as well as improvements for developers, but most importantly it contains security fixes, with the highest severity being 10.0/10.0.

New and Noteworthy (since XWiki 16.4.0)

Full list of issues fixed and Dashboard for 16.5.0.

For Users

Revamping of notification watch buttons


This UI is still experimental and the look & feel and location might still change in the next releases. Don't hesitate to provide feedbacks about it on the forum.

We changed the way one can decide to watch a location in XWiki.

Starting with this release, a button is present in all pages next to the edit button. This buttons shows by default the current state of the page:

  • Followed: if you're following the page to receive notifications about it
  • Blocked: if you're blocking the page to not receive notifications about it
  • Not set: in case you haven't set any preferences for watching or blocking it
  • Custom: this appear if you have some preferences corresponding to that page but that are specific to some specific event types, or some specific formats (e.g. you only want to receive some notifications by email for a specific location).

If you click on the button, you will obtain a modal window explaining the current state (e.g. you might have a page followed because you are actually following a space containing that page), and allowing you to perform actions to change that state.
That modal also contains a link to access directly the notification filters settings: this is useful if you want to properly review your settings or perform custom actions from there. Note that if the current state is custom you can only perform actions from the notification filters settings. 

Notification email contrast

 Colors of the default notification email content have been updated to have improved contrast.

For Admins

No changes!

For Developers

  • WebJar category: A webjar category has been added for the Repository Application.

  • Replacing Macros: It is now easier to write a rendering macro that replaces itself by another macro. This is useful to, e.g., replace an old legacy macro by a new macro. While this was possible before, it required a little undocumented hack. You can find more in the updated documentation that now documents both the possibility in general and also the hack that makes it possible to use this feature already in older versions of XWiki.


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


The following translations have been updated:

Security Issues

Security issues are not listed in issue lists or dashboards to avoid disclosing ways to use them, but they will appear automatically in them once they're disclosed. See the XWiki Security Policy for more details.

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
    • web.xml
    • hibernate.cfg.xml
  • Add 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 XWiki 16.5.0

The NotificationFilterPreferenceProvider component role has been deprecated and existing implementations have been removed: the goal is to simplify usage of this API by accessing directly NotificationFilterPreferenceManager.

API Breakages

The following APIs were modified since XWiki 16.4.0:

Real breakages

Real backward compatibility breakages that we have unwillingly accepted to do for the reasons mentioned in each violation below.

  • Simplify future extensions of this API.
    • Violation type:
    • Code:
      ## Old:
      method void<init>(org.xwiki.model.reference.EntityReference, java.lang.String, org.xwiki.model.reference.EntityReferenceResolver<java.lang.String>, org.xwiki.notifications.filters.internal.scope.ScopeNotificationFilterLocationStateComputer, org.xwiki.notifications.filters.NotificationFilterPreferenceManager)

      ## New:
      method void<init>(org.xwiki.model.reference.EntityReference, org.xwiki.component.manager.ComponentManager) throws org.xwiki.component.manager.ComponentLookupException
  • Simplify future extensions of this API.
    • Violation type:
    • Code:
      ## Old:
      method void<init>(java.lang.String, org.xwiki.notifications.filters.internal.user.EventUserFilterPreferencesGetter, org.xwiki.notifications.filters.NotificationFilterPreferenceManager)

      ## New:
      method void<init>(java.lang.String, org.xwiki.component.manager.ComponentManager) throws org.xwiki.component.manager.ComponentLookupException


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

  • Dorian OUAKLI
  • Gankov Andrey
  • Ilie Andriuta
  • Lucas Charpentier
  • Manuel Leduc
  • Mariana Batista
  • Marius Dumitru Florea
  • Michael Hamann
  • Nikita Petrenko
  • Oana-Lavinia Florean
  • Pierre Jeanjean
  • Raphaël Jakse
  • Simon Urli
  • Simpel
  • Thomas Mortagne
  • Vincent Massol
  • daeseong.choi
  • Ümit Solmaz

Get Connected