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 / dependency | Source version | Target version | Notes |
---|---|---|---|
Apache Commons Compress | 1.19 | 1.21 | |
Apache HttpClient | 4.5.12 | 4.5.13 | |
Apache PDFBox | 2.0.16 | 2.0.23 | |
Apache Velocity | 1.6.4-atlassian-21 | 1.6.4-atlassian-23 | |
Atlassian Gadgets | 6.0.4 | 6.0.6 | |
Atlassian REST | 6.1.6 | 6.1.11 | |
Atlassian Whisper | 1.1.15 | 4.0.0 | |
dom4j | 1.6.1-atlassian-2 | 1.6.1-atlassian-3 | |
io.zipkin.brave:brave-* | 3.0.0 | 5.13.3 | Moved from com.github.kristofa's brave to io.zipkin.brave:brave-* implementations |
Lodash | 4.17.20 | 4.17.21 | |
minimist | 1.2.0 | 1.2.5 | |
nimbus-jose-jwt | 8.1 | 8.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:
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()); }
The event publisher (
com.atlassian.event.api.EventPublisher
) must publish theTranslationTransformStateChangedEvent
(com.atlassian.confluence.event.events.admin
package) event upon state change in order to trigger the cache invalidation which callsgetStateHash()
// 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.