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
21 November 2022 | 8.0.0-rc1 |
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: DONE
We'll be moving from WebWork 2.1.x to Apache Struts 2 in Confluence 8.0.
You can test your plugin against our latest Struts development release 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.
Improvements to search results ranking
Status: DONE
We have improved Confluence's search ranking logic to deliver more recent and relevant results so customers can find what they're looking for with less filtering and clicks.
Here's how the ranking of search results will change in Confluence 8.0:
higher priority given to content created or modified within the last year, and especially within the last week
higher priority given to pages, blog posts, users and spaces over files and media attachments
slight increase in the prioritisation of page title matches over body text matches
Removing deprecated code
Status: DONE
We will remove deprecated code paths in earlier Confluence versions. See Deprecated code paths removed in 8.0 for a full list of the classes and methods removed.
Changes like this help us maintain a healthy code-base, remove hurdles for developers, and simplify the code structure where possible.
Embedded Crowd upgrade
Status: DONE
In this release, we upgraded embedded Crowd from version 4.4 to 5.0. There are several performance and stability improvements.
H2 database removal
Status: DONE
We are removing and ending support for H2 database in Confluence 8.0 (see supported platforms for the latest updates). If you wish to continue your development cycle in Confluence 8.0 or later with H2 database, you will need to upgrade to AMPS 8.6.0.
React 18 upgrade
Status: DONE
If you have been using our bundled React and React-DOM JavaScript libraries, you will be provided with React 18.0.0 in Confluence 8.0 via AMD modules react
and react-dom
, respectively. Previously, we bundled React 16.8.1.
To use React for your app, you should declare dependency on these existing web-resources:
com.atlassian.confluence.plugins.confluence-frontend:react
andcom.atlassian.confluence.plugins.confluence-frontend:react-dom
For more information about this new version of React, see the React 18 upgrade guide.
Hibernate 5.6 upgrade
Status: DONE
We have upgraded from Hibernate 5.2 to 5.6 to maintain platform security. This upgrade may break some apps that rely on deprecated features and interfaces in Hibernate.
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.
In order to maintain compatibility with Confluence 8.0, ensure your app is compatible with Hibernate 5.6.
Refer to the Hibernate documentation for official change logs and migration guides:
No direct access to Hibernate
Status: DONE
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 moment.js
Status: DONE
To modernise and scale our platform, we have removed the legacy library, Moment.js. We will use no library, and rely directly on native JavaScript Date
and Intl
objects (ECMAScript Internationalization API). In the future, we we'll use Temporal API.
This option will give us greater flexibility to customise how we display date and time to customers in different locations. This change will also make our code more maintainable and prevent bugs.
Removed web resources:
com.atlassian.confluence.plugins.confluence-frontend:moment
confluence.web.resources:date-time-formatting
To learn more about this option, refer to Moment.js documentation.
Removal of editor-v3
Status: DONE
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 it is no longer tested or reliable.
The editor-v3
WRM and editor-v4
WRM contexts will no longer be loaded. Any resources used in the editor-v3
context can be removed completely. The editor c
ontext is unchanged, and resources used in editor-v4
can now be safely moved to the 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: DONE
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.
Update : In Confluence 8.0, we have removed the deprecated global variables we deemed would be most impactful to future performance and scalability (see below), however there is still work to be done. We will resume this work at a later date and provide information when we recommence this work.
Removed global variables and related AMD module shims:
$.fn.sizeToFit
AJS.Editor
AJS.PagePermissions.updateEditPageRestrictions
AJS.Rte.Content
- its only available method was getHtml(), now replaced by tinymce.activeEditor.getContent()AJS.Rte.TablePicker
Confluence.EditorNotification
replaced by AMDconfluence-editor/notifications
Confluence.Editor
Confluence.Editor.defaultInsertImageDialog
Confluence.Editor.Drafts
Confluence.Editor.ImageDialog
Confluence.Editor.insertImageDialog
Confluence.Editor.PageLayoutToolbar
Confluence.Editor.SearchManager
Confluence.Editor.UI
tinyMCEPopup
, AMDtinymce/popup
tinymce.plugins.PageLayoutPlugin
tinymce.plugins.PageLayoutPlugin.PageLayout
tinymce.plugins.PageLayoutPlugin.PageLayout2
Removed AMD modules:
confluence-editor/editor/page-editor
confluence-editor/editor/page-editor-permissions
confluence-editor/editor/page-editor-ui
confluence-editor/insert-image-dialog/insert-image-dialog
confluence-editor/panel-components/panel-components-init
confluence-page-layout/pagelayout/page-layout
confluence-page-layout/pagelayout/page-layout-2
confluence-page-layout/pagelayout/tinymce-page-layout-toolbar
confluence-page-layout/pagelayout/tinymce-page-layout
AMD modules that are still supported but have changed web-resource dependency:
confluence-editor/editor/page-editor-message
→
newly usecom.atlassian.confluence.plugins.confluence-editor-plugin:page-editor-message
confluence-editor/editor/page-editor-quit-dialog → newly use com.atlassian.confluence.plugins.confluence-editor-plugin:page-editor-quit-dialog
AMD modules considered deprecated but provided in 8.0 for backward compatibility:
confluence/editor-notifications →
useconfluence-editor/notifications and web-resource dependency com.atlassian.confluence.plugins.confluence-editor-plugin:editor-notifications
)
Removed web-resources and their replacement if available:
com.atlassian.confluence.editor:page-editor
(no replacement)
com.atlassian.confluence.editor:page-editor-css (no replacement)
com.atlassian.confluence.editor:page-editor-message
→com.atlassian.confluence.plugins.confluence-editor-plugin:page-editor-message
com.atlassian.confluence.editor:page-editor-js (no replacement)
com.atlassian.confluence.editor:page-editor-quit-dialog → com.atlassian.confluence.plugins.confluence-editor-plugin:page-editor-quit-dialog
com.atlassian.confluence.editor:page-editor-soy (no replacement)
com.atlassian.confluence.plugins.reliablesave:reliable-save (no replacement)
com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend (no replacement)
com.atlassian.confluence.plugins.confluence-page-layout:
editor-pagelayout-content-styles(no replacement)
com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-content-styles
→
com.atlassian.confluence.plugins.confluence-editor-plugin:page-layout
confluence.web.components:editor-notifications -> com.atlassian.confluence.plugins.confluence-editor-plugin:editor-notifications
Removed plugins:
com.atlassian.confluence.plugins.confluence-page-layout
Removal of deprecated code to support object storage
Status: DONE
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. This data is better served by object storage types, and using this option will improve Confluence's operational experience. In addition, administrators will be able to leverage the native tooling provided by these mediums to address 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. See Deprecated code paths removed in 8.0 for the full list.
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: DONE
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: DONE
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 and Bonnie API isolation
Status: DONE
In Confluence 7.0, we deprecated direct access to the Lucene API. In Confluence 8.0, we have removed direct access to the Lucene API and the implementation of Atlassian Bonnie. This will enable us to upgrade our underlying search engine safely and as needed without impacting your apps.
The following packages will no longer be available in Confluence 8:
org.apache.lucene
- Interfaces and classes in
com.atlassian.confluence.search.lucene
will no longer exist. To make changes to the index or retrieve information from the index, use SearchV2 API such as SearchIndexAccessor and SearchManager instead. com.atlassian.bonnie.search.Extractor
will no longer exist. All extractor modules will need to be migrated to the newercom.atlassian.confluence.plugins.index.api.Extractor2
instead.SearchFilters and Lucene filter will no longer be used. Apps can only search for contents via our official Search V2 API with the newer SearchQuery classes.
However, these interfaces of Atlassian Bonnie are still available to 3rd-party developers:
com.atlassian.bonnie.Indexer
com.atlassian.bonnie.Searchable
com.atlassian.bonnie.Handle
com.atlassian.bonnie.HandleResolver
Change to macros and table display in editor
Status: DONE
To improve the speed of our editor, we've stopped providing a patch that automatically wraps macros and tables in paragraph tags. This patch fixed a bad editing experience on older browsers. As a result of removing the patch, you may see macros and tables placed right next to each other in the editor. When you publish or preview the page, the table and macro will appear adequately spaced.
Usage stats plugin removed
Status: DONE
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.
Accessibility improvements for low-vision and keyboard-only users
Status: DONE
With this release, we’ve completed the remediation of accessibility blockers for two disability cohorts in Confluence: low-vision and keyboard-only users. By resolving 28 issues, we’ve ensured that our customers from those two groups can perform essential tasks within Confluence.
Check out the full list of fixed issues
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.
RC 1 - 21 November 2022
Milestone 8.0.0-rc1
Minor bug fixes
Beta 1 - 14 November 2022
Milestone 8.0.0-beta1
No significant changes in this milestones
EAP 17 - 7 November 2022
Milestone 8.0.0-m90
No significant changes in this milestones
EAP 16 - 31 October 2022
Milestone 8.0.0-m89
No significant changes in this milestones
EAP 15 - 25 October 2022
Milestone 8.0.0-m86
No significant changes in this milestones
EAP 14 - 17 October 2022
Milestone 8.0.0-m76
Contains:
Improved search ranking logic
Security and bug fixes
EAP 13 - 10 October 2022
Milestone 8.0.0-m69
Contains:
Struts 2 upgrade merged, see Struts 2 upgrade for details
EAP 12 - 3 October 2022
Milestone 8.0.0-m60
No significant changes in this milestone
Struts EAP 4 - 21 September 2022
Milestone 8.0.0-struts-m48
See Struts 2 upgrade for the latest updates and breaking changes
EAP 11 - 13 September 2022
Milestone 8.0.0-m45
Contains:
Upgrade to Hibernate 5.6
- Embedded Crowd upgrade
Removal:
Hibernate 2
access to Hibernate APIs
moment.js and associated web resources
TinyMCE editor-v3 and associated web resources
Bonnie API isolated
Packages for Lucene and Search implementation, except four remaining interfaces: Searchable, Indexer, Handle and HandleResolve
Deprecated code paths from earlier versions, see what we've removed
Struts EAP 3 - 9 September 2022
Milestone 8.0.0-struts-m39
See Struts 2 upgrade for the latest updates and breaking changes
Struts EAP 2 - 30 August 2022
Milestone 8.0.0-struts-m027
See Struts 2 upgrade for the latest updates and breaking changes
EAP 10 - 23 August 2022
Milestone 8.0.0-m026
Removal:
atlassian-jslibs from Confluence frontend API
Hipchat plugins, in preparation for Confluence 8.x feature work
SearchFilter interfaces and all implementation classes
Deprecated code paths from earlier versions, see what we've removed
EAP 9 - 15 August 2022
Milestone 8.0.0-m023
Removal:
Usage tracking plugin
ResultFilter
Deprecated constructors in subclasses of ISearch
BooleanSearchFilter and AbstractBooleanQuery
AbstractChainableSearchFilter class and its subclasses
MatchAllDocsFilter and MatchNoDocsFilter
Deprecated code paths from earlier versions, see what we've removed
EAP 8 - 8 August 2022
Milestone 8.0.0-m021
Removal:
getSearchFilter in ContentNameSearchSectionSpec and its implementation
Struts EAP 1 - 3 August 2022
Milestone 8.0.0-m021
Contains:
Struts 2 upgrade. Learn more
EAP 7 - 1 August 2022
Milestone 8.0.0-m020
Removal:
Deprecated code paths from earlier versions, see what we've removed
EAP 6 – 20 July 2022
Milestone 8.0.0-m018
Contains:
Analytics 8.x
Removal:
H2 and HSQL from web app
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
Contains:
Upgrade to React 18
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.
Quartz scheduler library
Dark feature that allows regressions to TinyMCE editor-v3
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.