Release Notes for XWiki 8.0 Milestone 2

Last modified by Thomas Mortagne on 2023/10/13

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

This milestone improves some performance and caching issues of the LESS module and continues improving and fixing usability aspects of Nested Pages.

New and Noteworthy (since XWiki 8.0 Milestone 1)

Full list of issues fixed and Dashboard for 8.0.

LESS Module

  • For performances reasons, we have set a limit for the number of LESS CSS compilations that can be done simultaneously.
  • For the same reason, the LESS cache is not cleared anymore at XWiki launch.

For more informations about this, please see LESS Module.

Miscellaneous

  • The "Create Page" Panel now supports creating Nested Spaces (i.e. you can use references in the Space input field and you now need to escape special characters if you wish to have a space containing '.' or ':' characters for example).
  • The Active Installs Dashboard now displays the Java versions in an aggregated format, displaying only major + minor (e.g. "1.7", "1.8"). This makes it simpler to analyze the versions of Java used for XWiki.
  • When deleting a non-terminal page and the only child of that page is the 'WebPreferences' terminal page, the 'Affect children' checkbox will be checked by default. Normally, it would be unchecked, but in this case we`ve noticed that it`s very easy to forget about that document (since it's hidden and automatically created when going into 'Page Administration') and your deleted page might still show up in some places because of that leftover. You can still uncheck it if you know what you are doing.
  • The Link Label Generator nows supports Nested Pages by default and several new configuration formats have been introduced:
    • %s now uses the full space name (e.g. space1.space2). Note: Prior to 7.4.2/8.0M2 this was only displaying the last space name
    • New %ls option: displays the last space name.
    • New %np option: displays the nested page name (i.e. will display the space name for Nested Pages).
    • New %NP option: displays the nested page name with spaces between camel case words, i.e. "My Page" if the page name is "MyPage".

See the full list of JIRA issues fixed in this release.

For Developers

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • Added new binding in the WatchList email template: subscriberReference. For example, this can be used to create a URL to the subscriber (i.e. user receiving the message) profile, where the notifications can be disabled:
    $xwiki.getURL($subscriberReference, 'view', 'category=notification')
  • It's now possible to directly compare a org.xwiki.extension.version.Version (at least its default implementation) to a String. Makes a lot easier to manipulate versions in Velocity for example. For example, before 8.0M2 you had to write:
    #set ($supportsNS = $services.extension.core.getCoreExtension('org.xwiki.platform:xwiki-platform-model').id.version.compareTo($services.extension.parseVersion('7.2')) >= 0)

    You can now write:

    #set ($supportsNS = $services.extension.core.getCoreExtension('org.xwiki.platform:xwiki-platform-model').id.version.compareTo('7.2') >= 0)

Translations

The following translations have been updated: 

Tested Browsers & Databases

Here is the list of browsers we support and how they have been tested for this release:

BrowserTest Result
Chrome30.pngGoogle Chrome 47Not Tested
Firefox30.pngMozilla Firefox 43Not Tested
IE30.pngInternet Explorer 10Not Tested
IE30.pngInternet Explorer 11Jira Tickets Marked as Fixed in the Release Notes

Here is the list of databases we support and how they have been tested for this release:

DatabaseTest Result
hypersql.pngHyperSQL 2.3.3Not Tested
mysql.pngMySQL 5.7.8Jira Tickets Marked as Fixed in the Release Notes
oracle.pngOracle 11.2Not Tested
postgresql.pngPostgreSQL 9.5Not Tested

Known issues

Backward Compatibility and Migration Notes

General Notes

When upgrading make sure you compare your xwiki.cfg, xwiki.properties and web.xml files with the newest version since some configuration parameters may have been modified or added. Note that you should add xwiki.store.migration=1 so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.

Issues specific to XWiki 8.0 Milestone 2

  • If you wish to use '.' or ':' characters in the "Create Page" Panel you'll now need to escape them. For example: My\.Space\:name
  • If, in your application/custom code, you were using XWiki.EntityReferenceTree in the JavaScript API, you will need to update your code to the new structure of the children property of an XWiki.EntityReferenceTreeNode. Previously, the children property was a map of <nameString, XWiki.EntityReferenceTreeNode>. Now, it was changed to a map of <nameString, <XWiki.EntityType, XWiki.EntityReferenceTreeNode>> because, at each level, you can have both a XWiki.EntityType.DOCUMENT and a XWiki.EntityType.SPACE node with the same name (i.e. siblings) and the old implementation did not consider this case, thus creating a bug. Using the new structure, the bug is fixed, but old code had/has to be updated.

API Breakages

The following APIs were modified since XWiki 7.4.1:

  • Allow associating a version different from the extension version to the features and allow indicating namespace constraint in an extension
    org.xwiki.extension.Extension: Method 'public java.util.Collection getAllowedNamespaces()' has been added to an interface
    org.xwiki.extension.Extension: Method 'public org.xwiki.extension.ExtensionId getExtensionFeature(java.lang.String)' has been added to an interface
    org.xwiki.extension.Extension: Method 'public java.util.Collection getExtensionFeatures()' has been added to an interface
  • Deprecating this class in favor of the standard library class with the same name
    org.xwiki.velocity.introspection.AbstractChainableUberspector: Removed field inner
    org.xwiki.velocity.introspection.DeprecatedCheckUberspector: Removed org.xwiki.velocity.introspection.ChainableUberspector from the set of implemented interface
    org.xwiki.velocity.introspection.DeprecatedCheckUberspector: Removed org.xwiki.velocity.introspection.AbstractChainableUberspector from the list of superclasse
    org.xwiki.velocity.introspection.MethodArgumentsUberspector: Removed org.xwiki.velocity.introspection.ChainableUberspector from the set of implemented interface
    org.xwiki.velocity.introspection.MethodArgumentsUberspector: Removed org.xwiki.velocity.introspection.AbstractChainableUberspector from the list of superclasse

Get Connected