Release Notes for XWiki 6.3-rc-1

Last modified by Thomas Mortagne on 2023/10/13

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 comes with 16 new Flamingo themes adapted from Bootswatch and a new application to manage them. The document index tree and the Navigation panel have been greatly improved by using a new tree widget which is exposed as a wiki macro. The developers will be interested by the new WebJar integration features. This, along with 17 improvements and 33 bug fixes, makes the release worth trying.

We've had some issues during the release of XWiki 6.3RC1 which led to a bug in the Jetty/HSQLDB distribution. If you create new wikis with this distribution the Distribution Wizard may not appear. This is fixed in XWiki 6.3. If you use the WAR distribution you shouldn't have any problem.

New and Noteworthy (since XWiki 6.3-milestone-2)

Full list of issues fixed and Dashboard for 6.3.

Flamingo Themes Application

Now, when you click on "Manage color theme" in the Administration, you reach the new application to manage the Flamingo Themes:

FlamingoThemeWebHome.png

You can use it to change the current theme, modify any theme or create new ones.

We have also added 3 new themes: Marina, Garden and Kitty.

Bootswatch Themes for Flamingo

XWiki comes with 16 new themes for Flamingo, that have been adapted from Bootswatch.

Document Tree Macro

We introduce a new wiki macro to display the hierarchy of documents:

{{documentTree /}}

docHierarchyTree.png

Document Index Tree

The new Document Tree Macro is now used in the Wiki document index.

index-alldocs-tree.png

Navigation Panel

We also changed the Navigation Panel to use the new Document Tree Macro

Very importantly the old Navigation Panel was a performance hog on large wikis and it's not longer the case (since nodes are now opened dynamically and not all documents are loaded in memory)!

navigationPanel.png

Miscellaneous

  • Updated XAR export URL format to allow exporting a full space, a full wiki, or any list of pages matching a pattern. For example:
    http://localhost:8080/xwiki/bin/export/Main/WebHome?format=xar&name=test&pages=Main.%25
    http://localhost:8080/xwiki/bin/export/Main/WebHome?format=xar&name=test&pages=%25.%25
    http://localhost:8080/xwiki/bin/export/Main/WebHome?format=xar&name=test&pages=%25.%25Home
  • Added an edit button to easily change the default Welcome message that is displayed on the homepage. Users have reportedly been struggling with this task for a while now and, until we come up with a new format for the homepage, this is the solution we have proposed to make things easier.

    editWelcomeMessage.png

  • The configuration of the Applications Panel now works with touch-screen devices too.
  • The Standalone Distribution now has a new startup parameter to enable monitoring/managing the Jetty instance. You can use it with start_xwiki.sh -j (or start_xwiki.sh --jmx).
  • Updated the notification message when the panel layout is saved to use the standard notification widget.

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

For Developers

Tree Widget

We introduce a new JavaScript widget that can be used to create tree views for the structured data stored in the wiki. It is based on jsTree and thus has support for both static and dynamic (interactive) trees.

Tree Macro

We introduce a new wiki macro that allows you to easily define a tree in a wiki page. It uses the tree widget.

{{tree}}
* Parent
** Child
{{/tree}}

{{tree reference="Space.MyDynamicTree" /}}

Improved WebJars Integration

We added 2 new features to improve the WebJars Integration:

  • You can now omit the WebJar version:
    $services.webjars.url('angularjs', 'angular.js')
  • You can use Velocity code in WebJar resources. This means you can use for instance Color Theme variables inside your CSS files that are packaged inside a WebJar:
    $services.webjars.url('org.xwiki.contrib:my-webjar', 'style.css', {'evaluate': true})

See the WebJar Integration documentation for more information.

Miscellaneous

  • Suggest widget now has an extra propagateEventKeyCodes option where key codes can be listed so their events will be propagated. See the documentation.
  • Extended modalPopup.js to support specifying keyboard shortcut options for the defined actions. See the documentation.
  • You can now render an icon from any icon theme present on the wiki, referenced by its name:
    $services.icon.render('globe', 'Silk')
    $services.icon.render('globe', 'Font Awesome')

Upgrades

The following dependencies have been upgraded:

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:

BrowserTest Result
Chrome30.pngGoogle Chrome 38Jira Tickets
Firefox30.pngMozilla Firefox 33Not Tested
IE30.pngInternet Explorer 8Not Tested
IE30.pngInternet Explorer 9Not Tested

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

DatabaseTest Result
hypersql.pngHyperSQL 2.3.2Not Tested
mysql.pngMySQL 5.6.17Not Tested
oracle.pngOracle 11.2Jira Tickets
postgresql.pngPostgreSQL 9.3.4Not Tested

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.

Issues specific to XWiki 6.3-rc-1

  • Wiki page does not have access anymore to Velocity macro defined in the skin template (except for macro.vm template).

API Breakages

The following APIs were modified since XWiki 6.2.3:

  • Add issue management and SCM information to extension descriptors. Should be safe enough since most repository handlers extend AbstractExtension instead of directly implementing Extension.
org.xwiki.extension.Extension: Method 'public org.xwiki.extension.ExtensionIssueManagement getIssueManagement()' has been added to an interface
org.xwiki.extension.Extension: Method 'public org.xwiki.extension.ExtensionScm getScm()' has been added to an interface
  • serializeReference method has never been public. AspectJ hacks...
com.xpn.xwiki.doc.XWikiDocument: Method 'public java.lang.String ajc$privMethod$com_xpn_xwiki_doc_XWikiDocumentCompatibilityAspect$com_xpn_xwiki_doc_XWikiDocument$serializeReference(org.xwiki.model.reference.DocumentReference, org.xwiki.model.reference.EntityReferenceSerializer, org.xwiki.model.reference.DocumentReference)' has been removed
  • Never really been supposed to be exposed as an API
com.xpn.xwiki.objects.BaseElement: Accessibility of field localEntityReferenceSerializer has been weakened from protected to private
  • Added new methods to the unstable Icon Module
org.xwiki.icon.IconManager: Method 'public java.lang.String render(java.lang.String, java.lang.String)' has been added to an interface
org.xwiki.icon.IconManager: Method 'public java.lang.String render(java.lang.String, java.lang.String, boolean)' has been added to an interface
org.xwiki.icon.IconManager: Method 'public java.lang.String renderHTML(java.lang.String, java.lang.String)' has been added to an interface
org.xwiki.icon.IconManager: Method 'public java.lang.String renderHTML(java.lang.String, java.lang.String, boolean)' has been added to an interface
org.xwiki.icon.IconSetCache: Method 'public void clear(java.lang.String, java.lang.String)' has been added to an interface
org.xwiki.icon.IconSetCache: Method 'public org.xwiki.icon.IconSet get(java.lang.String, java.lang.String)' has been added to an interface
org.xwiki.icon.IconSetCache: Method 'public void put(java.lang.String, java.lang.String, org.xwiki.icon.IconSet)' has been added to an interface
org.xwiki.icon.IconSetManager: Method 'public org.xwiki.icon.IconSet getIconSet(java.lang.String)' has been added to an interface

Get Connected