Release Notes for XWiki 12.2

Last modified by Vincent Massol on 2021/03/09

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.

Among other things, this release brings a new User API for developers, the ability to add custom content inside the user profile menu via UI extensions, and we have more consistent menu icons. As usual, we have fixed numerous bugs.

Some important bugs have been found since this release has been made:

New and Noteworthy (since XWiki 12.1)

Full list of issues fixed and Dashboard for XWiki 12.2.

For Users

More consistent menu icons

 
Updated class and object edit menu icons to make them more consistent with other places like the document tree viewer. The missing Annotations menu icon was also added.

For Admins

  • HTTPS extensions repositories: The extensions repositories are now accessed through HTTPS instead of HTTP.

  • Ignore extension dependencies: It's now possible to force Extension Manager to ignore a set of dependencies that might cause problem or simply be useless. See Dependencies for more details.

  • Remove User's default_language xproperty: Remove the default_language xproperty that could be set in XWikiUsers xobjects since it was not working (since a very long time ago, possibly 1.1M3) and it was not a very useful and used xproperty.

  • SuperAdmin and Guest configuration: The configuration properties for the Guest and SuperaAdmin virtual users can now be overridden. This is achieved by modifying the xwiki.properties file.

    For example:

    user.preferences.superadmin.editor = Wysiwyg
    user.preferences.guest.editor = Text
    user.preferences.guest.displayHiddenDocuments = 1
  • SuperAdmin sees hidden pages: The Super Admin user now sees hidden pages.

For Developers

New User API

 
We now have a new User API (see the History section to understand the various ways to get properties for a User and which APIs to use and which ones shouldn't be used).

Example from Java:

@Inject
private UserResolver<UserReference> userResolver;
...
User currentUser = userResolver.resolve(UserReference.CURRENT_USER_REFERENCE);
boolean isActive = currentUser.isActive()

Example from Velocity:

$services.user.resolveUser('').isActive()

Maven exclusions support

 
Support for Maven dependency <exclusions> has (finally) been added. It means that, like in Maven, an excluded transitive dependency won't be downloaded when you install an extension. XWiki used to totally skip the whole concept of exclusion.

Extensible User Profile Menu

 
The user profile menu is now extensible. You can add new entries to the user menu using the org.xwiki.plaftorm.user.profile.menu User Interface Extension Point (UIXP).

Miscellaneous

  • Solr multi-core: It's now possible to "reserve" a dedicated Solr core for the specific storage needs of an extension. See Solr Search Application for more details.

  • Allow to inject Javascript/CSS in Notification displayers: It is now possible to use the Skin Extension Plugin in the custom Notification displayers: this might allow to use custom javascript for the notifications.

  • Allow to unregister components in Extension Mojo: If you use some XWiki Maven Build Tools such as the Extension Plugin or the Packager Plugin, we introduced a new parameter disabledComponents in those mojos to allow to unregister some components during their execution.

    A typical usage of such parameter can be to prevent the execution of a MandatoryDocumentInitializer, for example:

    <configuration>
     <disabledComponents>
       <disabledComponent>
         <type>com.xpn.xwiki.doc.MandatoryDocumentInitializer</type>
         <role>XWiki.XWikiServerXwiki</role>
       </disabledComponent>
     </disabledComponents>
    </configuration>

Upgrades

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

In addition we stopped bundling Xalan and we're now relying on the version provided by the JVM instead.

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:
Chrome30.pngGoogle Chrome 80Not tested
Firefox30.pngMozilla Firefox 74Not Tested
Edge30.pngMicrosoft Edge 80Jira Tickets Marked as Fixed in the Release Notes
IE30.pngInternet Explorer 11Not tested
Safari30.pngSafari 13Not Tested

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

 DatabaseTested on:
hypersql.pngHyperSQL 2.5.0Not Tested
mysql.pngMySQL 5.7Not tested
oracle.pngOracle 19cJira Tickets Marked as Fixed in the Release Notes
postgresql.pngPostgreSQL 12Not 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.31Jira Tickets Marked as Fixed in the Release Notes
jetty-icon.pngJetty 9.4.22 (XWiki Standalone packaging)Not tested
jetty-icon.pngJetty 9.4.22Not 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 12.2

The solr.remote.url Solr configuration property has been deprecated (it still works though), and replaced by solr.remote.baseURL which should now be used.

#-# [Since 12.2]
#-# The URL of the Solr server (the root server and not the URL of a core).
#-# The default value assumes that the remote Solr server is started in a different process on the same machine,
#-# using the default port.
# solr.remote.baseURL=http://localhost:8983/solr

API Breakages

The following APIs were modified since XWiki 12.1:

  • Not a Breakage. Moved to Legacy.
    • Violation type:
      java.class.removed
    • Code:
      ## Old:
      class org.xwiki.velocity.tools.CollectionsTool

Credits

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

  • Clemens Robbenhaar
  • Guillaume Delhumeau
  • Hassan Ali
  • Jarle Sandmo
  • Manuel Leduc
  • Marius Dumitru Florea
  • Nikunj Bansal
  • nmancus1
  • Oana-Lavinia Florean
  • Onlo
  • Prachi Joshi
  • Simon Urli
  • Thomas Mortagne
  • Usama ahmad
  • Vincent Massol
  • Vyacheslav Sukharnikov
  • xrichard
Tags:
   

Get Connected