Last updated Nov 18, 2024

Confluence Cloud Changelog

This page includes release notes and updates for Confluence Cloud app developers. Use this page to keep track of upcoming changes, deprecation notices, new features, and feature updates from Confluence Cloud.

Forge changelog

For updates about changes to the Forge platform, see the Forge changelog in the Forge documentation.

You can also ask questions and learn from other Confluence Cloud developers on the Atlassian Developer Community.

18 November 2024

Removed Released: Loading styles from Connect CDN instead of inline

We’ve stopped injecting stylesheets for Connect apps via inline styles, in favour of loading from the Connect CDN. This affects the Theming API and dynamic content macros that supported the legacy Confluence editor.

We originally announced this 6 months ago, in line with our standard deprecation policy. It is now live for https://developer.atlassian.com/cloud/confluence/developer-canary-program tenants, and will roll out to all customers widely throughout this week.

If your app doesn’t use the above Connect features, or doesn’t use a Content Security Policy (CSP) for style-src, no action is required. Otherwise, please read the details here or see https://developer.atlassian.com/platform/marketplace/security-requirements/#connect-apps on how to modify your CSP to support these changes.

More details

Action required

To support these changes in your app, if you're using a Content Security Policy that sets the style-src policy, you must add the Connect CDN (https://connect-cdn.atl-paas.net) to your policy to allow these stylesheets to be injected. It's safe to remove unsafe-inline from your policy if you've been using it up until now.

Additional context

The stylesheets mentioned here were included automatically via the Connect JS script, not manually by the app vendor. There are two circumstances under which Connect injected stylesheets into your app:

  1. The first is only for apps which opted in to the Theming API.

    1. The theme stylesheets previously loaded via an inline stylesheet, which forced vendors to adopt the insecure unsafe-inline policy, and is the main motivation for this change.

  2. The second location is only for dynamic content macros.

    1. We injected a stylesheet with CSS classes representing colors from the legacy Confluence editor.

    2. This happened without opt-in, to be backwards-compatible with macros created in the legacy editor.

    3. This injection was done via CSSOM, not inline styles, and therefore isn’t impacted by style-src CSP rules currently. However, it is also now being served from the CDN.

To summarise, all styles are now being loaded from the CDN, and the inline/CSSOM methods have been removed.

15 November 2024

Announcement Improving how apps are organized in Confluence's page overflow menu

Starting in December, we plan to gradually rollout a change to improve how apps are organized in Confluence’s page overflow menu into an Apps item, that will help the menu scale better with more items. See More details for imagery.

No work is required from developers due to these changes. Your apps will automatically appear in the Apps item.

More details

As discussed in an RFC, apps will be organized into an “Apps” item in the overflow menu and given a higher relative position. Accessing apps will require no additional clicks as apps will appear upon hover.

Note that apps in the overflow menu in live pages are already organized this way.

13 November 2024

Removed Bulk remove content states endpoint and Get update on long running tasks for content states endpoint in v1 Confluence Cloud REST API

Following this deprecation notice from May 13, 2024, we're removing the POST /wiki/rest/api/content-states/delete endpoint and the GET /wiki/rest/api/content-states/task/{taskId} endpoint from the Confluence Cloud v1 REST API. They will no longer be available from the time of this announcement, and we won’t be providing a replacement functionality.

More details

For guidance on how to adapt to these changes, see the deprecation notice.

12 November 2024

Announcement Live pages are available for testing on sites in the Developer Canary Program

All partners in the Developer Canary Program can now test their apps with live pages! Note that live pages are still in early access, and customers that opt in are aware that some apps may not be fully functional yet in live pages. Starting January 2025, we will start gradually rolling out the ability to opt in to the live pages beta to more customers (expecting to be available for opt in for all customers by April 2025).

To get started with testing live pages, follow the instructions here: Create and collaborate on live pages in Confluence. We also announced this in the developer community, where you can leave comments & feedback. See our community announcement here.

See More details, for more technical details & things we recommend you try.

More details

Page States

We recommend making sure that your app works in live pages that may never be published and always remain live pages. Keep in mind that live pages can still be published (e.g. for use cases like knowledge bases), so make sure that your app still makes sense with published pages--both while viewing & editing them.

Continue to consider permissions scenarios around who can edit / view pages, these continue to exist in live pages (e.g. a user may have view-only permission of a live page).

Extension Points

Live pages will support the following page extension points. If you are using any other extension points, we recommend you migrate so that your app is accessible in live pages. As stated on October 31, 2024, we will be deprecating other Confluence page extension points (note that extension points beyond pages are unaffected). Learn more about the extension points we are deprecating here.

  • Forge

    • confluence:contentBylineItem

    • confluence:contentAction

    • confluence:contextMenu

  • Connect

    • system.content.action/secondary

    • contentBylineItem

    • system.content.action

    • system.content.action/primary

    • atl.general

    • system.content.action/modify

    • page.view.selection/action-panel

    • system.content.action/marker

    • atl.footer (will not render a UI component, but can still be used for running background scripts)

Macros

Bodied Macros (COMING SOON)

In December, we plan to rollout changes that make Bodied Macros like Table Filters & Aura Tabs functional in live pages. Today while editing, bodied macros only display in their “Edit” state--a text box where users can enter rich Confluence content. Users must publish to see macros in their rendered “Display” state. We will be giving users the option to switch between these “Edit” and “Display” states freely within the Editor without publishing, making them functional in Live Pages.

  • When inserting a bodied macro, users will see the “Edit” state of the macro by default, so they can add content. They will need to exit the “Edit” state to see the “Display” state – now, they won’t need to publish & scroll around to see the “Display” content.

  • When viewing a page with a bodied macro, users (assuming they did not insert the macro themselves) will see the “Display” state by default. They will be able to hover on the macro and enter the “Edit” mode.

We will let you know when we release these changes and we recommend testing your apps then to make sure they work as expected.

Non-Bodied Macros

As discussed in RFC-50, we’ve made it so non-bodied macros like Gliffy and draw.io, are more easily interacted with AND configured in the Editor, both for live pages & classic published pages. This has also been referred to as “removing the glass pane” from macros while editing. We recommend that you test your non-bodied macros in live pages to make sure they work as expected.

Connect Webhooks / Forge Events

Since live pages do not have drafts and are not explicitly published, there are updated events for them. Note that live pages can still be published, which turns them back into standard published pages.

Webhook Key

Forge Event

Description

page_started

avi:confluence:started:page

Emitted at the end of the first editing session of a page. The page will have a user generated title and 1 version.

page_snapshotted

avi:confluence:snapshotted:page

Emitted at the end of every subsequent editing session.

Query if a page is a live page via API

Currently, Live pages and draft/published pages will be differentiable via the content API by the subtype field. Currently the subtype is not available on the v2 API. This is not considered a stable API.

In the near future, we will make the subtype field available on the v2 content API, making it a stable API.

Page Version Changes in Live Edit

Currently, a new version is created at the end of the “editing session”, which occurs 15 minutes after the users finish making changes.

In the near future, this logic will change such that the new version is created immediately once a user makes changes, but this version will remain in flux as users make changes, and only finalized 15 minutes after the editing session ends.

11 November 2024

Added 'Create whiteboard' API now supports creating a whiteboard with a template.

Integrations that use the Create whiteboard endpoint can now benefit from two optional parameters.

Use the optional templateKey parameter to create a whiteboard with template content.

Use the optional locale parameter to specify the language of the template. If omitted, the API will use the language of caller’s user locale.

10 November 2024

Deprecation Notice Third-party package mirrors will no longer be available

We are removing mirrors of third-party packages such as maven-central from packages.atlassian.com

More details

We're updating how we provide packages for customers and partners to develop with our platforms. Starting February 1, 2025, we will discontinue providing third-party packages on packages.atlassian.com. Instead, customers and partners must fetch these packages directly from the original upstream repositories.

For details on how this change affects you and for guidance on migration, please refer to the documentation available at http://developer.atlassian.com .

8 November 2024

Deprecation Notice Deprecating system.content.metadata Confluence page extension point

Starting May 8, 2025, the Confluence Cloud system.content.metadata Connect extension point will no longer be available on Confluence pages.

As we bring some of our most popular extension points into the Editor to increase their visibility & make apps functional in live-edit pages, we are deprecating extension points that do not work in the Editor or are very unpopular in the Editor to simplify how customers interact with apps, and decision-making for vendors. Last week, we announced the deprecation of a number of other extension points. Learn more about other deprecated extension points here.

Developers using system.content.metadata will need to instead use different extension points that we are making available for use in the Editing experience, which will give them more overall visibility to customers. Here are the extension points they can use:

  • Forge

    • confluence:contentBylineItem

    • confluence:contentAction

    • confluence:contextMenu

  • Connect

    • system.content.action/secondary

    • contentBylineItem

    • system.content.action

    • system.content.action/primary

    • atl.general

    • system.content.action/modify

    • page.view.selection/action-panel

    • system.content.action/marker

More details

Why is this deprecation necessary?

As we bring some of our most popular extension points into the Editor to increase their visibility & make apps functional in live-edit pages, we are deprecating extension points that do not work in the Editor or are very unpopular in the Editor to simplify how customers interact with apps, and decision-making for developers. Learn more about the other extension points we are deprecating here.

What is changing? Dates and rollout?

Starting May 8, 2025, the Confluence Cloud system.content.metadata Connect extension point will no longer be available on Confluence pages.

Migration guidance

Check the extension point locations your app is using to determine if your app is using system.content.metadata. Our documentation on Extension Point Locations as well as our Extension Point Finder for Confluence app may be useful.

Update your app configuration to use a location name that’s suitable for your app & not being deprecated. The simplest approach would be to use a location name within the same extension point, as their properties are likely the same. For example, replace the deprecated system.content.button "location" property with system.content.action/secondary, since both are web items. As a reminder, here are the extension points on pages that are not being deprecated:

  • Forge

    • confluence:contentBylineItem

    • confluence:contentAction

    • confluence:contextMenu

  • Connect

    • system.content.action/secondary

    • contentBylineItem

    • system.content.action

    • system.content.action/primary

    • atl.general

    • system.content.action/modify

    • page.view.selection/action-panel

    • system.content.action/marker

For more info about moving to a new location, check documentation for the location you’re trying to switch to: Content Byline Item, Web Item, Web Panel

Known issues

None so far. We will update this if any come up.

Support

Please feel free to start discussions in the Confluence Cloud category of our developer community, where we’ll be monitoring for your posts. You can also contact our developer support service desk.

Q&A

As we start to field more questions from developers/ partners we will update this section.

Fixed Forge macro localIds are unique when copy pasted

Previously, when copy pasting a Forge macro within a Confluence page, the macro’s localId would stay the same, losing its uniqueness within the page.

Now, when copy pasting a macro, a new localId will be generated. Existing macros will be unaffected.

More details

In further detail:

  • Any macros copy + pasted from this point onwards will receive a newly generated localId

  • Any existing macros with duplicate IDs will not be affected

    • This is because changing these IDs has the possibility of altering the user’s view of the page, if apps are storing data keyed against this ID

  • The only caveat to the above is:

    • Cutting and pasting a pre-existing duplicated macro also triggers the paste logic, and will result in a new localId being generated

    • This does not apply to using the handles in the Confluence UI to drag the macro to a new position

Note that localIds are only expected to be unique within a given page, so if you wish to have a globally unique ID across the entire site, you should continue to use a combination of content.id and localId.

Because of this, copying and pasting a macro from one page to another will not result in the ID being regenerated, unless that ID is no longer unique on the new page (such as the macro being pasted from another page multiple times).

7 November 2024

Early Access Confluence Cloud new navigation EAP

The Confluence cloud navigation changes are now available in EAP. This Early Access Program will enable partners to test the new navigation and assess how apps will adapt to the proposed changes.

As part of EAP, we’ve set up a dedicated group on CDAC where you’ll be able to discuss these changes. Please note that the designs in the EAP are not final, so you are NOT expected to make any changes to your apps during the EAP. For partners who previously expressed interest, the new navigation will be activated to the test instances today.

To join this Early Access Program, register using the EAP form.

More details

See RFC-59 for more information on Confluence Cloud navigation changes

4 November 2024

Deprecation Notice Confluence Cloud calendar subscription settings for iCal, Thunderbird, Outlook and others have been updated

The settings to synchronise calendar applications, such as iCal, Thunderbird and Outlook, with Confluence Calendars have been updated.

The current settings will become inactive after December 31, 2024.

Update your calendar application to continue to retrieve or create new entries with Confluence Cloud calendars using external apps.

There is no change to Confluence Calendars via web browser.

More details

To update your calendar application, visit Confluence > Apps > Calendars > “…” (next to the calendar you want to synchronise) > Subscribe and then select the appropriate app from the Calendar app list.

For step-by-step guides on setting up or adjusting Calendar Subscriptions, see https://support.atlassian.com/confluence-cloud/docs/subscribe-to-team-calendars-from-third-party-calendars/

31 October 2024

Deprecation Notice Deprecating a subset of Confluence page extension points

Starting Apr 30, 2025, the following Connect extension points will no longer be available on Confluence pages:

  • page.metadata.banner

  • atl.page.metadata.banner

  • system.content.button

  • atl.editor.savebar

  • system.editor.precursor.buttons

  • Update: We are also deprecating system.content.metadata as stated in CHANGE-2021.

Also, the following Connect extension point will no longer render a UI component on Confluence pages, but can still be used for running background scripts only.

  • atl.footer

As we bring some of our most popular extension points into the Editor to increase their visibility & make apps functional in live-edit pages, we are deprecating extension points that do not work in the Editor or are very unpopular in the Editor to simplify how customers interact with apps, and decision-making for vendors.

Developers using any of the deprecated Connect extension points will need to instead use one of the following extension points that we are not deprecating and are making available for use in the Editing experience, which will give them more overall visibility to customers.

  • Forge

    • confluence:contentBylineItem

    • confluence:contentAction

    • confluence:contextMenu

  • Connect

    • system.content.action/secondary

    • contentBylineItem

    • system.content.action

    • system.content.action/primary

    • atl.general

    • system.content.action/modify

    • page.view.selection/action-panel

    • system.content.action/marker

If you are simply using atl.footer to run background scripts, you will not need to take any action.

Note that these changes only apply to extension points available when interacting with Confluence pages. Any extension points beyond the context of a Confluence page are not impacted.

More details

Why is this deprecation necessary?

As we bring some of our most popular extension points into the Editor to increase their visibility & make apps functional in live-edit pages, we are deprecating extension points that do not work in the Editor or are very unpopular in the Editor to simplify how customers interact with apps, and decision-making for developers. Thank you so much to all of the developers who participated in our RFC discussing the matter.

What is changing?

Starting Apr 30, 2025, the Connect extension points page.metadata.banner, atl.page.metadata.banner, system.content.button, atl.editor.savebar, system.editor.precursor.buttons, system.content.metadata, and atl.footer will no longer display on Confluence pages to simplify the number of ways customers can interact with apps. Note that atl.footer will still be available for running background strips, but will no longer render a UI component on Confluence pages.

Starting May 8, 2025, system.content.metadata will no longer display on Confluence pages.

Dates and rollout

Starting Apr 30, 2025, we will be rolling out this change gradually. Even though we are rolling it out gradually, a portion of customers will no longer see deprecated extension points starting on that date, so plan to make and launch necessary changes before then to avoid impact to customers.

Migration guidance

Check the extension point locations your app is using to determine if any of them are being deprecated. Our documentation on Extension Point Locations as well as our Extension Point Finder for Confluence app may be useful. As a reminder, here are the Connect extension points being deprecated:

  • page.metadata.banner

  • atl.page.metadata.banner

  • system.content.button

  • atl.editor.savebar

  • system.editor.precursor.buttons

  • Also, the atl.footer Connect extension point will no longer render a UI component on Confluence pages, but can still be used for running background scripts only.

Update your app configuration to use a location name that’s suitable for your app & not being deprecated. The simplest approach would be to use a location name within the same extension point, as their properties are likely the same. For example, replace the deprecated system.content.button "location" property with system.content.action/secondary, since both are web items. As a reminder, here are the extension points on pages that are not being deprecated:

  • Forge

    • confluence:contentBylineItem

    • confluence:contentAction

    • confluence:contextMenu

  • Connect

    • system.content.action/secondary

    • contentBylineItem

    • system.content.action

    • system.content.action/primary

    • atl.general

    • system.content.action/modify

    • page.view.selection/action-panel

    • system.content.action/marker

For more info about moving to a new location, check documentation for the location you’re trying to switch to: Content Byline Item, Web Item, Web Panel.

Known issues

None so far. We will update this if any come up.

Support

Please feel free to start discussions in the Confluence Cloud category of our developer community, where we’ll be monitoring for your posts. You can also contact our developer support service desk.

Q&A

As we start to field more questions from developers/ partners we will update this section.

Early Access Role-Based APIs released for RBAC EAP & Space Permission API Deprecation

Following the recent announcement of Role Based Access Control (RBAC), we’re releasing a set of new role-based APIs.

The existing Space permissions and V1 Space resources, which accept and return space permission information in terms of individual permissions, are being deprecated. They will be replaced by V2 APIs that return space permission information in terms of roles instead.

All Confluence instances enrolled in the EAP will have these newer APIs enabled alongside the deprecated APIs, to allow you to test your apps during the EAP and beta phases. These APIs will be released for all other sites when RBAC reaches General Availability. Again, please reference our early access announcement for more details. https://community.atlassian.com/t5/Confluence-articles/Early-Access-Improved-space-access-management-with-new/ba-p/2855017

More details

With the introduction of roles which are assigned ‘named collections of permissions’, space permissions for Confluence principals are now allocated via role assignment, rather than direct space permission addition & deletion. As such, the below capabilities are now available to customers enrolled in our Early Access Program in order to help power the new experience.

Our intention is to allow customers using the V1 Space permission APIs the time to investigate these new V2 APIs, and make sure that their integrations will work seamlessly when we fully release this capability more broadly over time. We welcome feedback on the APIs and their usages.

In addition, capabilities for retrieving available space permissions on a tenant, retrieving information about a specific space role by its id, and creating a space with specified role assignments are also being made available at this time.

  • The Get available space permissions endpoint is primarily available to support newly split permissions on a tenant (and indicate their availability). Please see more in the announcement post.

Newly released APIs

Get Available Space Roles - GET /wiki/api/v2/space-roles

Get Available Space Permissions - GET /wiki/api/v2/space-permissions

Get Space Role Assignments - GET /wiki/api/v2/spaces/{id}/role-assignments

Set Space Role Assignments - POST /wiki/api/v2/spaces/{id}/role-assignments

Get Space Role by Id - GET /wiki/api/v2/space-roles/{id}

Create Space - POST /wiki/api/v2/spaces with optional roleAssignments request body field

We recommend using the above endpoints to identify existing roles and role assignments, and use the Set Space Role Assignments endpoint to add/remove role assignments that fit your use case, in place of manually assigning space permissions.

The below table indicates the V1 Space permission APIs that can be replaced by identifying and assigning roles with the new V2 endpoints.

Old Endpoint

New Endpoint

Add new permission to space - POST /wiki/rest/api/space/{spaceKey}/permission

  1. Get Available Space Roles - GET /wiki/api/v2/space-roles

  2. Set Space Role Assignments (with the roles from 1.) - POST /wiki/api/v2/spaces/{id}/role-assignments

Remove a space permission - DELETE /wiki/rest/api/space/{spaceKey}/permission/{id}

  1. Get Space Role Assignments - GET /wiki/api/v2/spaces/{id}/role-assignments

  2. Set Space Role Assignments (set the role assignments to only the role you want assigned to a principal, remove undesired roles from 1.) - POST /wiki/api/v2/spaces/{id}/role-assignments

The V1 Space creation endpoint has a direct V2 successor endpoint now available that optionally accepts an array of role assignments, roleAssignments, for a newly created space, rather than direct space permission assignments.

Finally, an additional query param has been made available for the V2 Get Space by Id GET /spaces/{id} endpoint, include-role-assignments, which will return existing role assignments within the retrieved space. The V2 Get Space by Id query param include-permissions is included in the set of deprecations associated with this change.

Old Endpoint

New Endpoint

Get Space - GET /wiki/rest/api/space/{spaceKey} with permissions expand

Get Space V2 - GET /spaces/{id} with include-role-assignments optional query parameter

Create Space - POST /wiki/rest/api/space with permissions field in request body

Create Space V2 - POST /wiki/api/v2/spaces with roleAssignments field in request body

Create Private Space - POST /wiki/rest/api/space/_private

Create Space V2 - POST /wiki/api/v2/spaces with roleAssignments field in request body with the only role assignment being an admin role against the space creator

The below list of endpoints that directly manipulate space permissions are being deprecated.

Deprecated API

Add new permission to space - POST /wiki/rest/api/space/{spaceKey}/permission

Add new custom content permission to space - POST /wiki/rest/api/space/{spaceKey}/permission/custom-content

Remove a space permission - DELETE /wiki/rest/api/space/{spaceKey}/permission/{id}

Create a space - POST /wiki/rest/api/space

Create private space - POST /wiki/rest/api/space/_private

Get space by id include-permissions query parameter - GET /spaces/{id}

30 October 2024

Added Custom UI apps can now use inline macros

We’re pleased to announce that custom UI apps can now utilize the layout: inline property for Confluence macro modules. This allows custom UI apps to add macros within the text flow of a paragraph or other text element in which the macro appears.

24 October 2024

Announcement  Transition to Grouped View for Notification Experiences

Our products have been in the process of transitioning to the Grouped View for rendering notifications instead of the previously used List View.

The notification logic for the view type is internal and there are no existing APIs available to app developers to control or interact with that. Therefore no actions are needed and apps don’t require any update as we complete the roll-out of the Grouped View and phase out the List View one.

EDIT, 24 Oct 2024: Clarified that there is no impact on apps due to this change and changed the changelog type to Announcement.

22 October 2024

Announcement Withdrawing issue creation permissions for the ACEJS and ACSPRING projects

The Atlassian Connect Spring Boot and Atlassian Connect Express (Node.js) projects in the Atlassian Ecosystem Jira track issues with the two frameworks. To improve response times, we’re no longer accepting new issues in these Jira projects as of this announcement. Instead, we encourage our partners to file issues with Developer and Marketplace support.

Rate this page: