Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Last updated Jul 19, 2026

Changelog

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

Forge changelog

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

Go to our developer community to ask questions. You may also be interested in the What's New blog for Atlassian Cloud where details of major changes that affect all users of the Jira Cloud products are announced.

19 July 2026

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

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

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

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

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. }

13 July 2026

Removed Removal of the Workflow transition properties APIs

As per the notice of the deprecation of the workflow transition properties APIs on March 30, 2025, the Workflow transition properties API set has been removed from our public API. This API is no longer supported.

If you were using the Workflow transition properties APIs, you must transition to the Bulk get workflows and the Bulk update workflows APIs to manage transition properties on workflows.

Added Forge custom field search aliases now support app-provided search suggestions

What's changing

Forge apps can now provide custom search suggestions for searchAlias properties of Forge object custom fields.

If your app already uses searchSuggestions, you can enable it for a specific alias by setting searchSuggestionsEnabled: true on the object schema property that defines that searchAlias. When users write JQL against that alias, Jira will show app-provided suggestions instead of default indexed values.

 

What you need to do

If your Forge object custom field already uses searchSuggestions and you want those suggestions to apply to a searchAlias:

  • Update your app's manifest to set searchSuggestionsEnabled: true on the schema property that defines the alias.

  • Ensure your searchSuggestions function is configured to handle requests for the alias.

No action is needed if your app doesn’t use search aliases, or if you want aliases to keep using Jira’s default autocomplete.

For more information, consult the https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field reference documentation.

9 July 2026

Announcement [2-week notice] Connect EOS customer messaging to go live to production instances for select cohort of apps

As per our previous announcement, we will be progressing admin-facing migration messaging on the Connected Apps page from the Developer Canary Program to production instances. This rollout will begin in approximately two weeks.

Apps affected in this initial rollout

The following app categories will receive admin-facing messaging:

  • Apps that have declared connectToForgeMigration with a migration intent of "no"

  • Apps that have declared connectToForgeMigration with a migration intent of "unsure"

  • Apps that have not adopted the connectToForgeMigration module

  • Apps without a Forge manifest (i.e., 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.

End-user (in-product) messaging

End-user messaging will not be included in this initial rollout. When ready, we'll follow the same approach:

  • Release to Developer Canary tenants first for early testing

  • Roll out in staggered cohorts

  • Provide at least 2 weeks advance notice via the Forge changelog before each rollout stage goes live

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/).

  2. Declare your migration intent as 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.

  4. Preview the experience now using the Developer Canary Program. Customer messaging is already live on canary tenants. Install your app on a canary instance, navigate to the Connected Apps page, and confirm your migration URL renders as expected before the production rollout reaches your cohort.

More details

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. If an app utilises an affected feature but has not submitted a Connect EOS submission, it will not be exempted from this messaging.

For the full customer-facing experience (including more information on what admins will see), please visit the documentation here. This page will also be shortly updated to capture our rollout approach.

7 July 2026

Added Support for Unlicensed/Anonymous/Customer Access for UIM Forge Modules

What's changing

You can now control access for the jira:uiModifications module for different user types:

  • Anonymous – users who are not logged in

  • Unlicensed – users invited to a Jira space without a license (guests in case of Jira)

  • Customer – JSM portal customers

By default, Forge apps only run for licensed Jira and Jira Service Management users. With this update, you can allow your UI Modifications app to run for anonymous, unlicensed, or customer users by declaring it in your app manifest.

As previously announced, from Jun 29, 2026, UI Modifications will not run for anonymous, unlicensed or customer account users unless the module explicitly declares support for these user types in the Forge app manifest.

What you need to do

To allow your app to work for anonymous, unlicensed, or customer users, add the unlicensedAccess property to the jira:uiModifications module in your manifest.yml file.

1 2 3 4 5 6 7 8 9 10 11 modules: jira:uiModifications: - key: ui-modifications-app title: UI modifications resource: uiModifications resolver: function: resolver unlicensedAccess: - anonymous - unlicensed - customer

Only include the user types your app needs. For example, if your app only needs to work for anonymous users:

1 2 unlicensedAccess: - anonymous

For detailed steps, refer to the https://developer.atlassian.com/platform/forge/access-to-forge-apps-for-unlicensed-users/.

25 June 2026

Added The Status Search API now supports filtering by global statuses

The Status Search API now exposes a new optional includeGlobalStatuses query parameter. When set to true on a project-scoped query, the response includes global statuses (statuses not tied to any specific project) alongside the project's own statuses. Defaults to false. This parameter is only relevant for project-scoped queries.

More details

This supports ongoing work to allow team-managed workflows to use global statuses, giving admins more flexibility and consistency across projects.

22 June 2026

Announcement Final notice: Removal of the old workflow editor in Jira

Following the deprecation announcement last year, access to the old workflow editor will be removed for all customers starting July 13, 2026.

What you need to do

  • Review your apps: If you own workflow-related apps, ensure your rules provide a high quality experience in the new editor.

  • Implement rule descriptions: We recommend providing dynamic configuration descriptions for Forge and Connect workflow rules. This helps admins understand your app's rules at a glance within the new editor.

  • Test and report issues: If you encounter any behavior issues in the new workflow editor, please raise a support ticket.

For more details refer to the community announcement.

Added The Workflow Search API now lets you filter by projectId

The Workflow Search API now supports a new optional projectId query parameter. When provided, the search returns only the workflows used by that project. You can combine it with the existing scope parameter, but the project must belong to the same scope you specify - otherwise no workflows are returned.

18 June 2026

Announcement Partner Security Incident Response Program

We've introduced a structured process for partners and Atlassian to jointly investigate security incidents affecting your app or the customer data it handles.

What's changing

  • Log sharing for Forge apps: Atlassian can now share incident-scoped platform logs and app telemetry with you during an investigation. This provides the data you need to diagnose and resolve issues faster.

  • A single reporting path: You can now report security incidents through the new developer support portal form. This form serves as the shared record for both you and Atlassian.

What you need to do

  • Review the program overview page to understand eligibility and support levels.

  • Ensure your security contact information is up to date in the partner account to ensure you are ready before an incident occurs.

Announcement Resource-Restricted Tokens for OAuth 2.0 (3LO) Apps

Resource-restricted tokens are now available for all developers creating new 3LO apps.

When creating a new OAuth 2.0 (3LO) app via the Developer Console, you can now opt in to resource-restricted tokens. This ensures that access tokens issued for your app are scoped to only the specific Atlassian site a user explicitly selects during consent rather than granting broad access across all sites.

More details

17 June 2026

Announcement Action required: Update Jira UI Modifications manifest for anonymous user support

What’s changing?

We’re enhancing the jira:uiModifications module to support interactions with different user types in Jira.

Apps with UI Modifications that need to work for anonymous users must explicitly declare this in the app manifest using the unlicensedAccess attribute.

This change will take effect on Jun 29, 2026. We recommend that you deploy an update to your app before this date to avoid any interruption to your app’s functionality for anonymous users.

What you need to do

Add the anonymous value to the unlicensedAccess attribute for each jira:uiModificationsmodule that needs to execute for anonymous users in Jira.

1 2 3 4 5 6 jira:uiModifications: - key: your-app-key title: Your UI Modification resource: yourResource unlicensedAccess: - anonymous

For more information, see the guide on Access to Forge apps for unlicensed users.

What happens if you don’t update?

From Monday Jun 29, 2026 onwards, UI Modifications modules will not be executed for anonymous users unless the module explicitly declares it.

Added Support for Guest Access in Jira Forge Modules

What’s changing
You can now enable guest access for the following Jira Forge modules:

  • jira:customField

  • jira:customFieldType

  • jira:issuePanel

This update allows your apps to run for unlicensed users (guests) who have been invited to a single Jira space. By default, Forge apps only run for licensed Jira and Jira Service Management users.

What you need to do
To allow your app to serve unlicensed and guest users, add the unlicensedAccess property to the relevant modules in your manifest.yml file.

1 2 3 4 5 6 7 8 9 10 modules: jira:customField: - key: my-object-field name: My object field type: object ... unlicensedAccess: - customer - anonymous - unlicensed // <- new

For detailed implementation steps, refer to the guide for unlicensed users.

Rate this page: