Macro for Backward Compatibility Reports
Last modified by Vincent Massol on 2024/04/09
Example 1
- NamespaceURLClassLoader no longer inherits from URIClassLoader since this one is now deprecated.
- Violation type:java.class.noLongerInheritsFromClass
- Code:## Old:
class org.xwiki.classloader.NamespaceURLClassLoader
## New:
class org.xwiki.classloader.NamespaceURLClassLoader
- Violation type:
- Not a binary breakage (no API breakage), only source level.
- Violation type:java\.generics\.elementNowParameterized
- Code:## Old:
.*org\.xwiki\.component\.annotation\.ComponentDescriptorFactory::createComponentDescriptors.*
## New:
.*org\.xwiki\.component\.annotation\.ComponentDescriptorFactory::createComponentDescriptors.*
- Violation type:
- Not a breakage for using the User Avatar macro.
- Violation type:java.annotation.added
- Code:## Old:
method void org.xwiki.rendering.macro.useravatar.UserAvatarMacroParameters::setUsername(java.lang.String)
## New:
method void org.xwiki.rendering.macro.useravatar.UserAvatarMacroParameters::setUsername(java.lang.String)
- Violation type:
- Not a breakage. Old deprecated method that has been moved to legacy.
- Violation type:java.method.removed
- Code:## Old:
method void com.xpn.xwiki.doc.XWikiDocument::rename(java.lang.String, java.util.List<java.lang.String>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
- Violation type:
- Not a breakage. Old deprecated method that has been moved to legacy.
- Violation type:java.method.removed
- Code:## Old:
method void com.xpn.xwiki.doc.XWikiDocument::rename(java.lang.String, java.util.List<java.lang.String>, java.util.List<java.lang.String>, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
- Violation type:
- Not a breakage. Old deprecated method that has been moved to legacy.
- Violation type:java.method.removed
- Code:## Old:
method void com.xpn.xwiki.doc.XWikiDocument::rename(java.lang.String, com.xpn.xwiki.XWikiContext) throws com.xpn.xwiki.XWikiException
- Violation type:
- Young API
- Violation type:java.method.addedToInterface
- Code:## Old:
## New:
method void org.xwiki.search.solr.SolrUtils::setAtomic(java.lang.String, java.lang.String, java.lang.Object, org.apache.solr.common.SolrInputDocument)
- Violation type:
- Not a breakage. Added a new property to the Page REST resource.
- Violation type:java.annotation.attributeValueChanged
- Code:## Old:
class org.xwiki.rest.model.jaxb.PageSummary
## New:
class org.xwiki.rest.model.jaxb.PageSummary
- Violation type:
- TargetableNotificationPreferenceBuilder is meant to be a builder but the API wasn't following the builder pattern. This change is not breaking for using that component, but it is breaking if you implemented the TargetableNotificationPreferenceBuilder interface.
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method void org.xwiki.notifications.preferences.TargetableNotificationPreferenceBuilder::.+(.+)
## New:
method org.xwiki.notifications.preferences.TargetableNotificationPreferenceBuilder org.xwiki.notifications.preferences.TargetableNotificationPreferenceBuilder::.+(.+)
- Violation type:
Example 2
No breakage!