Release Notes for XWiki 6.2 Milestone 1

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.

Among others, this release adds various responsive UI improvements for the new Flamingo skin, a new structure for applications created with Application Within Minutes and the possibility to have alternative Icon Themes. Developers also get a new Mail Sender API and other API improvements. Finally, a considerable amount of bug fixes (31) and improvements (31) are provided so make sure to try it out.

New and Noteworthy (since XWiki 6.1)

Full list of issues fixed and Dashboard for 6.2.

Flamingo Skin

  • The user profile looks better on smartphones:

      flamingo-user-profile.png

New structure for apps created with App Within Minutes

When you create a new application using AWM, your application will be structured into 2 spaces (one for data and the other for code). For more details, see AWM's documentation.

AppWithinMinutes-Step1.png

Initialization screen improvements

If XWiki initialization failed you get a detailed log and it stop refreshing the page.

init_errors.png

Icon Theme Application

A new application is now bundled in XWiki: Icon Theme Application. Its purpose is to let the user chose which icon set she would like to have in her wiki.

iconset-administration.png

This application is compatible with icon stored as images but also with font icons such as FontAwesome!

Font Awesome

Font Awesome is our first alternative to silk as an Icon Theme. It is now bundled in XWiki, but the Icon Theme mapping is still at a beta state.

Application Bar

  • The icons are now bigger.
  • The icons displayed in the application bar use the new Icon Theme Application, in order to let the user choose the icon set she wants to see:

    appbar-with-fontawesome.png appbar-with-silk.png
  • On devices with small screen, when panels are displayed under the page content (currently, it is the case for Flamingo only), the appbar is now displayed differently to use all the available width:

    AppBarLowRes.png

Miscellaneous

  • When using the standalone package, the logs can also be found in files under data/logs/.
  • The jetty configuration is now split in several files, making it easier to configure the needed parts.
  • There's a sample configuration file for enabling HTTPS for the standalone Jetty server.
  • The port on which Jetty listens for request can be configured using the JETTY_PORT environment variables; JETTY_STOP_PORT can be used to configure the port where stop commands are expected.
  • Jetty's messages are now more informative: internal information isn't displayed, while notifications for the users are printed both at startup and shutdown.
  • Single line fields in documents are not merged at character level anymore. This might increase a bit the number of potential conflicts but at the same time improve the suggestion in most cases in case of real conflict since most of the time this kind of field cannot really be merged.
  • The XWiki Snapshots maven extensions repository is now used by default (when no other repositories are configured) on snapshot/development builds of XWiki Enterprise in order to make the testing of snapshot builds easier and faster.

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

For Developers

Wiki module improvements

  • Added an API to directly get the wiki identifiers:
    • From Velocity:
      #set($wikiIds = $services.wiki.allIds)
    • From Java:
      Collection<String> wikiIds = wikiDescriptorManager.getAllIds();

The XWiki.widgets.ConfirmationBox widget can display a Cancel button

By passing the showCancelButton : true option in the interactionParameters argument to the constructor, a Cancel button will be displayed next to the Yes and No ones. The label of the button can be specified with the cancelButtonText interaction option, and an optional callback to execute with the onCancel behavior option.

The XWiki.widgets.ModalPopup#createButton method now accepts an extraClass parameter

The fifth parameter can be used to add additional classes, besides the standard button, to the created buttons.

WikiStream module renamed to Filter module

The heart of WikiStream being far more generic than wikis, most of it have been moved to commons in the already existing Filter module.

Most of WikiStream module moved to commons filter module (everything that wasn't really depending on any platform project) and it also been renamed to Filter on platform side to follow commons naming. The structure of the API did not changed a bit except for the naming. In short every "WikiStream" in your code should be changed to Filter or FilterStream. None of the existing streams identifiers changed except for the generic XML streams which is is now filter+xml (instead of wiki+xml). 

Mail Sender API

  • The new Mail Sender API is now bundled by default in XWiki Enterprise. 
  • It's now possible to access the Mail Sending API configuration from scripts by calling $services.mailsender.configuration.
  • The send() API now sends messages synchronously and a new sendAsynchronously() API has been added
  • Using the following will now automatically add a template body part too:
    #set ($message = $services.mailsender.createMessage('template', $templateReference, $mailParameters) 
  • In addition the "template" Mime Message Factory supports passing "to", "from", "cc" and "bcc" addresses in the parameters list, for example:
    #set ($mailParameters = {'from' : '[email protected]', 'to' : '[email protected]', 'language' : $xcontext.language, 'velocityVariables' : { 'var1' : 'value1' }})
    #set ($message = $services.mailsender.createMessage('template', $templateReference, $mailParameters) 

Upgrades

The following dependencies have been upgraded:

Miscellaneous

  • The user of an Activity Stream event is now always stored as an absolute serialized reference. See XWIKI-9066 for more details.
  • A new user and group references related reference resolver have been provided:
    @Inject
    @Named("user/current")
    private DocumentReferenceResolver<String> currentUserDocumentResolver;

    @Inject
    @Named("user/current")
    private EntityReferenceResolver<String> currentUserEntityResolver;

    @Inject
    @Named("user")
    private EntityReferenceResolver<String> defaultUserEntityResolver;
  • Each XWiki class property can now control how it's merged. Just need to overwrite com.xpn.xwiki.objects.classes.PropertyClass#mergeProperty method.
  • The target syntax is now part of the Rendering Context when the Rendering is used to render some Blocks (otherwise it's null. For example when parsing content).
  • Added new org.xwiki.rendering.renderer.printer.WriterWikiPrinter to output all calls to org.xwiki.rendering.renderer.printer.WikiPrinter into a org.xwiki.rendering.renderer.printer.Writer
  • Added the new component org.xwiki.skinx.internal.LinkSkinExtension (with the hint "linkx") that wraps the $xwiki.linkx plugin

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 36Not Tested
Firefox30.pngMozilla Firefox 31Smoke tests
IE30.pngInternet Explorer 8Smoke tests
IE30.pngInternet Explorer 9Not Tested
IE30.pngInternet Explorer 10Full tested

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

DatabaseStatus
hypersql.pngHyperSQL 2.3.2Full tested
mysql.pngMySQL 5.6.17Not Tested
oracle.pngOracle 11.2Not Tested
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.2-milestone-1

  • After the upgrade, old Activity Stream events might not be visible anymore. Only new events will start to be displayed. See XWIKI-9066.
  • The new Mail Sender API was using a property named smtp_from when the from address was not specified when sending an email. Even though this property is used by the old Mail Sender plugin, it doesn't exist by default in XWikiPreferences. We're now using the admin_email property which is the one you see in the Admin UI.

API Breakages

The following APIs were modified since XWiki 6.1:

  • Young APIs.
org.xwiki.rendering.transformation.RenderingContext: Method 'public org.xwiki.rendering.syntax.Syntax getTargetSyntax()' has been added to an interface
org.xwiki.wiki.descriptor.WikiDescriptorManager: Method 'public java.util.Collection getAllIds()' has been added to an interface

org.xwiki.mail.MailSender: Method 'public void send(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has been removed
org.xwiki.mail.MailSender: Method 'public void sendAsynchronously(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailResultListener)' has been added to an interface
org.xwiki.mail.MailResultListener: Parameter 2 of 'public void onError(javax.mail.internet.MimeMessage, java.lang.Throwable)' has changed its type to java.lang.Exception
org.xwiki.mail.script.MimeMessageWrapper: Parameter 1 of 'public MimeMessageWrapper(javax.mail.internet.MimeMessage, javax.mail.Session, org.xwiki.mail.MailSender, org.xwiki.context.Execution, org.xwiki.component.manager.ComponentManager)' has changed its type to org.xwiki.mail.internal.ExtendedMimeMessage
org.xwiki.mail.script.MimeMessageWrapper: Return type of method 'public javax.mail.internet.MimeMessage getMessage()' has been changed to org.xwiki.mail.internal.ExtendedMimeMessage
Tags:
   

Get Connected