Release Notes for XWiki 8.0 Milestone 1

Version 24.1 by Vincent Massol on 2016/01/25

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.

<insert description of release here>

New and Noteworthy (since XWiki <version - 1>)

Full list of issues fixed and Dashboard for <version>.

<feature N>

<description of feature N>

Miscellaneous

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

For Developers

Extension Manager improvements

Feature version

Each extension feature now have its own version. See Extension Module Virtual Extensions for more details.

Namespace constraint

It's now possible to indicate a constraint on where an extension can be installer (only root namespace, etc.).

In Maven you can do that using xwiki.extension.namespaces custom property. See Maven Connector for more details.

Compare Extensions

org.xwiki.extension.Extension and org.xwiki.extension.ExtensionId now implement Comparable to make easier manipulate them (order lists, find out if we are doing an upgrade or a downgrade, etc.).

Deprecated and Retired projects

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • Replaced a few String based APIs by Locale based equivalent
  • Generated URLs for document-based skin extensions (SSX and JSX) now contain the version of the document, so when a change is made to the extension the browser don't use an outdated version from its cache.
  • Support for chaining uberspectors, first introduced in XWiki as an enhancement of Velocity 1.5, has been part of the official library since Velocity 1.6. As such, we're deprecating our custom classes that provide this functionality. If you have custom uberspectors that implement org.xwiki.velocity.introspection.ChainableUberspector or extend org.xwiki.velocity.introspection.AbstractChainableUberspector, update them to org.apache.velocity.util.introspection.ChainableUberspector and org.apache.velocity.util.introspection.AbstractChainableUberspector. If you have a custom list of uberspectors specified under runtime.introspector.uberspect.chainClasses, just use the runtime.introspector.uberspect property for defining the list.
  • the XWiki Select Widget now offers a javascript API in the form of a jQuery plugin, to get the current value or clear the selection (it was also introduced in XWiki 7.4.1).

Translations

The following translations have been updated: 

Tested Browsers & Databases

Warning

The QA Tests are executed after the release has been done. Thus, they are being prepared now and will be published soon.

Performances tests compared to <last super stable version>

<a summary of the comparison with latest super stable version>

More details on <link to the test report>.

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 1

  • The WebDAV feature is now configured using Servlet 3.0 annotations. Make sure you deploy XWiki in a Servlet Container that is configured to discover Servlet 3.0 annotations (at least for the XWiki xwiki-platform-webdav-server-*.jar JAR). If you're upgrading also make sure you edit your web.xml to remove all the Servlet and Filter definitions for WebDAV (search for dav in web.xml).

Mail API Unique Message Identifier (since 7.4.1)

In order to solve XWIKI-12165, the unique identifier of each mime message sent has been change to a SHA1 based on the Message-ID header and the list of recipients of the mails, ensuring uniqueness during a newsletter or mailing sending. To introduce this change, the MailContentStore and the MailListener API has been broken, and now use a new ExtendedMimeMessage instead of the simple MimeMessage for all arguments. The values messageId returned or used as argument in the API is no more equivalent to the Message-ID header, but is now the unique identifier returned by ExtendedMimeMessage#getUniqueMessageId(). Finally, the MessageMimeMessageFactory now returns cloned MimeMessage without changing the Message-ID.

API Breakages

The following APIs were modified since <project> <version - 1>:

<clirr output here>

Get Connected