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.

Latest milestone
22 September 20207.8.0-rc1Download
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:

Planned changes

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

Status: COMPLETE

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

Status: DELAYED

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. 

See OAuth 2.0 integration for developers

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

Status: DELAYED

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. 

jQuery update

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.
 

More information...

An example of this is:

jQuery('<div/><span/>');

The above code prior to the patch being applied would have translated into:

<div></div>
<span></span>

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:

jQuery('<div></div><span></span>');

The above change affects the jQuery(), 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:

    jQuery('<div/>');

    As there are no additional HTML tags to nest it will just convert to:

    <div></div>
  • Void elements don't require explicit opening and closing tags. For example:

    jQuery('<br/><div></div>')

    Will correctly convert to:

    <br>
    <div></div>

More information

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 ISearch should override getSearchIndexes() and return the SearchIndex that 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. ContentSearch  and ChangesSearch will 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 ConfluenceIndexTask have changed, because the IndexWriter is coupled to a single index. Now that change and content documents are stored in separate indexes, each implementation of ConfluenceIndexTask may only be performed on either the content or change index. The target index must be specified by overriding the new getSearchIndex() method in the ConfluenceIndexTask interface to return the correct SearchIndex enum constant.
  • JournalIndexTaskQueue has been made abstract and each index now has its own queue. Please use child classes ContentJournalIndexTaskQueue  and ChangesJournalIndexTaskQueue instead.
  • The luceneConnection bean will now only search the content index. A @ComponentImport ILuceneConnection will no longer return any change documents. ChangesSearch should be used instead.

Implemented changes

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

Milestone 7.8.0-m37

No significant changes in this milestone.

EAP 2 – 31 August 2020

Milestone 7.8.0-m31

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

Milestone 7.8.0-m25

No significant changes in this milestone. 


Looking for updated documentation? Check out the Confluence EAP space for the latest docs.

Did you know we’ve got a new developer community? Head to community.developer.atlassian.com/ to check it out! We’ll be posting in the announcements category if when new EAP releases are available.

Last modified on Sep 22, 2020

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.