Release Notes for XWiki 4.3 Milestone 2
This is the release notes for XWiki Platform, XWiki Enterprise and XWiki Enterprise Manager. They share the same release notes as they are released together and have the same version.
This is the second and last milestone of the XWiki 4.3 version (Roadmap). This release brings a new and experimental Solr Search engine, new default date, user and group pickers, a new localization module allowing applications to register translations, REST API additions and various other improvements.
New and Noteworthy (since XWiki 4.3 Milestone 1)
Experimental Solr based search engine
A new and experimental search engine based on Apache Solr is now available.
The new search UI offers advanced search features and results highlighting. Future versions will also include Faceted Search.
The new engine has it's own index, separate from the Lucene one, which is stored by default in the <permanent directory>/solr folder. In the same folder you can also access Solr's configuration files together with the index's schema.xml which you can tweak to achieve better results. To change this folder's location, you can either pass the -Dsolr.solr.home system property when you start the application container (tomcat/jetty/etc.) or you can set the search.solr.home property in WEB-INF/xwiki.properties.
For now, indexing is done only manually by using the Search Administration UI. Because of this, in order to get any search results, you have to go to Administration > Applications > Search and index/reindex the wiki. Any changes in the content of the wiki will not be searchable until you manually reindex. This limitation will be removed in future versions, once the feature matures.
This new search engine is not enable by default, since Lucene is still the default one, but, if you wish to try it out, it can be enable by going to Administration > Applications > Search > Search engine to use and selecting Solr (Experimental).
Default date picker
The date picker from AppWithinMinutes is now the default picker for all XClass properties of type Date. This means that you'll get a date picker when editing an object with a Date property even if you didn't use AppWithinMinutes to create the XClass.
If for some reason you don't want to use the new date picker then you can edit the XClass and uncheck "Use Date Picker" for the Date property.
User and Group picker
We added a user and group picker that is used by default for all XClass properties of type "List of Users" and "List of Groups". When multiple selection is enabled, each selected user is added to the list above the picker. You can remove individual users from the list of selected users or you can clear the entire list.
In single selection mode whenever you select an user it overwrites the previously selected user.
The list of selected users is displayed in view mode in a similar way. For each user there is a link to their profile page.
The group picker behaves in the same way. The group alias is the name of the group document, the group name is the title of the group document while the group avatar is the first image attached to the group document.
The user and group picker can be configured to display a scope toggle that can be used to switch between local and global user/group suggestions.
You can check this if you edit a group from a subwiki (in a multiwiki environment).
New 'Title' and 'Content' fields for App Within Minutes
We added two new field types to the field palette: Title and Content. They are very useful if you want to store some of your data in the title and/or the content of your application entries. All the rest of the field types store their values in object properties, i.e. in an object attached to the application entry. See the App Within Minutes documentation for more details.
Miscellaneous
- Search Admin UI improvements ():
- Automatically register translations for the FAQ and IRCBot applications
See the full list of JIRA issues fixed in this release.
For Developers
New Localization Module
A new localization module has been introduced to replace the old XWikiMessageTool.
See Localization Module for more details.
REST API Improvements
Some improvements have been done to the REST API with respect to wiki management.
- XARs can be imported in Wikis by POSTing it to the /wikis/{wikiName}
- New wikis can be created using the /wikimanager resource. (This resource is only available with XWiki Enterprise Manager)
For more information see XWiki RESTful API
In addition there was an XWiki REST API refactoring done with the introduction of a new xwiki-platform-rest-api module containing all resource declarations. This is important for client and modules willing to use the REST API so that they can have all the information about resources using Java annotation. See XWiki RESTful API.
Easy creation of new XClass property types
It's now possible to create your own XClass property types without having to patch XWiki's old core. Adding a new property type is as easy as implementing a component. This means you can extend the class editor and even the App Within Minutes.
Execution context property declarations
Execution context properties can now be associated with various metadata attributes. See the documentation on the execution context for more information.
New Scope property for wiki components and UI extensions
A scope can now be defined for wiki components and UI extensions, it allows to restrict for which wiki(s) or which user they will be available:
- Current Wiki, the component/UI extension will be available in the current wiki
- Global, the component/UI extension will be available in all the wikis (wiki farms)
- Current User, the component/UI extension will only be available for its author
Upgrades
The following dependencies have been upgraded:
- guava 13.0.1
- Lucene 3.6.1
- XStream 1.4.3
- commons-io 2.4
- httpclient 4.2.2
- commons-configuration 1.9
- jcl-over-slf4j and log4j-over-slf4j 1.7.2
- Groovy 1.8.7 1.8.8
- JGroups 3.2.0.Final
- Xerces-J 2.10.0
- JavaMail 1.4.5
Miscellaneous
- Fixed a bug about incorrect results in multi-wiki lucene search in the REST API.
- Add a java.util.Locale converter which allow:
- using Locale in rendering macro parameter(s)
- support Java method with Locale parameter(s) in Velocity. See Method Arguments Uberspector for more details.
- Various String language based API of com.xpn.xwiki.XWiki and com.xpn.xwiki.doc.XWikiDocument classes are now deprecated for their newly introduced java.util.Locale equivalents.
Translations
The following translations have been updated:
Known issues
Backward Compatibility and Migration Notes
General Notes
You may also want to import the default wiki XAR in order to benefit from all the improvements listed above.
Issues specific to XWiki 4.3 Milestone 2
- The methods setUrlPatternMatcher and getUrlPatternMatcher have been removed from the core class com.xpn.xwiki.XWiki. The underlying URLPatternMatcher could not really be used as a singleton instance and was causing irregular failures in the basic authentication method. Thus these methods cannot be meaningfully relied upon and have therefore been removed.
- When setting the value using setValue (or setList) on a list field in an XWiki object, the list will now be copied. To be able to update the list, you must call getValue (or getList) and update the returned list. This is due to .
- The behaviour of com.xpn.xwiki.api.PropertyClass#getClassType() (public API) and com.xpn.xwiki.objects.classes.PropertyClass#getClassType() (protected API) has changed. They don't return the canonical Java class name of the property implementation anymore but an implementation hint. Here's the code:/**
* Each type of XClass property is identified by a string that specifies the data type of the property value (e.g.
* 'String', 'Number', 'Date') without disclosing implementation details. The internal implementation of an XClass
* property type can change over time but its {@code classType} should not.
* <p>
* The {@code classType} can be used as a hint to lookup various components related to this specific XClass property
* type. See {@link com.xpn.xwiki.internal.objects.classes.PropertyClassProvider} for instance.
*
* @return an identifier for the data type of the property value (e.g. 'String', 'Number', 'Date')
*/
public String getClassType()
{
// By default the hint is computed by removing the Class suffix, if present, from the Java simple class name
// (without the package). Subclasses can overwrite this method to use a different hint format.
return StringUtils.removeEnd(getClass().getSimpleName(), "Class");
}This means that instead of returning com.xpn.xwiki.objects.classes.DBListClass these methods now return DBList. This is due to .
API Breakages
The following APIs were modified since 4.2:
- [Young API] Introduce API to associate dependency status to the namespace.org.xwiki.extension.InstalledExtension: Method 'public boolean isDependency(java.lang.String)' has been added to an interface
- [Young API] Introduce ExtensionRepositoryDescriptor as a replacement of ExtensionRepositoryIdorg.xwiki.extension.ExtensionManagerConfiguration: Method 'public java.util.Collection getExtensionRepositoryDescriptors()' has been added to an interface
org.xwiki.extension.repository.ExtensionRepository: Method 'public org.xwiki.extension.repository.ExtensionRepositoryDescriptor getDescriptor()' has been added to an interface
org.xwiki.extension.repository.ExtensionRepositoryFactory: Method 'public org.xwiki.extension.repository.ExtensionRepository createRepository(org.xwiki.extension.repository.ExtensionRepositoryDescriptor)' has been added to an interface
org.xwiki.extension.repository.ExtensionRepositoryManager: Method 'public org.xwiki.extension.repository.ExtensionRepository addRepository(org.xwiki.extension.repository.ExtensionRepositoryDescriptor)' has been added to an interface
org.xwiki.extension.repository.ExtensionRepositorySource: Method 'public java.util.Collection getExtensionRepositoryDescriptors()' has been added to an interface
- The userdirectory and usertools plugins have been retiredcom.xpn.xwiki.plugin.userdirectory.Group: Class com.xpn.xwiki.plugin.userdirectory.Group removed
com.xpn.xwiki.plugin.userdirectory.UserDirectoryPlugin: Class com.xpn.xwiki.plugin.userdirectory.UserDirectoryPlugin removed
com.xpn.xwiki.plugin.userdirectory.UserDirectoryPluginAPI: Class com.xpn.xwiki.plugin.userdirectory.UserDirectoryPluginAPI removed
com.xpn.xwiki.plugin.usertools.XWikiUserManagementTools: Class com.xpn.xwiki.plugin.usertools.XWikiUserManagementTools removed
com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsAPI: Class com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsAPI removed
com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsImpl: Class com.xpn.xwiki.plugin.usertools.XWikiUserManagementToolsImpl removed
- This should be fixed: a new 'sendMessageFromTemplate' method was added before the 4.2 release and then removed only from master (4.3-SNAPSHOT). We need to decide what we do with this method.com.xpn.xwiki.plugin.mailsender.MailSender: Method 'public int sendMessageFromTemplate(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Map)' has been removed
- Many REST API module classes that were not meant to be public have been moved to internal package.org.xwiki.rest.ComponentsObjectFactory: Class org.xwiki.rest.ComponentsObjectFactory removed
org.xwiki.rest.Constants: Field ALLOWED_VALUES_ATTRIBUTE_NAME has been removed, but it was previously a constant
org.xwiki.rest.Constants: Field RELEASABLE_COMPONENT_REFERENCES has been removed, but it was previously a constant
org.xwiki.rest.Constants: Field XWIKI_COMPONENT_MANAGER has been removed, but it was previously a constant
org.xwiki.rest.DomainObjectFactory: Class org.xwiki.rest.DomainObjectFactory removed
org.xwiki.rest.RangeIterable: Class org.xwiki.rest.RangeIterable removed
org.xwiki.rest.Utils: Class org.xwiki.rest.Utils removed
org.xwiki.rest.XWikiAuthentication: Class org.xwiki.rest.XWikiAuthentication removed
org.xwiki.rest.XWikiJaxRsApplication: Class org.xwiki.rest.XWikiJaxRsApplication removed
org.xwiki.rest.XWikiRestletJaxRsApplication: Class org.xwiki.rest.XWikiRestletJaxRsApplication removed
org.xwiki.rest.XWikiRestletServlet: Class org.xwiki.rest.XWikiRestletServlet removed
org.xwiki.rest.XWikiSecretVerifier: Class org.xwiki.rest.XWikiSecretVerifier removed
org.xwiki.rest.XWikiSetupCleanupFilter: Class org.xwiki.rest.XWikiSetupCleanupFilter removed
org.xwiki.rest.exceptions.QueryExceptionMapper: Class org.xwiki.rest.exceptions.QueryExceptionMapper removed
org.xwiki.rest.exceptions.XWikiExceptionMapper: Class org.xwiki.rest.exceptions.XWikiExceptionMapper removed
org.xwiki.rest.representations.TextPlainReader: Class org.xwiki.rest.representations.TextPlainReader removed
org.xwiki.rest.representations.comments.FormUrlEncodedCommentReader: Class org.xwiki.rest.representations.comments.FormUrlEncodedCommentReader removed
org.xwiki.rest.representations.comments.TextPlainCommentReader: Class org.xwiki.rest.representations.comments.TextPlainCommentReader removed
org.xwiki.rest.representations.objects.FormUrlEncodedObjectReader: Class org.xwiki.rest.representations.objects.FormUrlEncodedObjectReader removed
org.xwiki.rest.representations.objects.FormUrlEncodedPropertyReader: Class org.xwiki.rest.representations.objects.FormUrlEncodedPropertyReader removed
org.xwiki.rest.representations.objects.TextPlainPropertyReader: Class org.xwiki.rest.representations.objects.TextPlainPropertyReader removed
org.xwiki.rest.representations.pages.FormUrlEncodedPageReader: Class org.xwiki.rest.representations.pages.FormUrlEncodedPageReader removed
org.xwiki.rest.representations.pages.TextPlainPageReader: Class org.xwiki.rest.representations.pages.TextPlainPageReader removed
org.xwiki.rest.representations.tags.FormUrlEncodedTagsReader: Class org.xwiki.rest.representations.tags.FormUrlEncodedTagsReader removed
org.xwiki.rest.representations.tags.TextPlainTagsReader: Class org.xwiki.rest.representations.tags.TextPlainTagsReader removed
org.xwiki.rest.resources.BaseAttachmentsResource: Class org.xwiki.rest.resources.BaseAttachmentsResource removed
org.xwiki.rest.resources.BaseAttachmentsResource$AttachmentInfo: Class org.xwiki.rest.resources.BaseAttachmentsResource$AttachmentInfo removed
org.xwiki.rest.resources.BaseSearchResult: Class org.xwiki.rest.resources.BaseSearchResult removed
org.xwiki.rest.resources.BaseSearchResult$SearchScope: Class org.xwiki.rest.resources.BaseSearchResult$SearchScope removed
org.xwiki.rest.resources.BrowserAuthenticationResource: Class org.xwiki.rest.resources.BrowserAuthenticationResource removed
org.xwiki.rest.resources.ModificationsResource: Class org.xwiki.rest.resources.ModificationsResource removed
org.xwiki.rest.resources.RootResource: Class org.xwiki.rest.resources.RootResource removed
org.xwiki.rest.resources.SyntaxesResource: Class org.xwiki.rest.resources.SyntaxesResource removed
org.xwiki.rest.resources.attachments.AttachmentAtPageVersionResource: Class org.xwiki.rest.resources.attachments.AttachmentAtPageVersionResource removed
org.xwiki.rest.resources.attachments.AttachmentHistoryResource: Class org.xwiki.rest.resources.attachments.AttachmentHistoryResource removed
org.xwiki.rest.resources.attachments.AttachmentResource: Class org.xwiki.rest.resources.attachments.AttachmentResource removed
org.xwiki.rest.resources.attachments.AttachmentVersionResource: Class org.xwiki.rest.resources.attachments.AttachmentVersionResource removed
org.xwiki.rest.resources.attachments.AttachmentsAtPageVersionResource: Class org.xwiki.rest.resources.attachments.AttachmentsAtPageVersionResource removed
org.xwiki.rest.resources.attachments.AttachmentsResource: Class org.xwiki.rest.resources.attachments.AttachmentsResource removed
org.xwiki.rest.resources.classes.ClassPropertiesResource: Class org.xwiki.rest.resources.classes.ClassPropertiesResource removed
org.xwiki.rest.resources.classes.ClassPropertyResource: Class org.xwiki.rest.resources.classes.ClassPropertyResource removed
org.xwiki.rest.resources.classes.ClassResource: Class org.xwiki.rest.resources.classes.ClassResource removed
org.xwiki.rest.resources.classes.ClassesResource: Class org.xwiki.rest.resources.classes.ClassesResource removed
org.xwiki.rest.resources.comments.CommentResource: Class org.xwiki.rest.resources.comments.CommentResource removed
org.xwiki.rest.resources.comments.CommentVersionResource: Class org.xwiki.rest.resources.comments.CommentVersionResource removed
org.xwiki.rest.resources.comments.CommentsResource: Class org.xwiki.rest.resources.comments.CommentsResource removed
org.xwiki.rest.resources.comments.CommentsVersionResource: Class org.xwiki.rest.resources.comments.CommentsVersionResource removed
org.xwiki.rest.resources.objects.AllObjectsForClassNameResource: Class org.xwiki.rest.resources.objects.AllObjectsForClassNameResource removed
org.xwiki.rest.resources.objects.BaseObjectsResource: Class org.xwiki.rest.resources.objects.BaseObjectsResource removed
org.xwiki.rest.resources.objects.ObjectAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectAtPageVersionResource removed
org.xwiki.rest.resources.objects.ObjectPropertiesAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectPropertiesAtPageVersionResource removed
org.xwiki.rest.resources.objects.ObjectPropertiesResource: Class org.xwiki.rest.resources.objects.ObjectPropertiesResource removed
org.xwiki.rest.resources.objects.ObjectPropertyAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectPropertyAtPageVersionResource removed
org.xwiki.rest.resources.objects.ObjectPropertyResource: Class org.xwiki.rest.resources.objects.ObjectPropertyResource removed
org.xwiki.rest.resources.objects.ObjectResource: Class org.xwiki.rest.resources.objects.ObjectResource removed
org.xwiki.rest.resources.objects.ObjectsAtPageVersionResource: Class org.xwiki.rest.resources.objects.ObjectsAtPageVersionResource removed
org.xwiki.rest.resources.objects.ObjectsForClassNameResource: Class org.xwiki.rest.resources.objects.ObjectsForClassNameResource removed
org.xwiki.rest.resources.objects.ObjectsResource: Class org.xwiki.rest.resources.objects.ObjectsResource removed
org.xwiki.rest.resources.pages.ModifiablePageResource: Class org.xwiki.rest.resources.pages.ModifiablePageResource removed
org.xwiki.rest.resources.pages.PageChildrenResource: Class org.xwiki.rest.resources.pages.PageChildrenResource removed
org.xwiki.rest.resources.pages.PageHistoryResource: Class org.xwiki.rest.resources.pages.PageHistoryResource removed
org.xwiki.rest.resources.pages.PageResource: Class org.xwiki.rest.resources.pages.PageResource removed
org.xwiki.rest.resources.pages.PageTagsResource: Class org.xwiki.rest.resources.pages.PageTagsResource removed
org.xwiki.rest.resources.pages.PageTranslationHistoryResource: Class org.xwiki.rest.resources.pages.PageTranslationHistoryResource removed
org.xwiki.rest.resources.pages.PageTranslationResource: Class org.xwiki.rest.resources.pages.PageTranslationResource removed
org.xwiki.rest.resources.pages.PageTranslationVersionResource: Class org.xwiki.rest.resources.pages.PageTranslationVersionResource removed
org.xwiki.rest.resources.pages.PageTranslationsResource: Class org.xwiki.rest.resources.pages.PageTranslationsResource removed
org.xwiki.rest.resources.pages.PageVersionResource: Class org.xwiki.rest.resources.pages.PageVersionResource removed
org.xwiki.rest.resources.pages.PagesResource: Class org.xwiki.rest.resources.pages.PagesResource removed
org.xwiki.rest.resources.spaces.SpaceAttachmentsResource: Class org.xwiki.rest.resources.spaces.SpaceAttachmentsResource removed
org.xwiki.rest.resources.spaces.SpaceResource: Class org.xwiki.rest.resources.spaces.SpaceResource removed
org.xwiki.rest.resources.spaces.SpaceSearchResource: Class org.xwiki.rest.resources.spaces.SpaceSearchResource removed
org.xwiki.rest.resources.spaces.SpacesResource: Class org.xwiki.rest.resources.spaces.SpacesResource removed
org.xwiki.rest.resources.tags.PagesForTagsResource: Class org.xwiki.rest.resources.tags.PagesForTagsResource removed
org.xwiki.rest.resources.tags.TagsResource: Class org.xwiki.rest.resources.tags.TagsResource removed
org.xwiki.rest.resources.wikis.WikiAttachmentsResource: Class org.xwiki.rest.resources.wikis.WikiAttachmentsResource removed
org.xwiki.rest.resources.wikis.WikiPagesResource: Class org.xwiki.rest.resources.wikis.WikiPagesResource removed
org.xwiki.rest.resources.wikis.WikiSearchResource: Class org.xwiki.rest.resources.wikis.WikiSearchResource removed
org.xwiki.rest.resources.wikis.WikisResource: Class org.xwiki.rest.resources.wikis.WikisResource removed
- The version field has been moved from Page to PageSummary which is the superclass of Pageorg.xwiki.rest.model.jaxb.Page: Removed field version
- Added methods for creating workspaces and retrieving workspace templates.org.xwiki.workspace.WorkspaceManager: Method 'public com.xpn.xwiki.plugin.wikimanager.doc.XWikiServer createWorkspace(java.lang.String, com.xpn.xwiki.plugin.wikimanager.doc.XWikiServer, java.lang.String)' has been added to an interface
org.xwiki.workspace.WorkspaceManager: Method 'public java.util.List getWorkspaceTemplates()' has been added to an interface
- The plugin has been moved to its own module. Not a breakage.com.xpn.xwiki.plugin.feed.FeedPlugin: Class com.xpn.xwiki.plugin.feed.FeedPlugin removed
com.xpn.xwiki.plugin.feed.FeedPlugin$EntriesComparator: Class com.xpn.xwiki.plugin.feed.FeedPlugin$EntriesComparator removed
com.xpn.xwiki.plugin.feed.FeedPlugin$SyndEntryComparator: Class com.xpn.xwiki.plugin.feed.FeedPlugin$SyndEntryComparator removed
com.xpn.xwiki.plugin.feed.FeedPluginApi: Class com.xpn.xwiki.plugin.feed.FeedPluginApi removed
com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource: Class com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource removed
com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource$PropertySelector: Class com.xpn.xwiki.plugin.feed.SyndEntryDocumentSource$PropertySelector removed
com.xpn.xwiki.plugin.feed.SyndEntrySource: Class com.xpn.xwiki.plugin.feed.SyndEntrySource removed
com.xpn.xwiki.plugin.feed.SyndEntrySourceApi: Class com.xpn.xwiki.plugin.feed.SyndEntrySourceApi removed
com.xpn.xwiki.plugin.feed.UpdateThread: Class com.xpn.xwiki.plugin.feed.UpdateThread removed
com.xpn.xwiki.plugin.feed.XWikiFeedFetcher: Class com.xpn.xwiki.plugin.feed.XWikiFeedFetcher removed
com.xpn.xwiki.plugin.feed.XWikiFeedFetcher$CredentialSupplier: Class com.xpn.xwiki.plugin.feed.XWikiFeedFetcher$CredentialSupplier removed
- IRCBot is still a young API. Added a new initialize() method to support installing the IRC Bot application in a subwikiorg.xwiki.ircbot.IRCBot: Method 'public void initialize(java.lang.String)' has been added to an interface
- WikiComponent is still a young API. Moved the class to the internal packageorg.xwiki.component.wiki.MethodOutputHandler: Class org.xwiki.component.wiki.MethodOutputHandler removed
org.xwiki.component.wiki.WikiComponentInvocationHandler: Class org.xwiki.component.wiki.WikiComponentInvocationHandler removed
- WikiComponent is still a young API. Replaced the getRole() method with getRoleType() to implement XWIKI-8233, "Allow wiki components to implement parameterized types"org.xwiki.component.wiki.WikiComponent: Method 'public java.lang.Class getRole()' has been removed
org.xwiki.component.wiki.WikiComponent: Method 'public java.lang.reflect.Type getRoleType()' has been added to an interface
- WikiComponent is still a young API. Removed some unnecessary methodsorg.xwiki.component.wiki.WikiComponent: Method 'public java.util.Map getHandledMethods()' has been removed
org.xwiki.component.wiki.WikiComponent: Method 'public java.util.List getImplementedInterfaces()' has been removed
- WikiComponent is still a young API. Added this method to implement XWIKI-8234, "Allow wiki components to be registered at different levels (user / wiki / global)"org.xwiki.component.wiki.WikiComponent: Method 'public org.xwiki.model.reference.DocumentReference getAuthorReference()' has been added to an interface
org.xwiki.component.wiki.WikiComponent: Method 'public org.xwiki.component.wiki.WikiComponentScope getScope()' has been added to an interface
- UIExtension is still a young API. Replaced the List of Block by a Block since Block can now hold a list of Blockorg.xwiki.uiextension.UIExtension: Return type of method 'public java.util.List execute()' has been changed to org.xwiki.rendering.block.Block
- UIExtension is still a young API. getName() has been renamed to getId()org.xwiki.uiextension.UIExtension: Method 'public java.lang.String getId()' has been added to an interface
org.xwiki.uiextension.UIExtension: Method 'public java.lang.String getName()' has been removed
- Added a common method to all elements to set all the data from another element. Technically this does not really break anything because all elements are supposed to extends BaseElementcom.xpn.xwiki.objects.ElementInterface: Method 'public boolean apply(com.xpn.xwiki.objects.ElementInterface, boolean)' has been added to an interface
- Elemenents must be added to the wrapping NotifyOnList to ensure that the property is marked 'dirty' when updated. To avoid that this mechanism is circumvented, the field is made final.com.xpn.xwiki.objects.ListProperty: Field list is now final
- Removed language field because the information is now stored as Locale instead of String and it should have never been protected anyway.com.xpn.xwiki.doc.XWikiDocument: Removed field language
- URLPatternMatcher instances cannot generally be reused (because the underlaying Perl5Matcher cannot be reused) on different strings and with different patterns and a new instance must be produced on demand. It is, thus, meaningless to set an instance. If there is any code relying on this method, it is broken already. Thus, we should remove this without going through deprecation. We might as well remove the getter.com.xpn.xwiki.XWiki: Method 'public void setUrlPatternMatcher(org.securityfilter.filter.URLPatternMatcher)' has been removed
com.xpn.xwiki.XWiki: Method 'public org.securityfilter.filter.URLPatternMatcher getUrlPatternMatcher()' has been removed
- Removed unused fieldcom.xpn.xwiki.tool.backup.ImportMojo: Field MPNAME_DESCRIPTION has been removed, but it was previously a constant