Release Notes for XWiki 14.9-rc-1
This is the release notes for XWiki Commons, XWiki Rendering and XWiki Platform. They share the same release notes as they are released together and have the same version.
This releases improves the new client-side PDF Export feature (still experimental but getting closer to being production ready) by offering the ability to configure it in the Admin UI and by enhancing the default template. It also fixes bugs and especially several security bugs, making it a recommended upgrade.
New and Noteworthy (since XWiki 14.8)
Full list of issues fixed and Dashboard for 14.9.
For Users
Improved PDF Template
The default PDF template provided by the PDF Export Application has now better support for multi-page export:
- the title of each exported wiki page is now included both in the content and in the table of contents (and from 14.9 final it is also styled differently in order to distinguish it from normal content headings)
- the PDF header shows the title of the "current" wiki page, i.e. the wiki page that provided the content for the current PDF page
- each exported wiki page starts on a new PDF page
Checkout the documentation for more information.
Figure macro type configuration
Is is now possible to manually set the type of a figure macro, instead of relying on the automatic type detection feature.
Attachment selector can use the temporary attachment store
When uploading an attachment using the attachment selector, and the attachment has savemode sets to form, new attachments are not saved directly on the document anymore.
Instead, the attachment is kept in a temporary attachment store and only persisted when the form containing the attachment selector is saved.
Temporary attachments are presented with a clock icon () when presented in the attachments selection modal.
Miscellaneous
Enable the lightbox view for images by default: The lighbox feature is now enabled by default.
For Admins
PDF Export Administration
The administration section provided by the PDF Export Application has been extended to support:
- selecting and configuring the tool used to generated the PDF
- showing the state of the PDF generator
- and since 14.9 final, setting the page ready timeout, that is the number of seconds to wait for the web page to be ready for print before aborting the PDF export
Checkout the documentation for more information.
For Developers
No changes!
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):
- node 16.17.0
- log4j API 2.19.0
- Snakeyaml 1.33
- Protostream 4.5.0.Final
- Protobuf Java 3.21.7
- Netty 4.1.82.Final
- MariaDB connector 3.0.8
- Joda-Time 2.11.2
- Jetty Client 9.4.49.v20220914
- Javassist 3.29.2-GA
- Jackson Databind 2.13.4.2
- Infinispan 13.0.11.Final
- ICU4J 71.1
- Hibernate 5.6.12
- Groovy 3.0.13
- Error Prone annotations 2.16
- Commons Text 1.10.0
- Closure Compiler v20221004
- Checker Qual 3.26.0
- Byte Buddy 1.12.17
- Bouncy Castle 1.72
- Batik 1.15
- Apache PDFBox 2.0.27
- ASM 9.4
- Jython 2.7.3
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 | Tested on: | |
---|---|---|
Mozilla Firefox 106 | Tests run and results | |
Google Chrome 106 | Jira Tickets Marked as Fixed in the Release Notes | |
Microsoft Edge 106 | Not tested | |
Safari 15 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Tested on: | |
---|---|---|
HyperSQL 2.7.0 | Not Tested | |
PostgreSQL 14 | Not Tested | |
MariaDB 10.6 | ||
MySQL 8 | Not Tested | |
Oracle 19c | Not Tested |
Here is the list of Servlet Containers we support and how they have been tested for this release:
Servlet Container | Tested on: | |
---|---|---|
Tomcat 9.0.68 | ||
Jetty 10.0.7 (XWiki Standalone packaging) | Not Tested | |
Jetty 10.0.7 | Not Tested |
Known issues
Backward Compatibility and Migration Notes
General Notes
- When upgrading make sure you compare and merge the following XWiki configuration files since some parameters may have been modified, removed or added:
- xwiki.cfg
- xwiki.properties
- web.xml
- hibernate.cfg.xml
- Add xwiki.store.migration=1 in xwiki.cfg so that XWiki will attempt to automatically migrate your current database to any new schema. Make sure you backup your Database before doing anything.
Issues specific to XWiki 14.9-rc-1
Right check for Javascript and StyleSheet XObject
In order to execute the scripts contained in xobjects (javascript XObject or stylesheet XObject) it's now necessary that the author of the page holding those xobjects has script rights.
API Breakages
The following APIs were modified since XWiki 14.8:
Unstable APIs
Not real backward compatibility breakages since they were done on APIs marked @Unstable (a.k.a Young APIs). Thus it's part of the contract that they can be broken until they become stable. They're listed purely for reference in case you decided to still use them (and thus agreed to be broken).
- Unstable API change: Script services are not supposed to expose classes from com.xpn.xwiki.doc.*
- Violation type:java.method.returnTypeChanged
- Code:## Old:
method com.xpn.xwiki.doc.XWikiAttachment org.xwiki.store.script.TemporaryAttachmentsScriptService::uploadTemporaryAttachment(org.xwiki.model.reference.DocumentReference, java.lang.String)
## New:
method com.xpn.xwiki.api.Attachment org.xwiki.store.script.TemporaryAttachmentsScriptService::uploadTemporaryAttachment(org.xwiki.model.reference.DocumentReference, java.lang.String)
- Violation type:
- We can't provide a default implementation for this new method, it needs to be implemented on upgrade
- Violation type:java.method.addedToInterface
- Code:## Old:
## New:
method com.xpn.xwiki.doc.XWikiAttachment org.xwiki.store.TemporaryAttachmentSessionsManager::uploadAttachment(org.xwiki.model.reference.DocumentReference, javax.servlet.http.Part, java.lang.String) throws org.xwiki.store.TemporaryAttachmentException
- Violation type:
Credits
The following people have contributed code and translations to this release (sorted alphabetically):
Gankov Andrey
Manuel Leduc
Marius Dumitru Florea
Nikita Petrenko
Oana-Lavinia Florean
Simon Urli
Simpel
Thomas Mortagne
Vincent Massol
acotiuga
nouman
xrichard