Preparing for Confluence 7.14

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

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
8 September 2021

7.14.0-beta1

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. 

Security uplift

Status: COMPLETE

We'll be identifying and upgrading core components and libraries to the newest versions. We will not break our official APIs. However, certain libraries, transitive dependencies, and behaviours might change.

Here's a list of libraries and dependencies we've upgraded in this version

Library / dependencySource versionTarget versionNotes
Apache Commons Compress1.191.21
Apache HttpClient4.5.124.5.13
Apache PDFBox2.0.162.0.23
Apache Velocity1.6.4-atlassian-211.6.4-atlassian-23
Atlassian Gadgets6.0.46.0.6
Atlassian REST6.1.66.1.11
Atlassian Whisper1.1.154.0.0
dom4j1.6.1-atlassian-21.6.1-atlassian-3
io.zipkin.brave:brave-*3.0.05.13.3Moved from com.github.kristofa's brave to io.zipkin.brave:brave-* implementations 
Lodash4.17.204.17.21
minimist1.2.01.2.5
nimbus-jose-jwt8.18.22

XStream upgrade

Status: COMPLETE

We are upgrading XStream to 1.4.17.  If you bundle your own version of XStream you will also need to upgrade to this version or later. This is because XStream 1.4.16 provides a newer implementation of XmlPullParser through service loader. XStream's default parser has changed from Xpp3 to MXParser, which is a fork of Xpp3.  You can read more about the changes in the XStream change log

When upgrading XStream in our own plugins, we found that it remained compatible with older Confluence versions, as there's a dependency of xpp3_min which helps the plugin to work with older XmlPullParser implementations mentioned in service loader in older Confluence versions.

This upgrade was also backported to 7.12.3.

Translation Transformer Cache Invalidation

Status: COMPLETE

We have added a new getStateHash() method to the TranslationTransform interface (com.atlassian.confluence.plugin.TranslationTransform). 

The purpose of this new method is to provide a hash value for use when checking whether the cache for the .js files relating to i18n needs to be invalidated to serve the most up-to-date chunks. If your translation transformer has multiple states (such as enabled/disabled), then this will be necessary to ensure that upon switching the state the Confluence app reflects that change and serves the new .js files.

There are 2 requirements for the cache invalidation to occur correctly:

  1. Provide a string hash value based on the state of the transformer upon calling the getStateHash() method

    // example where transformerIsEnabled is a boolean representing whether the transformer is enabled or not
    @Override
    public String getStateHash() {
      return Integer.toString(Boolean.valueOf(transformerIsEnabled).hashCode());
    }
  2. The event publisher (com.atlassian.event.api.EventPublisher) must publish the TranslationTransformStateChangedEvent (com.atlassian.confluence.event.events.admin package) event upon state change in order to trigger the cache invalidation which calls getStateHash()

    // this will be called for example inside the REST API call which performs the transformer state change
    eventPublisher.publish(new TranslationTransformStateChangedEvent(this));

If your translation transformer does not have multiple states, you don't need to override the getStateHash() method as the interface provides a default implementation.

Hibernate upgrade

Status: ADVANCE NOTICE

We're working on upgrading Hibernate from 5.2 to 5.4. This includes breaking changes like removing deprecated features/interfaces.

Notable features that have been removed:

  • Support for JDBC parameterised queries. Classes that implement HibernateContentQueryFactory should be verified to assure that named parameters are used instead.
  • RegionAccessStrategy and other access strategy interfaces have been replaced.

See Hibernate 5.2 to 5.4 upgrade contains breaking changes for more information. 

We hope to finish work on this upgrade in time for 7.15. We’ll keep you posted if that changes.

Removal of editor-v3 

Status: ADVANCE NOTICE

When we upgraded our editor to TinyMCE v4 way back in Confluence 6.14, we introduced an unsupported dark feature that could be used to revert to the v3 editor (frontend.editor.v4 / frontend.editor.v4.disable). We plan to remove this dark feature flag in a future Confluence release, as they are no longer tested or reliable.

Once that happens, the editor-v3 WRM context will no longer be loaded. Any resources used only in this context can be removed completely. The editor and editor-v4 contexts are unchanged, and with this change, resources in editor-v4 can be safely moved to editor.

Changes to basic authentication

Status: ADVANCE NOTICE

We plan to provide admins the ability to disable basic authentication, and will be recommending any integrations use personal access tokens instead. Learn more about disabling basic authentication. You can start testing now by manually upgrading the SSO for Atlassian Server and Data Center to 4.2.0. 

We're currently targeting 7.15 for this work. 

Change to page and attachment history versioning

Status: ADVANCE NOTICE

As part of our work to introduce retention rules for historical page and attachment versions, we have changed the way versions are numbered in the page history and attachment history.

Versions will not be renumbered when deleted by a user, or by the retention rules scheduled jobs. This may cause issues for apps that rely on the current behaviour where versions are reordered after deletion. 

We're currently targeting 7.15 for this work. 


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.

Beta 1 - 8 September 2021

In this beta release:

  • Upgrade to the next feature version with no downtime
  • Schedule data pipeline exports

  • Change from C3P0 to Hikari for connection pool management
  • End of support for PostgreSQL 9.6.  

See Confluence 7.14 beta release notes for full details of everything in this release.

EAP 1 – 30 August 2021

Milestone 7.14.0-m176

  • XStream upgrade
  • We now store the deleted date for items sent to the trash. We'll use the upgrade date as the deletion date for any items already in the trash. 


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 12, 2021

Was this helpful?

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