Preparing for Confluence 8.0
This documentation is intended for Confluence developers who want to ensure that their existing plugins and apps are compatible with Confluence 8.0.
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 milestones
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.
Struts 2 upgrade
Status: IN PROGRESS
We'll be moving from WebWork 2.1.x to Apache Struts 2 in Confluence 8.0.
You can test your plugin against 8.0.0-struts-m020
and by removing XWork/WebWork in your dependencies. If your plugin uses confluence-plugins-platforms-pom
then it should get Struts 2 as managed dependency now.
See Struts 2 upgrade for a migration plan, breaking changes and updates.
No direct access to Hibernate
Status: IN PROGRESS
In Confluence 8.0 we will remove direct access to Hibernate. This will allow us to upgrade Hibernate more frequently without breaking your app, or requiring you to do significant testing and rework when things change.
Based on our experience updating our own bundled apps, it is quite likely that this change will affect your apps.
See Hibernate sessions and transaction management guidelines for more information and a sample custom query.
Check out our migration guide which will help you identify where you are using the Hibernate interface, and provide some recommended alternatives for common use cases.
Removal of editor-v3
Status: IN PROGRESS
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 Confluence 8.0 release, as they are no longer tested or reliable.
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
context.
Removed web-resources:
com.atlassian.confluence.plugins.confluence-paste:*
com.atlassian.confluence.tinymceplugin:*
com.atlassian.confluence.editor
com.atlassian.confluence.editor:atlassian-editor-rte-resources
com.atlassian.confluence.editor:editor-autocomplete-base
com.atlassian.confluence.editor:editor-autocomplete-links-media
com.atlassian.confluence.editor:editor-autocomplete-macro
com.atlassian.confluence.editor:editor-autocomplete-resources
com.atlassian.confluence.editor:editor-autocomplete-resources-only
com.atlassian.confluence.editor:editor-insert-files
com.atlassian.confluence.editor:editor-javascript-resources
com.atlassian.confluence.editor:editor-resources-v3
com.atlassian.confluence.editor:editor-search-replace
com.atlassian.confluence.editor:search-ms-edge
com.atlassian.confluence.editor:table-resizable-plugin
com.atlassian.confluence.plugins.confluence-link-browser:link-browser-editor-resources
com.atlassian.plugins.editor:atlassian-rte-javascript
com.atlassian.confluence.editor:editor-resources-v4
com.atlassian.confluence.editor:editor-v3-v4-shared-resources (renamed to editor-shared-resources)
Removed plugins without replacement:
com.atlassian.confluence.plugins.confluence-editor-compatibility
Removal of Editor javascript global variables
Status: IN PROGRESS
In Confluence 5.9 we deprecated all Confluence provided javascript globals and in Confluence 7.0 we started removing them. This process continues with Confluence 8.0 where we focus on editor global variables.
Removed global variables and related AMD module shims:
Confluence.EditorNotification
replaced by AMDconfluence-editor/notifications
tinyMCEPopup
, AMDtinymce/popup
AMD modules newly deprecated but provided in 8.0 for backward compatibility:
confluence/editor-notifications
(useconfluence-editor/notifications
)
Introducing object storage for attachment data
Status: IN PROGRESS
With Confluence 8.0, we've started building support for attachment data to be optionally stored on object storage, other than a filesystem such as AWS S3. The nature of this type of data is better served by object storage types, and using this option will improve Confluence's operational experience. As a result, administrators will be able to leverage the native tooling provided by these mediums in addressing scalability issues, backup, restore and disaster recovery.
As part of this work, deprecated APIs in Confluence 7.x that were not flexible enough to support object storage-based deployments have been removed in Confluence 8.0.
For vendors that operate on attachment files stored in a filesystem, please ensure that you are accessing these attachments through APIs provided in AttachmentManager
and don't assume that their location is based on the Hierarchical File System Attachment Storage.
XStream upgrade
Status: IN PROGRESS
We've enabled the XStream allowlist as the default and only behaviour from Confluence 8.0, and we've removed the blocklist.
We expect the Confluence compatibility library to continue to work for XStream, which will provide cross-version compatibility. However, app vendors are strongly advised to configure allowlist for XStream for compatibility with 8.0.
See XStream 1.4 upgrade for more information.
Platform 6 upgrade
Status: IN PROGRESS
Confluence 8 includes Atlassian Platform 6, which has upgrades of the following 3rd party components, and their corresponding usages in all Atlassian components, or Atlassian maintained forks:
- dom4j 2.1.3. Maven coordinates have changed from
dom4j:dom4j
toorg.dom4j:dom4j
- guava 31.0.1-jre
- jdom 2.0.6.1. Maven coordinates have changed from
org.jdom:jdom
toorg.jdom:jdom2
- rome 1.18.0. Maven coordinates have changed from
rome:rome
tocom.rometools:rome
, and java package names have changed fromcom.sun.syndication.*
tocom.rometools.rome.*
.
Subsequent Atlassian component upgrades include:
- Active Objects 4.0.0
- Atlassian Analytics 8.0.0
- Atlassian Annotations 4.0.0
- Atlassian Application Links 9.0.0
- Atlassian Beehive 5.0.0
- Atlassian Cache 6.0.0
- Atlassian Core 8.0.0
- Atlassian Event 5.0.0
- Atlassian Failure Cache 3.0.0
- Atlassian Fugue 5.0.0
- Atlassian Gadgets 8.0.0
- Atlassian Healthcheck 7.0.0
- Atlassian Http 3.0.0
- Atlassian HttpClient 3.0.0
- Atlassian Navigation Links 8.0.0
- Atlassian OAuth 5.0.0
- Atlassian Plugins 7.0.0
- Atlassian Plugins Webfragment 6.0.0
- Atlassian Plugins Webresource 6.0.0
- Atlassian Pretty URLs 4.0.0
- Atlassian REST 7.0.0
- Atlassian Scheduler 4.0.0
- Atlassian Shared Access Layer 5.0.0
- Atlassian Soy Templates 6.0.0
- Atlassian Spring Scanner 3.0.0
- Atlassian Streams 9.0.0
- Atlassian Template Renderer 5.0.0
- Atlassian Trusted Apps 6.0.0
- Atlassian Universal Plugin Manager 6.0.0
- Atlassian VCache 2.0.0
- Atlassian Velocity HtmlSafe 4.0.0
- Atlassian Webhooks 7.0.0
- Atlassian Whisper 5.0.0
Lucene API isolation
Status: ADVANCE NOTICE
All Lucene code will not be available in Confluence 8.0, to make future Lucene upgrades safe to do as part of future bugfix and feature releases. The following packages will no longer be available in Confluence 8:
com.atlassian.confluence.search.lucene.*
. Use SearchV2 API insteadcom.atlassian.bonnie.search.Extractor
. Usecom.atlassian.confluence.plugins.index.api.Extractor2
instead
Usage stats plugin removed
Status: ADVANCE NOTICE
We will remove the Usage Stats feature in Confluence 8.0. For more information see, End of Support Announcements for Confluence.
Quartz removed
Status: DONE
Quartz scheduler has been removed in Confluence 8.0. This has been deprecated since Confluence 5.10.
All usages of Quartz and corresponding plugin Job and Trigger modules should be migrated to use atlassian-scheduler and Job Config modules.
Log4j 2.x upgrade
Status: DONE
Confluence 8.0 will ship with Log4J 2.x as its logging backend, upgrading to 2.17.1 or newer.
The legacy log4j.properties
file is still supported, but any Log4j 1.x appenders or layouts referred to in a customised log4j.properties
file may not work as expected.
Plugins may continue to use the Log4j 1.x-vintage org.apache.log4j.Logger
interface, but we strongly recommend using SLF4J instead. Plugins do not have access to the Log4j 2.x API as they did with the Log4j 1.x API.
Java 17 runtime support
Status: DONE
Confluence 8.0 supports running with a Java 17 JVM, to ensure we can run on supported Java LTS releases for the lifetime of Confluence 8.x.
Note that in order to develop plugins running against Java 17, you must be running with AMPS 8.3.3 or later.
Note that we will be ending support for Java 8. See End of Support Announcements for Confluence.
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.
EAP 8 - 8 August 2022
Milestone 8.0.0-m021
- No significant changes in this milestone.
Struts EAP 1 - 3 August 2022
Milestone 8.0.0-m021
Contains:
- Struts 2 upgrade
EAP 7 - 1 August 2022
Milestone 8.0.0-m020
- No significant changes in this milestone.
EAP 6 – 20 July 2022
Milestone 8.0.0-m018
Contains:
- Analytics 8.x
Removal:
H2 and HSQL unbundled from web app
AMPS 8.6.0 or later is required to use these databases on Confluence 8.0
- Support for utf8 charset in MySQL
EAP 5 – 11 July 2022
Milestone 8.0.0-m017
- No significant changes in this milestone.
EAP 4 – 5 July 2022
Milestone 8.0.0-m015
- No significant changes in this milestone.
EAP 3 – 27 June 2022
Milestone 8.0.0-m014
- No significant changes in this milestone.
EAP 2 – 20 June 2022
Milestone 8.0.0-m012
- No significant changes in this milestone.
EAP 1 – 14 June 2022
Milestone 8.0.0-m011
Contains:
- Platform 6 Milestone 2 - dom4j 2.1.3 upgrade
- Log4j 2.x upgrade
- Java 17 runtime support
Removal:
- Logic to adapt the Extractor to Extractor2.
- Support for XmlConfiguredExtractor.
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.