Release Notes for XWiki 5.2 Milestone 1

Last modified by Thomas Mortagne on 2017/03/24

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

The first milestone of the 5.2 release brings a lot of bug fixes and a few improvements, notably the ability to toggle email address obfuscation and a better-looking user profile menu.

New and Noteworthy (since XWiki 5.1)

Full list of issues fixed and Dashboard for 5.2.

Toggle Email Address Obfuscation

The email configuration section in the Administration now has an option to enable/disable the obfuscation of the email addresses that are stored in object properties of type Email. The obfuscation is done by displaying only the first letter of the email account, e.g. [email protected], the rest of the letters being replaced by an ellipsis. Email obfuscation is off by default.

generalEmailSettings.png

Miscellaneous

  • The create new wiki wizard is now using the user and group pickers in the last step ("Initial global members")

    createNewWiki-rights.png

  •  The user profile menu is now consistent with the administration menu.

userProfile.png

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

For Developers

New Filter Module

Commons has a new core module for all streaming systems based on filters like Rendering and the upcoming Wiki Stream. See Filter Module documentation.

JSON parsing in Velocity

$jsontool.parse('["json string"]') can now be used to parse a serialized JSON into json-lib arrays or objects.

Only valid JSON strings can be parsed. JSONP is not supported. If the argument is not valid JSON, then null is returned, parsing exceptions are caught.

Query String escaping

The following method $escapetool.url(Map<String, ?>) has been added to the escapetool module. It allows to create a properly URL-escaped query string from a map of parameters. The key in the map is the parameter name and the value can be an object, an array of objects or a collection of objects. String.valueOf(Object) is used to serialize the objects (values). For example $escapetool.url({'alice': ['A&A', 'M&M'], 'bob': [13, 27]}) would return alice=A%26A&alice=M%26M&bob=13&bob=27. See XCOMMONS-435.

New Eclipse cs extension

XCOMMONS-353 made our checkstyle.xml file unusable as it is in Eclipse cs because of the custom rule that could not be found in the Eclipse classpath.

xwiki-commons-tool-verification-resources module is now also an Eclipse cs extension which mean you can just drop its jar in Eclipse plugins/ folder and you will get the XWiki checkstyle configuration listed in the standard configurations.

New XWikiDocument API to remove an attachment

XWikiDocument#deleteAttachment methods have been deprecated in favor of the combination of XWikiDocument#removeAttachment and XWiki#saveDocument. This make attachment deletion follow the same behavior as xobject and among other things allow doing all sort of modifications to a XWikiDocument without touching the database until we decide to apply them by saving the document.

Deprecated and Retired projects

Upgrades

The following dependencies have been upgraded:

  • Infinispan 5.3
  • Tika 1.4
  • JGroups 3.3.4
  • Maven 3.1.0
  • Aether 0.9.0.M2 (moved from org.sonatype.aether to org.eclipse.aether)
  • CSSParser 0.9.9

Miscellaneous

  • The way to declare the type supported by a org.xwiki.properties.converter.Converter component changed from role hint to generic type. See Properties Module documentation for more details. The old way is still supported for retro-compatibility.

Translations

The following translations have been updated: 

Tested Browsers & Databases

Here's the list of browsers we support and how they've been tested specifically for this release:

BrowserTestedDetails
Chrome30.pngGoogle Chrome 28PartiallyJira Tickets Marked as Fixed in the Release Notes
Firefox30.pngMozilla Firefox 23PartiallyJira Tickets Marked as Fixed in the Release Notes
IE30.pngInternet Explorer 8PartiallyJira Tickets Marked as Fixed in the Release Notes
IE30.pngInternet Explorer 9PartiallyJira Tickets Marked as Fixed in the Release Notes
IE30.pngInternet Explorer 10PartiallyJira Tickets Marked as Fixed in the Release Notes

Here's the list of databases we support and how they've been tested specifically for this release:

DatabaseTestedDetails
hypersql.pngHyperSQL 2.3.0PartiallyJira Tickets Marked as Fixed in the Release Notes
mysql.pngMySQL 5.6.10Not Tested
oracle.pngOracle 11.2Not Tested
postgresql.pngPostgreSQL 9.2.4Not Tested

Known issues

Backward Compatibility and Migration Notes

General 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.

SOLR Search Format Change

If you're upgrading from XWiki 4.5.x to this version you'll need to perform a full re-indexation when using the SOLR Search. This because in XWiki 4.5.x the SOLR search was experimental and we've completely changed the indexing
format in XWiki 5.1.

Email Address Obfuscation

In 4.2 we introduced a new object property type called Email that can be used to store email addresses. In 5.1 we decided to use this new property type in the user profile to store the user email address. With this change we also introuced a defaut custom displayer for the Email property type that obfuscates the email address in view mode. As a consequence the user profile email address became obfuscated by default. Starting with 5.2 we allow you to toggle the email address obfuscation from the administration. What is important to know is that the email address obfuscation is off by default. So if you upgrade from 5.1 and you want to preserve the obfuscation then you need to enable it from the administration.

API Breakages

The following APIs were modified since XWiki 5.1:

  • Moved to xwiki-commons-legacy-properties
org.xwiki.properties.converter.AbstractCollectionConverter: Class org.xwiki.properties.converter.AbstractCollectionConverter removed
  • This method should never have existed
org.xwiki.rendering.listener.reference.ResourceType: Method 'public void setScheme(java.lang.String)' has been removed
  • Moved from xwiki-rendering-api to xwiki-rendering-xml
org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter: Class org.xwiki.rendering.renderer.printer.XHTMLWikiPrinter removed
org.xwiki.rendering.renderer.printer.XMLWikiPrinter: Class org.xwiki.rendering.renderer.printer.XMLWikiPrinter removed
  • This field is not meant to be be modified, the final was just forgotten.
com.xpn.xwiki.XWikiContext: Field TYPE_PROVIDER is now final
  • Has been moved to xwiki-platform-feed-api since it was the only module using it. We also dropped jTidy in favor of HTMLCleaner.
com.xpn.xwiki.util.TidyMessageLogger: Class com.xpn.xwiki.util.TidyMessageLogger removed
  • Google API plugin has been retired
com.xpn.xwiki.plugin.google.GooglePlugin: Class com.xpn.xwiki.plugin.google.GooglePlugin removed
com.xpn.xwiki.plugin.google.GooglePluginApi: Class com.xpn.xwiki.plugin.google.GooglePluginApi removed
  • Return the number of imported documents
com.xpn.xwiki.tool.backup.Importer: Return type of method 'public void importXAR(java.io.File, java.lang.String, com.xpn.xwiki.XWikiContext)' has been changed to int
Tags:
   

Get Connected