Last updated Jul 27, 2026

Atlassian developer changelog

This page contains announcements and updates for developers from various products, platforms, and programs across Atlassian. It includes filter controls to make it easier to only see updates relevant to you.

To ensure you don’t miss any updates, we also provide RSS feeds. These feeds will take on any filters you applied to the page, and are a standardized way of keeping up-to-date with Atlassian changes for developers. For example, in Slack with the RSS app installed, you can type /feed <FEED URL> in any channel, and RSS updates will appear in that channel as they are posted.

27 July 2026

Announcement Forge now supports offline impersonation for JSM portal-only users

Adopting Forge from Connect
App Migration Platform
Forge - JSM Cloud (excludes JSM REST APIs)

What's changing
Forge now supports offline impersonation for Jira Service Management (JSM) portal-only users. This follows our June 12, 2026 release of online impersonation support.

You can now use asUser(accountId) to make asynchronous or background API calls on behalf of portal-only users (also known as customer accounts). For apps using Forge remotes, offline impersonation is supported via the offlineUserAuthToken mutation.

This allows your apps to perform background actions, such as processing data or updating requests, in the context of the portal-only user, while maintaining the appropriate permission checks.

Note that portal-only users can only make asUser() calls to Jira/JSM APIs using corresponding scopes declared in the manifest file.

What you need to do
To use offline impersonation for portal-only users in your app:

  • Ensure your app has the required scopes declared in the manifest.

  • Use the asUser(accountId) method in your backend code to call product APIs.

  • If you are using Forge remotes, implement the offlineUserAuthToken mutation to obtain the necessary credentials.

  • Redeploy your app to apply these changes.

For more information on how Forge handles access for unlicensed users, see our documentation.

More details

Early Access Scale to zero for Forge Containers is now available in Early Access

Forge - Core Platform (excludes product REST APIs)

You can now configure a Forge Containers service to scale down to zero running instances in non-production environments when it's idle.

Scaling to zero helps reduce costs in non-production environments by ensuring you only reserve compute capacity when your service is actively handling traffic. You can enable this behaviour for a service in your app's manifest.

What's changing

  • You can now set the min scaling property to 0 for Forge Containers services.

  • This behavior is supported in DEVELOPMENT and STAGING environments.

  • Forge Containers remains in Early Access (EAP). Features under EAP are subject to change and are not recommended for production use.

What you need to do
To enable scaling to zero, update your service's scaling configuration in the manifest.yml file:

1 2 3 4 5 services:  - key: example-service    scaling:      min: 0      max: 2

For more information, see the Forge Containers manifest reference.

24 July 2026

Announcement Mappings exporter in preview

App Migration Platform

What's changing

As of JCMA 1.14.0, the mappings exporter is in preview and available for customer migrations.

The mappings exporter generates a mapping file during the migration process. This allows your cloud app to download all necessary mappings in a single API call, rather than constructing them through multiple individual mapping API requests.

This preview release also introduces support for:

  • Connect apps

  • Migration reruns

  • Triggering app migrations

  • Entity type filtering, allowing you to receive only the specific mappings your app requires

What you need to do

Announcement Global status support in team-managed workflows

REST API - Jira Cloud Platform

Starting mid-August, we are introducing a Beta feature that allows global (site-wide) statuses to be added to team-managed workflows. This change enables better status consistency across team-managed spaces.

As part of this update, the workflow create and update APIs for team-managed workflows will support the addition of global statuses. Additionally, space templates will create workflows with global statuses by default when the beta feature is enabled As a result, you can expect to see global statuses in workflow read responses for team-managed spaces.

API shapes remain the same. The feature will be opt-in (via Jira Labs) and will become the default in future releases. No immediate action is required for existing integrations.

Announcement Production rollout starting - Connect EOS customer messaging for admins

Adopting Forge from Connect
Forge - Core Platform (excludes product REST APIs)

As per our previous announcement, admin-facing Connect end-of-support (EOS) migration messaging on the Connected Apps page is now rolling out to production instances. This messaging, which was previously limited to Developer Canary tenants, is being deployed in staggered cohorts.

The following app categories will begin receiving admin-facing messaging in production:

  • Apps that have declared connectToForgeMigration with a migration intent of NO

  • Apps that have declared connectToForgeMigration with a migration intent of UNDECIDED

  • Apps that have not adopted the connectToForgeMigration module

  • Apps without a Forge manifest (Connect apps)

Apps that have declared connectToForgeMigration with an intent of YES are estimated to begin receiving admin messaging in mid-August. We will provide another changelog entry at least 2 weeks before that change proceeds.

What you need to do

  1. Adopt the connectToForgeMigration module in your Forge manifest for each major version of your app (https://developer.atlassian.com/platform/adopting-forge-from-connect/connect-to-forge-migration-module/) if you have not already.

  2. Declare your migration intent - this determines which cohort your app falls into and when messaging appears.

  3. Provide a migration URL - this URL will be surfaced directly in customer-facing notices, replacing the default Atlassian messaging with your app-specific guidance.

For details about the full customer-facing experience, see What admins see on the Connected Apps page.

Exemptions

Apps that are blocked by an accepted Connect EOS FRGE ticket will be exempt from customer messaging until one month past the delivery date of the blocking feature. This exemption list is determined exclusively by partners who have submitted a Connect EOS Submission request on these accepted tickets, providing a valid use case and explanation and applies to only the apps that have been marked as affected by the feature in the submission. If an app utilises an affected feature but has not submitted a Connect EOS submission, it will not be exempted from this messaging.

More details

End-user messaging is not included in this rollout. When available, we will follow the same approach of releasing to Developer Canary tenants first for partner testing, roll out in staggered cohorts, and provide at least 2 weeks advance notice via this changelog before each stage goes live.

Announcement Confluence content property module can now be declared as a dynamic module (Preview)

Forge - Core Platform (excludes product REST APIs)

You can now register confluence:contentProperty module dynamically at runtime, per installation, using the https://developer.atlassian.com/platform/forge/apis-reference/dynamic-modules/. This brings the same dynamic registration capability already available for Jira entity properties (jira:entityProperty) to the Confluence side.

Please see the documentation here for further details.

22 July 2026

Announcement Enabling apps to access restricted space in Confluence

App Migration Platform

Preview feature: The App Migration Platform will now allow apps to access restricted spaces in confluence associated with the migration.

Announcement Bitbucket Data Center 10.4 release is here!

Bitbucket Data Center

Bitbucket Data Center 10.4 is available for upgrade!

Get the most out of handy features, such as changing pull request authors, reverting pull requests from a merged PR, and fine grained pull request email notification control!

Learn more about the new features in the release notes

Get Bitbucket Data Center 10.4

21 July 2026

Announcement Provide environment-specific Privacy and Security information for Government and Isolated Cloud apps

Marketplace Platform

Marketplace Partners can now provide Privacy and Security information specific to their Atlassian Government Cloud and Isolated Cloud app versions.

What’s changing
If your app is available in Atlassian Government Cloud or Isolated Cloud, you can now complete a dedicated Privacy and Security tab for each environment. This allows you to provide information that accurately reflects how your app handles data, permissions, hosting, and compliance within these specific environments.

To simplify the process, you can use the Copy from Cloud feature to pre-populate fields from your existing cloud app listing.

What you need to do

  1. Log in to the Marketplace vendor console.

  2. Navigate to the Privacy and Security tab for your Atlassian Government Cloud or Isolated Cloud app listing.

  3. If applicable, use Copy from Cloud to jumpstart your entry

  4. Review and complete all required fields, including data handling, operational controls, and support details.

  5. Save and submit your changes.

For more information, see the following resources:

Request for Comments (RFC) RFC-140: Updating categories in the editor’s element browser

Connect - Confluence Cloud (excludes Confluence REST APIs)
Forge - Confluence Cloud (excludes Confluence REST APIs)

20 July 2026

Added Forge LLMs (Preview) now supports Claude Opus 4.8

Forge - Core Platform (excludes product REST APIs)

Support for Claude Opus 4.8 model is now available in Forge LLMs. For the exhaustive list of supported models, refer to our documentation here

19 July 2026

Deprecation Notice Deprecating workflowId in webhooks triggered from Connect Workflow Post Functions

Connect - Core Platform (excludes product REST APIs)

We are deprecating the workflowId field in the webhook payloads sent to Connect workflow Post Functions. This field now returns a placeholder value, and will be removed after 31 July 2027.

The workflowId is an invalid value and may lead to bugs in your applications if used. It references an internal identifier that does not correspond to a workflow and cannot be mapped to any workflow in our public APIs.

If you are using workflowId, you should instead use workflowName or workflowEntityId, both of which contain values that can be used to correctly identify workflows.

More details

What's changing

The workflowId field in webhook payloads triggered from Connect workflow Post Functions now returns a placeholder value. The field will remain in the payload until it is removed after 31 July 2027, but its value should not be relied upon.

Why

The workflowId value references an internal identifier that does not correspond to a workflow. It cannot be used to query or identify workflows through our public APIs, and using it can cause unexpected behaviour or bugs in your app.

What you need to do

Before 31 July 2027:

• Identify any integrations that read workflowId from these webhook payloads.
• Replace usages of workflowId with workflowName or workflowEntityId.

See example connect trigger below:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 { "configuration": { "value": "Configuration from the post function edit page" }, "issue": { "fields": { ... }, "id": "10000", "key": "TEST-1", "self": "http://issues.example.com/jira/issue/10000" }, "transition": { "from_status": "Open", "to_status": "Resolved", "transitionId": 5, "transitionName": "Resolve Issue", "workflowId": 99999, <-- deprecated, no longer used. "workflowName": "example workflow" "workflowEntityId": "<some UUID>" <-- newly added, should be used. } }

Deprecation Notice Deprecating workflowId in webhooks sent from the Trigger a Webhook Workflow Post Function

Connect - Core Platform (excludes product REST APIs)

We are deprecating the workflowId field in the webhook payloads sent via the Trigger a webhook post function in Jira workflows. This field now returns a placeholder value, and will be removed after 31 July 2027.

The workflowId is an invalid value and may lead to bugs in your webhook handlers if used. It references an internal identifier that does not correspond to a workflow and cannot be mapped to any workflow in our public APIs.

If you are using workflowId, you should instead use workflowName or workflowEntityId, which contains a value that can be used to correctly identify workflows.

More details

What's changing

The workflowId field in webhook payloads sent via the Trigger a webhook post function now returns a placeholder value. The field will remain in the payload until it is removed after 31 July 2027, but its value should not be relied upon.

Why

The workflowId value references an internal identifier that does not correspond to a workflow. It cannot be used to query or identify workflows through our public APIs, and using it can cause unexpected behaviour or bugs in your webhook handlers.

What you need to do
Before 31 July 2027:

• Identify any integrations that read workflowId from these webhook payloads.
• Replace usages of workflowId with workflowEntityId.

See the example shape of a webhook below (or read the relevant documentation here: https://developer.atlassian.com/cloud/jira/platform/webhooks/#webhook-payload )

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 { "timestamp": 1606480436302, "webhookEvent": "jira:issue_updated", "issue_event_type_name": "issue_generic" "user": { ... }, "issue": { --> See Issue shape in table below }, "transition" : { "from_status": "Open", "to_status": "Resolved", "transitionId": 5, "transitionName": "Resolve Issue", "workflowName": "example workflow" "workflowId": 99999, --> this is now a placeholder value "workflowEntityId": "<some UUID>" <-- newly added, should be used. }

Added Adding workflowEntityId in webhooks sent to Connect Post Functions

Connect - Core Platform (excludes product REST APIs)

We’re adding the workflowEntityId to webhook payloads sent to Connect applications to trigger post functions - this ID can be used to perform workflow operations or query data using the Workflow Rest APIs

More details

The transition object will now contain a entry for the workflowEntityId.

See example below:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 { "configuration": { "value": "Configuration from the post function edit page" }, "issue": { "fields": { ... }, "id": "10000", "key": "TEST-1", "self": "http://issues.example.com/jira/issue/10000" }, "transition": { "from_status": "Open", "to_status": "Resolved", "transitionId": 5, "transitionName": "Resolve Issue", "workflowId": 99999, <-- deprecated, no longer used. "workflowName": "example workflow" "workflowEntityId": "<some UUID>" <-- newly added, should be used. } }

Added Added workflowEntityId field in webhooks triggered from Workflow Post Functions

Connect - Core Platform (excludes product REST APIs)

We’re adding the workflowEntityId to webhook payloads that are sent as part of workflow post function execution - this ID can be used to perform workflow operations or query data using the Workflow Rest APIs

More details

The transition object will now contain the workflowEntityId field.

See the example shape of a webhook below (or read the relevant documentation here: https://developer.atlassian.com/cloud/jira/platform/webhooks/#webhook-payload )

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 { "timestamp": 1606480436302, "webhookEvent": "jira:issue_updated", "issue_event_type_name": "issue_generic" "user": { ... }, "issue": { --> See Issue shape in table below }, "transition" : { "from_status": "Open", "to_status": "Resolved", "transitionId": 5, "transitionName": "Resolve Issue", "workflowName": "example workflow" "workflowId": 99999, --> this is now a dummy unusable value "workflowEntityId": "<some UUID>" <-- newly added, should be used. }

Rate this page: