Preparing for Confluence 7.9

This documentation is intended for Confluence developers who want to ensure that their existing plugins and apps are compatible with Confluence 7.9.

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
05 November 2020

7.9.0-rc2

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:

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. 

XStream upgrade

Status: ADVANCED NOTICE

We are currently working on upgrading the version of XStream bundled with Confluence. This is a major upgrade that breaks compatibility with the old format of stored data. To help with this, we are adding a layer of backward compatibility to support existing data in Bandana.

See XStream 1.4 upgrade for full details. 

We are currently targeting Confluence 7.10 for this upgrade, and have cut a special EAP milestone so you can test your plugins ahead of time. Download the 7.10.0-xstream-14-m03 milestone

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: COMPLETE

In Confluence 7.9 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: COMPLETE

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.

Personal access tokens

Status: COMPLETE

From Confluence 7.9, users can create personal access tokens for REST API authentication. See Using Personal Access Tokens for details and usage.

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 - 05 November 2020

There's still some work to be done on the accessibility checker. For this reason we’ve decided to keep this feature dark for Confluence 7.9. We'll make it available in a future Confluence version. 

Beta 1 - 26 October 2020

In this beta release:

  • personal access tokens
  • upgrade Confluence without downtime
  • accessibility checker

See Confluence 7.9 beta release notes for full details. 

EAP 3 – 18 October 2020

Milestone 7.9.0-m41

No significant changes in this milestone.

EAP 2 – 10 October 2020

Milestone 7.9.0-m34

No significant changes in this milestone.

EAP 1 – 6 October 2020

Milestone 7.9.0-m28

In this milestone:

  • JQuery patches
  • Search index has been split into a change index and content index. This change includes an upgrade task to split the index, which may take some time and disk space.


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 Nov 5, 2020

Was this helpful?

Yes
No
Provide feedback about this article

In this section

Powered by Confluence and Scroll Viewport.