Changes Report
Enable Strict Mode for JSX
![]()
XWiki can now be configured to parse and minify wiki-based JavaScript skin extensions (JSX) using strict mode. This is disabled by default but you can enable it from xwiki.properties using:
skinx.jsStrictModeEnabled = trueCheck the skin extension documentation for more information.
Changing Page Syntax from Wiki Editor
Changing the page syntax from the Wiki Editor has suffered some updates:
- the style of the syntax conversion confirmation modal has been improved to be consistent with the other modals we use in XWiki
- the syntax conversion is not saved right away anymore but when you save the Wiki Editor; canceling the Wiki Editor will also cancel any unsaved syntax change
- XWiki will warn you when the syntax conversion is not supported
Checkout the Page Editing documentation for additional information.
Changing Page Syntax from WYSIWYG Editor
Changing the page syntax from the WYSIWYG Editor has suffered some updates:
- we don't reload the entire page anymore but only the WYSIWYG editor instance (in order to take into account the new syntax); the WYSIWYG editor has to be reloaded because the page syntax affects core editor configuration that cannot be changed on the fly (see the CKEditor Integration documentation for more information);
- the WYSIWYG editor is always reloaded when changing the syntax, no matter whether you choose to convert the content or not (for the reason mentioned above)
- the editing mode (Source vs. WYSIWYG) is preserved on reload
- if the new syntax doesn't support WYSIWYG editing (e.g. because it doesn't have a renderer) then the WYSIWYG editor will force the Source mode after the reload and disable the WYSIWYG mode, warning the user about the current limitation.
Checkout the Page Editing documentation for additional information.
Changing Page Syntax from View
Changing the page syntax from the Information tab, while viewing the page, has suffered some updates:
- XWiki will now propose to convert the page content and meta data to the new syntax, if the conversion is supported, but note that the changes will be saved only after saving the syntax
- if the syntax conversion is not supported then XWiki will warn the user about the limitation
- the page title and content are reloaded in order to allow the user to preview the effect of the syntax change before saving the new syntax
- canceling the syntax change will also reload the page title and content
![]()
The Delete section of the Content category of the global administration is now hidden when the recycle bin is not activated.
Finer configuration of the "can skip the recycle bin" feature

Allowing Advanced user to skip the recycle bin can now be configured on three locations:
- In the global administration of the current wiki
- In the global administration of the main wiki
- In xwiki.properties (see the property details below)
If the default value is found on one location, the next one is tried. If no value is found, the recycle bin skipping is not activated.
Details of the configuration on xwiki.properties:
#-# [Since 12.9RC1]
#-# Indicates whether skipping the recycle bin when deleting pages is allowed for Advanced users.
#-# It is disabled by default.
#-# This setting is only used if the wiki has a recycle bin activated (xwiki.recyclebin=1 in xwiki.cfg).
#-# This setting can be overloaded:
#-# * By the main wiki in the Refactoring.Code.RefactoringConfigurationClass class of the
#-# Refactoring.Code.RefactoringConfiguration document of the main wiki.
#-# * By sub-wikis in the Refactoring.Code.RefactoringConfigurationClass class of the
#-# Refactoring.Code.RefactoringConfiguration document of the sub-wikis (itself overloading the main wiki's
#-# configuration).
#-#
#-# The default value is:
# refactoring.isRecycleBinSkippingActivated = falseURLTool improvement
![]()
A new toURL(String) has been added to the Velocity $urltool to convert a String to an URL object.
Logging Administration uses Live Data Macro

The Logging Administration section is now using the new Live Data macro to list the available loggers, instead of the old live table.
Improved explanation when creating a translation page
When editing a wiki page in-place you might have seen a "Translate" button if the edited page was missing a translation for the current locale. It wasn't obvious what this button does and the small notification message shown at the bottom of the page was hardly noticeable so we replaced it with a popover that is shown first when you enter edit mode and then whenever you hover the button. We also replaced the notification shown after clicking on the "Translate" button (to create the translation) with a popover on the page title input to invite you to translate the page title.
Data Types
![]()
The list of data types (classes) of the XClass Application is now displayed using the Live Data Macro.
Support for native rendering of formulas in SVG
![]()
It is now possible to render formulas in SVG using the native formula renderer. This will provide more crisp results, which can easily be resized at will. See the Formula Macro documentation to learn more.
![]()
The formula macro exposes a new configuration key to define the default image type to be used when rendering a formula. See the Formula Macro documentation to learn more.
Class Sheet
![]()
The list of existing pages with objects described by a class that is provided by the XClass Application as part of the default class sheet is now displayed using the Live Data Macro.
Filters for Static List properties in Live Data
![]()
The suggestions in the Live Data Macro's column filters now display labels or translations (if there are any) of the values of Static List properties instead of the plain values. The search for suggestions considers both the displayed label and the underlying value.
SecurityEntryReaderExtra in extensions
![]()
It's now possible to contribute a org.xwiki.security.authorization.SecurityEntryReaderExtra component in an installed extension.
Bulletproofed NumberProperty
![]()
NumberProperty now accept any kind of Number in input and will automatically convert it to the right type instead of crash at save.
Less strict code verification in the reset password system
![]()
We allow to relax a bit the reset password email link security mechanism to avoid it being revoked at first access, in order to avoid issues with software that checks email links. This mechanism can be used by changing a property in xwiki.properties:
#-# [Since 13.10.1]
#-# [Since 14.0RC1]
#-# Define the lifetime of the token used for resetting passwords in minutes. Note that this value is only used after
#-# first access.
#-# Default value is 0 meaning that the token is immediately revoked when first accessed.
#-# Use a different value if the reset password email link might be accessed several times (e.g. in case of using an
#-# email link verification system): in such case the user will have the defined lifetime to use again the email link.
#-#
#-# The default is:
# security.authentication.resetPasswordTokenLifetime = 0New URL resource scheme for Reset password
![]()
The reset password and retrieve username features have been refactored to stop using wiki pages to work. The rationale is that these pages needed to be viewable by the guest user to work, thus making it impossible to protect the full wiki to guests (among other problems related to rights on these pages). Thus they have been re-implemented using dedicated URL schemes and components, and thus have had their URLs changed:
- Reset password:
- New URL: /xwiki/authenticate/reset
- Old URL: /xwiki/bin/view/XWiki/ResetPassword
- Retrieve username:
- New URL: /xwiki/authenticate/forgot
- Old URL: /xwiki/bin/view/XWiki/ForgotUsername
The old XWiki.ResetPassword and XWiki.ForgotUsername wiki pages must not be used anymore, and any custom change perform in those pages won't be taken into account (you'll need to port your changes to Java since the new feature is coded in Java). However, the pages have been kept to ensure that using the old URLs will keep working for the time being: the pages now redirect to the new URLs.
Controlling Transformations
![]()
It's now possible to control exactly which Rendering Transformations to execute when viewing a page. For example to execute only the macro transformation: http://localhost:8080/xwiki/bin/view/Sandbox/WebHome?transformations=macro.