Release Notes for XWiki 10.11

Version 13.1 by Vincent Massol on 2018/12/27

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.

This version is mostly a stabilization release for the 10.x end of cycle. We've added a way to rapidly empty the wiki's recycle bin, that contains all the deleted pages. We've also polished the asynchronous execution and caching of panels added in the previous version, that makes the panels render faster. Plus we added many other improvements and bugfixes.

New and Noteworthy (since XWiki 10.10)

Full list of issues fixed and Dashboard for 10.11.

All Changes

For Users

Delete all from the recycle bin

 
It is now possible to permanently delete all pages that have been already deleted, in order to clean the recycle bin. See Index Application Documentation.

For Admins

No changes!

For Developers

Use RequestFactory to create a request from the refactoring script service

 
The refactoring script service has been refactored: you need to access the new RequestFactory in order to create any kind of request.
For example a script using :

#set ($renameRequest = $services.refactoring.createRenameRequest($source, 'NewName')) 

should now use: 

#set ($renameRequest = $services.refactoring.requestFactory.createRenameRequest($source, 'NewName')) 

All the API related to refactoring operations themselves remains at the same place. See the Refactoring Module Documentation for all information.

Upgrades

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

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.

API Breakages

The following APIs were modified since XWiki 10.10:

  • Not a breakage.
    • Violation type:
      java.annotation.attributeValueChanged
    • Code:
      ## Old:
      @interface org.xwiki.stability.Unstable

      ## New:
      @interface org.xwiki.stability.Unstable
  • Not a breakage: class moved to a legacy module
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.velocity.introspection.AbstractChainableUberspector
  • Not a breakage: class moved to a legacy module
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      interface org.xwiki.velocity.introspection.ChainableUberspector
  • Not a breakage: class moved to a legacy module
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.velocity.introspection.ChainingUberspector
  • Not a breakage: class moved to a legacy module
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.velocity.introspection.LinkingUberspector
  • As RssMacro now inherits from AbstractBoxMacro, its parameter class needs to inherits from BoxMacroParameters. This could only break compatibility if a class inheriting from RssMacroParameters defines a method with same name and parameters than in BoxMacroParameters but different return type. We consider this risk as acceptable since the chances are very low and in case it occurs, the fix for the user would be easy.
    • Violation type:
      java.class.nonFinalClassInheritsFromNewClass
    • Code:
      ## Old:
      class org.xwiki.rendering.macro.rss.RssMacroParameters

      ## New:
      class org.xwiki.rendering.macro.rss.RssMacroParameters
  • Bad design at fist attempt
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceManager::deleteFilterPreference(java.lang.String) throws org.xwiki.notifications.NotificationException

      ## New:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceManager::deleteFilterPreference(org.xwiki.model.reference.DocumentReference, java.lang.String) throws org.xwiki.notifications.NotificationException
  • Bad design at fist attempt
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceManager::saveFilterPreferences(java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference>)

      ## New:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceManager::saveFilterPreferences(org.xwiki.model.reference.DocumentReference, java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference>)
  • Bad design at fist attempt
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceManager::setFilterPreferenceEnabled(java.lang.String, boolean) throws org.xwiki.notifications.NotificationException

      ## New:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceManager::setFilterPreferenceEnabled(org.xwiki.model.reference.DocumentReference, java.lang.String, boolean) throws org.xwiki.notifications.NotificationException
  • Bad design at fist attempt
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::deleteFilterPreference(java.lang.String) throws org.xwiki.notifications.NotificationException

      ## New:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::deleteFilterPreference(org.xwiki.model.reference.DocumentReference, java.lang.String) throws org.xwiki.notifications.NotificationException
  • Bad design at fist attempt
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::saveFilterPreferences(java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference>) throws org.xwiki.notifications.NotificationException

      ## New:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::saveFilterPreferences(org.xwiki.model.reference.DocumentReference, java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference>) throws org.xwiki.notifications.NotificationException
  • Bad design at fist attempt
    • Violation type:
      java.method.numberOfParametersChanged
    • Code:
      ## Old:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::setFilterPreferenceEnabled(java.lang.String, boolean) throws org.xwiki.notifications.NotificationException

      ## New:
      method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::setFilterPreferenceEnabled(org.xwiki.model.reference.DocumentReference, java.lang.String, boolean) throws org.xwiki.notifications.NotificationException
  • Handles conflicting macro parameters. This change is backward compatible.
    • Violation type:
      java.annotation.added
    • Code:
      ## Old:
      method org.xwiki.model.EntityType org.xwiki.rendering.macro.include.IncludeMacroParameters::getType()

      ## New:
      method org.xwiki.model.EntityType org.xwiki.rendering.macro.include.IncludeMacroParameters::getType()
  • Handles conflicting macro parameters. This change is backward compatible.
    • Violation type:
      java.annotation.added
    • Code:
      ## Old:
      method void org.xwiki.rendering.macro.include.IncludeMacroParameters::setPage(java.lang.String)

      ## New:
      method void org.xwiki.rendering.macro.include.IncludeMacroParameters::setPage(java.lang.String)
  • Handles conflicting macro parameters. This change is backward compatible.
    • Violation type:
      java.annotation.added
    • Code:
      ## Old:
      method void org.xwiki.rendering.macro.include.IncludeMacroParameters::setReference(java.lang.String)

      ## New:
      method void org.xwiki.rendering.macro.include.IncludeMacroParameters::setReference(java.lang.String)
  • Handles conflicting macro parameters. This change is backward compatible.
    • Violation type:
      java.annotation.added
    • Code:
      ## Old:
      method void org.xwiki.rendering.macro.include.IncludeMacroParameters::setReference(java.lang.String)

      ## New:
      method void org.xwiki.rendering.macro.include.IncludeMacroParameters::setReference(java.lang.String)

Credits

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

Adel Atallah
Alex Cotiugă
Alfons Soriano
Ecaterina Moraru (Valica)
Guillaume Delhumeau
Marius Dumitru Florea
m-lw
Rostyslav Fitsyk
Sergiu Dumitriu
Simon Urli
slauriere
Thomas Mortagne
Vincent Massol
xrichard

Tags:
   

Get Connected