Release Notes for XWiki 5.3 Milestone 1
This is the release notes for XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise. They share the same release notes as they are released together and have the same version.
This is more a developer oriented release with new Extension Manager APIs, an XWiki Enterprise Maven Archetype, XAR plugin improvements and fold observation events but it also has a number of bug fixes (36) and improvements (22) that the users will appreciate.
New and Noteworthy (since XWiki 5.2)
Full list of issues fixed and Dashboard for 5.3.
Miscellaneous
- Some XSS fixes.
- By default only results from XE instance pings and for non-snapshot versions are counted in Active Installs.
- When a new wiki is created from the Add Wiki Wizard, its Activity Stream is now empty.
See the full list of JIRA issues fixed in this release.
For Developers
DocumentReference Locale now taken into account in XWiki#exists and XWiki#getDocument
You can now use XWiki#exist method to check for some translation existence too, before that the only way was to either load the XWikiDocument or write your own XWQL or HQL query.
XWiki#getDocument has been modified accordingly too to be consistent so you don't need to go through XWikiDocument#getTranslatedDocument anymore.
It also mean that you need to be careful of what Locale is in the DocumentReference with those APIs now.
New Extension Manager APIs
Extension sub script services
The extension service now expose an extension point for extension related script service so that it's used as entry point for all of them.
By default the following are provided:
- $services.extension.core (for core extensions APIs)
- $services.extension.local (for local extensions APIs)
- $services.extension.installed (for installed extensions APIs)
- $services.extension.xar (for XAR extension APIS)
Search for installed extension in a specific namespace
The following method has been added org.xwiki.extension.repository.InstalledExtensionRepository:
* Search installed extensions based of the provided pattern and only in the passed namespace.
* <p>
* The pattern is a simple character chain.
*
* @param pattern the pattern to search
* @param namespace the namespace where to search
* @param offset the offset from where to start returning search results
* @param nb the maximum number of search results to return
* @return the found extensions descriptors, empty list if nothing could be found
* @throws SearchException error when trying to search provided pattern
* @since 5.3M1
*/
IterableResult<Extension> searchInstalledExtensions(String pattern, String namespace, int offset, int nb) throws SearchException;
XWiki Enterprise Archetype
A new archetype is now available to easily create your own product based on XWiki Enterprise. To use:
-DarchetypeArtifactId=xwiki-enterprise-archetype \
-DarchetypeGroupId=org.xwiki.enterprise \
-DarchetypeVersion=5.3-milestone-1
XAR plugin improvements
The XAR plugin now provides the ability to change values in the XML pages. For example:
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-xar-plugin</artifactId>
<configuration>
<transformations>
<transformation>
<file>Blog/WebHome.xml</file>
<xpath>/xwikidoc/object/property/itemsPerPage</xpath>
<value>100</value>
</transformation>
<transformation>
<artifact>org.xwiki.platform:xwiki-platform-administration-ui</artifact>
<file>XWiki/XWikiPreferences.xml</file>
<xpath>/xwikidoc/object/property/colorTheme</xpath>
<value>ColorThemes.Mint</value>
</transformation>
</transformations>
</configuration>
</plugin>
Fold Events
A new kind of event is now available. An event tagged as "Fold" can be sent by a task that generates some events during its execution. Then, these generated events can be seen as children of the main task. In addition, the Activity Stream will not record these child events.
More documentation available on the Observation Module page.
Miscellaneous
- Script Services implementations have been moved outside of the internal package in order for CLIRR to check them for backward incompatibilities and so that their API are made available in generated Javadoc.
Upgrades
The following dependencies have been upgraded:
Translations
The following translations have been updated:
Tested Browsers & Databases
Here is the list of browsers we support and how they have been tested for this release:
Browser | Status | |
---|---|---|
Google Chrome 30 | Jira Tickets Marked as Fixed in the Release Notes | |
Mozilla Firefox 24 | Not Tested | |
Internet Explorer 8 | Not Tested | |
Internet Explorer 9 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Status | |
---|---|---|
HyperSQL 2.3.0 | Jira Tickets Marked as Fixed in the Release Notes | |
MySQL 5.6.10 | Not Tested | |
Oracle 11.2 | Not Tested | |
PostgreSQL 9.2.4 | Not Tested |
Known issues
Backward Compatibility and Migration Notes
General Notes
General Notes
When upgrading make sure you compare your xwiki.cfg, xwiki.properties and web.xml files with the newest version since some configuration parameters may have been modified or added. Note that you should add xwiki.store.migration=1 so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.
API Breakages
The following APIs were modified since XWiki 5.2:
- Very young API. Never fully worked.
org.xwiki.xml.stax.SAXEventWriter: Removed org.xwiki.xml.stax.SAXEventConsumer from the list of superclasses
- Requesting a dependency without indicating the namespace does not really make sense. This interface is not really supposed to be implemented anyway.
- Needed to filter search by namespace. This interface is not really supposed to be implemented anyway.
- Young API.
- Young API that has been refactored to introduce the new Resource module.
org.xwiki.url.URLCreationException: Class org.xwiki.url.URLCreationException removed
org.xwiki.url.UnsupportedURLException: Class org.xwiki.url.UnsupportedURLException removed
org.xwiki.url.XWikiEntityURL: Class org.xwiki.url.XWikiEntityURL removed
org.xwiki.url.XWikiURL: Class org.xwiki.url.XWikiURL removed
org.xwiki.url.XWikiURLFactory: Class org.xwiki.url.XWikiURLFactory removed
org.xwiki.url.XWikiURLManager: Class org.xwiki.url.XWikiURLManager removed
org.xwiki.url.XWikiURLSerializer: Class org.xwiki.url.XWikiURLSerializer removed
org.xwiki.url.XWikiURLType: Class org.xwiki.url.XWikiURLType removed
- XWikiURL (now Resource) should only be in the Execution Context and not in the Request.
org.xwiki.container.servlet.ServletRequest: Method 'public void setXWikiURL(org.xwiki.url.XWikiURL)' has been removed
org.xwiki.container.portlet.PortletRequest: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed
org.xwiki.container.portlet.PortletRequest: Method 'public void setXWikiURL(org.xwiki.url.XWikiURL)' has been removed
org.xwiki.container.Request: Field XWIKI_URL has been removed, but it was previously a constant