Jira Software 9.0.x release notes

Upgrading from 8.x to 9.x triggers full Jira reindex that causes some downtime during the process. If you’re on 8.x now, make sure you’ve estimated the downtime and set the best time for the upgrade.

Learn more about how to handle full reindex and estimate downtime

More

Read the upgrade notes for important info about this release and see the full list of issues resolved.

 Compatible applications

If you're looking for compatible Jira applications, look no further:

Good to know

If you're thinking of moving to Data Center, check our recommendations first. See: Infrastructure recommendations for Jira.

Activity tabs improvements

We’ve optimized the way activity items for the Comments, History, Work Logs, and All tab are displayed and organized in the Jira issue view. With these improvements in place, issues will load much faster, even if they contain thousands of activity tab events, like comments or work logs.

Here’s a brief overview of the changes.

New sorting behavior

You can now easily view both the oldest and newest events (like work logs) for each tab, without loading all those that are in-between. Just select the desired option and Jira will do its magic:

  • Oldest first
  • Newest first

  1. Activity tabs: display all events for an issue, such as added comments or executed workflow transitions.
  2. Activity tab events: a list of all tab-related activities for an issue.
  3. Sort an issue activity: select to view either the oldest or newest events for an issue.

Incremental loading of tab contents

Jira 9.0 gives you more control over the number of events you can load for a particular tab. Instead of loading all tab items at once, you can now select how many events you’d like to see:

  • Load 10 older or newer events if you want to check recently added comments or view other events in sequence. Consider that Jira might load more or fewer than 10 events if:
    • you're loading the last remaining events on the tab. In this case, fewer items might be loaded.
    • several events have the same creation date. If so, more events might be loaded.
    • Load all older or newer events. After loading the first 10 events, you can load all of the events at once with Shift + select.

Lazy-loading attachment thumbnails on issue view

We’ve sped up the loading time of issues with a significant number of attachments. With the new functionality, thumbnails generation is deferred and asynchronous for the issue view by default. It speeds up page loading and reduces the amount of data processed at once.

The attachment lazy-loading feature outside of the issue view is disabled by default.

To disable lazy-loading attachment thumbnails on the issue view, set the com.atlassian.jira.thumbnailsDeferredGeneration.disabled dark feature.

To enable the lazy-loading attachment thumbnails outside of the issue view, set the com.atlassian.jira.allThumbnailsDeferred.enabled dark feature.

Learn how to manage dark features in Jira

Lazy-loading inline gadgets

To ensure faster loading of Jira dashboards, we’re introducing a lazy loading mechanism for inline gadgets that are displayed on the dashboard view. With this improvement implemented, only inline gadgets present in the viewport will be loaded on the page load.

What has changed?

From now on, the following inline gadgets are lazy-loaded: Assigned to Me, Bubble Chart, Created vs Resolved Chart, Favorite Filters, Filter Results, Issues in progress, Issue Statistics, Labels, Pie Chart, Two Dimensional Filter Statistics, Voted Issues, Watched Issues.

We're planning to introduce a lazy loading mechanism to other gadgets, including the ones embedded inside iframes.

What do I need to know?

We recommend you to update your gadgets so that they support lazy-loading logic. This will  decrease the page load time and improve overall interaction with the dashboard. 

If you want to lazy load yours gadgets, you can reuse our AMD module like this: 

define('your gadget path', 
['jira/jira-dashboard-items/components/lazy-loading/lazy-loading'], function (
     lazyLoading,
) {

return lazyLoading
    .waitForIntersection($gadgetElement)
	.then(() => yourGadgetLogic())
};

Limit excessive activity with Safeguards DATA CENTER

If you rely heavily on automation, Safeguards can help you moderate a bot account group’s activity by limiting the number of comments every account in that group can add to an issue. The tool can also block activity that would result in breaking that safeguard, which can help boost the performance of loading the issue view.

Safeguards will also alert you by email if the number of comments in an issue is approaching the limit (either default or custom), the limit has been reached, or the limit has been exceeded. If you define a moderated group in the settings, you will also start receiving notifications about certain activity having been blocked. By default, the limit of comments per issue is set to 1000.

Learn how to moderate user group activity with Safeguards

Security fixes for API endpoints

We’ve made security improvements to our APIs. Starting from Jira 9.0, anonymous users will have no access to the following API endpoints: 

  • /rest/api/2/field
  • /rest/api/2/issueLinkType
  • /rest/api/2/jql/autocompletedata/
  • /rest/api/2/priority
  • /rest/api/2/projectCategory
  • /rest/api/2/resolution
  • /rest/api/2/screens
  • /rest/api/latest/avatar/project/system

It's still possible to enable anonymous access for listed endpoints on Jira 9.0 and some later versions. However, the access will be disabled permanently in the upcoming LTS release. 

Consider that some project categories, status categories, issue link types, priorities, and resolutions may be accessible to anonymous users even if anonymous access is disabled. To restrict anonymous access to endpoints on Jira 9.0, you need to enable a dark feature in Jira by providing <feature.flag>.enabled. Check the upgrade notes for details. 

The GET /rest/issue/createmeta endpoint removed from the API

The GET /rest/issue/createmeta endpoint allowed you to get metainformation on everything in Jira: projects, issues, etc. This opportunity had a big impact on Jira performance. That's why, we decided to remove it completely in Jira 9.0.

Instead, you can use the following endpoint to get metainformation on one project at a time:

  • GET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes
  • GET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/
    {issueTypeId}

The View on board feature gets a redesign for better performance

We’ve replaced the old way of viewing issues on boards with an entirely new experience aimed at improving the responsiveness of searching for boards that display a particular issue.

Now, instead of searching through every board in the system, Jira will only search the boards that make explicit mention of an issue’s project key and the boards you viewed recently. This way, you’ll get more meaningful results much quicker than before.

To try it out, open the full issue view and select Find on a board from the Agile panel.

Learn more about finding issues on boards

Issue statuses and transitions are now in one place

Working with issue workflows is getting simpler. From now on, you can check all the issue statuses and transitions as well as view your issue workflow with a single click from the Issue status menu.

  1. Issue status menu label: a trigger menu button that displays the current status of an issue.
  2. Issue status menu: contains a set of issue statuses, transitions, and current issue workflow.

The current issue status is now presented as a menu label, instead of being displayed in the issue details section so all the related information is easy to spot in an instant.

Additionally, all buttons in the Issue status menu are lazy-loaded, thus the issue view page loads faster and is more responsive.

Diagnose and troubleshoot Jira on the fly with Java Flight Recorder

Accurately diagnosing and troubleshooting problems with Java apps can be a tough task that requires digging through gigabytes of logs to figure out what exactly went wrong. With the release of Jira 9.0, we’ve supercharged your ability to identify and resolve problems as they occur by bundling Jira with the Java Flight Recorder, a lightweight diagnostic tool for analyzing and troubleshooting apps at runtime.

The Java Flight Recorder collects events from the Java Virtual Machine runtime and records them in a binary file. Once a recording is available, you can use the new troubleshooting and support tools settings to include Java Flight Recorder data in a support zip archive that you can send over to Atlassian Support for assistance.

Additionally, if you’d like to have a go at resolving the issue yourself or just take a look at what’s been collected, use the JDK Mission Control app to see everything at a glance.

Learn more about diagnosing runtime issues using the Java Flight Recorder

Connect to cloud products with secure application tunnels

Integrating Atlassian cloud and self-managed (Data Center and Server) products through application links requires opening your network for incoming connections, which isn’t something everyone can do. To solve this problem, we’re now introducing application tunnels.

Application tunnels use network tunneling to create a secure pathway between your organization in Atlassian Cloud and the products in your network. You can use this pathway to tunnel application links and integrate your products in a secure way. Thanks to that, your products can communicate with one another, while you keep your network safe and sound.

Application tunnels are available for Jira 8.8 and later. Learn more about application tunnels

Automation for Jira is now part of Jira Software Data Center DATA CENTER

Automation for Jira is a powerful app that lets you focus on the work that matters, removing the need to perform manual, repetitive tasks by allowing your teams to automate their processes and workflows. Using the simple rule builder, you can configure automation rules to handle even the most complex scenarios.

Automate your work with rules

Automation rules allow you to automate actions within your system based on criteria that you set. They’re made up of three parts: triggers that kick off the rule, conditions that refine the rule, and actions that perform tasks in your project.

  • Triggers: Every rule starts with a trigger. It’s an event that needs to take place, such as issue transitioned or issue created.
  • Conditions: Conditions refine your rule and let you narrow its scope. For example, your rule can apply only to bugs or issues with high priority.
  • Actions: An action is what happens after the trigger occurs and conditions are met. They can perform many tasks, such as editing issues, sending notifications, or creating sub-tasks.

For example, when an issue is created (trigger) and its priority is set to Critical (condition), a notification is sent to one of your teams (action).

Make the most out of Automation

Automation for Jira supports thousands of use cases, such as syncing parent and sub-tasks, smart auto-assigning, acting on linked issues, and more. It also supports more advanced processes, like bug management, communication between separate Jira instances, and integrating with external tools. 

Get Automation for Jira

Automation for Jira is integrated into Jira Software Data Center 9.0, and available for all types of projects—business, software, and service. To get started, go to Project settings > Automation.

If you’re using earlier versions of Jira Software Data Center, the Automation for Jira app is available for free from the Atlassian Marketplace. For more info on how to install it, see Installing apps from Marketplace.

We also have a library with pre-defined templates you can use.

New supported platforms

We're welcoming PostgreSQL 14 (Server and Data Center) and Amazon Aurora PostgreSQL 14 (Data Center only) to the list of supported databases.

For more information on what's supported in this version of Jira, see Supported platforms.

Resolved issues

Issues resolved in 9.0.0

Last modified on Jul 13, 2023

Was this helpful?

Yes
No
Provide feedback about this article

In this section

Powered by Confluence and Scroll Viewport.