Preparing for Confluence 7.8
This documentation is intended for Confluence developers who want to ensure that their existing plugins and apps are compatible with Confluence 7.8.
Watch this page to find out when a new milestone is available and what’s changed. We will publish formal release notes once we release a beta.
|22 September 2020||7.8.0-rc1||Download|
Issues with this milestone?
Hit the Feedback button on the Confluence EAP header or raise an issue to tell us about it.
On this page:
In this section we'll provide an overview of the changes we intend to make, so you can start thinking how it might impact your app. We'll indicate when a change has been implemented, and in which milestone.
H2 upgrade contains breaking changes
We have upgraded the embedded H2 database included with Confluence to version 1.4.200. This is a major upgrade which contains some breaking changes. H2 version 1.4.200 has tighter foreign key restrictions and is incompatible with H2 version 1.4.196 exports.
This means upgrading a Confluence site running H2 will fail. See the H2 changelog for a full list of changes in this version.
As the H2 embedded database is only used for evaluating Confluence, we don't expect there to be too much impact to customers when this is released, but we did find this affected our development environments, and many automated tests that were using H2.
Because H2 v 1.4.200 won't accept exports from earlier versions, you will need to perform an XML export of your site, install Confluence, and then import your XML backup.
OAuth 2.0 authentication
We're adding the ability to configure OAuth 2.0 authentication. Within Confluence this will mostly be used for mail server authentication (such as a POP3 incoming mail server), but will also be available to apps.
We're still working on the mail server configuration screens in Confluence, that will allow you to select OAuth 2.0 as the authentication method, so we've rolled back the OAuth 2.0 changes for now.
Create and reply by email
We've been improving the Create by email and Reply by email plugins. These plugins have always been disabled by default, and were quite difficult to use because there was no UI for configuring the feature.
We're making some improvements to the way the feature works, and adding a new admin screen which administrators can use to enable the features.
We're still working on this one, and will provide more information at a later date.
Status: ADVANCE NOTICE
In Confluence 7.9 (due around November) we plan to apply some security patches to jQuery 2.2.4, which is bundled with Confluence. This introduces a breaking change which affects any single tag HTML strings parsed via jQuery.
An example of this is:
The above code prior to the patch being applied would have translated into:
However after the patch, it will nest any single tags which are not closed explicitly:
<div> <span></span> </div>
This means that any single tag HTML will need to be converted to have the opening and closing explicitly like so:
The above change affects the
jQuery.htmlPrefilter, and all jQuery DOM manipulation methods (append, after, appendTo, before, html, insertAfter, insertBefore, prepend, prependTo, replaceWith, wrap, wrapAll, wrapInner).
This change will affect any plugins which utilise the jQuery bundled with Confluence.
Cases not affected
The following cases won't be affected by the changes.
Single tag HTML by itself such as:
As there are no additional HTML tags to nest it will just convert to:
Void elements don't require explicit opening and closing tags. For example:
Will correctly convert to:
Although we're not upgrading our jQuery library to version 3.5, we are cherry-picking and applying some patches from that version. See https://jquery.com/upgrade-guide/3.5/ for a good explanation on the breaking change.
Upcoming changes to the search index
Status: ADVANCE NOTICE
From Confluence 7.9, content and change documents will live in separate indexes.
Changes and improvements to search:
- With fewer documents in each index, search is now faster. Implementations of
getSearchIndexes()and return the
SearchIndexthat the search should target. If
getSearchIndexes()is not overridden, the default behaviour is to perform the search against both indexes which maintains the existing behaviour but will be orders of magnitude slower than searching a single index.
ChangesSearchwill search only their respective indexes.
In order to split the index, we've had to make a number of breaking changes to the way search and indexing works in Confluence. These changes include:
- The semantics of
ConfluenceIndexTaskhave changed, because the
IndexWriteris coupled to a single index. Now that change and content documents are stored in separate indexes, each implementation of
ConfluenceIndexTaskmay only be performed on either the content or change index. The target index must be specified by overriding the new
getSearchIndex()method in the
ConfluenceIndexTaskinterface to return the correct
JournalIndexTaskQueuehas been made abstract and each index now has its own queue. Please use child classes
luceneConnectionbean will now only search the content index. A
@ComponentImport ILuceneConnectionwill no longer return any change documents.
ChangesSearchshould be used instead.
In this section we'll provide details of changes we have implemented, organised by the milestone they are first available in. This will help you decide which milestone to use when testing.
Release Candidate - 22 September 2020
We've added a new startup check that will prevent you from upgrading to 7.8 if you are using H2. This will protect your existing data and give you a chance to migrate to a supported external database.
Beta 1 - 15 September 2020
In this beta:
- H2 embedded database upgrade - see info about about the impact this might have on your development environment and automated tests if they use H2.
- New 'search performed' audit log event.
See Confluence 7.8 beta release notes for full details.
EAP 3 – 7 September 2020
No significant changes in this milestone.
EAP 2 – 31 August 2020
In this milestone:
- OAuth 2.0 and Create and reply by email features (work in progress)
- "Allowlist” and “blocklist” now replace "whitelist" and “blacklist” in the Confluence user interface. Your plugins won't be affected because there are no API changes.
EAP 1 – 25 August 2020
No significant changes in this milestone.