Release Notes for XWiki 13.4-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 release continues to bring Live Data improvments in particular some changes in the look & feel and the capability to perform inline edition of data in tables and to filter boolean values. In the same spirit, some existing live tables in XWiki Standard have been converted to Live Data including the list of releases, panels, wikis or likes. The release also provides other minor improvments like the refactoring of references in macros, or a new REST API for the icon theme application.
New and Noteworthy (since XWiki 13.3)
Full list of issues fixed and Dashboard for XWiki 13.4.
For Users
Live Data Inline Editing
The Live Data Macro has been improved to support inline editing. When the edit mode is allowed on a live data macro, a user with the edit right on the content of a cell can double click on a cell to edit it. The content of the cell is then converted into a form. Pressing escape will cancel the modifications, whereas clicking outside the edited cell will save its content and the Live Data will be reloaded to reflect the update.
Improved Live Data Macro L&F
The UI of the Live Data Macro has suffered a couple of changes:
- the hamburger menu has been moved to the right side, after the pagination
- the reload button has been moved inside the menu
- the menu groups are better separated
- added loading animation
- added support for resizing the columns in the table layout
- improved labels
See the Live Data Macro documentation for more information.
Live Data Boolean Filter
The Live Data Macro now provides a new Boolean filter, allowing boolean values to be filtered using a drop-down field instead of a text field.
Miscellaneous
Refactoring for references in macros: When a page is moved or renamed, the link and image references located inside inline-editable macros are now updated as well.
Releases list: The list of Releases is now displayed using the Live Data Macro.
Wikis lists: The lists of wikis and wiki templates of the Wiki Application are now displayed using the Live Data Macro.
Mail Sending Status list: The Mail Sending Status list of the Mail Application is now displayed using the Live Data Macro.
Improved Notification Widget Style: Notification widget messages are now displayed with a style that is more aligned with XWiki UI guidelines regarding spacing, border and font weight.
Panels list: The list of Panels is now displayed using the Live Data Macro.
Likes list in the user profile: The list of likes of a user are now displayed using the Live Data Macro.
For Admins
No changes!
For Developers
InputSource and OutputTarget converter improvements: The InputSource and OutputTarget converters used for example during macros and filters UI are now extensible so any extension can add support for supporting conversion from more Java types and support for more references prefixes. See Filter Module for more details
Icon REST API: The Icon Theme Application is now providing a REST API. This API allows to request the icons metadata of the provided icon themes.
For instance:
# Request two icons from the current theme:
curl -H 'Accept: application/json' http://localhost:8080/xwiki/rest/wikis/xwiki/iconThemes/icons?name=add&name=home
# # {"icons":[{"name":"add","iconSetType":"FONT","iconSetName":"Font Awesome","cssClass":"fa fa-plus","url":null},{"name":"home","iconSetType":"FONT","iconSetName":"Font Awesome","cssClass":"fa fa-home","url":null}],"missingIcons":[]}
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):
- Woodstox 6.2.6
- Protobuf Java 3.16.0
- PostgresSQL connector 42.2.20
- MySQL connector 8.0.24
- Maven Shared Utils 3.3.4
- Liquibase 4.3.5
- Javassist 3.28.0
- Jackson 2.12.3
- JAXB Runtime 2.3.4
- Hibernate 5.4.31
- Checker Qual 3.13.0
- Caffeine 2.9.1
- Byte Buddy 1.11.0
- Maven Resolver 1.6.3
- HSQLDB 2.5.2
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: | |
---|---|---|
Google Chrome 90 | Tests run and results | |
Mozilla Firefox 88 | ||
Microsoft Edge 90 | Jira Tickets Marked as Fixed in the Release Notes | |
Internet Explorer 11 | Not Tested | |
Safari 14 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Tested on: | |
---|---|---|
HyperSQL 2.5.2 | Tests run and results | |
MariaDB 10.5 | ||
MySQL 8 | Not Tested | |
Oracle 19c | Jira Tickets Marked as Fixed in the Release Notes | |
PostgreSQL 13 | 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.46 | ||
Jetty 9.4.29 (XWiki Standalone packaging) | ||
Jetty 9.4.29 | 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 13.4-rc-1
Changes in web.xml
- XWikiXmlRpcContextInitializationFilter filter has been renamed to XWikiRESTContextInitializationFilter to be more consistent with the current sistuation (XMLRPC support is long gone).
- org.xwiki.wysiwyg.filter.XWikiContextInitializationFilter is now deprecated and replaced with the more generic name com.xpn.xwiki.web.XWikiContextInitializationFilter (which does exactly the same thing)
API Breakages
The following APIs were modified since XWiki 13.3:
Unknown Criticality
These violationq are missing a criticality and need to be fixed.
- Possibly a bug in Revapi, see https://github.com/revapi/revapi/issues/221#issuecomment-832626011
- Violation type:java.missing.oldClass
- Code:## Old:
missing-class javax.servlet.http.Cookie
## New:
missing-class javax.servlet.http.Cookie
- Violation type:
- Possibly a bug in Revapi, see https://github.com/revapi/revapi/issues/221#issuecomment-832626011
- Violation type:java.missing.newClass
- Code:## Old:
missing-class javax.servlet.http.Cookie
## New:
missing-class javax.servlet.http.Cookie
- Violation type:
- Possibly a bug in Revapi, see https://github.com/revapi/revapi/issues/221#issuecomment-832626011
- Violation type:java.missing.oldClass
- Code:## Old:
missing-class javax.servlet.http.HttpServletRequest
## New:
missing-class javax.servlet.http.HttpServletRequest
- Violation type:
- Possibly a bug in Revapi, see https://github.com/revapi/revapi/issues/221#issuecomment-832626011
- Violation type:java.missing.newClass
- Code:## Old:
missing-class javax.servlet.http.HttpServletRequest
## New:
missing-class javax.servlet.http.HttpServletRequest
- Violation type:
- Possibly a bug in Revapi, see https://github.com/revapi/revapi/issues/221#issuecomment-832626011
- Violation type:java.missing.oldClass
- Code:## Old:
missing-class javax.servlet.http.HttpServletResponse
## New:
missing-class javax.servlet.http.HttpServletResponse
- Violation type:
- Possibly a bug in Revapi, see https://github.com/revapi/revapi/issues/221#issuecomment-832626011
- Violation type:java.missing.newClass
- Code:## Old:
missing-class javax.servlet.http.HttpServletResponse
## New:
missing-class javax.servlet.http.HttpServletResponse
- Violation type:
- Not a breakage, the old XWikiContextInitializationFilter content has been moved to a new class of the same name in a new package and old class now inherits from the new one
- Violation type:java.class.nonFinalClassInheritsFromNewClass
- Code:## Old:
class org.xwiki.wysiwyg.filter.XWikiContextInitializationFilter
## New:
class org.xwiki.wysiwyg.filter.XWikiContextInitializationFilter
- Violation type:
- Not a runtime breakage since that method has been moved to the oldcore legacy module
- Violation type:java.method.removed
- Code:## Old:
method java.util.List<java.lang.String> com.xpn.xwiki.XWiki::getConfiguredSyntaxes()
- Violation type:
- Not a runtime breakage since that method has been moved to the oldcore legacy module
- Violation type:java.method.removed
- Code:## Old:
method java.util.List<java.lang.String> com.xpn.xwiki.api.XWiki::getConfiguredSyntaxes()
- Violation type:
Credits
The following people have contributed code and translations to this release (sorted alphabetically):
Clément
Clément Aubin
DenisF
Eduard Moraru
Francisco García Moreno
Jarle Sandmo
Manuel Leduc
Marius Dumitru Florea
Nick Mancuso
Shashwat Jaiswal
Simon Urli
slauriere
Thomas Mortagne
Vincent Massol
xrichard