Changes Report
Global Color Themes


It's now possible, on a subwiki, to use a color theme coming from the main wiki (global themes).
Not Found Suggestions


We have added suggestions for the "document not found" and "attachment not found" error screens. The suggestions address minor typos and misspelling (including lower case vs upper case), but also bad location requests.
Velocity and ScriptContext synchronization
![]()
VelocityContext and ScriptContext are now fully in sync (and if you find a use case where it's not true create a BUG on https://jira.xwiki.org) and VelocityContext is now close to internal detail. This allows for example defining a variable in Velocity and accessing it from a Groovy script:
{{velocity}}
## Setting some script binding in Velocity
#set($myvar = "toto")
{{/velocity}}
{{groovy}}
// Lets use the script binding that has been set in previous script
print myvar
{{/groovy}}![]()
Active installs client now send the memory used by the instance.
Template Restrictions

It's now possible to specify visibility restrictions separate from creation restrictions on a template provider and to set default values. See the documentation for more details.
Document Tree Improvements

The tree now displays the rendered translated page title when the showDocumentTitle parameter is set to true, which is the default value. So the document tree is now taking into account the current locale when displaying the page titles. Moreover, the child pages are now sorted by their raw translated title, with a fall-back on the raw default title and then on the page name (if the raw titles are empty). Note that the rendered title may be different than the raw title if the title is dynamic (i.e. has Velocity code) so the child pages may not be sorted correctly if some have dynamic titles. The child pages are sorted by their name when the showDocumentTitle parameter is set to false.
The support for relative references in the root and openTo parameters has been improved. You still need to prefix the entity reference with its entity type though.
{{documentTree root="document:Alice" openTo="document:Bob" /}}The behavior of the limit parameter has changed a bit: if there is only one child node remaining the "more ..." link is replaced by that child node, instead of displaying "one more".
The child nodes should be loaded much faster now as we refactored and improved the database queries used under the hood.
Extension Repository adds recommendations


The Extension Repository Application now supports the optional feature of being able to mark some Extensions as Recommended. This provides some form of curation and separate "good" Extensions from others. The need arises when there are lots of Extensions.
The screenshots show:
- The view when the Recommendation feature is turned on
- How a Recommended Extension is displayed with a badge showing it's Recommended
Author Executor
![]()
It's now easier to execute code with a different author. Author is used to check SCRIPT and PROGRAMMING right. Example:
this.authorExecutor.call(this.renderer::execute, getAuthorReference());Default values in User Preferences


When you go to your user profile in order to changes your preferences, you now see better what are the default values (both in view and edit modes).
Language Picker

It's now easier to select a language in the administration for your wiki.
Ability to re-order items in the Applications Panel

It's now possible to re-order the items displayed in the Application Panel, in the administration.
XWiki Select Widget can be filtered

When you use an XWiki Select Widget, you can now let the user filter the proposed options dynamically.
Ability to filter the page types

When you create a new page, you have to chose the type in a lot of them. To help you to pick the one you want, you can now filter them thanks to a text input.
Wiki initialization

Like the main wiki, sub wikis now have asynchronous initialization. This reduce a lot the chance that one or several initializing wikis end up eating all the farm input threads.
Embedded core extension descriptors
![]()
All the jars packaged in the standard JAR comes with their complete Extension descriptor so XWiki won't try to find them in the repositories to get more information anymore. It will still be the case for any jar which does not provide a complete descriptor or jars that comes from the application server (but only the first time, then it's cached).
Extension sorted by rating
![]()
The Repository REST search API now sort extensions by Ratings when the search query is empty. This means that extensions will end up sorted by Ratings (per repository) in Extension Manager when accessing the Add Extension administration section.
Note that xwiki.org needs to run XWiki 8.4RC1+ to see this feature for the extensions.xwiki.org extension repository (which is the one used by default in XWiki).
Localization Section

It's now easier to pick a time zone or a language in the "Localization" section of the Administration, thanks to a filter box.
The "page type" picker is bigger

In order to better see the available page types (like Encyclopedia, Article, etc...), the "page type" selector has been enlarged.
Update of the UI extension point for the Drawer
![]()
The UI extension point DrawerItem has a new parameter called category in order to specify where the drawer item should be located (either in the local or global section).
Create Wiki button in the Wiki Index

A button "Create Wiki" has been added on the top of the Wiki Index, so you can decide to create a wiki after browsing the existing ones.
This behavior is more consistent with the Blog Application, where you can create a new post in the same page that you could read existing ones. In the future, we will make this behavior generic in XWiki.