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 brings a couple of small, but very useful improvements like the ability to filter the sections in Administration, reset changes done to extension pages and alternative configuration locations. Developers get some helpful API in writing clean queries when escaping and filtering, a new API to find documents belonging to extensions and more control through a new extension point for the content menu.
New and Noteworthy (since XWiki 9.2)
Full list of issues fixed and Dashboard for 9.3.
For Users
Mail resending at startup: At startup, mails that weren't sent yet are now resent automatically.
Disabling emoticons: It's now possible to disable default emoticons by editing xwiki.properties and overriding the mapping with an empty value. For example to disable (n) you'd add:
rendering.transformation.icon.mappings = (n) =
For Admins
Live Search in Administration
The administration menu now has a search input at the top that can be used to filter the administration categories and sections. At the moment the live search matches only the category/section name and description.
Reset Extension changes
It's now possible to reset changes listed in the Extension diff.
Miscellaneous
Configuration in /etc/xwiki: XWiki will now try to find xwiki.cfg and xwiki.properties in /etc/xwiki/ on file system before looking in the webapp resources.
The default value of xwiki.users.initialGroups now depends on xwiki.authentication.group.allgroupimplicit value (users are not added to XWikiAllGroup anymore when xwiki.authentication.group.allgroupimplicit is enabled).
Admin user as a Simple user: When using the Jetty/HSQLDB demo packaging, the Admin user used to be an Advanced user, and this was troubling for users discovering XWiki since they were seing advanced features from the onset. The Admin user is now a Simple user, matching what you get in other packagings in which the admin user is created in the Distribution Wizard when XWiki is executed the first time.
For Developers
Safe escaping when querying
When writing XWQL or HQL, it's easy to forget to escape the %, _ or even the [ character in LIKE clauses. It's also easy to forget that MySQL considers the default escape character to be \ and thus when you have a serialized Entity Reference in a LIKE you need to change the escape character as otherwise pages with dots (.) in their names won't match!
To avoid bother we're introducing a new Query Manager API when binding a value.
Example usage:
Link document to corresponding extensions
A new set of scripting APIs have been introduced to link documents from the database to the corresponding installed extension.
Content Menu UIXP
You are now able to contribute new content menu buttons, in addition to the existing Edit, Add, Admin and More Actions by implementing the org.xwiki.plaftorm.menu.content UI Extension Point and specifying the order.
Filtering Query parameters
It's now possible to filter not only Query statements but also Query parameters or in general any value returned by a Query object. This is achieved through a new method in QueryFilter. See the Query Module for more details. Example:
@Named("myfilter")
@Singleton
public class MyQueryFilter implements QueryFilter
{
...
@Override
public Query filterQuery(Query query)
{
return new WrappingQuery(query)
{
@Override
public String getStatement()
{
return ... modified statement here...
}
};
}
}
Moved Modules
- Blog Application has been moved from XWiki Platform to Contrib.
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise):
- JBoss Logging 3.3.1
- Joda-Time 2.9.9
- Apache XML Graphics Commons 2.2
- JSqlParser 1.0
- Logback 1.2.3
- Jackson 2.8.8
- HSQLDB 2.4.0
Translations
The following translations have been updated:
- Czech
- Danish
- German
- Persian
- French
- Italian
- Latvian
- Dutch
- Portuguese (Brazil)
- Romanian
- Russian
- Slovak
- Swedish
Tested Browsers & Databases
Here is the list of browsers we support and how they have been tested for this release:
Browser | Test Result | |
---|---|---|
![]() | Google Chrome | Not Tested |
![]() | Mozilla Firefox 34 | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features |
![]() | Internet Explorer 10 | Not Tested |
![]() | Internet Explorer 11 | Jira Tickets Marked as Fixed in the Release Notes |
Here is the list of databases we support and how they have been tested for this release:
Database | Test Result | |
---|---|---|
![]() | HyperSQL | Jira Tickets Marked as Fixed in the Release Notes |
![]() | MySQL | Not Tested |
![]() | Oracle | Not Tested |
![]() | PostgreSQL 9.6 | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features |
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.
API Breakages
The following APIs were modified since XWiki 9.2:
- Really don't see how adding a new constructor could be a breakage...
- Violation type:java.field.serialVersionUIDUnchanged
- Code:## Old:
field org.xwiki.extension.ExtensionException.serialVersionUID
## New:
field org.xwiki.extension.ExtensionException.serialVersionUID
- Violation type:
- Not a binary breakage and should not change anything at build either time most of the time
- Violation type:java.generics.formalTypeParameterAdded
- Code:## Old:
method <T> T org.xwiki.extension.script.AbstractExtensionScriptService::safe(T)
## New:
method <S, T> S org.xwiki.extension.script.AbstractExtensionScriptService::safe(T)
- Violation type:
- Not a binary breakage and should not change anything at build either time most of the time
- Violation type:java.generics.formalTypeParameterAdded
- Code:## Old:
method <T> T org.xwiki.extension.script.AbstractExtensionScriptService::safe(T) @ org.xwiki.extension.xar.script.XarExtensionScriptService
## New:
method <S, T> S org.xwiki.extension.script.AbstractExtensionScriptService::safe(T) @ org.xwiki.extension.xar.script.XarExtensionScriptService
- Violation type:
- Not a binary breakage and should not change anything at build either time most of the time
- Violation type:java.generics.formalTypeParameterAdded
- Code:## Old:
method <T> T org.xwiki.extension.script.AbstractExtensionScriptService::safe(T) @ org.xwiki.platform.flavor.script.FlavorManagerScriptService
## New:
method <S, T> S org.xwiki.extension.script.AbstractExtensionScriptService::safe(T) @ org.xwiki.platform.flavor.script.FlavorManagerScriptService
- Violation type:
- Not a breakage
- Violation type:java.field.serialVersionUIDUnchanged
- Code:## Old:
field org.xwiki.extension.xar.job.diff.DocumentVersionReference.serialVersionUID
## New:
field org.xwiki.extension.xar.job.diff.DocumentVersionReference.serialVersionUID
- Violation type:
Credits
The following people have contributed code to this release (sorted alphabetically):
Ecaterina Moraru (Valica)
Eduard Moraru
Guillaume Delhumeau
Krzysztof Płachno
Marius Dumitru Florea
Thomas Mortagne
Vincent Massol