Release Notes for XWiki 8.3 Release Candidate 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.
The highlight of this release is the support of Recommended Extensions (both on extensions.xwiki.org and inside the Extension Manager UI in XWiki). Other changes consist in minor improvements and bug fixes.
New and Noteworthy (since XWiki 8.3 Milestone 2)
Full list of issues fixed and Dashboard for 8.3.
For Users
Extension Repository adds recommendations
The Extension Repository Application now supports the optional feature of being able to mark some Extensions as Recommended. This provides some form of curation and separate "good" Extensions from others. The need arises when there are lots of Extensions.
The screenshots show:
- The view when the Recommendation feature is turned on
- How a Recommended Extension is displayed with a badge showing it's Recommended
Miscellaneous
New parameters for the Gallery Macro: The Gallery Macro has 3 new parameters. You can use the width and height parameters to control the amount of space reserved for the gallery. The class parameter can be used to add custom CSS class names in order to customize the appearance of a gallery. Here's an example where we use the Bootstrap Grid system:
{{gallery class="col-xs-12 col-sm-6 col-md-4" width="" height="300px"}}
image:[email protected]
{{/gallery}}
For Admins
Display recommended extensions in the Extension Manager
Extension Manager is now displaying only recommended extension by default.
You can still switch to All Remote Extensions. If no recommended extension is can be found for the provided search, the result for All Remote Extensions is displayed.
Make most expensive steps more visible
The performance tree give interesting information but it was hard to see quickly which steps where causing performances issues.
Miscellaneous
It's now possible to disable core extension update at startup. See property extension.core.resolve in xwiki.properties.
For Developers
Templates from JARs
TemplateManager component now also search for templates in current Thread classloader which mean you can put your templates inside your JAR in the /templates folder. This is the last step to any JAR extension can provide default template which can be overwritten in a skin on in /template/ WAR resources.
Author Executor
It's now easier to execute code with a different author. Author is used to check SCRIPT and PROGRAMMING right. Example:
Miscellaneous
uid Reference serializers now supports Locales in DocumentReference. It's added at the end of the string representation, in the same way as for other parts of the reference (same as what XWikiDocument#getKey() was doing).
A new "instance" ScriptService has been introduced with an API to get the XWiki instance id. New methods will be added if needed. See Instance Module extension for more details.
It's now possible to directly create a pre-configured mail Session. See Mail Sender API.
"Recommended" concept has been added to Extension and Repository API
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 | Test Result | |
---|---|---|
Google Chrome 54 | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features | |
Mozilla Firefox | Not Tested | |
Internet Explorer 10 | Not Tested | |
Internet Explorer 11 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Test Result | |
---|---|---|
HyperSQL 2.3.4 | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features | |
MySQL | Not Tested | |
Oracle | Not Tested | |
PostgreSQL | Not Tested |
Known issues
Backward Compatibility and Migration 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.
Issues specific to XWiki 8.3 Release Candidate 1
None!
API Breakages
The following APIs were modified since XWiki 8.2.1:
- Align with ExtensionRepository API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.extension.repository.ExtensionRepositoryManager::search(java.lang.String, int, int)
## New:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.extension.repository.ExtensionRepositoryManager::search(java.lang.String, int, int) throws org.xwiki.extension.repository.search.SearchException
- Violation type:
- Align with ExtensionRepository API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.extension.repository.ExtensionRepositoryManager::search(org.xwiki.extension.repository.search.ExtensionQuery)
## New:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.extension.repository.ExtensionRepositoryManager::search(org.xwiki.extension.repository.search.ExtensionQuery) throws org.xwiki.extension.repository.search.SearchException
- Violation type:
- Young API. Remember the external name of the resource
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.lang.String org.xwiki.skin.Resource<I extends org.xwiki.filter.input.InputSource>::getResourceName()
- Violation type:
- Young API. Add helpers
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method org.xwiki.rendering.block.XDOM org.xwiki.template.TemplateManager::execute(org.xwiki.template.Template) throws java.lang.Exception
- Violation type:
- Young API. Add helpers
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method org.xwiki.rendering.block.XDOM org.xwiki.template.TemplateManager::executeNoException(org.xwiki.template.Template)
- Violation type:
- Young API. Add helpers
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method org.xwiki.rendering.block.XDOM org.xwiki.template.TemplateManager::getXDOM(org.xwiki.template.Template) throws java.lang.Exception
- Violation type:
- Young API. Add helpers
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method org.xwiki.rendering.block.XDOM org.xwiki.template.TemplateManager::getXDOMNoException(org.xwiki.template.Template)
- Violation type:
- Young API. Add helpers
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method void org.xwiki.template.TemplateManager::renderNoException(org.xwiki.template.Template, java.io.Writer)
- Violation type:
- Align with ExtensionRepository API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.platform.flavor.FlavorManager::getFlavors(org.xwiki.platform.flavor.FlavorQuery)
## New:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.platform.flavor.FlavorManager::getFlavors(org.xwiki.platform.flavor.FlavorQuery) throws org.xwiki.extension.repository.search.SearchException
- Violation type:
- Align with ExtensionRepository API
- Violation type:java.method.exception.checkedAdded
- Code:## Old:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.platform.flavor.FlavorManager::searchFlavors(org.xwiki.platform.flavor.FlavorQuery)
## New:
method org.xwiki.extension.repository.result.IterableResult<org.xwiki.extension.Extension> org.xwiki.platform.flavor.FlavorManager::searchFlavors(org.xwiki.platform.flavor.FlavorQuery) throws org.xwiki.extension.repository.search.SearchException
- Violation type:
- Was publicly exposing internal class
- Violation type:java.field.typeChanged
- Code:## Old:
field org.xwiki.mail.script.AbstractMailScriptService.sessionFactory
## New:
field org.xwiki.mail.script.AbstractMailScriptService.sessionFactory
- Violation type:
Credits
The following people have contributed code to this release (sorted alphabetically):
Alexandru Cotiuga
Denis Gervalle
Eduard Moraru
Manuel Smeria
Marius Dumitru Florea
Thibault Clauzier
Thomas Mortagne
Vincent Massol