Rate this page:
This changelog is the source of truth for all changes to the Forge platform that affect people developing Forge apps.
Posts are made in the Forge announcements category of the developer community when the changelog is updated. Subscribe to the Forge announcements category to get notifications.
See what's next for Forge on our platform roadmap.
We're excited to share that Forge, our app development platform for Atlassian cloud products, 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.
Storage limits for the Forge Storage API will be changing as follows due to updates to the underlying storage platform:
Object Depth: Introducing a depth limit of 31 for all new and existing objects (the current storage platform has no depth limit)
Value size: Changing from 128kb (binary format) to 240kb (raw format)
Why are we making these changes?
We are planning to migrate to a new underlying database platform for the Forge Storage API, in order to deliver data residency and other Storage API improvements. The improvements include advanced querying capability and better data structuring. As a result of this change, we have had to perform a review of our storage limits and make some minor changes to ensure the migration is successful. This is what best sets Atlassian and our partners up for scale.
We acknowledge these changes may cause issues for a minority of apps, and we will be working with impacted Partners to address these issues. We will update this changelog to provide more information about the app migration process in the next few weeks. Additional details will be provided in an ANNOUNCEMENT changelog.
When will the changes be implemented?
The changes are planned to be enforced in late September 2023. This allows developers 6 months to assess impact and make any required changes to your apps to accomodate these changes.
Will my app be impacted by these changes?
You may need to update applications which store a deep object hierarchy or a large amount of information in an entry’s value to conform to the new limits.
Our internal assessment indicated that at this stage, these changes should not impact most Forge apps.
How can I determine if my app must be updated?
When we identify apps that will be impacted, we will proactively reaching out to partners to let them know and work with them on resolving any issues, either identifying data that’s no longer used or how can the data to be transformed to be within the limits.
We will be identifying impacted apps through static analysis of stored data as well as shadow reads & writes to our new platform. We will record any issues that come from this and use that information to identify the impacted apps.
You can also investigate your own apps' use of storage to determine whether the information stored is likely to exceed the new limits in the future. For example, an app might append data to a stored value whenever the user takes certain actions in the app, to save history in a single entry. Such a design may not exceed the limit in the next few months, but could exceed it in a year or two. Because this type of analysis requires detailed knowledge of the semantics of the application, it can only be done by the app developer.
You can use the technical details in this changelog to estimate the maximum size and depth of each type of value you store with the Forge Storage API.
Technical details of the changes:
The new Forge data platform stores entry values in DynamoDB in the raw format you app sends to the API, such as an object serialised in JSON format. This is a change from the current platform, which treats each value as a blob that is transformed to binary and then stored in a DynamoDB table.
As a result, we’ve updated the object depth and value size limits for Forge Storage.
Object Depth:
The Forge storage platform will introduce a limit of 31 for object depth.
DynamoDB has a hard limit of 32 for object depth. However, as the values are currently saved as one binary blob (rather than the raw representation), we do not enforce this limit on the current platform.
When we move to the new platform, all data stored will be in the raw format supported by DynamoDB so that it has visibility into object structures. Due to this, saved values will be subject to DynamoDB’s hard limit for object depth. The limit will be 31 and not 32, because we have reserved the top level to store metadata associated with the entry as well as its value.
Value Size:
The Forge storage platform currently enforces a 128kb binary size limit per entry. The new platform will enforce a 240kb raw size limit per entry.
The change in the storage format from binary to raw is significant to app developers because the raw size of a value is larger than its binary size. Specifically, on the current platform apps have been able to store values with a raw size greater than 128kb because the binary size did not exceed that limit. These items would not be able to be stored on the new platform.
To reduce the impact of the change in storage format, and to address requests we’ve had from developers on increasing the storage limit, we will be changing that limit from 128kb (binary) to 240kb (raw) when we roll out the new storage platform.
You can estimate the value size for an object on the new storage platform by checking the length of its JSON representation.
We have released a new extension point, the Issue context API for Forge and Connect, to replace our Issue glance API.
If you have been using the Jira issue glance module in your Forge or Connect app, you will need to replace the jiraIssueGlances
and jira:issueGlance
modules with the issueContext
module. We also recommend you change CSS if needed to make sure your app appears correctly in the iframe in the context section.
We've also removed the broadcast event for this feature, so we recommend you make sure you load all app data.
To explore the new issueContext
API, see https://developer.atlassian.com/cloud/jira/platform/modules/issue-context/.
Note: you’ll have 6 months to replace the jiraIssueGlances
and jira:issueGlance
modules, as we'll be deprecating them on Oct 6, 2023.
In the iOS and Android apps, the new module will be available by default. If you don’t want your app to appear on mobile, set the jiraNativeAppsEnabled
flag to False.
In the UI modifications module, the contract and signature for the setValue
and getValue
methods will be deprecated. The following fields will be affected:
All of the deprecated contracts and signatures will be removed after June 28, 2023.
For more information on what changes should be done prior to the deprecation end date, see the list of supported fields.
List of changes:
setValue
the available argument type is string
, values represent option ID
setValue
the available argument types are string
and null
, values represent account ID
getValue
the properties displayName
and avatarUrls
are deprecated and will be removed
setValue
the available argument types are string
and null
, values represent option ID
getValue
the returned option shape name
property is deprecated in favor of the value
property
setValue
the available argument type is string[]
, values represent option IDs
getValue
the returned option shape name
property is deprecated in favor of the value
property
setValue
the available argument types are string
and null
, values represent account ID
getValue
the properties displayName
and avatarUrls
are deprecated and will be removed
setValue
the available argument type is string[]
, values represent a list of account IDs
getValue
the properties displayName
and avatarUrls
are deprecated and will be removed
We're happy to announce that the custom field and custom field type modules are leaving the Early access program and are becoming generally available. Both modules are ready for production use and we're committed to maintaining them in the current state. We also won’t release any changes that would break backward compatibility without at least six months' notice.
In the coming days, we’ll be replacing the Jira issue glance module with a new Jira issue context module. This will improve the way apps are displayed in Jira’s new issue view.
The new extension point will be available at the end of March. We recommend watching the Jira changelog on developer.atlassian.com for the official release of the new API (the Issue context module) and the deprecation of the old API.
In the iOS and Android apps, the new module will be available by default. To prevent your app from appearing on mobile, set the jiraNativeAppsEnabled
flag to False.
Previously, the icon
property (used by some modules for custom UI), only accepted absolute URLs. This required hosting icon files externally. With this update, the icon
property can now reference icon files bundled as a resource (in both UI kit and custom UI apps). See Icons for more details.
UI modifications is a Forge module that enables apps to modify fields on the Global issue create modal. It now allows you to use two new Field API methods, setRequired
and isRequired
. They make it possible to, respectively, set a field as required and check whether a field is set as required.
In Jira, the Custom UI modal class size
argument with xlarge
value with 100%
width is replaced with 998px
from today, Feb 27, 2023, AEST.
For more information on this deprecation notice, see https://developer.atlassian.com/platform/forge/changelog/#CHANGE-816.
In Jira, the Custom UI modal class size
argument with xlarge
value with 100%
width will be replaced with 998px
.
For more information on this deprecation notice, see https://developer.atlassian.com/platform/forge/changelog/#CHANGE-816.
The Forge CLI now uses Sentry to collect data on unhandled CLI errors. This will help us monitor the performance and reliability of Forge; in addition, the collected data will help us make better decisions on feature and performance improvements.
The Forge CLI can only collect this data if you opt in. To do so, run the following command:
forge settings set usage-analytics true
Read the Sentry Data Privacy Policy here.
It’s now easier to avoid exceeding your API call rate limits. We’re adding a new response header to Jira - X-RateLimit-NearLimit
. On a successful call, receiving this header with a true
value means that you have less than 20% of your cost-based rate limiting budget left.
For more information on this subject, see https://developer.atlassian.com/cloud/jira/platform/rate-limiting/.
The forge lint
command no longer checks for .cljs
files. We did this to prevent the CLI from incorrectly failing if .cljs
files were present in your app directory.
To streamline the cloud app assessment process for customers and Marketplace Partners, we plan to add a new Privacy & Security tab to each Marketplace cloud app listing.
Developers can now find a new API, web form, and instructions to submit information that will display on the new Privacy & Security tab. This tab will be rolled out to customers gradually between March (est. March 29, 2023) and late May 2023.
The new Privacy & Security tab will replace the Security Self Assessment for cloud apps. It will also replace the Security Self Assessment requirement for Cloud Fortified apps starting 6 months from today, on August 13, 2023.
For customers that have security, compliance, and privacy requirements, the Privacy & Security tab will provide key details about cloud apps in a consistent and discoverable place. It will also help Marketplace Partners more easily surface privacy and security information about their apps.
Read more about this change here.
We have now published information relating to Early Access Program (EAP) and Preview features in Forge. This information helps clarify what to expect from both feature types in terms of operational commitment, deprecation policy, documentation and other criteria.
For more information on EAP, Preview, and GA (General Availability), see https://developer.atlassian.com/platform/forge/whats-coming/.