Release Notes for XWiki 18.6.0-rc-1
- New and Noteworthy (since XWiki 18.5.0)
- For Users
- Improved Conversion between BlockNote and XWiki Syntax
- Macros can be inserted/edited through the formatting toolbar
- Clarify original and target pages during replace dialog
- Redesign of the comment tab in the document footer
- Location picker actions as buttons
- Disabled users not listed in User picker
- Miscellaneous
- For Admins
- For Developers
- For Users
- Upgrades
- Translations
- Security Issues
- Known issues
- Backward Compatibility and Migration Notes
- Credits
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.
Apart from bug fixes and performance improvements, this release provides an updated look for the comments and several other UI improvements. Further, we progressed on the still experimental integration of the BlockNote editor. This release contains security fixes, with the highest severity being 8.7/10.
New and Noteworthy (since XWiki 18.5.0)
Full list of issues fixed and Dashboard for 18.6.0.
For Users
Improved Conversion between BlockNote and XWiki Syntax
The BlockNote editor integration is now converting the BlockNote syntax used by the editor directly to the back-end syntax (e.g. XWiki 2.1). By removing the UniAst intermediary conversion step we could improve the conversion fidelity. We worked on reducing the gap between BlockNote syntax and XDOM (XWiki syntax's AST) by:
- extending the BlockNote schema to support most of XDOMs's blocks (i.e. avoid loosing data when loading the editor)
- mapping special BlockNote content to the right XWiki syntax (i.e. avoid loosing BlockNote content on save)
Here's a list of notable improvements:
- XWiki group syntax is now preserved. You can't add groups (DIVs) from BlockNote, but you can edit the content of existing groups (inserted from XWiki syntax). Syntax like this:
* list item((( nested paragraph )))is properly edited and saved.
- Link resource reference and custom parameters are now preserved on save. You can't modify the parameters (e.g. a CSS class name like in
[[Some.Page||class="page-link"]]) from BlockNote, but they are preserved even if you change the link target. The link URL in edit mode is now pointing to the right target (clicking on the link opens the expected page). - Links without label (e.g.
[[Some.Page]]) get a generated label that is saved only when modified. - Freestanding link and image syntax is preserved, e.g.
image:attach:avatar.png - Nested macros are now properly rendered in edit mode. There can still be some minor differences in the macro output between view mode and edit mode.
- Attached images are now properly displayed in edit mode. Moreover, image custom parameters (e.g. a CSS class name or some data attribute as in
[[image:avatar.png||class="user-avatar"]]) are preserved on edit and save, even if you change the image source through the image editor. - Image caption is preserved (e.g.
[[some caption>>image:attach:avatar.png]]), but you can't edit it from BlockNote currently (it is displayed read-only). - Table custom parameters are preserved, but you can't change them from BlockNote. Note that table cell parameters are still lost.
- Table header cells are preserved, but you can't have a header cell after a normal cell on the same row/column. This means header cells have to be put at the top of left of the table.
- Definition lists (inserted from XWiki syntax) are preserved on save. You can edit their content, but you can't add new definition lists from BlockNote.
- Default BlockNote styles don't pollute the output XWiki syntax anymore.
- The macro output is better highlighted (for both inline and block-level macros)
- The macro output is replaced by the macro placeholder after a macro is edited. We hope to work soon on reloading the content after a macro is edited or inserted, in order to have the updated macro output.
See the BlockNote Editor Integration documentation for more information.
Macros can be inserted/edited through the formatting toolbar
When selecting a range of text in the BlockNote editor, the formatting toolbar will now show a macro icon which opens the macro editor.
When selecting an existing macro block, the formatting toolbar will now show an edition icon. Clicking on it will open the macro editor.


Clarify original and target pages during replace dialog
When moving a child page to a location where there's already content, the popup form has been made clearer.



Redesign of the comment tab in the document footer
Implementation of one part of the comment redesign:
- Added a "View thread" button with the number of answers. Pressing it expands or collapses the thread of a comment.
- New look for quotes.
- Comment actions are displayed in larger buttons that fit more the current UI.
- Annotations and comments have now one unified look.
The redesign document contains all the information on this work and the upcoming related changes.

Location picker actions as buttons
Action controls of the location picker UIs have been updated to look like buttons (see screenshot). In addition they now have proper text alternatives

Disabled users not listed in User picker
When defining a "List of Users" property (e.g. in an AWM application), it's now possible to decide if disabled users will be proposed in the suggest picker or not. The default has changed for listing all users, to now listing only active users.


Miscellaneous
Annotation changes create minor revisions: Creating, modifying and deleting annotations now generate minor revisions, similar to what happens for comments (they used to create major revisions which was not consistent with comments).
Fixed the modal default keyboard interactivity for a few modals like the group administration ones. Pressing escape while in those modals should now close them as it was already the case for most modals in XWiki Standard.
For Admins
Repository improvements:
- the concept of project was added to the Repository application
- the update of extension with a lot of versions is now much faster (only missing version are added, it assumes existing one are correct)
Logs in Docker distribution: XWiki logs can now be found by default in the XWiki permanent directory, under logs/*.
For Developers
BlockNote Syntax
A new JSON-based rendering syntax, called BlockNote, is available. It provides both a parser and a renderer, and it is currently used only by the BlockNote WYSIWYG editor.
UI elements for editors can be disabled based on the document's syntax
Features can now be enabled/disabled automatically based on the syntax: When editing a document within the BlockNote editor (or any future editor), all unsupported syntax elements will be automatically disabled in the UI.
Relevant types are defined in the @xwiki/platform-syntaxes-config package.
Miscellaneous
Delete Job update: The Delete Job doesn't restrict skipping the recycle bin to advanced users anymore. This was a mistake since the advanced users verification should only be used for choosing what to display in the UI and it's not a permission.
Skip recycle bin when deleting pages: It's now possible to skip the recycle bin when deleting a page (or a translation of a page).
New ExtensionSCM tag: org.xwiki.extension.ExtensionSCM#getTag() has been introduced to expose the tag that can be found in Maven pom files.
Docker Test Improvement: Add the ability to install the XS Flavor and WAR, instead of generating a minimal XWiki instance. Useful, for example, inside XS Flavor Docker tests, or when developing a feature, if the dev wants to take screenshots with a full XS UI, while being inside the docker tests of a specific module.
Apply all the changes in one go when migrating objects of a modified XClass: When a document defining an XClass is deleted or modified, instances of this XClass (and in particular their properties) are updated. This is now done in one go instead of property per property, hopefully improving performance a bit by removing the need for saving each document multiple times.
Working group update and new overwrite parameter when using the group output filter stream: By default, the instance filter stream updates groups. This was somewhat already the existing behavior in older XWiki versions, but it didn't work well. One can now decide to overwrite groups using the overwrite parameter.
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:
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 18.6.0-rc-1
Name Attribute Disallowed on Most Elements
For security reasons, the use of the name attribute has been restricted. In XWiki syntax, it is only allowed on links. In the content of HTML macros in a document without script right or a comment, it is only allowed on <a> and <map> elements. In practice, this shouldn't cause any issues, but if necessary, this can be configured in the configuration of the XML Module in xwiki.properties.
Disabled users removed from User picker
The "List of Users" xproperty type is now excluding showing disabled users by default in the suggest picker. See above for more details.
Annotation changes create minor revisions
Creating, modifying and deleting annotations now generate minor revisions, similar to what happens for comments (they used to create major revisions which was not consistent with comments).
Simple Math text captcha implementation removed
The Simple Math text captcha implementation has been entirely removed: it was never meant to be used in production and it proves to not be reliable as a CAPTCHA implementation.
Delete Job Change
The Delete Job doesn't restrict skipping the recycle bin to advanced users anymore. This was a mistake since the advanced users verification should only be used for choosing what to display in the UI and it's not a permission.
Limits in charts width and height
The chart macro now has limits on the width and height parameters, set by default at 2048px, but that can be defined in xwiki.properties.
API Breakages
The following APIs were modified since XWiki 18.5.0:
No breakage!
Credits
The following people have contributed code to this release (sorted alphabetically):
- ClementEXWiki
- Cédric LAMBLIN
- dch
- Gabriel Féo
- Gankov Andrey
- Gianmarco
- klimadavid
- LucasC
- Manuel Leduc
- Marius Dumitru Florea
- Michael Hamann
- Nikita Petrenko
- Raphaël Jakse
- Simon Urli
- Simpel
- Thiago Krieck
- Thomas Mortagne
- Vincent Massol
- xrichard