Release Notes for XWiki 6.1 Milestone 2

Last modified by Thomas Mortagne on 2017/03/24

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 contains a new mail API and module to replace the old mailsender plugin, Flamingo skin and Extension Manager improvements as well as various performances improvements and bug fixes.

New and Noteworthy (since XWiki 6.1 Milestone 1)

Full list of issues fixed and Dashboard for 6.1.

Experimental Flamingo Skin

  • Flamingo skin CSS is now computed at the runtime, using the LESS Module.
  • Thanks to this, we have introduced a compatibility between this skin and the old color themes:
    flamingo-default.png flamingo-dusk.png flamingo-mint.png flamingo-ruby.png flamingo-nocolortheme.png
  • Flamingo has a simplified Add menu
    flamingo-menu.png
  • A lot of fixes and polishing have been made too (changes to the layout, panels, menus).

Applications Panel

The applications panel has been modified to adapt itself to the panel column width. The design is different when the size is small, to look closer to a "dock" bar:
appbar.png (on this screenshot you can see the small version on the left, and the normal version on the right).

Extension Manager improvements

Extension-related jobs (install, uninstall, install plan calculation, etc.) which are not executing on the same namespace can now be run concurrently. You won't be stuck anymore, trying to install an extension when someone else is doing the same thing somewhere else on a farm.

Miscellaneous

  • SpaceIndex Macro has now a new parameter to sort the document by creation date, modification date, or by name.
  • User Profile page display email hyperlink (if the email is not obfuscated) on view and preview mode.
  • The SOLR index synchronization which is automatically run at XWiki startup can now be disabled using solr.synchronizeAtStartup property in xwiki.properties file

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

For Developers

LESS module

  • The LESS Module is now bundled with XWiki Enterprise.
  • Some progress have been made on the DefaultLESSSkinFileCache. The cache is now cleared when a skin or a color theme is changed, but only on the concerned wiki.
  • The LESS Compiler now compress the generated CSS.
  • A new component has been added to compute a Color Theme compatible with Color Theme Application from a LESS file.

New Mail module (Experimental)

Allows to send mails in Java and from wiki pages.

See Mail Sender API for all details.

Example to send an email from a wiki page:

{{velocity}}
#set ($message = $services.mailsender.createMessage("localhost@xwiki.org", "john@doe.com", "subject"))
#set ($discard = $message.addPart("text/plain", "text content"))
#set ($discard = $message.send())
#set ($discard = $message.waitTillSent(10000))
#foreach ($error in $message.getErrors())
* $error.message
#end
{{/velocity}}

Job module improvements

A new org.xwiki.job.JobExecutor component has been introduce to replace org.xwiki.job.JobManager (which is now deprecated). This component adds support for parallel execution of jobs and also support grouping jobs that need to be executed in the same thread.

See Job Module for more details.

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • xwiki.cfg file properties are now accessible through org.xwiki.configuration.ConfigurationSource component with role hint xwikicfg
  • Complete refactoring of the Resource module. Note that the Action module has been removed and folded into the new Resource module.
  • The getInstance methods in the Component Script Service are now public and return null if the Component cannot be looked up. A getLastError() method was also added to get the last exception.
  • New converter for java.lang.refect.Type which allows converting from String to Type and opposite in Velocity and wiki macros parameters for example.
  • The wiki manager API always returns a descriptor for the main wiki, and if there is no descriptor document it returns a "virtual" one that can be saved. Basically it now means that if a wiki exists there is always a corresponding descriptor, even for the main wiki.
  • The "skin" parameter in the URL is now taken into account when generating the links to the skin CSS (see: XWIKI-10426).
  • Filesystem Attachment Storage now allows you to disable cleaning of empty directories on startup since on a large installation this may take considerable time. (see: XWIKI-10431)
  • Start of implementation of the Resource Reference Serializer notion, still need more work.

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:

BrowserStatus
Chrome30.pngGoogle Chrome 35Not Tested
Firefox30.pngMozilla Firefox 29Not Tested
IE30.pngInternet Explorer 8Not Tested
IE30.pngInternet Explorer 9Full tested
IE30.pngInternet Explorer 11 Jira 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:

DatabaseStatus
hypersql.pngHyperSQL 2.3.2 Jira Tickets Marked as Fixed in the Release Notes
mysql.pngMySQL 5.6.17Not Tested
oracle.pngOracle 11.2 
postgresql.pngPostgreSQL 9.3.4 

For the full list of tests see this page.

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 6.0:

  • Young APIs
org.xwiki.activeinstalls.server.DataManager: Method 'public com.google.gson.JsonObject countInstalls(java.lang.String, java.lang.String, java.util.Map)' has been added to an interface
org.xwiki.activeinstalls.server.DataManager: Method 'public long getInstallCount(java.lang.String)' has been removed
org.xwiki.activeinstalls.server.DataManager: Method 'public com.google.gson.JsonObject searchInstalls(java.lang.String, java.lang.String, java.util.Map)' has been added to an interface
org.xwiki.activeinstalls.server.script.ActiveInstallsScriptService: Method 'public long getInstallCount(java.lang.String)' has been removed
org.xwiki.crypto.store.CertificateStore: Class org.xwiki.crypto.store.CertificateStore removed
org.xwiki.crypto.store.CertificateStoreException: Class org.xwiki.crypto.store.CertificateStoreException removed
org.xwiki.crypto.store.KeyStore: Class org.xwiki.crypto.store.KeyStore removed
org.xwiki.crypto.store.KeyStoreException: Class org.xwiki.crypto.store.KeyStoreException removed
  • Not supposed to be public
com.xpn.xwiki.store.XWikiHibernateBaseStore: In method 'protected void createHibernateSequenceIfRequired(java.lang.String, org.hibernate.Session)' the number of arguments has changed
com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Removed org.xwiki.observation.EventListener from the set of implemented interfaces
com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Method 'public java.util.List getEvents()' has been removed
com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Method 'public java.lang.String getName()' has been removed
com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Method 'public void onEvent(org.xwiki.observation.event.Event, java.lang.Object, java.lang.Object)' has been removed

Get Connected