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.
In this version we have added a new tab in the user profile that displays the groups a user is part of. We've added auto-suggest for pages in several places and improved the startup speed on Tomcat. We've also replaced our CAPTCHA implementation with a new one and it's now very easy to change and preview, from Administration, the CAPTCHA type that it will be used in your wiki. The Menu application is now directly accessible through the Administration.
New and Noteworthy (since XWiki 10.7)
Full list of issues fixed and Dashboard for 10.8.
For Users
New CAPTCHA API and CAPTCHA implementations
A new CAPTCHA Application and API have been implemented, replacing the old Captcha Module, thus making it even easier to use and validate a CAPTCHA in a form. Also, it's now very easy to change the CAPTCHA implementation that you want to use in your wiki, directly from Administration, without having to touch a line of code.
Also, a new and much more extensive JCaptcha implementation has been provided for the new API, that works offline and features image, sound and text CAPTCHAS. It is bundled by default with XWiki Standard.
As a popular alternative, a Google reCAPTCHA implementation is also available, installable as an extension using the Extension Manager.
The locations in XWiki where CAPTCHA is being used by default (e.g. Registration and Comments) will use the CAPTCHA implementation that you have enabled and configured in the "Administration >> CAPTCHA" section.
Auto-suggest for pages
Several inputs related to selecting pages references now support auto-suggestion, making it much simpler to use and less error prone (such as not having to know if the reference should end with WebHome or not!). See the screenshots for some examples.
User membership in the profile
It's now possible to see the groups a user is member of in the profile. See User Profile Application.
Updated attachments modal
The attachments pop-up that is displayed for deleting an attachment is now a bootstrap modal, having the same functionality as before.
Miscellaneous
Filter group members by their full name: You can now filter the group members by their full name from the live table displayed on the group page or when editing a group from the administration, as long as the members are from the same wiki as the group itself. The members that are from a different wiki than the group can still be filtered by their reference (e.g. by user alias).
For Admins
Menu is now available in Administration
The Menu application is now available through the Administration under the Look & Feel category. By default, the application is now hidden from the panels of applications.
Miscellaneous
XWiki on WildFly: XWiki now deploys fine out of the box on WildFly 14.x.
Notifications Filters Store: Due to scaling issue, we have changed the way the notification filter preferences are stored in the wiki. They are not saved in the user profile pages anymore, but in their own database table.
Thanks to this improvement, we have re-enabled the default behavior for the Auto Watch feature so that users automatically watch pages they have contributed to.
Argument to specify the wait time in the stop_xwiki.sh script: You can now specify, in the stop_xwiki.sh script, the number of seconds to wait for the XWiki lock to be released before exiting. For instance "stop_xwiki.sh -wt 10" will make the script wait 10 second. The default wait time is now 30sec.
For Developers
Group manager
A new org.xwiki.user.group.GroupManager and corresponding services.user.group script service are now available.
See more details on User Module.
Miscellaneous
No longer committing XML document date fields: Our maven XAR plugin's xar:verify goal will now fail the build if the XAR module contains XML pages with date fields in them. To clear them automatically, just use xar:format which was also updated to remove such fields. This behavior can be skipped for individual files or for the entire project. See the documentation for more details.
A new xwiki-commons-collection module has been introduced to share base collection related API
Moved Modules
- Retired the old Captcha Module and replaced by the new CAPTCHA Application
Upgrades
The following runtime dependencies have been upgraded (they have a different release cycle than XWiki Commons, XWiki Rendering and XWiki Platform):
- CSS4J 0.41.3
- Quartz Scheduler 2.3.0
- JNR POSIX 3.0.46
- JGroups 4.0.13
- Apache PDFBox 2.0.11
- JNA 4.5.2
- JAXB implementation 2.3.0.1
- Dom4j 2.1.1
- Apache Xerces 2.12.0
- ASM 6.2.1
- Groovy 2.5.2
- Bouncy Castle 1.60
- httpcore 4.4.10
- httpclient 4.5.6
- httpasyncclient 4.1.4
- commons-lang3 3.8
- commons-dbcp2 2.5.0
- Commons Configuration 2.3
- commons-compress 1.18
- commons-collections 4.2
- cssparser 0.9.26
- Guice 4.2.0
- Maven 3.5.4
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 | Tests performed and results | |
---|---|---|
![]() | Google Chrome 69 | Full tests on product |
![]() | Mozilla Firefox 62 | Not Tested |
![]() | Microsoft Edge 17 | New and Noteworthy Features + Jira Tickets Marked as Fixed in the Release Notes |
![]() | Internet Explorer 11 | Full tests on product/Smoke tests on extensions |
![]() | Safari 12 | Not Tested |
Here is the list of databases we support and how they have been tested for this release:
Database | Tests performed and results | |
---|---|---|
![]() | HyperSQL 2.4.1 | Not Tested |
![]() | MySQL 5.7 | Full tests on product/Smoke tests on extensions |
![]() | Oracle 11.2 | New and Noteworthy Features + Jira Tickets Marked as Fixed in the Release Notes |
![]() | PostgreSQL 10 | Not Tested |
Here is the list of Servlet Containers we support and how they have been tested for this release:
Servlet Container | Tests performed and results | |
---|---|---|
![]() | Tomcat | Not Tested |
![]() | Jetty (XWiki Standalone packaging) | Jira Tickets Marked as Fixed in the Release Notes + New and Noteworthy Features Full tests on product/Smoke tests on extensions |
![]() | 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.
Issues specific to XWiki 10.8
- A migration to the new store is necessary for existing filter preferences. It is done automatically when you first start XWiki after upgrading, but it may take time.
- If you are doing un upgrade, don't forget to update the following configuration file: hibernate.cfg.xml. In particular, the following line must be present:<mapping resource=“notification-filter-preferences.hbm.xml”/>
- XWiki has been configured to increase startup speed by avoiding JAR scanning, especially on Tomcat. The following was done, which you can modify if you need JAR scanning for some reason (not used by XWiki Standard by default):
- Addition of metadata-complete="true" and <absolute-ordering /> in XWiki's web.xml
- Addition of a META-INF/context.xml Tomcat-specific deployment file in XWiki's WAR to prevent Tomcat from doing JAR scanning completely and to avoid scanning for JSP and WebSocket.
- Auto redirects are now off by default when moving/renaming pages. Rationale:
- Several users have reported a usability issue about automatic redirects. The way they express it is the following: "I have duplicates pages in my wiki. I don't understand why this is happening. I'm choosing to rename pages and not to copy them but I still get duplicates in the Navigation panel".
- Automatic redirects are especially useful for public wikis where users can have bookmark on pages and you don't want to break them. It can also be useful for internal wikis but it's less an issue.
- Even for public wikis not all pages need automatic redirects. Technical pages don't need them for example.
- We don't have management UIs for redirects FTM and reducing the number of redirects make the wiki easier
In the future we'll offer a config option to define the default behavior.
API Breakages
The following APIs were modified since XWiki 10.7:
- Not a breakage.
- Violation type:java.annotation.attributeValueChanged
- Code:## Old:
@interface org.xwiki.stability.Unstable
## New:
@interface org.xwiki.stability.Unstable
- Violation type:
- Not a breakage: class moved to a legacy module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.velocity.introspection.AbstractChainableUberspector
- Violation type:
- Not a breakage: class moved to a legacy module
- Violation type:java.class.removed
- Code:## Old:
interface org.xwiki.velocity.introspection.ChainableUberspector
- Violation type:
- Not a breakage: class moved to a legacy module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.velocity.introspection.ChainingUberspector
- Violation type:
- Not a breakage: class moved to a legacy module
- Violation type:java.class.removed
- Code:## Old:
class org.xwiki.velocity.introspection.LinkingUberspector
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.Set<java.lang.String> org.xwiki.notifications.filters.NotificationFilterPreference::getEventTypes()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.removed
- Code:## Old:
method java.util.Set<org.xwiki.notifications.NotificationFormat> org.xwiki.notifications.filters.NotificationFilterPreference::getFilterFormats()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.removed
- Code:## Old:
method java.lang.String org.xwiki.notifications.filters.NotificationFilterPreference::getFilterPreferenceName()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.lang.String org.xwiki.notifications.filters.NotificationFilterPreference::getId()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.util.Set<org.xwiki.notifications.NotificationFormat> org.xwiki.notifications.filters.NotificationFilterPreference::getNotificationFormats()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.lang.String org.xwiki.notifications.filters.NotificationFilterPreference::getPage()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.lang.String org.xwiki.notifications.filters.NotificationFilterPreference::getPageOnly()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.removed
- Code:## Old:
method java.util.List<java.lang.String> org.xwiki.notifications.filters.NotificationFilterPreference::getProperties(org.xwiki.notifications.filters.NotificationFilterProperty)
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.noLongerDefault
- Code:## Old:
method java.util.Date org.xwiki.notifications.filters.NotificationFilterPreference::getStartingDate()
## New:
method java.util.Date org.xwiki.notifications.filters.NotificationFilterPreference::getStartingDate()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.nowAbstract
- Code:## Old:
method java.util.Date org.xwiki.notifications.filters.NotificationFilterPreference::getStartingDate()
## New:
method java.util.Date org.xwiki.notifications.filters.NotificationFilterPreference::getStartingDate()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.lang.String org.xwiki.notifications.filters.NotificationFilterPreference::getUser()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method java.lang.String org.xwiki.notifications.filters.NotificationFilterPreference::getWiki()
- Violation type:
- NotificationFilterPreference store did not scale
- Violation type:java.method.addedToInterface
- Code:## Old:
null
## New:
method void org.xwiki.notifications.filters.NotificationFilterPreference::setEnabled(boolean)
- Violation type:
Credits
The following people have contributed code and translations to this release (sorted alphabetically):
Adel Atallah
Alex Cotiugă
Constantin Listar
Dominik Roszkowski
Ecaterina Moraru (Valica)
Eduard Moraru
Guillaume Delhumeau
Ilie Andriuta
Marius Dumitru Florea
Oana-Lavinia Florean
Roman Ivanov
Simon Urli
slauriere
Thomas Mortagne
Valdis Vitolins
Vincent Massol
xrichard
吴国凯