Release Notes for XWiki 9.0-rc-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 version opens the new 9.x cycle. It contains all improvements introduced in versions 8.4.1 to 8.4.4, and brings admin and developer features mostly. Among other things, XWiki deals better with big attachments now.
New and Noteworthy (since XWiki 8.4.4)
Full list of issues fixed and Dashboard for 9.0.
For Users
No changes!
For Admins
New filesystem recycle bin: To work around database limitation when deleting documents with a lot of attachments a new file recycle bin component has been introduced.
You can enable in xwiki.cfg configuration file with the following:
xwiki.store.recyclebin.content.hint=fileAdded support for attachments bigger than 2GB: Attachment sized used to be limited by the size of a Java integer (2,147,483,647), the size is now a long (9,223,372,036,854,775).
The Active Installs pings are now sent over HTTP using a User Agent of XWikiActiveInstalls. This is important since some servers (such as CloudFlare) consider requests that don't have a User Agent set as being "spammy" request and blocks them. This makes the Active Installs ping module a better citizen.
Features of extensions are now sent by active install. These are the various extension ids under which a given extension is known. Usually used to relocate extensions under a new extension id.
For Developers
Better handling of webjar extensions
A new webjars Maven extension is now available to package webjar extensions the "standard" way. It automate a bit of plumbing when producing webjar artifact with Maven and more importantly it explicitly indicate that those are webjar so that Extension Manager apply special handling for them (which usually means not requiring programming right to install them).
See WebJAR Maven Handler for more informations about the Maven plugin.
If you can't depend on 9.0 yet you can also use <xwiki.extension.jar.type>webjar</xwiki.extension.jar.type> Maven property which have pretty much the same effect from Extension Manager point of view (for someone installing your extension on 9.0+ of course).
XAR export/import changes
- The XML produced in XAR files is now following the XML 1.1 specification (instead of 1.0). Since it's mostly about supporting thing that were simply not working before there should not be any retro compatibility issues.
- All from/toXML methods located in classes like XWikiDocument, BaseObject, BaseClass, etc. are now based on Filter modules which became the only way to produce XAR XML format. The only difference remaining when using xwiki.action.export.xar.usefilter and xwiki.action.import.xar.usefilter properties in xwiki.cfg configuration file is the handling of the XAR packaging.
Filesystem templates now have programming right by default
It was decided to give filesystem template programming right by default. The used to be executed with the right of the current document.
Mandatory documents improvements
- AbstractMandatoryDocumentInitializer have been made public (and improved a bit). It's very useful to initialize documents/classes required by an extension and there is no reason to forbid contrib extensions to use it.
- An AbstractMandatoryClassInitializer base class have also been added to help class related mandatory initializers to concentrate on how they want the class to look like and not deal with how to migrate it anymore. Just need to implement createClass.
Option to use custom temporary file name for download
The temp action supports a new parameter (force-filename) to indicate the file to pass to the browser when force-download is enabled. See Standard URL Format for more.
Solr search without programming right
It's now possible to do Solr request without programming right. In such a case the result will be filtered based on current script author right.
Miscellaneous
Localization Script service allow passing the Locale to search for (instead of current Locale).
New Namespace class: A new org.xwiki.component.namespace.Namespace has been introduced to help manipulate namespace in components and extensions world. It's mostly a helper for now but will probably be used more and more in APIs.
DefaultReaderInputSource and DefaultWriterOutputTarget now support closing the wrapped Reader/Writer.
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering, XWiki Platform and XWiki Enterprise):
- Tika 1.14
- Bootstrap Select 1.12.0
- Jest 2.0.3
- JGroups 3.6.12
- Quartz Scheduler 2.2.3
- Joda-Time 2.9.6
- Solr 6.3.0
- httpcore 4.4.6
- Guava 20.0
- Jackson 2.8.6
- Infinispan 8.2.5
- Gson 2.8.0
- Logback 1.1.9
- Plexus component annotations 1.7.1
- slf4j 1.7.22
- Bouncy Castle 1.56
- commons-compress 1.13
- ASM 5.2
- cssparser 0.9.21
Translations
The following translations have been updated:
- Catalan
- Czech
- Danish
- German
- Spanish
- French
- Hindi
- Italian
- Latvian
- Dutch
- Norwegian
- Polish
- Portuguese (Brazil)
- Russian
- Slovak
- Swedish
- Turkish
- Vietnamese
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 | Not Tested | |
Mozilla Firefox | Not Tested | |
Internet Explorer 10 | Not Tested | |
Internet Explorer 11 | Jira Tickets Marked as Fixed in the Release Notes |
Here is the list of databases we support and how they have been tested for this release:
Database | Test Result | |
---|---|---|
HyperSQL | Not Tested | |
MySQL 5.7.13 | Jira Tickets Marked as Fixed in the Release Notes | |
Oracle | Not Tested | |
PostgreSQL | Not Tested |
Performances tests compared to <last super stable version>
<a summary of the comparison with latest super stable version>
More details on <link to the test report>.
Known issues
Backward Compatibility and Migration Notes
General Notes
When upgrading make sure you compare your
Issues specific to XWiki 9.0RC1
Attachment size column
In order to support attachment bigger than 2GB a new long based column has been added in the database. The filesize column is still working as it always did but it's now deprecated and and longSize should be used instead to be sure to deal with the real size of the attachment in case it's bigger than 2GB.
Filesystem templates rights
All filesystem templates now have programming right by default. They used to be executed with the right of the current document.
API Breakages
No APIs were modified since XWiki 8.4.
Credits
The following people have contributed code to this release (sorted alphabetically):
Alex Henrie
Ecaterina Moraru (Valica)
Eduard Moraru
Guillaume Delhumeau
Marius Dumitru Florea
Pascal Bastien
Sergiu Dumitriu
Thomas Mortagne
Veronika Koltunova
Vincent Massol