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.
<insert description of release here>
New and Noteworthy (since XWiki 4.3 Milestone 2)
<feature N>
<description of feature N>
Miscellaneous
<insert misc user stuff and important bug fix descriptions here in a list, when they are too small to warrant a section by themselves - Change the version in the URL below!>
See the full list of JIRA issues fixed in this release.
For Developers
<developer feature N>
<description of developer feature N>
Deprecated and Retired projects
<description of deprecated and retired projects>
Upgrades
The following dependencies have been upgraded:
Miscellaneous
<other dev stuff to add and link to JIRA for all issues fixed>
Translations
The following translations have been updated:
Tested Browsers
Here's the list of browsers tested with this version (i.e. browsers that we've tested as working - Check the list of supported browsers):
Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:ReleaseNotes.ReleaseNotesXWiki43RC1]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.
- x.x
Known issues
Test Report
You can check the manual test report to learn about what was tested and the results on various browsers.
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 <version>
<issues specific to the project>
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 ExtensionRepositoryId
org.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 retired
com.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.Relations: Class org.xwiki.rest.Relations 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 Page
org.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 subwiki
org.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 package
org.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 methods
org.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 Block
org.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 BaseElement
com.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 field
com.xpn.xwiki.tool.backup.ImportMojo: Field MPNAME_DESCRIPTION has been removed, but it was previously a constant