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.
This is a bugfix release that covers important issues that we have discovered since 9.11.5 has been released.
New and Noteworthy (since XWiki 9.11.5)
Full list of issues fixed and Dashboard for 9.11.6.
All Changes
Tested Browsers & Databases
Here is the list of browsers we support and how they have been tested for this release:
Browser | Tests performed and results | |
---|---|---|
![]() | Google Chrome 67 | Not Tested |
![]() | Mozilla Firefox 60 | Not Tested |
![]() | Microsoft Edge 17 | Not Tested |
![]() | Internet Explorer 11 | Jira Tickets Marked as Fixed in the Release Notes |
![]() | Safari 11.1 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Tests performed and results | |
---|---|---|
![]() | HyperSQL 2.4.0 | Not Tested |
![]() | MySQL 5.7 | Not Tested |
![]() | PostgreSQL 10 | Jira Tickets Marked as Fixed in the Release Notes |
![]() | Oracle 11.2 | Not Tested |
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.11.5:
- Class wrongly made public in previous releases! See
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.notifications.filters.watchlistbridge.WatchlistBridgeProvider
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method boolean org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat)
## New:
method org.xwiki.notifications.filters.NotificationFilter.FilterPolicy org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method boolean org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat)
## New:
method org.xwiki.notifications.filters.NotificationFilter.FilterPolicy org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method boolean org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat)
## New:
method org.xwiki.notifications.filters.NotificationFilter.FilterPolicy org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method org.xwiki.notifications.filters.expression.ExpressionNode org.xwiki.notifications.filters.NotificationFilter::filterExpression(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat)
## New:
method org.xwiki.notifications.filters.expression.ExpressionNode org.xwiki.notifications.filters.NotificationFilter::filterExpression(org.xwiki.model.reference.DocumentReference, java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method org.xwiki.notifications.filters.expression.ExpressionNode org.xwiki.notifications.filters.NotificationFilter::filterExpression(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.preferences.NotificationPreference)
## New:
method org.xwiki.notifications.filters.expression.ExpressionNode org.xwiki.notifications.filters.NotificationFilter::filterExpression(org.xwiki.model.reference.DocumentReference, java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.preferences.NotificationPreference)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
## New:
method java.util.Collection<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.Collection<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(boolean) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getEnabledFilters(java.util.Collection<org.xwiki.notifications.filters.NotificationFilter>, java.util.Map<java.lang.String, java.lang.Boolean>)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
## New:
method java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.parameterTypeChanged
- Code:## Old:
parameter java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(===org.xwiki.model.reference.DocumentReference===, org.xwiki.notifications.filters.NotificationFilter) throws org.xwiki.notifications.NotificationException
## New:
parameter java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(===java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>===, org.xwiki.notifications.filters.NotificationFilter)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilter) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilter)
- Violation type:
- Young API
- Violation type:java.method.exception.checkedRemoved
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilter) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilter)
- Violation type:
- Young API
- Violation type:java.method.parameterTypeChanged
- Code:## Old:
parameter java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(===org.xwiki.model.reference.DocumentReference===, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType) throws org.xwiki.notifications.NotificationException
## New:
parameter java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(===java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>===, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType)
- Violation type:
- Young API
- Violation type:java.method.exception.checkedRemoved
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType)
- Violation type:
- Young API
- Violation type:java.method.parameterTypeChanged
- Code:## Old:
parameter java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(===org.xwiki.model.reference.DocumentReference===, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat) throws org.xwiki.notifications.NotificationException
## New:
parameter java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(===java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>===, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.exception.checkedRemoved
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilterPreference> org.xwiki.notifications.filters.NotificationFilterManager::getFilterPreferences(java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.filters.NotificationFilter, org.xwiki.notifications.filters.NotificationFilterType, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getFilters(org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.preferences.NotificationPreference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getFiltersRelatedToNotificationPreference(java.util.Collection<org.xwiki.notifications.filters.NotificationFilter>, org.xwiki.notifications.preferences.NotificationPreference)
- Violation type:
- Young API
- Violation type:java.method.parameterTypeChanged
- Code:## Old:
parameter java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getToggleableFilters(===org.xwiki.model.reference.DocumentReference===) throws org.xwiki.notifications.NotificationException
## New:
parameter java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getToggleableFilters(===java.util.Collection<org.xwiki.notifications.filters.NotificationFilter>===)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getToggleableFilters(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getToggleableFilters(java.util.Collection<org.xwiki.notifications.filters.NotificationFilter>)
- Violation type:
- Young API
- Violation type:java.method.exception.checkedRemoved
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getToggleableFilters(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
## New:
method java.util.stream.Stream<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getToggleableFilters(java.util.Collection<org.xwiki.notifications.filters.NotificationFilter>)
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.script.NotificationFiltersScriptService::getFilters() throws org.xwiki.notifications.NotificationException
## New:
method java.util.Collection<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.script.NotificationFiltersScriptService::getFilters() throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedEntityReference::isWatched(org.xwiki.model.reference.DocumentReference)
## New:
method boolean org.xwiki.notifications.filters.watch.WatchedEntityReference::isWatched(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method void org.xwiki.notifications.filters.watch.WatchedLocationReference::<init>(org.xwiki.model.reference.EntityReference, java.lang.String, org.xwiki.model.reference.EntityReferenceResolver<java.lang.String>, org.xwiki.notifications.filters.internal.scope.ScopeNotificationFilterLocationStateComputer)
## New:
method void org.xwiki.notifications.filters.watch.WatchedLocationReference::<init>(org.xwiki.model.reference.EntityReference, java.lang.String, org.xwiki.model.reference.EntityReferenceResolver<java.lang.String>, org.xwiki.notifications.filters.internal.scope.ScopeNotificationFilterLocationStateComputer, org.xwiki.notifications.filters.NotificationFilterManager)
- Violation type:
- Young API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedLocationReference::isWatched(org.xwiki.model.reference.DocumentReference)
## New:
method boolean org.xwiki.notifications.filters.watch.WatchedLocationReference::isWatched(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method void org.xwiki.notifications.filters.watch.WatchedUserReference::<init>(java.lang.String, org.xwiki.notifications.filters.internal.user.EventUserFilterPreferencesGetter)
## New:
method void org.xwiki.notifications.filters.watch.WatchedUserReference::<init>(java.lang.String, org.xwiki.notifications.filters.internal.user.EventUserFilterPreferencesGetter, org.xwiki.notifications.filters.NotificationFilterManager)
- Violation type:
- Young API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedUserReference::isWatched(org.xwiki.model.reference.DocumentReference)
## New:
method boolean org.xwiki.notifications.filters.watch.WatchedUserReference::isWatched(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.Map<java.lang.String, java.lang.Boolean> org.xwiki.notifications.filters.NotificationFilterManager::getToggeableFilterActivations(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method org.xwiki.notifications.filters.NotificationFilter.FilterPolicy org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, org.xwiki.notifications.NotificationFormat)
## New:
method org.xwiki.notifications.filters.NotificationFilter.FilterPolicy org.xwiki.notifications.filters.NotificationFilter::filterEvent(org.xwiki.eventstream.Event, org.xwiki.model.reference.DocumentReference, java.util.Collection<org.xwiki.notifications.filters.NotificationFilterPreference>, org.xwiki.notifications.NotificationFormat)
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.Collection<java.lang.String> org.xwiki.notifications.filters.watch.WatchedEntitiesManager::getWatchedUsers(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.numberOfParametersChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
## New:
method java.util.Collection<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(org.xwiki.model.reference.DocumentReference, boolean) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method java.util.Set<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
## New:
method java.util.Collection<org.xwiki.notifications.filters.NotificationFilter> org.xwiki.notifications.filters.NotificationFilterManager::getAllFilters(org.xwiki.model.reference.DocumentReference, boolean) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method void org.xwiki.notifications.filters.NotificationFilterManager::setStartDateForUser(org.xwiki.model.reference.DocumentReference, java.util.Date) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method void org.xwiki.notifications.filters.NotificationFilterPreferenceProvider::setStartDateForUser(org.xwiki.model.reference.DocumentReference, java.util.Date) throws org.xwiki.notifications.NotificationException
- Violation type:
Credits
The following people have contributed code to this release (sorted alphabetically):
- Adel Atallah
- Alex Cotiugă
- Anca Luca
- Guillaume Delhumeau
- Marius Dumitru Florea
- Thomas Mortagne
- Vincent Massol