Release Notes for XWiki 10.4

Version 11.1 by Guillaume Delhumeau on 2018/08/13
Warning: For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

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.

In this version we've improved the Navigation panel by allowing pages to be excluded from the tree. We've added a new macro for Notifications that allows it to be embedded in other pages. We've also improved the History's Changes view by providing more navigation options between versions. We've continued to tweak the edit protection, added in the previous version, for some default extension pages (like Skin, Color Themes, Dashboard, Sandbox, etc.).

New and Noteworthy (since XWiki 10.3)

Full list of issues fixed and Dashboard for 10.4.

For Users

New Notifications Macro

 
It is now possible to list the notifications for the wiki by using the Notifications Macro. You can use it in any page or any dashboard. The goal is to be able to replace the Activity Stream which is going to be deprecated (too slow and missing some features).

The "network" tab is back in the user profile

 
The "network" tab disappeared in XWiki 10.3 for technical reasons. Thanks to the new Notifications Macro, it comes back in XWiki 10.4. It's also better than before since it now allows dismissing events.

The goal of this tab is to display all the events performed by the users you are following.

Navigation Panel Configuration

 
The top level application pages are now excluded by default from the Navigation Panel. You can still access the corresponding applications from the Applications Panel. This allows the Navigation Panel to focus more on your own content pages. However, you can disable this filter (if you wish to see all the pages) or configure other page excludes from the Wiki Administration.

Navigation in the changes view

 
Arrows have been added to easily navigate between changes of a document.

For Admins

  • Customize message for denied access: It is now possible to customize the content displayed to the user when a denied access occurs, without modifying the skin, hence facilitating the upgrades. This customization can be brought by creating a page at XWiki.AccessDenied. It works in the same way as XWiki.DocumentDoesNotExist, XWiki.WikiDoesNotExist and XWiki.AttachmentDoesNotExist. See also the related documentation paragraph "Customizing error pages" that was added to the XWiki configuration guide.

For Developers

Document Tree Exclusions

 
The Document Tree macro has a new parameter named "exclusions" that allows you to exclude a list of nodes from the tree. For instance, in order to exclude the "XWiki" top level node you can use:

{{documentTree exclusions="document:xwiki:XWiki.WebHome" /}}

Check the documentation for more information.

The identity of the current user is now available in javascript

 
JavaScript developers can now get the reference of the current user thanks to the xwiki-meta module that you can use like this:

require(['xwiki-meta'], function (xm) {
  console.log('Hello: ' + XWiki.Model.serialize(xm.userReference));
 // Will display "Hello xwiki:XWiki.Admin" in the console
});

After document header extension point

 
It is now possible to inject some content after the document header, that is below the title / update info / actions block, by implementing the org.xwiki.platform.content.header.after UI Extension Point.

New XAR entry types

 
The following new XAR entry types have been added:

  • customizable

Upgrades

The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):

Tested Browsers & Databases

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:TestReports.ManualTestReportSummaryXWiki104.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

Here is the list of browsers we support and how they have been tested for this release:

BrowserTest Result
Chrome30.pngGoogle Chrome 66Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
Firefox30.pngMozilla Firefox 60Not Tested
Edge30.pngMicrosoft Edge 17Not Tested
IE30.pngInternet Explorer 11Not Tested

Here is the list of databases we support and how they have been tested for this release:

DatabaseTest Result
hypersql.pngHyperSQL 2.4.0Not Tested
mysql.pngMySQL 5.7Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features
oracle.pngOracle 11.2
postgresql.pngPostgreSQL 10Not 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 10.3:

  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method javax.servlet.AsyncContext javax.servlet.ServletRequest::getAsyncContext() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.returnTypeTypeParametersChanged
    • Code:
      ## Old:
      method java.util.Enumeration<java.lang.String> javax.servlet.ServletRequest::getAttributeNames() @ org.xwiki.wysiwyg.filter.MutableServletRequest

      ## New:
      method java.util.Enumeration javax.servlet.ServletRequest::getAttributeNames() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method javax.servlet.DispatcherType javax.servlet.ServletRequest::getDispatcherType() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.returnTypeTypeParametersChanged
    • Code:
      ## Old:
      method java.util.Enumeration<java.util.Locale> javax.servlet.ServletRequest::getLocales() @ org.xwiki.wysiwyg.filter.MutableServletRequest

      ## New:
      method java.util.Enumeration javax.servlet.ServletRequest::getLocales() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.returnTypeTypeParametersChanged
    • Code:
      ## Old:
      method java.util.Map<java.lang.String, java.lang.String[]> javax.servlet.ServletRequest::getParameterMap() @ org.xwiki.wysiwyg.filter.MutableServletRequest

      ## New:
      method java.util.Map javax.servlet.ServletRequest::getParameterMap() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.returnTypeTypeParametersChanged
    • Code:
      ## Old:
      method java.util.Enumeration<java.lang.String> javax.servlet.ServletRequest::getParameterNames() @ org.xwiki.wysiwyg.filter.MutableServletRequest

      ## New:
      method java.util.Enumeration javax.servlet.ServletRequest::getParameterNames() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method javax.servlet.ServletContext javax.servlet.ServletRequest::getServletContext() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method boolean javax.servlet.ServletRequest::isAsyncStarted() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method boolean javax.servlet.ServletRequest::isAsyncSupported() @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method javax.servlet.AsyncContext javax.servlet.ServletRequest::startAsync() throws java.lang.IllegalStateException @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • revapi bug
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method javax.servlet.AsyncContext javax.servlet.ServletRequest::startAsync(javax.servlet.ServletRequest, javax.servlet.ServletResponse) throws java.lang.IllegalStateException @ org.xwiki.wysiwyg.filter.MutableServletRequest
  • Classes moved to the internal package as they were not supposed to be public
    • Violation type:
      java\.class\.removed
    • Code:
      ## Old:
      null
  • Class wrongly made public in previous releases! See
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.notifications.filters.watchlistbridge.WatchlistBridgeProvider
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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
  • 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
  • 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>)
  • 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
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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
  • 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)
  • 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>===)
  • 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>)
  • 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>)
  • 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
  • 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
  • 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)
  • 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
  • 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)
  • 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
  • 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
  • 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)
  • 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
  • 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
  • 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
  • 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
  • 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

Credits

The following people have contributed code to this release (sorted alphabetically):

Adel Atallah
Alex Cotiugă
Arun Pattni
Ecaterina Moraru (Valica)
Guillaume Delhumeau
Marius Dumitru Florea
Pascal BASTIEN
Stéphane Laurière
Thomas Mortagne
Vincent Massol
Vivek Iyer

Tags:
   

Get Connected