Last updated Jul 2, 2025

Changelog

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.

2 July 2025

Announcement Updates to Icon component in Forge UI Kit

As part of the Atlassian visual refresh updates, we updated the UI Kit Icon component. Some glyphs get a new look, and many more glyphs have been added. There are also a number of deprecations, as detailed below.

More details
  • The size prop will only support the values "small" and "medium". The value "large" is now deprecated and will be removed.

  • The prop primaryColor has been renamed to color.

  • The prop secondaryColor is now deprecated and will be removed.

  • Some glyphs haven been replaced and others will be removed. Visit the Icon migration guide for information on finding a replacement.

  • The new default size for icons will change from 24x24 pixels to 16x16 pixels.

All deprecations and breaking changes will take place on Jan 1, 2026. Until then, the new Icon component will be fully backwards-compatible. Any deprecation will trigger a console warning prefixed with [@forge/react: Icon] on non-production environments.

1 July 2025

Deprecation Notice Adding height restriction to Confluence page banner

We announced the generally available (GA) of the new module, Confluence page banner, on 28 May. Due to concerns raised with CLS performance, we're restricting the banner size to a maximum height of 48px and moving the module back to preview. This change will take effect on January 1st, 2026.

Developers currently using the existing module will have a 6-month period to adjust their implementations to comply with the new size restriction.

More details

For more details, see the Confluence page banner documentation.

Added At-least-once delivery guarantee for async events

Forge async events that are successfully enqueued are guaranteed to be delivered at least once within a defined retention window. The retention window is the async event’s lifetime. It begins when the async event is successfully enqueued and lasts for 24 hours, with an option to be extended by another 72 hours, to a total of 96 hours.

Previously, there were four async events retries available in total. Now, async events are automatically retried within the retention window until they are successfully delivered. Retention window information will be available in the RetryContext for the consumers of async events (see details).

These changes apply only to async events pushed using @forge/events with major version 2.

More details
1 2 3 4 5 6 7 8 9 10 11 12 13 14 import {AsyncEvent} from '@forge/events'; export async function handler(event: AsyncEvent) { const { retryCount, retryData, retryReason, retentionWindow: { startTime, remainingTimeMs } } = event.retryContext; //... }

Added New Confluence product events

We’ve added a set of new Confluence product events to track content changes and permission updates across Confluence. Forge apps can subscribe to them to be invoked when:

  • a page, blogpost, or attachment is trashed or restored

  • custom content is created, updated, trashed, or restored

  • a comment is deleted

  • restrictions or permissions are updated

Pages:

  • avi:confluence:trashed:page

  • avi:confluence:restored:page

Blogposts:

  • avi:confluence:trashed:blogpost

  • avi:confluence:restored:blogpost

Custom content:

  • avi:confluence:created:custom_content

  • avi:confluence:updated:custom_content

  • avi:confluence:trashed:custom_content

  • avi:confluence:restored:custom_content

Attachments:

  • avi:confluence:trashed:attachment

  • avi:confluence:restored:attachment

Comments:

  • avi:confluence:deleted:comment

Restrictions/Permissions:

  • avi:confluence:permissions_updated:page

  • avi:confluence:permissions_updated:blogpost

  • avi:confluence:permissions_updated:whiteboard

  • avi:confluence:permissions_updated:database

  • avi:confluence:permissions_updated:folder

  • avi:confluence:permissions_updated:custom_content

  • avi:confluence:permissions_updated:space:V2

See more details about these events here: https://developer.atlassian.com/platform/forge/events-reference/confluence/

Added Confluence content properties can now be defined in Forge

We have introduced the ability to define content property indexing via a new Forge Confluence content property module. This makes the data inside content properties available to CQL search, allowing apps to use CQL to search for content they've set data on using the propertyKey or its searchAlias.

More details

Content properties allow you to store key-value pairs against a piece of content. Each value must be well-formed JSON.

When defined as part of a content property module, values from these JSON objects can be extracted, indexed, and made available to CQL queries.

Content properties can be set against multiple Confluence content types via the Content properties REST APIs.

Fixed Improvements to loading of media content in Custom UI apps

With the recent updates to our content delivery network (CDN), all Custom UI apps now allow-list the Atlassian media API URLs by default in the media CSP policy. This means you no longer need to declare egress to load content coming from the media API in Custom UI apps.

These recent updates can effectively help you reduce egress from your Custom UI apps.

These updates can help if you’re looking to make your app eligible for the Runs on Atlassian badge. To know more about Runs on Atlassian, see this developer blog post.

Note, the removal of egress does not require a major version update of apps.

More details

Look for opportunities to remove the following external permissions from your manifest:

1 2 3 4 permissions: external: media: - address: https://api.media.atlassian.com

30 June 2025

Announcement Forge platform pricing and new tools for cost management

We are introducing updates to the official pricing for the Forge platform, effective January 1, 2026. To support developers in managing costs, we are launching a cost dashboard and a cost estimator. These tools will provide transparency and predictability in tracking Forge usage and estimating costs.

More details
  • Cost Dashboard: Now available in the Developer Console, the Usage and costs dashboard provides visibility into month-to-date usage and forecasted costs for Forge resources at the app level. We've also introduced a cumulative resource usage chart to help you better track and understand overall consumption trends over time.

  • Cost Estimator: This tool helps developers estimate pricing for apps before they are built by inputting expected usage quantities to receive a monthly cost estimate.

  • KVS Usage Caveat: Please note that usage metrics for the Key-Value Store (KVS) may differ from past days due to recent updates.

For more information, see the Forge pricing announcement blog post and the Forge platform pricing details. For any feedback, please visit Forge pricing.

Announcement Forge Remote now available in Atlassian Government Cloud

Forge Remotes are now available in the Atlassian Government Cloud. Please refer to the AGC documentation for details on supporting Forge Remotes within your AGC Forge app.

26 June 2025

Added Default function timeout increased for Forge web trigger and scheduled trigger modules

We have increased the default timeout for forge functions used in both the webtrigger and scheduledTrigger modules from 25 seconds to 55 seconds. Additionally, developers can now specify a timeoutSeconds value for functions used in the scheduledTrigger module, with a maximum limit of 900 seconds.

For more details, visit Platform quotas and limits

24 June 2025

Removed Removal of -v1 and -v2 short options for forge version compare command

The short options -v1 and -v2 of the forge version compare have been removed in major release v12.0.0 of the Forge CLI. Instead, you should use the existing long options --version1 and --version2.

For example:
forge version compare --version1=3 --version2=5

We have made this change to align with established CLI conventions around short options being single characters.

Run npm install -g @forge/cli@latest on the command line to install the latest version of @forge/cli and receive these changes.

More details

See the forge version compare documentation for more information.

Deprecation Notice The Forge CLI now requires Node.js 20.0.0 or newer

We’ve updated the minimum compatible Node.js version for the Forge CLI to 20.0.0. Developers running older versions of Node.js will need to upgrade to continue using the Forge CLI. This change ensures that all developers have access to the latest features, security updates, and performance improvements.

Announcement  Version 2.0.0 of @forge/events released

We've released a new major version of @forge/events for Async events API. This update includes changes to both event publishing, event consumption, job progress tracking and job cancellation, designed to improve the developer experience and prepare for upcoming feature additions. We describe the differences between major versions 1 and 2 in the migration guide.

More details

This release includes the following changes:

Event publishing

The signature of Queue.push() has changed, with the parameter type PushEvent now containing body and delayInSeconds. The event body must be an object.

Event consumption

Forge resolvers are no longer used. The Consumer module instead requires a Function.

Consumer functions are invoked with an AsyncEvent, which contains the fields of PushEvent as well as invocation-specific fields, including jobId and retryContext. jobId is no longer available via context. retryContext and is no longer added to the event body.

Job progress tracking

JobProgress.getStats() now returns a JobStats object containing success, inProgress and failed, instead of an APIResponse.

Job cancellation

JobProgress.cancel() no longer returns an APIResponse.

Added Introduction of App events (preview)

We’re introducing the ability for apps to publish events, allowing for enhanced interoperability between apps. This feature enables apps to subscribe to events using the existing https://developer.atlassian.com/platform/forge/manifest-reference/modules/trigger/ module, opening up new possibilities for app interactions.

More details

Developers can start using app events by implementing the https://developer.atlassian.com/platform/forge/manifest-reference/modules/event/ module in their apps. For detailed guidance and examples, refer to https://developer.atlassian.com/platform/forge/events-reference/app-events/.

To publish events using the runtime API, you need at least version 2.0.0 of the @forge/events dependency. Add this to your package.json:

1 2 3 4 5 { "dependencies": { "@forge/events": "^2.0.0" } }

Added Concurrency limit for async events

We have introduced a basic ability for consumers of async events to control the rate at which events are consumed by setting a limit of how many events can be processed concurrently for an app-defined key.

These changes apply only to async events pushed using @forge/events with major version 2.

More details

Example usage

1 2 3 4 5 6 7 await queue.push({ body: { ... }, concurrency: { key: 'my-key', limit: 1 } });

Added New `getUrl` method in @forge/bridge package

A new getUrl method has been added to router in @forge/bridge. The method will accept a NavigationLocation object and return a URL object for the corresponding destination.

This method is in Preview. For more details, see the router documentation.

More details

Run npm install --save @forge/bridge@latest in your resource directory to install the latest version of Forge bridge.

Rate this page: