Preparing for Jira 9.12
This documentation is intended for Jira developers who want to ensure that their existing apps are compatible with Jira 9.12 and Jira Service Management 5.12.
Jira 9.12 and Jira Service Management 5.12 are the last versions that support Server licenses. Learn what this means for you
Upgrading from 8.x to 9.x triggers a full Jira reindex that causes some downtime during the process. If you’re on 8.x now, make sure you’ve estimated that downtime and set the best time for the upgrade. Learn how to handle the full reindex and estimate downtime
Quick info
Here’s a quick summary of the latest EAPs.
Application/date | Version number | Maven version number | Downloads |
---|---|---|---|
Jira Core/Software
| 9.12.0-EAP01 | 9.12.0-m0001 | Source files (Core) Source files (Software) |
Jira Service Management
| 5.12.0-EAP01 | 5.12.0-m0001 | Source files |
Jira Software 9.12.x and Jira Service Management 5.12 are the last releases to support Server licenses
Jira Software 9.12 and Jira Service Management 5.12 will be the last releases available to download for Server, prior to the Server end of support on Feb 15, 2024. All following releases will only support our Data Center offering. As Jira Software 9.12 and Jira Service Management 5.12 are long-term support (LTS) releases, they will continue to receive security and bug fixes until the end-of-support date on Feb 15, 2024.
We recommend that you migrate to the Atlassian Cloud offering or upgrade to Data Center to remain secure and supported.
Summary of changes
Jira 9.12 is a long-term support (LTS) release. This LTS release contains all features introduced since the last LTS release (Jira 9.4.0) and provides fixes for known issues. You can use the EAP release to test your apps and make sure they run smoothly.
The summary has been divided into sections that group the changes by severity and type:
- Breaking changes
- Fixes introduced in this release
- New features and non-breaking changes
- Changes to supported platforms
- Updates to the Jira platform REST API
- Known issues
Breaking changes
Find out what you need to change in your apps or integrations to avoid outages or disruptions. The entries in this section are organized chronologically from newest to oldest.
Jira 9.11: The allowlist for outbound HTTP requests in Jira Automation is now enabled by default
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
Since the release of Jira Automation 9.0 (bundled with Jira 9.11), the global configuration setting Check all URLs against the Jira allowlist is enabled by default. This means that you can’t publish a rule if the URL you’re requesting isn’t on the allowlist. The setting also breaks existing rules if the configured URLs aren’t on the allowlist — if a rule fails to run, you’ll see an error in the audit log. You can fix broken rules by adding the URLs to the allowlist or disabling allowlist verification.
For more information about this change, check out the following resources:
Jira 9.11: The introduction of secret key masking changes the behavior of the Webhook URL field in Jira Automation
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
In Jira Automation 9.0 (bundled with Jira 9.11), the Webhook URL field that appears when you create a rule with the Send web request action is now a menu instead of a text field. For a webhook URL to become available in the menu, you’ll need to add it as a secret key.
For more information about this change, check out the following resources:
Jira 9.11: Enabling support for Amazon S3 object storage might break some API classes
JIRA SOFTWARE JIRA SERVICE MANAGEMENT DATA CENTER
Some Jira APIs aren’t compatible with the Amazon S3 object storage method. This means that apps that still use those APIs may not function correctly. The APIs in question are:
com.atlassian.jira.config.util.AttachmentPathManager
com.atlassian.jira.util.AttachmentUtils
For more details, check out Preparing for Jira 9.11.
Jira 9.8: Removal of the Xalan library
JIRA SOFTWARE DATA CENTER
We’ve removed the xalan
library from the Jira Core codebase. As the library is no longer exported in OSGi, we've also removed the OSGi import from version 8.1.51 of jira-testkit-plugin
. To make sure that your builds and tests won't fail, you might need to update jira-testkit-plugin
to the newer version.
For more details, check out Preparing for Jira 9.8.
Jira 9.7: Performance improvements on jira-agile pages
JIRA SOFTWARE DATA CENTER
As a result of the performance-related updates to jira-agile
pages, the following breaking changes have been introduced:
We are now exposing only a small subset of previously available AMD modules.
- We’ve left global variables intact. However, they’re also non-API parts and we don’t recommend using them in your apps.
- If your app uses an Agile module, it’s important to make the dependency explicit and not rely on transitive dependencies.
For more details, check out Preparing for Jira 9.7.
Jira 9.7: The updated Backbone library introduces breaking changes to the WebResourceManager
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
Starting with Jira 9.7, <jira.webresources:ajs-backbone-amd-shim>
from <web-resource key="util">
is no longer available.
Additionally, to ensure that your apps work correctly with Backbone 1.3.3, update your dependency on Backbone to jira.webresources:backbone-1.3.3
instead.
For more details, check out Preparing for Jira 9.7.
Jira 9.5: Jira migrates to Log4j 2.x
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
We’ve upgraded Log4j to version 2.17.2. Since this is a breaking change, some effort may be required to ensure that any existing custom Log4j 1.x configurations are compatible with this release of Jira.
For more details, check out Preparing for Jira 9.5.
Fixes introduced in this release
Jira 9.12 and Jira Service Management 5.12 also introduce their own set of changes that fix known issues, boost performance, or improve the overall user experience.
Secure webhook communication between Jira and linked DVCS accounts
JIRA SOFTWARE
We’ve added support for secret tokens to ensure that Jira accepts webhook requests only from trusted source code repositories. From now on, Jira will automatically generate and set webhook secret tokens for all of your linked DVCS accounts.
After the upgrade to release 9.12, Jira will start securing all your existing DVCS accounts with webhook secret tokens. You may experience a delay in the synchronization of repository data. The time to completion will depend on the number of repositories to process.
For more details, check out Configuring webhook security.
Support for custom SecurityTypes for assignees, watchers, reporters, and mentions
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
We've fixed the bug that prevented users from seeing customers in the reporter user picker that should have access to the issue from Service project customer — portal access permission.
Additionally, the assignee, reporter, watcher, and mention user pickers in comments and issue descriptions now correctly show users with custom permission types. This fixes the issue in the case of:
- JSM's Service project customer — portal access permission in the reporter field,
- Jira's optional Reporter (show only projects with create permission) or Assignee (show only projects with assignable permission) permissions.
New features, fixes, and non-breaking changes
Get a glimpse of all the new features, fixes, and non-breaking changes added to each release leading up to Jira 9.12. The list is divided into sections by release. Every section contains a link to the corresponding release's EAP documentation, where you can learn the details.
Changes to supported platforms
This section contains a run-down of all the changes that have been made to supported platforms since the last Jira LTS release.
New supported platforms
Jira has gained support for the following platforms:
- PostgreSQL 15 (Jira 9.10)
- Microsoft SQL Server 2022 (Jira 9.10)
- PGpool-II (Jira 9.10)
- Version 2 of the H2 embedded database (Jira 9.5)
- Java 17 (Jira 9.5)
End of support
Support for the following platforms has been permanently removed:
- The Android 4.0 mobile browser (Jira 9.5)
- Microsoft SQL Server 2016 (Jira 9.7)
Support for the platforms on this list will be removed in this release:
- PostgreSQL 10 and 11 (deprecated in Jira 9.9)
- Oracle 12c R2 (deprecated in Jira 9.9)
Deprecated support
Support for the following platforms remains deprecated in this release:
- Java 8 (deprecated in Jira 9.7)
Updates to the Jira platform REST API
If you're interested in what's changed between different versions of the Jira platform REST API, take a quick look at the Jira 9.12 REST API change log.
Known issues
This section contains information about any issues that we’ve discovered in our testing. We’re constantly keeping an eye out, and if we find anything, we’ll post it here.
SchedulerService throws a ClassNotFoundException error
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
In Jira 9.12.0 all plugins that implement SchedulerService
and pass a serializable as a parameter are affected by a ClassNotFoundException
error that occurs when LazyJobDetails
loads the parameter map. If your plugin doesn’t implement SchedulerService
, your instance is not affected. There is no known workaround for this issue.
We've delivered a fix in Jira 9.12.1.
For more information, go to the following Jira issue:
JSWSERVER-25377 - Getting issue details... STATUS
The Install4J library throws an exception when running the Jira installer for Linux on Java 17
JIRA SOFTWARE JIRA SERVICE MANAGEMENT
Java 17 has been supported since Jira 9.5.0. In Jira 9.11.0, we've started to bundle Java 17 with Jira binaries (both archives and installers) for Linux and Windows. There is a known issue with the Install4J runtime library, in which the Linux installer running on Java 17 throws a method invocation exception.
For more details, check out Install4J runtime library throws exception when running the Jira 9.11 installer on Linux.