Release Notes for XWiki 12.3
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 fast in-place editing for plain wiki pages and AppWithiMinutes entries. The page Information tab has been extended with more information, some of which can also be edited in-place. For extension developers there's a new locale picker and a new UIXP to publish RequireJS modules. Application sheets can now be easily modified to add support for field-by-field in-place editing. Finally, many improvements have been added to the dedicated Solr multi-core system.
New and Noteworthy (since XWiki 12.2)
Full list of issues fixed and Dashboard for 12.3.
For Users
Extended Page Information
The information tab displayed at the bottom of each page has been extended with more information such as the original page locale, the current page locale, the available page translations, the page syntax and whether the page is hidden or not. Moreover, some of the page information is now editable in-place, from view mode.
In-place edit for application entries
The entries of a newly-created AppWithinMinutes application are now editable in-place. For existing applications you will need to edit the application and go through the application wizard so that the application sheet is re-generated, but be aware that you might loose you customizations in the process.
In-place edit for plain wiki pages
You can now edit plain wiki pages in-place, if the WYSIWYG editor is the preferred content editor.
Translate page while editing in-place
If multilingual is on and the current page is not translated in the current user interface language then editing in-place will load the original page. If you wish to translate the page then you just need to click on the Translate button. Whatever changes you do next will be saved to the translated page.
In-place section editing
You can now edit in-place the sections of a plain wiki page, if the WYSIWYG editor is the preferred content editor. Unlike the old section editing, this allows you to edit the entire page, so that you don't loose the context, but it places the focus in the right section so that you don't have to scroll the page.
Live macro rendering when editing in-place
The new in-place edit mode runs the JavaScript code required by rendering macros, producing a true WYSIWYG editing experience.
For Admins
On MySQL, the character set utf8mb4 is now set on the main database for new instances installed via our debian packages.
For Developers
In-place edit for object properties
You can enable in-place editing for an existing XWiki application, if you're using the Vertical Form layout, by editing the application sheet (the page used to display the application entries) and operating 2 changes:
- Load the JavaScript code required for in-place editing and define some variables:#set ($discard = $xwiki.jsfx.use('uicomponents/edit/editableProperty.js', {
'forceSkinAction': true,
'language': $xcontext.locale
}))
#set ($object = $doc.getObject('Path.To.YourClass'))
#set ($editing = $xcontext.action == 'edit') - Add some meta data to the definition term (dt) elements that wrap the field names:<dt #if (!$editing && $hasEdit)
class="editableProperty"
data-property="$escapetool.xml($services.model.serialize($object.getProperty('yourProperty').reference))"
data-property-type="object"#end>
The result should look like this:
UIXP to publish RequireJS modules
We added a new UIXP to support extending the global RequireJS configuration. This allows you to publish a RequireJS module that others can use without knowing its path.
Locale (Language) Picker
The locale (language) picker that is used in the Localization administration section has been converted to a generic picker that you can reuse.
Solr multi-core improvements
Solr core are now created at runtime (for embedded Solr setup) so it's not needed to restart after installing an extension which require a custom Solr core.
This version introduces org.xwiki.search.solrAbstractSolrCoreInitializer which provide a lot of helpers for creating/migrating Solr cores. See more details on Solr Search Application.
Miscellaneous
Support targeting groups in Notifications: Using a TargetableEvent in the Notification API now allows to target also Groups and not only Users anymore.
VFS content type: It's now possible to explicitly indicate the Content-Type to return with the HTTP response containing the file. See VFS API for more details.
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):
- HtmlCleaner 2.23
- Dom4J 2.1.3
- CSS4J 2.0.2
- Solr 8.5.1
- Jython 2.7.2
- Jetty 9.4.27.v20200227
- Javassist 3.27.0
- Hibernate 5.4.14
- Commons Lang 3.10
- Checker Qual 3.3.0
- Bouncy Castle 1.65
- ASM 8.0.1
- PostgresSQL connector 42.2.12
- CKEditor Integration 1.43
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 81 | Tests run and results | |
Mozilla Firefox 75 | Not Tested | |
Microsoft Edge 81 | Not Tested | |
Internet Explorer 11 | Jira Tickets Marked as Fixed in the Release Notes | |
Safari 13 | 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.0 | Not Tested | |
MySQL 5.7 | ||
Oracle 19c | ||
PostgreSQL 12 |
Here is the list of Servlet Containers we support and how they have been tested for this release:
Servlet Container | Tested on: | |
---|---|---|
Tomcat | Tests run and results Jira Tickets Marked as Fixed in the Release Notes | |
Jetty (XWiki Standalone packaging) | ||
Jetty | 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.
API Breakages
The following APIs were modified since XWiki 12.2.1:
- Not a Breakage. Moved to Legacy.
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.velocity.tools.CollectionsTool
- Violation type:
- Not a breakage. Work around a bad code design and tell our Component checker that this is not a component
- Violation type:java.annotation.added
- Code:## Old:
class org.xwiki.rendering.wikimodel.xhtml.impl.LocalEntityResolver
## New:
class org.xwiki.rendering.wikimodel.xhtml.impl.LocalEntityResolver
- Violation type:
- Wrongly placed extension. Breakage is limited
- Violation type:java.annotation.removed
- Code:## Old:
interface org.xwiki.xar.XarEntryTypeResolver
## New:
interface org.xwiki.xar.XarEntryTypeResolver
- Violation type:
Credits
The following people have contributed code and translations to this release (sorted alphabetically):
- Cami Andrei
- Clemens Robbenhaar
- Damoebai·Cloud
- Guillaume Delhumeau
- Jarle Sandmo
- Joan
- Manuel Leduc
- Marius Dumitru Florea
- Simon Urli
- Thomas Mortagne
- Varad Thokal
- Vincent Massol
- xrichard