Release Notes for XWiki 15.3

Last modified by Ilie Andriuta on 2023/07/11

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 includes an improvement to the wiki macro parameter suggestions in CKEditor. It also includes some admin and developer enhancements, as well as accessibility improvements. In addition to these features, it also includes a number of bug fixes and some security fixes.

New and Noteworthy (since XWiki 15.2)

Full list of issues fixed and Dashboard for 15.3.

For Users

Suggestions for the wiki macro parameter type

 
It's now easier to decide what value to set in the wiki macro parameter type as suggestions are proposed: "Unknown" (the default), and "Wiki" for a parameter containing wiki markup. It's still possible to explicitly set the Java type to use.

For Admins

Increasing contrast

 
Some elements of the XWiki interface systematically didn't achieve the minimum contrast defined in the Web Content Accessibility Guidelines.

Instances using Iceberg - the default color theme - or no color theme, are now patched to avoid those systematic violations.

Contrast is notably higher on buttons or light texts.

Changes for the Iceberg UI:

  • Navigation bar is very slightly darker
  • Links are slightly darker
  • Breadcrumb text is darker.
  • Muted text (e.g. description of a template when creating a page, [+] to add tags, ...) is darker
  •  The buttons have more contrast:
    • Blue buttons have a slightly darker background
    • Red buttons have a darker background
    • Green buttons have a darker background
    • Yellow buttons have a lighter background and their text is swapped from white to black

Changes for the no-theme UI:

  • The anchors in the right side drawer are darker.
  • Breadcrumb text is darker.
  • Muted text is darker
  • The buttons have more contrast:
    • Blue buttons have a slightly darker background
    • Red buttons have a darker background
    • Green buttons have a darker background
    • Yellow buttons' text swapped from white to black

 

Choose the authentication service at runtime

 
It's now possible to choose the authentication service to use at runtime (for authenticators which support it).

For Developers

  • Add concept of image to What's New API: In preparation for displaying images in the What's New UI for news items, the What's New API has been updated to support getting images for news items.

    @Inject
    @Named("xwikiblog")
    private NewsSourceFactory factory;

    @Inject
    @Named("xwikiblog")
    private NewsConfiguration configuration;

    ...
    List<NewsSourceDescriptor> descriptors = this.configuration.getNewsSourceDescriptors();
    NewsSourceDescriptor descriptor = descriptors.get(0);
    List<NewsSourceItem> items = this.factory.create(descriptor.getParameters())
     .forUser(...)
     .forCategories(...)
     .build()
    String imageURL = items.get(0).getImageURL().get();
    ...
  • Dynamic registration of rendering listeners: It is now possible to declare a rendering listener dynamically from an extension.

Upgrades

The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):

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:

 BrowserTested on:
Firefox30.pngMozilla Firefox 113Not Tested
Chrome30.pngGoogle Chrome 113Not Tested
Edge30.pngMicrosoft Edge 114Jira Tickets Marked as Fixed in the Release Notes
Safari30.pngSafari 16Not Tested

Here is the list of databases we support and how they have been tested for this release:

 DatabaseTested on:
hypersql.pngHyperSQL 2.7.1Not Tested
mariadb.pngMariaDB 10.11Not Tested
mysql.pngMySQL 8Jira Tickets Marked as Fixed in the Release Notes
postgresql.pngPostgreSQL 15Not Tested
oracle.pngOracle 19cNot Tested

Here is the list of Servlet Containers we support and how they have been tested for this release:

 Servlet ContainerTested on:
tomcat-icon.pngTomcat 9.0.75Jira Tickets Marked as Fixed in the Release Notes
jetty-icon.pngJetty 10.0.12 (XWiki Standalone packaging)Not Tested
jetty-icon.pngJetty 10.0.12Not Tested

Security Issues

Security issues are not listed in issue lists or dashboards to avoid disclosing ways to use them, but they will appear automatically in them once they're disclosed. See the XWiki Security Policy for more details.

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 15.3

In the office document importer, the API of OfficeDocument for imported artifacts like images has been changed to use a map from filenames to a new type OfficeDocumentArtifact instead of a set of files. Any code that relies on the old method to get a set of files won't get access to the artifacts. Further, artifacts from custom implementations of OfficeDocument might not be imported. This could cause broken images in case of custom code or extensions. All usages of this API in XWiki itself have been adjusted so no breakage without custom code or extensions is expected.

API Breakages

The following APIs were modified since XWiki 15.2:

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).

  • Young API
    • Violation type:
      java.method.addedToInterface
    • Code:
      ## Old:


      ## New:
      method int java.lang.Comparable<T>::compareTo(T) @ org.xwiki.whatsnew.NewsSourceItem
  • Young API
    • Violation type:
      java.method.addedToInterface
    • Code:
      ## Old:


      ## New:
      method java.util.Optional<java.lang.String> org.xwiki.whatsnew.NewsSourceItem::getImageURL()

Credits

The following people have contributed code and translations to this release (sorted alphabetically):

  • Andreas Jonsson 
  • DenisF 
  • Manuel Leduc 
  • Marius Dumitru Florea 
  • Michael Hamann 
  • Nikita Petrenko 
  • Sereza7 
  • Simon Urli 
  • Simpel 
  • Thomas Mortagne 
  • Vincent Massol 
Tags:
   

Get Connected