Release Notes for XWiki 17.0.0

Last modified by Thomas Mortagne on 2025/01/30

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 the first release of the 17.x cycle. The most notable change is the move to Jakarta EE 9.1 that allows XWiki to run on recent versions of the supported application servers (like Tomcat 10+ and Jetty 12 EE9/10). Make sure to read the migration notes though since this change can potentially break backwards compatibility. Besides this, it's worth mentioning the new sort parameter for the Document Tree and Children macros, and the new notification email headers for auto-replies. Being the start of a new cycle we also took the opportunity to upgrade of a lot of our dependencies.

This release contains security fixes, with the highest severity being 8.7/10.

New and Noteworthy (since XWiki 16.10.2)

Full list of issues fixed and Dashboard for 17.0.0.

For Users

Page Tree Sort

 
The Page Tree (Document Tree) Macro has a new parameter named "Sort by" (sortDocumentBy) that controls how the pages (documents) are sorted. This sort parameter has been exposed also on the Children Macro, which is a wrapper around the Document Tree Macro. For now, you can sort the pages ascending or descending based on 4 fields: name, title, last modification date and creation date. Here's an example:

{{documentTree sortDocumentsBy="date:desc"/}}

{{children sort="creationDate"/}}

Cancel Long Selection Restore

 
The WYSIWYG editor preserves the selection (caret) when switching between WYSIWYG and Source mode, but this can take a significant amount of time for large documents with many wiki syntax elements (e.g. lots of links, images, macros, etc.). Starting with this version we're showing a progress notification message while the selection is being restored, which can be used to cancel the restore if it takes too much time or if preserving the selection is not worth the time spent waiting.

Miscellaneous

  • Notification email headers for autoreplies: Notifications emails are now sent with the following headers: Auto-Submitted: auto-generated and X-Auto-Response-Suppress: All. This allows the emails to be properly recognized as generated emails and to avoid sending autoreplies to them.

For Admins

Move to Jakarta EE 9.1

 
XWiki moved to Jakarta EE 9.1.

The main benefit is that XWiki can now run in jakarta.* based application servers (like Tomcat 10+, Jetty 12 EE9/10).

See the retro compatibility section for more details about the potential breakages.

Miscellaneous

  • Redirect resolved by XWiki: By default, XWiki is now taking care of resolving the relative redirect URL to absolute ones instead of letting the application server take care of this. This means that less setup might be required in some cases.

For Developers

Move to jakarta.inject

 
It's now possible to use the jakarta alternatives of javax.inject.* APIs (used mainly to manipulate components). javax.inject.* is still supported for now, but it's now recommended to move to jakarta.inject.* classes and annotations.

New Jakarta Servlet bridge

 
To help with the transition between javax.servlet and jakarta.servlet, this version of XWiki introduces a bridge to convert classes between the two versions. The main entry point is org.xwiki.jakartabridge.servlet.JakartaServletBridge which is located in the org.xwiki.commons:xwiki-commons-jakartabridge-servlet modules.

Moved Modules

Upgrades

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

Translations

The following translations have been updated: 

Security Issues

Security issues are not listed in issue lists or dashboards to avoid disclosing ways to use them, but they will appear automatically in them once they're disclosed. See the XWiki Security Policy for more details.

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.

Issues specific to XWiki 17.0.0

Move to Jakarta EE 9.1

XWiki has been migrated to Jakarta EE 9.1 specification.

The most notable change is that it means it now requires corresponding application servers: Tomcat 10+ and Jetty 11+ for example.
But the biggest difference between Jakarta EE 8 and 9.x is the move from javax.* to jakarta.* packages, so this migration commes with some potential breakages:

  • Servlet 5 (javax.servlet -> jakarta.servlet): XWiki comes with a bridge that should make the upgrade transparent from extensions, it mainly means that a lot of Servlet related API is now deprecated and application authors should move to new ones, most notably all the request related APIs from xwiki-platform-oldcore are replaced by org.xwiki.container.Container based APIs. Also XWiki is now doing its best (in Jetty and Tomcat only right now) by default to enable everything it can find to allow any character in URLs at init, it's possible to disable this using the property url.forceAllowAnyCharacter in the xwiki.properties configuration file (but it will most probably prevent some XWiki features to work property, see XWIKI-19167 for more details)
  • WebSocket 2.1 (javax.websocket -> jakarta.websocket): there is no bridge here. If you were directly manipulating javax.websocket APIs, you will have to move to jakarta.websocket and all XWiki APIs that were exposing javax.websocket have been modified to expose the jakarta.websocket versions.
  • Validation 3: there is no bridge either here, so you have to move to the jakarta.validation versions of the annotations. Since Jakarta Validation is only annotations, you can actually use both at the same time if you want to support different versions of XWiki in your extension for example.

Move javax.* to jakarta.* migration will happen in the course of the 17.x XWiki cycle. See Jakartamigration for more details about that.

Redirect behavior changes

  • Trusted domains are checking for all redirect called in XWiki now, it used to be only code going through XWikiRequest.
  • By default relative redirect are now resolved by XWiki instead of the application server. The goal was to reduce the configuration need (XWiki has all the information to properly resolve the redirect and the application server sometimes require some more setup), but if this change cause problem you can move back to using the application server using the property container.request.resolveRelativeRedirect in the xwiki.properties configuration file.

CSS name changed in xwiki-platform-notifications-webjar

Due to an upgrade of vite package used for building xwiki-platform-notifications-webjar the CSS file generated is now named main.css instead of style.css. Pay attention to use that new name for loading the file starting with XWiki 17.0.0.

API Breakages

The following APIs were modified since XWiki 16.10.2:

Real breakages

Real backward compatibility breakages that we have unwillingly accepted to do for the reasons mentioned in each violation below.

  • For security reasons, we need to get rid of JDOM 1 and this class extended a class that can’t be extended in JDOM 2. As it makes little sense to expose this class, instead of breaking it, it has been made private. As far we're aware, it hasn't been used outside HTMLUtils and thus shouldn't break anything.
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.xml.html.HTMLUtils.XWikiXMLOutputter
  • Moved to WebSocket 2.1.1
    • Violation type:
      java.class.noLongerImplementsInterface
    • Code:
      ## Old:
      class org.xwiki.websocket.AbstractPartialMessageHandler<T>

      ## New:
      class org.xwiki.websocket.AbstractPartialMessageHandler<T>
  • Moved to WebSocket 2.1.1
    • Violation type:
      java.class.noLongerImplementsInterface
    • Code:
      ## Old:
      class org.xwiki.websocket.AbstractPartialMessageHandler<T>

      ## New:
      class org.xwiki.websocket.AbstractPartialMessageHandler<T>
  • Moved to WebSocket 2.1.1
    • Violation type:
      java.class.noLongerImplementsInterface
    • Code:
      ## Old:
      class org.xwiki.websocket.AbstractPartialStringMessageHandler

      ## New:
      class org.xwiki.websocket.AbstractPartialStringMessageHandler
  • Moved to WebSocket 2.1.1
    • Violation type:
      java.class.noLongerImplementsInterface
    • Code:
      ## Old:
      class org.xwiki.websocket.AbstractPartialStringMessageHandler

      ## New:
      class org.xwiki.websocket.AbstractPartialStringMessageHandler
  • Moved to WebSocket 2.1.1
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter .* org.xwiki.websocket.WebSocketContext::.*
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter int com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator::compare(===com.sun.syndication.feed.synd.SyndEntry===, com.sun.syndication.feed.synd.SyndEntry)

      ## New:
      parameter int com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator::compare(===com.rometools.rome.feed.synd.SyndEntry===, com.rometools.rome.feed.synd.SyndEntry)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter int com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator::compare(com.sun.syndication.feed.synd.SyndEntry, ===com.sun.syndication.feed.synd.SyndEntry===)

      ## New:
      parameter int com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator::compare(com.rometools.rome.feed.synd.SyndEntry, ===com.rometools.rome.feed.synd.SyndEntry===)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.class.noLongerImplementsInterface
    • Code:
      ## Old:
      class com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator

      ## New:
      class com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.class.superTypeTypeParametersChanged
    • Code:
      ## Old:
      class com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator

      ## New:
      class com.xpn.xwiki.plugin.feed.FeedPlugin.SyndEntryComparator
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(com.xpn.xwiki.XWikiContext)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(com.xpn.xwiki.XWikiContext)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, boolean, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, boolean, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySource, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedEntry(com.xpn.xwiki.XWikiContext)

      ## New:
      method com.rometools.rome.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedEntry(com.xpn.xwiki.XWikiContext)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedForce(java.lang.String, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedForce(java.lang.String, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedImage(com.xpn.xwiki.XWikiContext)

      ## New:
      method com.rometools.rome.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedImage(com.xpn.xwiki.XWikiContext)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter java.lang.String com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedOutput(===com.sun.syndication.feed.synd.SyndFeed===, java.lang.String, com.xpn.xwiki.XWikiContext)

      ## New:
      parameter java.lang.String com.xpn.xwiki.plugin.feed.FeedPlugin::getFeedOutput(===com.rometools.rome.feed.synd.SyndFeed===, java.lang.String, com.xpn.xwiki.XWikiContext)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeeds(java.lang.String, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeeds(java.lang.String, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeeds(java.lang.String, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeeds(java.lang.String, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeeds(java.lang.String, boolean, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPlugin::getFeeds(java.lang.String, boolean, boolean, com.xpn.xwiki.XWikiContext) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.util.List<java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.util.List<java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.lang.String, int, int)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.lang.String, int, int)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getArticleFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.util.List<java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.util.List<java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.lang.String, int, int)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.lang.String, int, int)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.lang.String, int, int, java.lang.String, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getBlogFeed(java.lang.String, int, int, java.lang.String, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPluginApi::getDefaultFeedImage()

      ## New:
      method com.rometools.rome.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPluginApi::getDefaultFeedImage()
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getDocumentFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed()

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed()
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, boolean) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, boolean) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, boolean, boolean) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, boolean, boolean) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.util.List<java.lang.Object>, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeed(java.lang.String, int, int, com.xpn.xwiki.plugin.feed.SyndEntrySourceApi, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedEntry()

      ## New:
      method com.rometools.rome.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedEntry()
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedImage()

      ## New:
      method com.rometools.rome.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedImage()
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedImage(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

      ## New:
      method com.rometools.rome.feed.synd.SyndImage com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedImage(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter java.lang.String com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedOutput(===com.sun.syndication.feed.synd.SyndFeed===, java.lang.String)

      ## New:
      parameter java.lang.String com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeedOutput(===com.rometools.rome.feed.synd.SyndFeed===, java.lang.String)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeeds(java.lang.String) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeeds(java.lang.String) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeeds(java.lang.String, boolean) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeeds(java.lang.String, boolean) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeeds(java.lang.String, boolean, boolean) throws java.io.IOException

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getFeeds(java.lang.String, boolean, boolean) throws java.io.IOException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.util.List<java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.util.List<java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.util.List<java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.lang.String, int, int)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.lang.String, int, int)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndFeed com.xpn.xwiki.plugin.feed.FeedPluginApi::getWebFeed(java.lang.String, int, int, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndContent com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::getDescription(com.xpn.xwiki.api.Document, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      method com.rometools.rome.feed.synd.SyndContent com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::getDescription(com.xpn.xwiki.api.Document, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndContent com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::getSyndContent(java.lang.String, java.lang.String)

      ## New:
      method com.rometools.rome.feed.synd.SyndContent com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::getSyndContent(java.lang.String, java.lang.String)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter void com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::source(===com.sun.syndication.feed.synd.SyndEntry===, java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      parameter void com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::source(===com.rometools.rome.feed.synd.SyndEntry===, java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter void com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::sourceDocument(===com.sun.syndication.feed.synd.SyndEntry===, com.xpn.xwiki.api.Document, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      parameter void com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource::sourceDocument(===com.rometools.rome.feed.synd.SyndEntry===, com.xpn.xwiki.api.Document, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter void com.xpn.xwiki.plugin.feed.SyndEntrySource::source(===com.sun.syndication.feed.synd.SyndEntry===, java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException

      ## New:
      parameter void com.xpn.xwiki.plugin.feed.SyndEntrySource::source(===com.rometools.rome.feed.synd.SyndEntry===, java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(java.lang.Object)

      ## New:
      method com.rometools.rome.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(java.lang.Object)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter boolean com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(===com.sun.syndication.feed.synd.SyndEntry===, java.lang.Object)

      ## New:
      parameter boolean com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(===com.rometools.rome.feed.synd.SyndEntry===, java.lang.Object)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.returnTypeChanged
    • Code:
      ## Old:
      method com.sun.syndication.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      method com.rometools.rome.feed.synd.SyndEntry com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>)
  • For security reasons, it is necessary to drop the dependency on version 1 of ROME. Unfortunately, this dependency is exposed in APIs. As these APIs should mainly be used by scripts and the new version provides largely identical classes only with other package names, in practice this shouldn't cause any real breakage.
    • Violation type:
      java.method.parameterTypeChanged
    • Code:
      ## Old:
      parameter boolean com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(===com.sun.syndication.feed.synd.SyndEntry===, java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>)

      ## New:
      parameter boolean com.xpn.xwiki.plugin.feed.SyndEntrySourceApi::source(===com.rometools.rome.feed.synd.SyndEntry===, java.lang.Object, java.util.Map<java.lang.String, java.lang.Object>)
  • It seems like a mistake to expose XWikiFeedFetcher as an API. The concept of feed fetching has been removed from ROME 2, and staying on ROME 1 is no option from a security perspective. The implementation has been completely changed, and the class has been made internal as existing uses would most likely be broken, anyway. We're not aware of any code using this class outside the Feed API.
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class com.xpn.xwiki.plugin.feed.XWikiFeedFetcher
  • Those APIs were removed as part of JGroups upgrade to 5.4.0: the APIs have been removed on JGroups side and are directly exposed in XWiki. The original issue for removing them in JGroups was https://issues.redhat.com/browse/JGRP-2783.
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method void org.jgroups.Receiver::block() @ org.xwiki.observation.remote.jgroups.JGroupsReceiver
  • Those APIs were removed as part of JGroups upgrade to 5.4.0: the APIs have been removed on JGroups side and are directly exposed in XWiki. The original issue for removing them in JGroups was https://issues.redhat.com/browse/JGRP-2783.
    • Violation type:
      java.method.removed
    • Code:
      ## Old:
      method void org.jgroups.Receiver::unblock() @ org.xwiki.observation.remote.jgroups.JGroupsReceiver
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*org.xwiki.websocket.AbstractXWikiEndpoint.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*org.xwiki.container.servlet.SetThreadNameServletRequestListener.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*org.xwiki.resource.servlet.ResourceReferenceHandlerServlet.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*org.xwiki.resource.servlet.RoutingFilter.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*org.xwiki.wysiwyg.filter.ConversionFilter.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*com.xpn.xwiki.web.ActionFilter.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*com.xpn.xwiki.web.HomePageRedirectServlet.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*com.xpn.xwiki.web.LegacyActionServlet.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*org.xwiki.container.servlet.XWikiServletContextListener.*
  • Move to Jakarta
    • Violation type:
      .*
    • Code:
      ## Old:
      .*com.xpn.xwiki.web.XWikiContextInitializationFilter.*
  • Move to Jakarta
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.wysiwyg.filter.XWikiContextInitializationFilter

Credits

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

  • Cye3s
  • Lucas C
  • Manuel Leduc
  • Marius Dumitru Florea
  • Maximilien Cuony
  • Michael Hamann
  • Nikita Petrenko
  • Simon Urli
  • Simpel
  • Thomas Mortagne
  • Vincent Massol
  • jasongwq
  • xrichard

Get Connected