Release Notes for XWiki 9.9-rc-2
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 is mostly a bug fixing release (25 bugs), focused on Notifications, Office Viewer and Solr Search. The server is now able to check for its new versions and user preferences are taken into account by the notifications toggles.
New and Noteworthy (since XWiki 9.8.1)
Full list of issues fixed and Dashboard for 9.9.
For Users
Watched Locations Enhanced
The notifications toggles now take into account the preferences that you have enabled. Events that have not been enabled first will not be displayed anymore, even if you watch a location where these events happen.
For Admins
No changes!
For Developers
The server is now able to check for its new versions
The server can now check if a new version of its distribution is available but this feature is not active by default and the information about new versions are not displayed anywhere yet. In the near future, we'll add a new notification visible to administrators when a new version is found.
The version check can be enabled through the parameter extension.versioncheck.environment.enabled in xwiki.properties.
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise):
- CSS4J 0.37
- javax.annotation-api 1.3.1
- httpcore 4.4.7
- httpcore 4.4.8
- GSon 2.8.2
- JNA 4.5.0
- Jetty 9.4.7.v20170914
- JGroups 4.0.7
- Commons Configuration 2.2
Translations
The following translations have been updated:
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 9.9 Release Candidate 2
- JSONTool#parse is now deprecated and JSONTool#fromString should be used instead. This means that Velocity code like $jsontool.parser($content) should be replaced by $jsontool.fromString($content)
API Breakages
The following APIs were modified since XWiki 9.8.1:
- Not a breakage. Unused code (and code that shouldn't have been public anyway).
- Violation type:java\.class\.removed
- Code:## Old:
.* org\.xwiki\.rendering\.wikimodel\.xml\..*
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedEntitiesManager::isEntityDirectlyWatched(org.xwiki.notifications.filters.watch.WatchedEntityReference, org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedEntitiesManager::isEntityWatched(org.xwiki.notifications.filters.watch.WatchedEntityReference, org.xwiki.model.reference.DocumentReference) throws org.xwiki.notifications.NotificationException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method org.xwiki.notifications.filters.NotificationFilterPreference org.xwiki.notifications.filters.watch.WatchedEntityReference::createExclusiveFilterPreference()
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method org.xwiki.notifications.filters.NotificationFilterPreference org.xwiki.notifications.filters.watch.WatchedEntityReference::createFilterPreference()
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method org.xwiki.notifications.filters.NotificationFilterPreference org.xwiki.notifications.filters.watch.WatchedEntityReference::createInclusiveFilterPreference()
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method boolean org.xwiki.notifications.filters.watch.WatchedEntityReference::isWatched(org.xwiki.model.reference.DocumentReference)
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedEntityReference::match(org.xwiki.notifications.filters.NotificationFilterPreference)
- 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>)
## 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)
- Violation type:
- Young API
- Violation type:java.method.visibilityReduced
- Code:## Old:
method org.xwiki.notifications.filters.NotificationFilterPreference org.xwiki.notifications.filters.watch.WatchedLocationReference::createFilterPreference()
## New:
method org.xwiki.notifications.filters.internal.DefaultNotificationFilterPreference org.xwiki.notifications.filters.watch.WatchedLocationReference::createFilterPreference()
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedLocationReference::match(org.xwiki.notifications.filters.NotificationFilterPreference)
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method org.xwiki.notifications.filters.NotificationFilterPreference org.xwiki.notifications.filters.watch.WatchedUserReference::createFilterPreference()
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.WatchedUserReference::match(org.xwiki.notifications.filters.NotificationFilterPreference)
- Violation type:
- Young API
- Violation type:java.method.removed
- Code:## Old:
method boolean org.xwiki.notifications.filters.watch.script.NotificationWatchScriptService::isLocationDirectlyWatched(org.xwiki.model.reference.EntityReference) throws org.xwiki.notifications.NotificationException
- Violation type:
Credits
The following people have contributed code to this release (sorted alphabetically):
- Alex Cotiugă
- Clément Aubin
- Eduard Moraru
- Guillaume Delhumeau
- Marius Dumitru Florea
- Matt Sullivan
- Ruslan Iagudin
- Thomas Mortagne
- Vincent Massol