Release Notes for XWiki 14.8
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 release brings links and attachments refactoring on the farm (i.e., cross wikis and sub-wikis), and an improved attachments listing now based on LiveData. In addition to the usual bug fixes (including 4 security fixes), this release also brings various improvements for administrators and developers.
New and Noteworthy (since XWiki 14.7)
Full list of issues fixed and Dashboard for 14.8.
For Users
PDF Export Application Improvements
The PDF Export Application (which is still experimental and not bundled in XWiki Standard) has a couple of improvements:
- The user's own web browser is now used by default to generate the PDF, but the application can still be configured to use a remote Chrome instance or one that runs inside a Docker container. Check out the migration section below for more information.
- When a remote (or Docker based) Chrome instance is used for PDF printing the application now checks if connection is working before showing the PDF export options. An error message is shown in case the Chrome browser can't be accessed.
- In case of PDF export failure, the last error message from the PDF export job log is now displayed.
- The underlying JavaScript library used for paginating the content before printing to PDF (PagedJS) has been upgraded to its latest version.
Replace the Livetable from the attachments tab with a LiveData
The attachments Livetable was updated to use the new LiveData.
Miscellaneous
Cross wiki refactoring of links by default: Cross wiki refactoring of links is now much faster (being in a different wiki does not anymore have any specific performance impact when refactoring links) and enabled by default.
For Admins
Indexing User
A new section to define a dedicated indexing user has been added in the "Search" category in the wiki administration.
The search index usually runs without a dedicated user. In some cases this creates minor issues when indexing the title of pages, e.g. in case of a closed wiki, where one cannot access as guest user the sheet that computes the user profile pages title as "Profile of «firstname» «lastname»". This is not possible unless the indexer is associated with a user that has access to the corresponding sheet. A new section in the "Search" category of the wiki administration allows to set an "indexing user", which is used to access the sheets which might be used to compute page titles.
If this setting is left empty, the stored plain title of the page name is shown as title of the search result for affected pages.
Please read the description and especially about the security implications before setting an indexing user.
Miscellaneous
Configurable hidden macros categories : The list of categories hidden by default, previously hard-coded to Internal and Deprecated, can now be configured using the rendering.transformation.macro.hiddenCategories property in xwiki.properties.
#-# [Since 14.8RC1]
#-# Override the default hidden macro categories.
#-# Note: the categories are case sensitive.
#-#
#-# The default value is:
# rendering.transformation.macro.hiddenCategories = Internal,Deprecated
#-#
#-# For instance, to make the "Development" category hidden by default, in addition to the "Internal" and
#-# "Deprecated" categories, you'd use:
# rendering.transformation.macro.hiddenCategories = Development,Internal,Deprecated
For Developers
Async Form Validation
A new JavaScript API is available to help implement asynchronous form validation. It can be used like this:
const titleInput = $('input[name=title]');
const validateTitle = () => {
if (!titleInput.val()) {
return Promise.reject();
} else {
return new Promise((resolve, reject) => {
...
});
}
};
titleInput.on('input', () => {
// Schedule the asynchronous validation after 500ms. The namespace is used to prevent replacing validations added by
// other modules.
titleInput.validateAsync(validateTitle, /* delay: */ 500, /* namespace: */ 'myModule');
});
});
Miscellaneous
Provide Raw content filtering mechanism for macros: A new rendering transformation component is now provided for macros to allow perform filtering of RawBlocks. A new API is provided, RawBlockFilter, with a first implementation for HTML raw blocks, used in html macro.
DocumentVersionReference is part of the model API: The DocumentVersionReference is now part of the model API: this reference API allows to manipulate a DocumentReference with a specific version attribute, allowing to specifically target a version of the document.
Hidden macro categories API: The MacroCategoryManager role gives access to the list of hidden macro categories.
@Role
public interface MacroCategoryManager
{
// [...]
/**
* @return the set of hidden categories (e.g., "Deprecated, Internal")
* @since 14.8RC1
*/
@Unstable
default Set<String> getHiddenCategories()
{
return Set.of();
}
}New event when livedata entries are displayed: A new javascript event xwiki:livedata:entriesUpdated is now triggered for LiveData when the entries are displayed: this event can be listened to when an extension need to augment the data.
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):
- CSS4J 3.8.0, CSS4J-DOM4J 3.8.0, Carte Util 3.6.0 & XML DTD 4.1.0
- vue 2.7.10
- vue-tippy 4.16.0
- jsoup 1.15.3
- Solr 8.11.2
- Snakeyaml 1.31
- SLF4J 2.0.0 and Logback 1.3.0
- Protostream 4.4.4.Final
- PostgresSQL connector 42.5.0
- Netty 4.1.81.Final
- Joda-Time 2.11.1
- Jackson 2.13.4
- Hibernate 5.6.11
- Closure Compiler v20220905
- Checker Qual 3.25.0
- Byte Buddy 1.12.16
- API Gardian 1.1.2
- PagedJS 0.3.5
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 105 | Not Tested | |
Google Chrome 106 | Tests run and results | |
Microsoft Edge 105 | Jira Tickets Marked as Fixed in the Release Notes | |
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 | Jira Tickets Marked as Fixed in the Release Notes | |
MariaDB 10.6 | Not Tested | |
MySQL 8 | Not Tested | |
Oracle 19c | Tests run and results |
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.67 | ||
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.8
Changes in Solr search core
The schema of the Solr search core (the one used as source for document search in the UI) has been modified and will need to be resetted. This is done automatically in case of embedded Solr (the default) but is a manual process in the case of a standalone remote Solr install: you should remove the Solr core with name "xwiki" and reinstall it as documented on Solr Search API.
Also, since the version of Solr with which XWiki is tested (the version embedded in XWiki) has been upgraded to 8.11.2, it is highly recommended to make sure, if you use a remote standalone Solr setup, that you have an 8.11.x version of Solr (it may work with other versions but XWiki was not tested with them).
PDF Export Application
Starting with this version, the new (experimental) PDF Export Application (not bundled in XWiki Standard yet) is using by default the user's browser to generate the PDF. In previous versions the default was to use a headless Chrome web browser running inside a Docker container. You can restore the previous behavior from xwiki.properties by adding:
API Breakages
The following APIs were modified since XWiki 14.7:
No breakage!
Credits
The following people have contributed code and translations to this release (sorted alphabetically):
- Alex Cotiugă
- Andreea Chirica
- Clemens Klein-Robbenhaar
- Clemens Robbenhaar
- Manuel Leduc
- Marius Dumitru Florea
- Michael Hamann
- Nikita Petrenko
- Oana-Lavinia Florean
- Simon Urli
- Thomas Mortagne
- Vincent Massol
- acotiuga
- raphj