This changelog is the source of truth for all changes to the Forge platform that affect people developing Forge apps.
See what's next for Forge on our platform roadmap.
We're excited to share that Forge, our app development platform for Atlassian cloud apps, is now generally available. You can rely on Forge's hosted infrastructure, storage, and FaaS functions to support apps in production; all of which are backed by Atlassian's operational readiness. Learn more about building the next Marketplace hit with Forge.
Note that some functionality in Forge remains in beta while we're still making changes that may break your apps. Learn more about the current functionality in beta.
Currently, the new workflow editor is the default editing experience in Jira and is being used by the majority of customers.
Starting 26th June 2026, we will begin removing the old workflow editor for customers, which means workflows will only be editable in the new workflow editor. We ask you to please help your customers in this transition by ensuring that any workflow-related apps will work effectively with the new workflow editor.
If you encounter any issues with how your apps behave in the new workflow editor, please raise a support ticket.
Some features to be aware of to improve app experiences in the new editor:
Dynamic configuration descriptions (Forge/Connect)
Make sure to provide a unique description for configured rules.
Additional context (Forge/Connect)
Determine whether the rule is loaded in the new or old workflow editor.
Default workflow editor for user (API)
Determine whether a user has a preference set for the new or old editor.
Deep linking to statuses and transitions
Link to the new workflow editor and provide an ID with either the selectedStatus or selectedTransition query params to pre-select a status or transition.
Forge usage invoices for December 2025 will be generated on January 1st, 2026, and all usage during December is fully discounted. This allows you to experience the complete billing flow, including adding a payment method, reviewing usage, and receiving an invoice, before Forge pricing changes take effect on 1 January 2026. See the Atlassian blog for more details about the upcoming pricing changes.
This release includes:
Developer Spaces
A Developer Space is your team’s shared space for building, managing, and billing Forge apps. It brings together your apps, team members, and billing access in one place, making it easier to collaborate and organize your portfolio. Learn more in Introduction to Developer Spaces.
Create Developer Spaces from the Forge CLI
By using the CLI version 12.9.0 or above, you can create Developer Spaces and assign apps via the Forge CLI during forge create or forge register workflows.
Run npm install -g @forge/cli@latest on the command line to install the latest version of @forge/cli.
Billing experience
You can now experience the complete billing journey for a Developer Space—from adding a payment method to receiving a fully discounted invoice for December 2025 usage. This helps you familiarize yourself with the process before pricing takes effect from January 1st, 2026 onwards. Learn more in Billing and payments in Developer Spaces.
Resource usage API
Use the new Export app resource usage API to access detailed resource usage data and integrate it with your own reporting or third-party tools.
Commerce APIs
The offering ID for Forge App Hosting is 59f614dc-f9d0-4fad-924d-bb9d707d33ab. Commerce public APIs can be leveraged for more information. These APIs can help extend your usage insights to cost-based insights.
Expanded site-level usage visibility
The previous limit of viewing only the top 20 sites for resource usage has been removed. You can now view all sites that generated usage for a resource in the developer console.
Key documentation updates
Forge Service Level Agreement is now available.
The Atlassian Developer Terms and Forge Terms have been updated with Payment, Billing and SLA details.
To share feedback on these changes, select “Give feedback” in the “Get help” section at the top right of the developer console.
The requestRemote bridge API now supports passing FormData in the body of the request.
For more details, refer to the documentation for requestRemote.
Forge’s native Node runtime now supports Node 24.
To use this runtime, set your app.runtime.name to nodejs24.x in the manifest file.
We’ve added the module bitbucket:workspacePersonalSettingsPage to Forge. You can use this module to build a custom workspace settings page. For more information, see Bitbucket workspace personal settings page.
Following the Preview release, the forge build command is now generally available. You can use this command to bundle and upload builds of your Forge app and deploy them across multiple environments.
App builds created using this command are also visible in the Forge Developer Console under Builds.
For more information, see the Forge build command documentation.
Following its EAP release, Forge bridge rovo API is now available in preview.
The Forge bridge rovo API contains the rovo.open method, which allows you to open the Rovo chat sidebar and create a new conversation with either a default or specified Rovo agent.
Run npm install @forge/bridge@latest on the command line to install the latest version of @forge/bridge and receive these changes.
For more information, see the Rovo documentation.
You can now use UI modifications with the Project Picker field (com.atlassian.jira.plugin.system.customfieldtypes:project) in Jira. This enhancement allows you to customize the Project Picker field in the following views:
Issue view
Global issue create
Issue transition screens
This update makes it easier to tailor the user experience when working with project fields across key Jira workflows.
To use this feature, make sure you're using version 0.39.0 or later of @forge/jira-bridge.
For more information, see UI modifications documentation.
We’re deprecating the legacy GraphQL-based Forge storage APIs and the storage module in @forge/api, in favour of the new @forge/kvs SDK and REST APIs (released on March 2025).
This change impacts Forge apps that:
Use storage from the @forge/api package for KVS or Custom Entity Store, and/or
Access Forge storage from a remote service via GraphQL.
Deprecation period: 6 months from the date of this announcement.
After Jun 1, 2026, GraphQL endpoints for Forge storage will be removed and calls will start returning HTTP 410 Gone.
storage module in @forge/api is deprecated
The legacy storage APIs for Key-Value Store (KVS) and Custom Entity Store inside @forge/api are now deprecated.
All new storage features are only available through:
The @forge/kvs package for in-app usage, and
The KVS / Custom Entity Store REST APIs for remote usage.
GraphQL access to Forge storage is deprecated (native and remote)
GraphQL-based access to KVS and Custom Entity Store will be turned off after the deprecation period.
This applies to both:
Native calls made via storage in @forge/api, and
Remote calls made directly to the GraphQL endpoint.
We’re making this change now because:
Performance and reliability:
GraphQL adds significant overhead, which directly limits the throughput of the Forge Storage service. Removing GraphQL allows us to offer a more performant and reliable storage service.
REST is our long-term strategy for public Ecosystem APIs:
Atlassian is standardising on REST as the primary surface for public ecosystem APIs. Deprecating storage over GraphQL is an important step toward that consistent, REST-first platform.
Better developer experience with @forge/kvs:
The new @forge/kvs package provides:
Stronger typing via generics,
More predictable query and filter builders,
Support for new features (transactions, bulk operations, TTL, etc.) that will not be available on the legacy GraphQL-backed storage module.
Simplicity in our platform:
Removing the GraphQL path reduces operational complexity and lets us focus our engineering effort on a single, well-defined storage API.
If your Forge app uses storage from @forge/api
Migrate to the new @forge/kvs package.
Update all storage calls to use the new kvs builders (including query conditions, filters, and sorting).
Adjust error handling so missing keys use KEY_NOT_FOUND instead of UNDEFINED.
If your app accesses Forge storage from a remote via GraphQL
Move those integrations to the Forge Storage REST API for KVS and Custom Entity Store.
Replace GraphQL calls with equivalent REST endpoints and handle HTTP errors correctly (including 410 Gone after deprecation).
For step‑by‑step instructions and full code examples, see the official migration guide: https://developer.atlassian.com/platform/forge/storage-reference/kvs-migration-from-legacy/#migrating-to--forge-kvs-from-legacy-storage-module
If you maintain an app that still depends heavily on GraphQL for storage and believe migration within the deprecation period is at risk, please reach out via ECOHELP so we can work with you on a plan.
Following the Preview release, the Forge Automation Actions is now generally available. The Automation action module allows you to extend the Automation Platform and add new Forge-based actions to your app. With this release Forge Actions can now output smart values, enabling seamless data flow and dynamic automation.
For more information, see the Forge Automation Action module documentation.
We've added a new optional hidden property to the Forge macro module. When you set "hidden": true in your macro definition, the macro will be hidden from the quick insert menu and macro browser. This prevents users from searching for and inserting the macro into new pages, but existing macros will continue to render as usual.
For more information, see Macro.
The requestRemote bridge API allows Forge apps to integrate directly with remote backends from the UI Kit and Custom UI applications via the Forge bridge.
This API is similar to invokeRemote, where requests include a Forge Invocation Token (FIT) as a bearer token in the authorization header; however, the request is not an official invocation that passes through the Forge platform. Therefore, requestRemote will not include OAuth tokens, even if configured for the remote, and will not be reflected in invocation metrics in the Developer Console.
For more details, see requestRemote.
The new Rolling releases feature is now available through Forge’s Early Access Program. To join the EAP, please complete this sign-up form.
Rolling releases let you decouple app permissions from app code, allowing code updates to be deployed independently of permission changes. This means your app can be upgraded to a new code version even if admins haven't approved new permissions yet, addressing the version fragmentation problem .
With rolling releases, developers can ship code improvements and bug fixes more frequently without being blocked by permission approval processes, while customers benefit from staying on current, secure versions. Admins maintain control by approving permission changes separately from code updates.
For more information on this feature, refer to the RFC-106: Future of Forge versioning - Permissions post.
EAP scope:
Available for Forge apps on Jira and Confluence only
Code-only upgrades via forge install --upgrade code
New Permissions SDK for runtime permission checks (@forge/react and @forge/api)
Current limitations:
Auto-upgrades not yet supported
Some upgrade paths unavailable (e.g., upgrading from free to paid)
The Jira full page module enables developers to build fully custom, chromeless app experiences within Jira Cloud, hosted directly on Forge.
This preview is accessible via the following URL: https://<tenant-name>/forge-apps/a/<app-id>/e/<environment-id>/r/<route-prefix>/<app-route>
For more information, see the Jira full page (Preview)
We are deprecating the forge webtrigger command as a leaf command in favour of 3 new sub-commands for managing webtriggers.
forge webtrigger create for creating a webtrigger URL
forge webtrigger list for listing existing webtrigger URLs
forge webtrigger delete for deleting a webtrigger URL
The forge webtrigger and forge webtrigger create command will function exactly the same until such time as the forge webtrigger command is no longer supported in May 2026, in line with our deprecation policy.
Rate this page: