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 release brings a new parameter to the Document Macro, the synchronization of the avatars coming from LDAP and the support of feeds delivered over HTTPS in the RSS Macro.

New and Noteworthy (since XWiki 8.1 Milestone 1)

Full list of issues fixed and Dashboard for 8.1.

Documents Macro Improvement

The Documents Macro now supports a location parameter to display all documents having their full reference matching the location value. 

For example:

{{documents location="Sand"/}}

Gives:

documents-macro-location.png

RSS Macro Improvements

The RSS Macro now supports feeds delivered over HTTPS. Additionally, it now uses its own user-agent string, XWiki/VERSION, where VERSION is the version of XWiki in use.

Synchronization of user avatar from LDAP

Binary photos stored in LDAP can be synchronized now to XWiki user avatar. New options are added to control this feature:

ldap-photo.png

Please note that user avatar will not be updated from LDAP if user set custom avatar with filename other than specified in XWiki preferences.

Miscellaneous

  • The Document Tree Macro has a new parameter to limit the number of child nodes displayed when a parent node is expanded for the first time.
  • The Gadget's title has now a default value which is internationalized.

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

For Developers

Standard java.lang.Package properties

The following properties are now automatically added to all Maven jar modules MANIFEST files:

Specification-Title: ${project.name}
Specification-Version: ${project.version}
Specification-Vendor: ${project.organization.name}
Implementation-Title: ${project.name}
Implementation-Version: ${project.version}
Implementation-Vendor-Id: ${project.groupId}
Implementation-Vendor: ${project.organization.name}
Implementation-URL: ${project.url}

And can be accessed using java.lang.Package from any class. For example:

String myVersion = this.getClass().getPackage().getImplementationVersion();

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • The default LiveTable results page (XWiki.LiveTableResults, the page that generates the JSON displayed by the LiveTable) now supports a location extra parameter.
  • Modified WebJars URL format and added some new Script Service methods:
    public String url(String webjarId, String namespace, String path, Map<String, ?> params)
    public String url(String webjarId, String namespace, String path)

Translations

The following translations have been updated: 

  • French
  • German
  • Russian

Tested Browsers & Databases

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

BrowserTest Result
Chrome30.pngGoogle ChromeNot Tested
Firefox30.pngMozilla FirefoxNot 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.pngHyperSQLNot Tested
mysql.pngMySQLNot Tested
oracle.pngOracleNot Tested
postgresql.pngPostgreSQL 9.5Jira Tickets Marked as Fixed in the Release Notes

All tested Jira issues have passed except Closed XWIKI-13332.

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 XWiki 8.1 Milestone 2

  • The WebJars URL format has been modified to support relative WebJars URL in subwikis. The new format is /webjars/<namespace>/<path/to/resource>?.... Reminder: you should not use this format directly and instead you should use the Script Service to generate a valid WebJars URL; this isolate you from any URL change. Example from Velocity: $services.webjars.url(...).

API Breakages

The following APIs were modified since XWiki 8.0:

  • ? return type makes signature more complex for nothing
    • Violation type: java.method.returnTypeTypeParametersChanged
    • Old: method java.util.List<? extends org.xwiki.extension.ExtensionDependency> org.xwiki.extension.AbstractExtension::getDependencies()
    • New: method java.util.List<org.xwiki.extension.ExtensionDependency> org.xwiki.extension.AbstractExtension::getDependencies()
  • ? return type makes signature more complex for nothing
    • Violation type: java.method.returnTypeTypeParametersChanged
    • Old: method java.util.Collection<? extends org.xwiki.extension.ExtensionDependency> org.xwiki.extension.Extension::getDependencies()
    • New: method java.util.Collection<org.xwiki.extension.ExtensionDependency> org.xwiki.extension.Extension::getDependencies()
  • ? return type makes signature more complex for nothing
    • Violation type: java.method.returnTypeTypeParametersChanged
    • Old: method java.util.Collection<? extends org.xwiki.extension.ExtensionDependency> org.xwiki.extension.wrap.WrappingExtension<E extends org.xwiki.extension.Extension>::getDependencies()
    • New: method java.util.Collection<org.xwiki.extension.ExtensionDependency> org.xwiki.extension.wrap.WrappingExtension<E extends org.xwiki.extension.Extension>::getDependencies()
  • ? return type makes signature more complex for nothing
    • Violation type: java.method.returnTypeTypeParametersChanged
    • Old: method java.util.List<? extends org.xwiki.extension.ExtensionDependency> org.xwiki.extension.AbstractExtension::getDependencies()
    • New: method java.util.List<org.xwiki.extension.ExtensionDependency> org.xwiki.extension.AbstractExtension::getDependencies()
  • ? return type makes signature more complex for nothing
    • Violation type: java.method.returnTypeTypeParametersChanged
    • Old: method java.util.Collection<? extends org.xwiki.extension.ExtensionDependency> org.xwiki.extension.Extension::getDependencies()
    • New: method java.util.Collection<org.xwiki.extension.ExtensionDependency> org.xwiki.extension.Extension::getDependencies()
  • ? return type makes signature more complex for nothing
    • Violation type: java.method.returnTypeTypeParametersChanged
    • Old: method java.util.Collection<? extends org.xwiki.extension.ExtensionDependency> org.xwiki.extension.wrap.WrappingExtension<E extends org.xwiki.extension.Extension>::getDependencies()
    • New: method java.util.Collection<org.xwiki.extension.ExtensionDependency> org.xwiki.extension.wrap.WrappingExtension<E extends org.xwiki.extension.Extension>::getDependencies()
  • CopyStatusPage page object was renamed to CopyOrRenameStatusPage since it is needed in both places.
    • Violation type: java.method.returnTypeChanged
    • Old: method org.xwiki.test.ui.po.CopyStatusPage org.xwiki.test.ui.po.CopyOverwritePromptPage::clickCopyButton()
    • New: method org.xwiki.test.ui.po.CopyOrRenameStatusPage org.xwiki.test.ui.po.CopyOverwritePromptPage::clickCopyButton()
  • CopyStatusPage page object was renamed to CopyOrRenameStatusPage since it is needed in both places.
    • Violation type: java.method.returnTypeChanged
    • Old: method org.xwiki.test.ui.po.CopyStatusPage org.xwiki.test.ui.po.CopyPage::clickCopyButton()
    • New: method org.xwiki.test.ui.po.CopyOrRenameStatusPage org.xwiki.test.ui.po.CopyPage::clickCopyButton()
  • CopyStatusPage page object was renamed to CopyOrRenameStatusPage since it is needed in both places.
    • Violation type: java.class.removed
    • Old: class org.xwiki.test.ui.po.CopyStatusPage
  • Minor change unlikely to break anything in practice
    • Violation type: java.method.returnTypeChanged
    • Old: method void org.xwiki.test.ui.TestUtils::setDefaultCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)
    • New: method org.apache.commons.httpclient.UsernamePasswordCredentials org.xwiki.test.ui.TestUtils::setDefaultCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)
Tags:
Created by Thomas Mortagne on 2016/04/05
   

Get Connected