Release Notes for XWiki 13.8
This is the release notes for XWiki Commons, XWiki Rendering and XWiki Platform. They share the same release notes as they are released together and have the same version.
Mostly a developer's release and some performance improvement for the new LiveData feature.
New and Noteworthy (since XWiki 13.7)
Full list of issues fixed and Dashboard for XWiki 13.8.
For Users
Live Data performance improvements: The rendering time of the Live Data Macro has been improved. The performance is now comparable to the Livetable Macro.
For instance, taking the loading time of the Panels table with 30 rows, the rendering time is now of 2s 180ms with the optimization, and was 3s 50ms before the optimizations, and 2s 250ms with the Livetable Macro. In addition, when the Less style is not yet cached, the rendering time is improved by about 12 seconds.
For Admins
No changes!
For Developers
Translation Messages in JavaScript
We added support for using translation messages in JavaScript without relying on Velocity code. This has the big advantage that the JavaScript code can be cached without the need to invalidate the cache when the current locale changes. Here's how you can do it:
define('my-translation-keys', {
prefix: 'livedata.',
keys: [
"dropdownMenu.title",
"selection.infoBar.allSelectedBut"
]
});
// Then you require the translation messages using the dedicated loader.
require(['xwiki-l10n!my-translation-keys'], function(l10n) {
// Translation key without parameters.
console.log(l10n['dropdownMenu.title']);
// Translation key with parameters.
console.log(l10n.get('selection.infoBar.allSelectedBut', 'parameter value'));
});
See the Localization Module documentation for more information on this topic.
Miscellaneous
Byte array to InputSource: The org.xwiki.filter.input.InputSource converter now support byte[] as input.
Attachments content: It's now possible to indicate in input the list of attachment for which the content should be taken into account (when serializing a document, for example). It used to be all (generally used when exporting a XAR) or nothing (in the case of the document history).
Allow Skins to be loaded from the classloader: Skins can now be stored in extensions. If an extension installed on a wiki contains a skins/skinName/ folder, it can be discovered and used as a wiki Skin.
Provide a script service API for serializing a UserReference: It is possible to serialize a user reference with the default serializer using the user script service:
{{velocity}}
#set ($userReference = $api.returning.user)
Retrieved user: $services.user.serialize($userReference)
{{/velocity}}
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):
eslint-plugin-vue 7.16.0
eslint 7.32.0
@vue/test-utils 1.2.2
@babel/eslint-parser 7.15.0
vue and vue-template-compiler 2.6.14
vue-i18n 8.25.0
Tika 2.1
Plexus Utils 3.4.1
Mockito 3.12.4
Jackson 2.12.5
JNA 5.9.0
Hibernate 5.5.7
Gson 2.8.8
Error Prone annotations 2.9.0
Byte Buddy 1.11.13
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:
Browser | Tested on: | |
---|---|---|
Microsoft Edge 94 | Not Tested | |
Google Chrome 94 | Not Tested | |
Internet Explorer 11 | Tests run and results | |
Mozilla Firefox 92 | Jira Tickets Marked as Fixed in the Release Notes | |
Safari 14 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Tested on: | |
---|---|---|
HyperSQL 2.5.2 | Not Tested | |
MariaDB 10.6 | Jira Tickets Marked as Fixed in the Release Notes | |
MySQL 8 | Tests run and results | |
PostgreSQL 13 | ||
Oracle 19c | Not Tested |
Here is the list of Servlet Containers we support and how they have been tested for this release:
Servlet Container | Tested on: | |
---|---|---|
Tomcat 9.0.53 | ||
Jetty 9.4.29 (XWiki Standalone packaging) | ||
Jetty 9.4.29 | Not Tested |
Known issues
Backward Compatibility and Migration Notes
General Notes
- When upgrading make sure you compare and merge the following XWiki configuration files since some parameters may have been modified, removed or added:
- xwiki.cfg
- xwiki.properties
- web.xml
- hibernate.cfg.xml
- Add xwiki.store.migration=1 in xwiki.cfg so that XWiki will attempt to automatically migrate your current database to any new schema. Make sure you backup your Database before doing anything.
API Breakages
The following APIs were modified since XWiki 13.7:
Unknown Criticality
These violationq are missing a criticality and need to be fixed.
- Unstable API: this API was not properly designed and shouldn't have returned that in first place.
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method javax.mail.internet.InternetAddress org.xwiki.security.authentication.script.AuthenticationScriptService::requestResetPassword(org.xwiki.user.UserReference) throws org.xwiki.security.authentication.ResetPasswordException
## New:
method void org.xwiki.security.authentication.script.AuthenticationScriptService::requestResetPassword(org.xwiki.user.UserReference) throws org.xwiki.security.authentication.ResetPasswordException
- Violation type:
- Unstable API: this API was not properly designed and shouldn't have returned that in first place.
- Violation type:java.method.removed
- Code:## Old:
method javax.mail.internet.InternetAddress org.xwiki.security.authentication.ResetPasswordRequestResponse::getUserEmail()
- Violation type:
- Not a breackage. Moved to legacy.
- Violation type:java.method.removed
- Code:## Old:
method java.lang.String com.xpn.xwiki.XWiki::invokeServletAndReturnAsString(java.lang.String, com.xpn.xwiki.XWikiContext)
- Violation type:
- Not a breackage. Moved to legacy.
- Violation type:java.method.removed
- Code:## Old:
method java.lang.String com.xpn.xwiki.api.XWiki::invokeServletAndReturnAsString(java.lang.String)
- Violation type:
Credits
The following people have contributed code and translations to this release (sorted alphabetically):
Clemens Robbenhaar
Jarle Sandmo
Manuel Leduc
Marius Dumitru Florea
Simon Urli
Thomas Mortagne
Vincent Massol
slauriere
xrichard