Preparing for Confluence 8.0

Confluence Development Releases

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

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

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. 

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. 

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 and

  • com.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 context 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 AMD confluence-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, AMD tinymce/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 use com.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 → use confluence-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  to org.dom4j:dom4j 

  • guava 31.0.1-jre

  • jdom 2.0.6.1. Maven coordinates have changed from org.jdom:jdom  to org.jdom:jdom2 

  • rome 1.18.0. Maven coordinates have changed from rome:rome  to com.rometools:rome , and java package names have changed from com.sun.syndication.*  to com.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 newer com.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:

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

EAP 11 - 13 September 2022

Milestone 8.0.0-m45

Contains:

  • Upgrade to Hibernate 5.6

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

Struts EAP 2 - 30 August 2022

Milestone 8.0.0-struts-m027

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:

EAP 7 - 1 August 2022

Milestone 8.0.0-m020

Removal:

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.

Last modified on Nov 28, 2022

Was this helpful?

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