Release Notes for XWiki 5.0 Release Candidate 1
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 mostly a stabilization release leading to 5.0 but we included a few bonus items: Distribution Wizard improvements to support multiwiki use cases and the ability to see which extensions have updates.
New and Noteworthy (since XWiki 5.0 M2)
Full list of issues fixed and Dashboard for 5.0.
New wiki mode in distribution wizard
By default you can now get the same distribution wizard you used to have for main wiki only on subwikis too. When enabled it means that each wiki administrator is able to take care of his own wiki upgrade and farm administrator will only deal with main wiki.
There is two modes:
- ALL IN ONE: the former Distribution Wizard behavior where everything is done at main wiki level
- WIKI: on main wiki only the main wiki is upgraded and each wiki gets its own Distribution Wizard and its own status
A new step to setup the upgrade mode has been added.
Extension Updater
We added a new section to the Extension Manager administration UI that lists the available extension updates.
Miscellaneous
- Automatically register translations for the Annotations application
Full Issue List
For Developers
Joda Time plugin adds Duration API
The Joda Time plugin API was extended with 2 new methods for creating durations. Here's an example:
#set ($endDate = $xwiki.jodatime.getDateTime($endDateTimeStamp))
#set ($currentDate = $xwiki.jodatime.getDateTime())
#set ($duration = $xwiki.jodatime.getDuration($endDate, $currentDate))
The number of days passed since the end date is: $duration.standardDays
{{/velocity}}
Check the Duration javadoc for more information.
Deprecated and Retired projects
No deprecated nor retired projects in this release.
Upgrades
The following dependencies have been upgraded:
- Groovy 2.1.3
- Joda Time 2.2
Translations
The following translations have been updated:
- Catalan
- Czech
- Danish
- German
- Spanish
- French
- Galician
- Italian
- Korean
- Latvian
- Dutch
- Portuguese
- Portuguese (Brazil)
- Romanian
- Russian
- Slovak
- Swedish
- Ukrainian
- Simplified Chinese
- Traditional Chinese
Tested Browsers & Databases
Here's the list of browsers we support and how they've been tested specifically for this release:
Browser | Tested | Details | |
---|---|---|---|
Google Chrome 26 | Partially | Most of these issues marked as tested | |
Mozilla Firefox 20 | Not Tested | ||
Internet Explorer 8 | Partially | ||
Internet Explorer 9 | Partially |
Here's the list of databases we support and how they've been tested specifically for this release:
Database | Tested | Details | |
---|---|---|---|
HyperSQL 2.2.9 | Partially | Tested a clean Manager Install These issues marked as tested | |
MySQL 5.6.10 | Partially | Tested a clean Manager Install Tested migration from 3.5.1. | |
Oracle 11.2 | Partially | Tested a clean Manager Install | |
PostgreSQL 9.1.3 | Partially | Tested a clean Manager Install |
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 5.0 Release Candidate 1
- The xwikistringlists table added in 5.0M2 has been removed and that change is postponed to 5.1M1 due to serious migration issues.
API Breakages
The following APIs were modified since XWiki 4.5.3:
- [Young API] Made public by mistake:org.xwiki.job.AbstractJob: Class org.xwiki.job.AbstractJob removed
- [Young API] Interfaces missing methods for uninstalling an Extension and the notion of "Features" means that an upgraded extension can have several previous extensions:org.xwiki.extension.handler.ExtensionHandler: Method 'public void uninstall(org.xwiki.extension.InstalledExtension, java.lang.String, org.xwiki.job.Request)' has been added to an interface
org.xwiki.extension.handler.ExtensionHandlerManager: Method 'public void uninstall(org.xwiki.extension.InstalledExtension, java.lang.String, org.xwiki.job.Request)' has been added to an interface - [Young API] The notion of "Features" means that an upgraded extension can have several previous extensions:org.xwiki.extension.handler.ExtensionHandler: Method 'public void upgrade(java.util.Collection, org.xwiki.extension.LocalExtension, java.lang.String, org.xwiki.job.Request)' has been added to an interface
org.xwiki.extension.handler.ExtensionHandlerManager: Method 'public void upgrade(java.util.Collection, org.xwiki.extension.LocalExtension, java.lang.String, org.xwiki.job.Request)' has been added to an interface
org.xwiki.extension.job.plan.ExtensionPlanAction: Method 'public java.util.Collection getPreviousExtensions()' has been added to an interface - XRENDERING-283: XDOM#clone() doesn't clone the meta data:org.xwiki.rendering.block.MetaDataBlock: Return type of method 'public org.xwiki.rendering.block.Block clone()' has been changed to org.xwiki.rendering.block.MetaDataBlock
- [Young API] Added support for any kind of source:org.xwiki.localization.Translation: Return type of method 'public java.lang.String getRawSource()' has been changed to java.lang.Object
- [Young API] org.xwiki.localization.internal.message.TranslationMessageElement interface has been made public:org.xwiki.localization.message.TranslationMessage: Removed org.xwiki.localization.internal.message.TranslationMessageElement from the set of implemented interfaces
- Added new translation keys. This interface is not meant to be implemented anyway:org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String importOfficeContentFilterStylesCheckBoxHint()' has been added to an interface
org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String importOfficeFileUseOfficeViewerCheckBoxHint()' has been added to an interface
org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String importOfficeFileUseOfficeViewerCheckBoxLabel()' has been added to an interface - Added a new configuration property for the WYSIWYG Editor:org.xwiki.wysiwyg.server.WysiwygEditorConfiguration: Method 'public java.lang.Boolean isPasteContentCleanedAutomatically()' has been added to an interface
- APIs added in 4.5.2 only to fix a bug but are not supposed to be used:com.xpn.xwiki.web.XWikiMessageTool: Removed field xcontextProvider
com.xpn.xwiki.web.XWikiMessageTool: In method 'public XWikiMessageTool(org.xwiki.localization.LocalizationManager, org.xwiki.component.manager.ComponentManager, javax.inject.Provider)' the number of arguments has changed
com.xpn.xwiki.web.XWikiMessageTool: Method 'public XWikiMessageTool(org.xwiki.localization.LocalizationManager, org.xwiki.component.manager.ComponentManager, com.xpn.xwiki.XWikiContext)' has been removed
org.xwiki.workspace.WorkspaceManagerMessageTool: Method 'public WorkspaceManagerMessageTool(javax.inject.Provider)' has been removed
org.xwiki.workspace.WorkspaceWikiManagerMessageTool: Class org.xwiki.workspace.WorkspaceWikiManagerMessageTool removed - Was not supposed to be exposed publicly (dangerous):org.xwiki.security.authorization.cache.SecurityCache: Method 'public void add(org.xwiki.security.authorization.SecurityRuleEntry)' has been removed
org.xwiki.security.authorization.cache.SecurityCache: Method 'public void add(org.xwiki.security.authorization.SecurityAccessEntry)' has been removed
org.xwiki.security.authorization.cache.SecurityCache: Method 'public void add(org.xwiki.security.authorization.SecurityRuleEntry, java.util.Collection)' has been removed - Remove dependency on Portlet API from old core:com.xpn.xwiki.web.XWikiForm: Method 'public void reset(org.apache.struts.action.ActionMapping, javax.portlet.RenderRequest)' has been removed
com.xpn.xwiki.web.XWikiForm: Method 'public void setRequest(javax.portlet.PortletRequest)' has been removed
com.xpn.xwiki.web.XWikiPortlet: Class com.xpn.xwiki.web.XWikiPortlet removed
com.xpn.xwiki.web.XWikiPortletContext: Class com.xpn.xwiki.web.XWikiPortletContext removed
com.xpn.xwiki.web.XWikiPortletRequest: Class com.xpn.xwiki.web.XWikiPortletRequest removed
com.xpn.xwiki.web.XWikiPortletResponse: Class com.xpn.xwiki.web.XWikiPortletResponse removed
com.xpn.xwiki.web.XWikiPortletURLFactory: Class com.xpn.xwiki.web.XWikiPortletURLFactory removed
com.xpn.xwiki.web.XWikiRequest: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiRequest: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiRequest: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiResponse: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiResponse: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiResponse: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletRequest: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequestStub: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequestStub: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletRequestStub: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponse: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponse: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void addProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public javax.portlet.PortletURL createActionURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public javax.portlet.PortletURL createRenderURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public java.lang.String getNamespace()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public java.io.OutputStream getPortletOutputStream()' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setPortletMode(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setRenderParameter(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setRenderParameter(java.lang.String, java.lang.String[])' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setRenderParameters(java.util.Map)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setTitle(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponse: Method 'public void setWindowState(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponseStub: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponseStub: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void addProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createActionURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createRenderURL()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public java.lang.String getNamespace()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public java.io.OutputStream getPortletOutputStream()' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setPortletMode(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String[])' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setRenderParameters(java.util.Map)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setTitle(java.lang.String)' has been removed
com.xpn.xwiki.web.XWikiServletResponseStub: Method 'public void setWindowState(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletRequestStub: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Removed javax.portlet.ActionResponse from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Removed javax.portlet.PortletResponse from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Removed javax.portlet.RenderResponse from the set of implemented interfaces
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void addProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createActionURL()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public javax.portlet.PortletURL createRenderURL()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public java.lang.String getNamespace()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public java.io.OutputStream getPortletOutputStream()' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setPortletMode(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setProperty(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setRenderParameter(java.lang.String, java.lang.String[])' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setRenderParameters(java.util.Map)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setTitle(java.lang.String)' has been removed
com.xpn.xwiki.plugin.scheduler.XWikiServletResponseStub: Method 'public void setWindowState(javax.portlet.WindowState)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Removed javax.portlet.ActionRequest from the set of implemented interfaces
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Removed javax.portlet.PortletRequest from the set of implemented interfaces
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Removed javax.portlet.RenderRequest from the set of implemented interfaces
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortalContext getPortalContext()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.io.InputStream getPortletInputStream()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletMode getPortletMode()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletSession getPortletSession()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletSession getPortletSession(boolean)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.PortletPreferences getPreferences()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.util.Enumeration getProperties(java.lang.String)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.lang.String getProperty(java.lang.String)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.util.Enumeration getPropertyNames()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.lang.String getResponseContentType()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public java.util.Enumeration getResponseContentTypes()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public javax.portlet.WindowState getWindowState()' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public boolean isPortletModeAllowed(javax.portlet.PortletMode)' has been removed
com.xpn.xwiki.gwt.api.server.XWikiRequestWrapper: Method 'public boolean isWindowStateAllowed(javax.portlet.WindowState)' has been removed