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 release candidate brings a couple of improvements and bugfixes to Extension Manager and other bundled components.

New and Noteworthy (since XWiki 8.1 Milestone 2)

Full list of issues fixed and Dashboard for 8.1.

Miscellaneous

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

For Developers

Context and cache inconsistency hunting

  • XWikiHibernate* store implementations don't take into account the passed XWikiContext anymore and will even log a warning if the passed XWikiContext is not the same as the one in the ExecutionContext
  • XWikiCacheStore make sure to recalculate the cache based based on whatever the actual store return instead of assuming the passes XWikiDocument is what it will received

Extension Manager improvements

  • introduced new ExtensionNotFoundException exception to get more information about why exactly the resolve failed in extension repository API
  • provide API to search installed extensions in several all namespaces

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • introduced JobFinishingEvent to be called at the end of the job execution before starting to close it
  • introduced new JobStatus#getError() which return the exception that filled the job main execution (if any) (it's also logged in the log as an error like before)

Translations

The following translations have been updated: 

Tested Browsers & Databases

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

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.

API Breakages

The following APIs were modified since XWiki 8.0:

  • ? return type makes signature more complex for nothing
    • Violation type:
      java.method.returnTypeTypeParametersChanged
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## 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
    • Code:
      ## Old:
      class org.xwiki.test.ui.po.CopyStatusPage
  • Minor change unlikely to break anything in practice
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## 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:
   

Get Connected