Release Notes for XWiki 6.4-milestone-1

Version 18.2 by Vincent Massol on 2014/11/19

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 6.3)

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

Miscellaneous

<insert misc user stuff and important bug fix descriptions here in a list, when they are too small to warrant a section by themselves - Change the version in the URL below!>

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

For Developers

Velocity changes

Remove a Velocity Engine from the cache

org.xwiki.velocity.VelocityFactory now provide an API to remove a cached Velocity Engine.

Overriding Velocimacros in wiki-based skins

It's now possible to override the macros.vm template in a wiki based skin (object property and attachment). Any modification to this template is also taken into account (the Velocity engine is recreated when the template is modified).

Cleanup unprotected namespaces

VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected.

In practice in means that the following:

engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")

Writer out = new StringWriter();
engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")

System.out.println(out.toString())

will now print

#mymacro()

To get

toto

you need the following

engine.startedUsingMacroNamespace("namespace")

try {
  engine.evaluate(new VelocityContext(), new StringWriter(), "namespace", "#macro(mymacro)toto#end")

  Writer out = new StringWriter();
  engine.evaluate(new VelocityContext(), out, "namespace", "#mymacro()")

  System.out.println(out.toString())
} finally {
  engine.stoppedUsingMacroNamespace("namespace")
}

Skins system improvements

Support for a new skin.properties configuration file has been introduced in filesystem skins.

Right now it supports a parent property to indicate another skin to inherit from. If set to an empty value (parent=) the skin will directly inherit from the WAR; if not set at all it will behave as before which means inherit from whatever is configured in xwiki.cfg's xwiki.defaultbaseskin property.

Miscellaneous

  • Added new APIs to get all the icon themes present on the wiki, and all icons that these icon themes contain.
    $services.icon.getIconSetNames()
    $services.icon.getIconNames()
    $services.icon.getIconNames("Font Awesome")
  • A new parameter has been added to the get action and the plain xpage: htmlHeaderAndFooter, which add the HTML headers (<html>,<head>,<body>, etc...) and footers (</body>, </html>, etc...). It could be useful to create light popups that display only the document content without any UI.
  • XWikiAttachment now provide setAuthorReference and getAuthorReference APIs

Deprecated and Retired projects

<description of deprecated and retired projects>

Upgrades

The following dependencies have been upgraded:

Translations

The following translations have been updated: 

Tested Browsers & Databases

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 6.4-milestone-1

  • VelocityEngine automatically get rid of the passed namespace at the end of execution unless it's protected. See Velocity section.

API Breakages

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

<clirr output here>

Get Connected