Last updated Apr 26, 2024

Changelog

If you're a Jira Data Center app developer, use this page to track upcoming changes, deprecation notices, new features, and feature updates on the Jira Data Center platform.

26 April 2024

Announcement Preparing for Jira Software 9.16 and Jira Service Management 5.16 - EAP 01 is now available

The first EAP for Jira Software 9.16 and Jira Service Management 5.16 is ready for testing. You can download the EAP from this page. If you’re using maven.atlassian.com, here are the versions: 9.16.0-m0001 for Jira Software and 5.16.0-m0001 for Jira Service Management.

If you want to share your feedback, just leave a reply in the Atlassian Developer Community thread.

Early Access Preparing for Jira Software 9.16 and Jira Service Management 5.16 - Tighten Assets imports with the Jira allowlist

You can now secure your Assets imports with the Jira allowlist. This way, you can make sure that your import configurations (such as Object Schema import, LDAP import) get data only from allowed external sources.

More details

To start using this feature:

  1. Make sure that the allowlist in Jira is configured.

  2. Navigate to Jira administration, select Manage apps then Assets configuration.

  3. In the Security section, select Yes for Use the Jira Allowlist to block import configuration URLs.

    1: New setting to filter import configuration URLs

Early Access Preparing for Jira Software 9.16 and Jira Service Management 5.16 - Optimized workload reports for better performance and usability

To reduce the computational load on your instance, your Workload report now contains additional filters, and is configured by default to show only agents with assigned issues. This will speed up the load time of Workload reports in large Jira Service Management instances and reduce timeouts. Whenever you need to view the workload of all agents, just modify the search filter.

More details

 

1: New filter to view agents with workload

Early Access Preparing for Jira Software 9.16 and Jira Service Management 5.16 - Changes to Groovy scripting in Assets

As we continue to strengthen the security of our products, we’ve made some changes to the Groovy scripts interface in Assets to reduce the risk of arbitrary code execution. From Jira Service Management 5.16, the Groovy script console, which lets you build and execute scripts on the fly, will no longer be available across Assets.

You can continue to use and run Groovy scripts, but you’ll need to store them in a common script directory (located within the shared home directory of Jira) and add the script path for use within workflow transitions and object schema automations. We’ve added a new read-only panel to help you easily verify script content before you use or run scripts. How to use Groovy scripts

More details

This feature is on by default and the change impacts the following:

  • The console available in Administration (select Manage apps then Assets script console).

  • The console available in Workflows (conditions, validators, post functions).

  • The Automation tab in Assets schema configuration.

  • The Assets allowlist page will no longer be available. However, your existing automations that rely on the scripts you added to the allowlist before this upgrade won’t be affected. The new Groovy scripts page contains a read-only list of these allowlist files.

  • Any file paths you saved in Workflows will be added to the allowlist during the upgrade.

  • Any code you added to the console before the upgrade will be available in the read-only panel.

 

Early Access Preparing for Jira Software 9.16 and Jira Service Management 5.16 - Enhancements to Assets archiving

Introducing additions to the Assets archiving experience we released in 5.15. You can now restore archived objects easily from the Archived objects page and take advantage of the new Archive object action in Assets automations. More about archiving objects

More details

What’s new?

  • Search for objects in the Archived objects page and:

    • use the new Archived by me filter to search for objects that you’ve archived

    • restore an archived object directly from this page (select an object and then from the Actions column, select More actions () and then Restore)

    • bulk restore objects (you can either select Restore all to restore all the filtered objects or select the desired objects and then select Restore selected)

  • Use the new Archive object action in Assets automations. Note the following:

    • For the action to run successfully, the rule needs to run as a user with manager permissions for the object type.

    • Each condition can contain only one Archive object action.

    • As attributes can’t be updated on archived objects, you can’t add an Attribute value action after an Archive object action.

    • As archived objects can’t be updated, any actions that trigger changes to archived objects will fail. For example, Groovy script or HTTP request actions that attempt to modify objects affected by the Archive object action.


      1: New action to archive objects

Early Access Preparing for Jira Software 9.16 and Jira Service Management 5.16

Store backups securely in S3 object storage

If you’re already running your Jira Data Center instance in AWS, you can now securely store backups in Amazon S3 object storage.

23 April 2024

Early Access Two-step verification login for Data Center EAP 01

The prototype version of the new login experience for Data Center is now available. Download this .jar file and test it against your apps to identify any potential conflicts.

More details

This prototype is intended purely as a test to check how the new two-step verification experience affects your apps' functionality and determine if any changes are necessary. The scope, functionality, API, quality, look and feel, and security level of the prototype aren’t representative of the final solution.

The production version of two-step verification will be developed separately from the prototype version but the fundamental technical concept will remain unchanged.

This prototype is for testing purposes only. Don’t install it on production environments.

To install the app, follow https://confluence.atlassian.com/upm/installing-add-ons-273875715.html#InstallingMarketplaceapps-InstallaDataCenterorServerapp. In case the upload is disabled, check https://confluence.atlassian.com/jirakb/how-to-re-enable-plugin-upload-1364557898.html.

Watch this video guide for more information on the prototype and how to test it.

16 April 2024

Announcement Changes in publishing artifacts to the Atlassian Public Maven repository

As part of our ongoing commitment to security, we’ll cease publishing development releases of Data Center product artifacts to the Atlassian Maven repository. Moving forward, only artifacts used in the Early Access Program (EAP) and final product releases will be available to maintain the highest level of security for our customers.

9 April 2024

Announcement Two-step verification login for Data Center

For an added layer of security, we’re bringing a new login experience supporting two-step verification in Confluence, Jira Software, and Jira Service Management Data Center.

More details

We’re replacing the current product-specific login pages for Confluence, Jira Software, and Jira Service Management Data Center with a unified experience.

The new login process will support built-in two-step verification capability, using time-based one-time password (TOTP) as a second factor. It will be managed by the Atlassian SSO for Data Center app, which is currently bundled with the products but will transition into a system plugin.

This change stands as an integral component of our security hardening initiative. Our aim is to establish more robust authentication measures to mitigate the risk of unauthorized access to Atlassian Data Center product instances.

We recognize that this change may potentially disrupt some integrations reliant on the REST API or UI elements. It's in our mutual interest to ensure that customers using Marketplace apps for authentication encounter no interruptions.

In a few weeks, we’ll launch an Early Access Program (EAP) for the Proof of Concept (POC) version of the solution and annouce it in this changelog. We urge you to take advantage of this opportunity to test your apps integrations.

27 March 2024

Announcement Preparing for Jira 10.0 (EAP 02)

Jira Software 10.0 EAP 02 is now available

We’re happy to present the first Early Access Program (EAP) build of Jira Software 10.0. This build focuses primarily on exposing Jira with its internal REST subsystem migrated to RESTv2.

Currently, REST v2 impacts Jira Software Data Center only. Jira Service Management is also in the scope of RESTv2 and is now undergoing migration. It’ll be included in future EAPs.

For more detailed information, check out the following change log entries:

You can download the EAP from this page. If you’re using maven.atlassian.com, the version is 10.0.0-m0002.

If you want to share your feedback, just leave a reply in the Atlassian Developer Community thread.

More details

This EAP release is not for production or demonstration use.

Known issues

The following subsystems are known to be not functional in this release:

  • Jira Service Management

  • Advanced Roadmaps may be unstable and not functioning correctly

  • Jira Cloud Migration Assistant doesn’t load

  • The Manage Apps page shows apps out of date with MPAC

  • Overall stability issues across the system

Coming up next

Next milestones are coming soon through the EAP channel and will focus on:

  • Completing the migration to RESTv2 across all Atlassian apps

  • Removing deprecated dependencies

  • Removing deprecated code

  • Changing the Java language level to 17

  • Platform 7 (including removal of RESTv1)

Early Access Preparing for Jira Software 10.0 (EAP 02)

Jira Software Data Center is migrated and fully exposes RESTv2

For more information, check out the RESTv2 migration guide.

Early Access Preparing for Jira Software 10.0 (EAP 02)

Centralized dependency management

Centralized dependency management in Jira Software 10 introduces a set of Maven POM files known as a Bill of Materials (BOM), which list the dependencies available to third-party apps.

This system aims to streamline responding to security threats and enhance efficiency of developing for Jira by ensuring that dependencies are uniform and up-to-date. This approach minimizes runtime errors such as NoSuchMethodException and allows for quicker responses to security vulnerabilities within these dependencies.

More details

There are multiple BOM files, each serving different functions:

  • jira-api-bom: This BOM is designed for external products. It offers a centralized location for managing the dependencies of external products, ensuring that they’re using the correct, up-to-date versions of dependencies.

  • jira-deprecated-api-bom: This BOM lists libraries that may undergo changes or be removed from the public Bill of Materials in future updates.

  • jira-internal-bom: This BOM is intended for internal products. It provides a centralized location for managing internal dependencies, ensuring consistency across all internal products.

  • jira-bundled-plugins-bom: This BOM manages the versions of apps bundled with Jira.

Using artifacts for version management

BOMs (Bill of Materials) are Maven modules of the pom packaging type, which are designed to facilitate the management of imported dependencies as detailed in the Maven documentation.

Each BOM contains dependency management sections rather than direct dependencies. To use a BOM, you should first include it as a dependency with the import scope. For example:

1 2 3 4 5 6 7 <dependency> <groupId>com.atlassian.jira</groupId> <artifactId>jira-api-bom</artifactId> <version>${jira.version}</version> <type>pom</type> <scope>import</scope> </dependency>

Subsequently, other dependencies should be explicitly defined manually with the scope provided, omitting version specifications. The versions will be configured through the imported BOM artifacts. For example:

1 2 3 4 5 <dependency> <groupId>com.atlassian.security</groupId> <artifactId>atlassian-secure-utils</artifactId> <scope>provided</scope> </dependency>

Adopting centralized BOMs in App Development

To adopt centralised BOMs, follow these steps:

  1. Remove the jira-project dependency management import.

  2. Add jira-api-bom as a dependency with scope import.

  3. Consider adding jira-deprecated-api-bom if needed, but note that these dependencies are marked as deprecated and will be removed in future versions.

  4. Remove redundant dependency management sections from your poms (for artefacts covered by the bom)

  5. Since BOM does not define scope, if your dependency management section used to contain scope definition, you must now add it to the actual dependency declaration.

  6. Conduct deep analysis of the dependency tree to ensure all dependencies are correctly managed, and no discrepancies exist between versions. All dependencies listed in the bom files

  7. Ensure that dependencies, especially those in the provided scope, don't have a version field to allow the central pom to define it. This ensures consistency and prevents runtime issues.

Early Access Preparing for Jira Software 10.0 (EAP 02)

Removal of dependencies

We’re planning to remove access to a number of dependencies from Jira Software 10.0, which are currently accessible in Jira 9.x.

More details

Dependency

Java packages

nekohtml:nekohtml

org.cyberneko.html
org.cyberneko.html.*

commons-validator:commons-validator

org.apache.commons.validator
org.apache.commons.validator.*

com.atlassian.scala.plugins:scala-2.11-provider-plugin

scala.*

com.atlassian.scala.plugins:scala-2.10-provider-plugin

scala.*

com.atlassian.scala.plugins:jackson-module-scala-2.10-provider-plugin

com.fasterxml.jackson.module.scala2_10

io.atlassian.fugue:fugue-scala

io.atlassian.fugue.converters

commons-daemon:commons-daemon

org.apache.commons.daemon.*

org.apache.tomcat:tomcat-coyote

org.apache.coyote.*

commons-el:commons-el

org.apache.commons.el.*

org.apache.tomcat:tomcat-jasper

org.apache.jasper.*

org.apache.tomcat:tomcat-juli

org.apache.juli
org.apache.juli.logging

org.apache.tomcat:*

org.apache.tomcat
org.apache.catalina

org.apache.tika:tika-core

org.apache.tika:tika-*

 

org.apache.tika
org.apache.tika.*

org.apache.xmlgraphics:batik-transcoder

org.apache.xmlgraphics:batik-codec

org.apache.xmlgraphics:batik-js

org.apache.xmlgraphics:batik-svggen

org.apache.xmlgraphics:fop

org.apache.batik
org.apache.batik.*

com.querydsl:querydsl-core

com.querydsl:querydsl-sql

com.mysema.commons.lang
com.querydsl.core
com.querydsl.core.*

commons-configuration:commons-configuration

org.apache.commons.configuration
org.apache.commons.configuration.beanutils

org.apache.commons:commons-collections4

org.apache.commons.collections4

com.thoughtworks.xstream:xstream

com.thoughtworks.xstream
com.thoughtworks.xstream.*

org.apache.commons:commons-dbcp2

org.apache.commons.dbcp2
org.apache.commons.dbcp2.cpdsadapter
org.apache.commons.dbcp2.datasources
org.apache.commons.dbcp2.managed

com.sun.syndication:com.springsource.com.sun.syndication

com.sun.syndication.feed.*
com.sun.syndication.io.*

rome:rome

com.sun.syndication.feed.*
com.sun.syndication.io.*

commons-discovery:commons-discovery

org.apache.commons.discover.jdk
org.apache.commons.discovery.*

commons-jexl:commons-jexl

org.apache.commons.jexl.*

commons-jrcs:commons-jrcs

org.apache.commons.jrcs.*

com.github.rholder:guava-retrying

com.github.rholder.retry.*

org.dom4j:dom4j

org.dom4j.*

opensymphony:sitemesh

com.opensymphony.module.*
com.opensymphony.sitemesh.*

org.jdom:jdom

org.jdom.*

commons-pool:commons-pool

org.apache.commons.pool.*

org.tuckey:urlrewritefilter

org.tuckey.web.filters.urlrewrite.*

org.springframework.security:spring-security-core

org.springframework.security.*

com.atlassian.p4package:atlassian-p4package

com.perforce.api

commons-beanutils:commons-beanutils

org.apache.commons.beanutils
org.apache.commons.beanutils.*

org.apache.commons:comons-compress

org.apache.commons.compress
org.apache.commons.compress.*

com.sun:jai_core

com.sun.media.jai.*
javax.media.jai
javax.media.jai.*

com.sun:jai_codec

com.sun.media.jai.*

wsdl4j:wsdl4j

com.ibm.wsdl
com.ibm.wsdl.*
javax.wsdl
javax.wsdl.*

Early Access Preparing for Jira Software 10.0 (EAP 02)

Breaking changes to the API

In the first Jira 10.0 EAP, you’ll see appropriate entries in api-deprecated-bom, although no changes to the configuration have been made. These changes will be effective in the subsequent EAPs.

More details

Change

Instructions

Deprecated com.atlassian.jira.issue.table.IssueTable provided by jira-api removed

Use com.atlassian.jira.issue.table.IssueTable provided by jira-issue-nav-plugin.

com.atlassian.jira.rest.Dates.DateAdapter removed

com.atlassian.jira.rest.Dates.DateTimeAdapter removed

For marshalling and unmarshalling use Jackson-friendly Serializers/Deserializers:

@JsonSerialize(using = Dates.DateSerializer.class)
@JsonDeserialize(using = Dates.DateDeserializer.class)

 

com.atlassian.jira:jira-func-tests-legacy is removed.

Migrate your code from BaseJIRAWebTest (Junit3) to FuncTestCase (Junit 4+). This module was deprecated since Jira 7.

doHealthCheck request parameter is removed from rest/api/2/serverInfo endpoint and healthChecks field in the response is removed.

Use jira-healthcheck-plugin instead

rest/api/1.0/endpoint is removed.

No alternative.

com.atlassian.jira.rest.v2.issue.project.ProjectRoleBean and com.atlassian.jira.rest.v2.issue.project.RoleActorBean are removed

Use com.atlassian.jira.rest.api.project.ProjectRoleBean and com.atlassian.jira.rest.api.project.RoleActorBean instead

com.atlassian.jira.rest.v1.model.ValueCollection is removed.

No alternative.

com.atlassian.jira.testkit.client.restclient.Response class of jira-testkit-client has been deprecated

com.atlassian.jira.testkit.client.RestApiClient.toResponse(...) accepts RestCall functional interface

Use com.atlassian.jira.testkit.client.restclient.ParsedResponse

 

Use new RestCall interface or lambda in place of Method interface

Jira table column update for Oracle and Mysql.

No actions required, schema would be migrated on restart.

Impacted tables include: changegroup jiraissue jiraaction

com.atlassian.jira.avatar.AvatarManager
#getAvatarBaseDirectory

Use AvatarManager#readAvatarData() to access avatar data directly.

21 March 2024

Announcement Preparing for Jira Software 9.15 and Jira Service Management 5.15

Restrict file extensions that can be uploaded to Jira

In Jira Software and Jira Service Management, admins can now restrict file formats uploaded through issues. By creating an allowlist or a blocklist of particular file extensions, you’ll protect both your Jira instance and your company’s infrastructure from potential malware uploaded in attachments.

This feature comes with a new plugin API that now can implement custom attachment validators. Find out more about the Attachment validator module

More details

How to restrict file extensions?

To configure file formats that you’d like to allow or block in your instance:

  1. In the upper-right corner of the screen, select Administration > System.

  2. In the sidebar, select Advanced > Attachments. You’ll find two groups of settings: General settings for global attachment configurations and Security settings for restricting file extensions.

  3. Select Edit settings. The Edit attachment settings dialog will open.

  4. For Restrict file extensions, select Blocklist or Allowlist. If you’d like to allow all file extensions for uploading, select Off.

    1. The blocklist will contain file extensions blocked from uploading. All other file extensions will be allowed.

    2. The allowlist will contain file extensions allowed for uploading. All other file formats will be blocked.

  5. In the Specify file extensions field, enter file formats that you’d like to block or allow, based on the previous setting. Separate your file formats with a comma. For example: exe, dll, pdf.

  6. If needed, select Include files without extensions. Files without any extension will be either blocked or allowed, based on the previous setting.

  7. Select Save.

The new configuration will apply only to new files uploaded after you’ve set it. The files attached before you’ve set the configuration won’t be checked for their extensions.

Rate this page: