Preparing for Jira 8.0

This documentation is intended for Jira developers who want to ensure that their existing add-ons are compatible with Jira 8.0. Jira 8.0 is a platform release, so will contain breaking changes

Quick info

Latest version

Here you can find information about the latest EAPs.

Application / DateEAP numberVersion (Maven)Downloads

Jira Core/Software

GA release (see release notes)8.0.0-m0035

GA release | Source files

Jira Service Desk

 

GA release (see release notes)4.0.0-m0035GA release

All changes and EAPs

Below, you can see the summary of changes, and more details about them organized by the EAP they've been implemented in.

Summary of changes

In this section we'll provide an overview of the changes we intend to make in Jira 8.0, so you can start thinking how it might impact your add-ons. Once they're ready, we'll indicate when a change has been implemented, and in which milestone. 

Lucene library upgrade

Status: IMPLEMENTED (for details, see EAP 1 to EAP 6)

The Lucene library (used for indexing and searching in Jira) will be upgraded from version 3.3 to 7.3. 

End of support for PostgreSQL 9.3

Status: IMPLEMENTED 

Already deprecated in Jira 7.12, PostgreSQL 9.3 will no longer be supported in Jira 8.0. For more info, see this announcement.

End of support for MySQL 5.5

Status: IMPLEMENTED 

Jira 8.0 will no longer support the MySQL 5.5 database. That means MySQL 5.5 will continue working but will not be officially supported by Jira. For more info, see this announcement.

End of support for com.atlassian.fugue (Jira Service Desk)

Status: IMPLEMENTED 

Already deprecated in Jira Service Desk 3.15, we'll be permanently removing com.atlassian.fugue and updating our APIs to use Core Java Data types and Exceptions instead. For more info, see this announcement

Jira platform upgrades

Status: IMPLEMENTED  (for details, see EAP 2 to EAP 7)

We will upgrade all the platform components used in Jira, libraries, maven plugins, and Jira plugins. We will also get Jira to run on Java 11.

Known issue: Jira doesn’t work with Java 11.0.2. If you want to use Java 11, choose the 11.0.1 version.

moment.js upgrade

Status: IMPLEMENTED (for details, see EAP 2)

We will upgrade  moment.js from 2.6 to 2.22.2. 

The ContainerProvider SPI dropped 

Status: IMPLEMENTED (for details, see EAP 2)

We have dropped the com.atlassian.jira.component.pico.extension.ContainerProvider interface that allowed you to customize the Pico container with Jira internal and public components. 

ComponentManager moved

Status: IMPLEMENTED (for details, see EAP 2)

The ComponentManager class in the jira-core artifact has been moved from the com.atlassian.jira package to the com.atlassian.jira.component.pico package, to improve the package structure. Plugins using this type will need to import it from its new location. However please note that:

  • Instead of using ComponentManager, plugins should actually be using ComponentAccessor from the jira-api module instead.
  • Plugins should generally not be depending upon anything in the jira-core Maven artifact at all, as it is non-API and therefore subject to change by the Jira team without notice.

Support for MySQL with utf8mb4

Status: IMPLEMENTED (for details, see EAP 4)

We've added a new configuration for MySQL 5.7 that lets you use 4-byte characters. 

JS Globals deprecation

Status: IMPLEMENTED (for details, see EAP 4)

JS globals are deprecated and due to be removed in one of the Jira 8.x releases. They are replaced with AMD modules. Currently, all globals that have an AMD module equivalent are independently instantiated as an alias to that module.You can look trough Jira code for all the globals you use use to see if/what are their equivalent modules.Once a particular subset of globals is removed in 8.x version, we will provide a detailed migration documentation containing a list of removed globals and their AMD module names equivalents. For detailed communication see Migration from Globals to AMD.

jQuery upgrade

Status: IMPLEMENTED (for details, see EAP 4)

We've upgraded jQuery from 1.7.2 to 2.2.4. The new version includes 2 security patches and the migrate plugin 1.4.1 to simplify the upgrade. For details, see jQuery upgrade.

Apache Tomcat upgrade

Status: IMPLEMENTED (for details, see EAP 4)

We've upgraded Tomcat to version 8.5.32, which might require some changes when you upgrade to Jira 8.0. 

New look and feel of Scrum/Kanban boards and backlogs

Status: IMPLEMENTED (for details, see EAP 4)

Following on the changes to the look and feel brought in Jira 7.10, we're now also updating Scrum and Kanban boards and backlogs.

skate.js listener disabled for parts of backlog - changes in HTML markup

Status: IMPLEMENTED (for details, see EAP 4)

To decrease loading time, we decided to dosable skate.js listener on epics, versions, and  issue lists. The following classes are affected: ghx-version-columnghx-epic-column, and js-issue-list.

gh-rapid context removed

Status: IMPLEMENTED (for details, see EAP 5)

Plugins can no longer use <context>gh-rapid</context>. In Jira 8.0 we introduced the following new context: gh-rapid-plan (Agile backlog, Kanplan), gh-rapid-work (Scrum/Kanban board), gh-rapid-report (reports).

Atlassian User Interface (AUI) upgrade

Status  IMPLEMENTED  (for details, see EAP 6)

We've upgraded Atlassian User Interface (AUI) to 8.0. For details on what's changed, see Atlassian User Interface upgrade.

Support for custom index path has been dropped

Status: IMPLEMENTED  (for details, see EAP 7)

As early as in JIRA 4.2 we locked custom index paths and let our customers switch only to default. Now, we are dropping the support for the custom index path altogether. The customers who keep using custom index directory will be automatically migrated to the default one. 

Changed Index path

Status: IMPLEMENTED  (for details, see EAP 7)

We changed the index path from  $JIRA_HOME/caches/indexes  to  $JIRA_HOME/caches/indexesV1 . When starting, Jira will delete the old index. You need to reindex Jira to create a new index. 

Changes to sticky sprint headers in the Scrum backlog 

Status: IMPLEMENTED (for details, see EAP 7)

Sticky sprint headers in the Scrum backlog are now enabled by default. This feature won't be available at all when opening Jira in Internet Explorer 11.

New database indexes & supported page sizes

Status: IMPLEMENTED (for details, see Beta)

To improve database performance, we’ve expanded the size of a few tables’ indexes and removed some other indexes. As these indexes’ keys now have more columns, they may not work correctly with databases whose page size (MySQL) or block size (PostgreSQL and Oracle) has been reduced below the default value. We've also removed some indexes in these tables.

Jira needs memory

Status: IMPLEMENTED (for details, see Beta)

Jira 7.x was running fine for evaluation with 768 MB. Jira 8.0 and the new Lucene engine requires 2048 MB of memory to run correctly. Also, when you create any new builds/automated runs/ or configurations for Jira 8.x, use at least 2GB heap. 

If you’re manually installing/upgrading Jira on a 32-bit system by using the archive, you will need to decrease the maximum heap size available to Jira. The default for 64-bit systems in Jira 8.0 is 2GB, which is too much for a 32-bit system, and may not fit into the available memory.

Changes coming in Jira 8.0.1:

Changes coming in Jira 8.0.1 are not breaking changes, but they might affect your apps.

Column headers limited to one line

Column headers will be limited to one line, containing the column name (shortened with ellipsis), and column constraints (min. and max. issues, if enabled).

See before and after...
BeforeJira 8.0.1

New avatars

We're updating project and user avatars.

User avatars:

  • updating colors to match our Design guidelines.

Project avatars:

  • switching from round avatars to rounded square avatars
  • updating colors to match our Design guidelines.

See before and after...

Here are some examples of what the changes will look like.


BeforeJira 8.0.1
Project avatars

User avatars

Implemented changes

In this section we'll provide details of changes we have implemented, organized by the EAP they are first available in. This will help you decide which EAP to use. 


Release Candidate

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/SoftwareRelease Candidate8.0.0-m0033

EAP | Source files

Jira Service Desk

 

Release Candidate4.0.0-m0034EAP


Important notes

    • Feature-wise, Release Candidate is close to what we want to ship as Jira Core/Software 8.0 and Jira Service Desk 4.0.

    • You can find the latest Jira API here.

Changes in this milestone

    • Release Candidate contains mostly bug fixes. For example, we fixed the JS error that appeared after users were working with versions on board backlog. We've also introduced a fix and  made it possible to search for text fields that contain a URL. 
    • We've upgraded some of Jira plugins to be compatible with AUI8. That was the case with plugins such as UPM plugin and jira-admin-helper-plugin. 
    • DATA CENTER We've carried out tests to make sure that Jira can copy index snapshots between nodes for large indexes (>8GB). 
    • We tested the requirements, and established that Jira needs more memory to run correctly. Read the details

Beta

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/SoftwareBeta8.0.0-m0030

EAP | Source files

Jira Service Desk

 

Beta4.0.0-m0031
EAP

Important notes

    • Feature-wise, Beta is close to what we want to ship as Jira 8.0 and Jira Service Desk 4.0.

Changes in this milestone

Upgrades to Jira platform

We've added some final touches for the Jira platform upgrade to be complete. For the full list of the changes, see Java 11 and Jira platform upgrade.

New database indexes & supported page sizes

To improve database performance, we’ve expanded the size of a few tables’ indexes. As these indexes’ keys now have more columns, they may not work correctly with databases whose page size (MySQL) or block size (PostgreSQL and Oracle) has been reduced below the default value. We've also removed some indexes in these tables.

Here are the tables we've changed:

  • propertyentry
  • entity_property
  • changegroup
  • changeitem
  • configurationcontext

Beta features

Since beta has most of the features planned for the 8.0 release, feel free to browse through the list to see how's Jira changing for you. See 8.0-Beta release notes.

EAP 8

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP08-fixed8.0.0-m0025

EAP | Source files

Jira Service Desk

 

EAP084.0.0-m0029EAP


Important notes

    • Due to an unexpected issue with EAP 08, we’ve released a new version - 8.0.0-EAP08-fixed.

    • This milestone contains breaking changes for Jira Service Desk only.

Changes in this milestone

Fugue removed from Jira Service Desk's automation API and SPI

We’ve removed com.atlassian.fugue from our automation API and SPI, and updated them to use Core Java Data types and Exceptions instead. You will need to update any automation-specific scripts, integrations or apps to use the new API and SPI.

Upgrades to Jira platform

We've updated the Spring library and several Jira platform components. For the full list of the changes, see Java 11 and Jira platform upgrade.

Reindex opt-out

Jira 8.0 will automatically remove the old incompatible index and start a full re-index on startup. You might want to postpone reindexing to upgrade your plugins first as each plugin upgrade requires additional reindexing. The procedure to stop automatic reindexing, has been described here

EAP 7

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP07 8.0.0-m0021

EAP | Source files

Jira Service Desk8.0.0-EAP074.0.0-m0022EAP

Important notes

    • This EAP contains all breaking changes.

Changes in this milestone

Last breaking changes to Jira platform

We've migrated Jira to a new Fugue, upgraded Guava, and updated a number of platform components. These changes affected some parts of the API. For the latest version of all the breaking changes see Java 11 and Jira platform upgrade .

Support for custom index path has been dropped

Jira will no longer rely on  jira.path.index.use.default.directory  and  jira.path.index  properties and will always use the default index root path.

We removed  com.atlassian.jira.config.util.IndexPathManager#Mode  enum. It was representing different index path modes. After the change there's no need to keep this class, and  indexPathManager  will always use the  DEFAULT .

The following methods have been removed from  com.atlassian.jira.config.util.IndexPathManager:

    • String getDefaultIndexRootPath(); , please use  String getIndexRootPath ()

    • void setIndexRootPath(String indexPath);

    • void setUseDefaultDirectory();

    • boolean getUseDefaultDirectory();

    • Mode getMode() , you can assume it’s always in  DEFAULT  mode

The following methods have been removed from  com.atlassian.jira.config.util.IndexPathService:

    • void setIndexRootPath(JiraServiceContext serviceContext, String indexPath);

    • void setUseDefaultDirectory(JiraServiceContext serviceContext);

The following fields have been removed from  com.atlassian.jira.config.properties.APKeys :

    • String JIRA_PATH_INDEX_USE_DEFAULT_DIRECTORY

    • String JIRA_PATH_INDEX

Batching email notifications

Although this feature doesn't contain breaking changes, it changes the approach in which Jira informs you about changes introduced in issues. For more information, see Batching email notifications.

Changes to sticky sprint headers in the Scrum backlog

Sticky sprint headers in the Scrum backlog are now enabled by default. Over time, we've fixed errors around this feature, and don't see the need to disable it, although you can still do that, if you prefer (  > Applications > Jira Software configuration). Sticky sprint headers aren't available when running Jira in Internet Explorer 11.

(info) Sticky sprint headers were removed in EAP 4 - EAP 6, and then brought back in EAP 7.

EAP 6

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP068.0.0-m0015

Source files

Jira Service Desk4.0.0-EAP064.0.0-m0019
EAP

Changes in this milestone

Atlassian User Interface (AUI) upgrade

We've upgraded Atlassian User Interface (AUI) to 8.0. For details on what's changed, see Atlassian User Interface upgrade.

Further (but final) breaking changes to Lucene

This time, we've introduced changes to the SearchQuery class. We do not anticipate any more changes to the Lucene library. For details, see Lucene upgrade

EAP 5

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP058.0.0-m0014

Source files

Jira Service Desknot availablenot available
-

Important notes

Changes in this milestone

More Platform and Java 11-related changes

We've managed to (partly) upgrade the Jira platform components and Java frameworks and libraries. We've also moved to a new atlassian-util-concurrent library. More platform changes are still expected in EAP milestone 06. For details of what has been upgraded so far, see Java 11 and Jira platform upgrade .

EAP 4

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP048.0.0-m0012

Source files

Jira Service Desk4.0.0-EAP044.0.0-m0017-

Important notes

    • Jira Service Desk have fixed an oversight which impacted the use of the new exception types in our Java API. Please read the thread on Developer Community for more information.
    • Because of the Apache Tomcat upgrade, we've added new properties to the server.xml file. If you're installing this milestone from scratch, you're good to go, as you'll get the file with the new properties out of the box. However, if you're upgrading, make sure you don't copy the old server.xml file to the new installation, but add these properties manually, as described in this kb article. 

Changes in this milestone

JS Globals deprecations

JS globals are deprecated and due to be removed in one of the Jira 8.x releases. They are replaced with AMD modules. For details, see Migration from Globals to AMD.

More changes to Lucene

We've made some more changes to the JIRA code and the jira-lucene-dmz artifact. See Lucene upgrade .

Apache Commons IO upgrade

We've upgraded Apache Commons IO to 2.6.  See  Java 11 and Jira platform upgrade .

4-byte characters supported in MySQL 5.7

We've added a new configuration for MySQL 5.7 that lets you use 4-byte characters. If you'd like to try it out, expand the section below for more info on how to set up your MySQL.

How to configure MySQL 5.7 to work with 4-byte characters...
The following steps are only an excerpt with changes to the previous MySQL configuration, and don't contain all required steps. You should follow them together with Connecting Jira to MySQL .


    1. Create a database in MySQL, and specify the character set as utf8mb4. Here's a command you can use:

      CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
    2. Edit the my.cnf file (my.ini on Windows operating systems) in your MySQL server.
    3. Locate the [mysqld]section in the file, and add or modify the following parameters:
      • Set the default storage engine to InnoDB:

        [mysqld]
        ...
        default-storage-engine=INNODB
        ...
      • Specify the character set used by the database server:

        [mysqld]
        ...
        character_set_server=utf8mb4
        ...
      • Set the default row format to DYNAMIC:

        [mysqld]
        ...
        innodb_default_row_format=DYNAMIC
        ...
      • Enable the large prefix:

        [mysqld]
        ...
        innodb_large_prefix=ON
        ...
      • Set the InnoDB file format to Barracuda:

        [mysqld]
        ...
        innodb_file_format=Barracuda
        ...
      • Specify the value of innodb_log_file_size to be at least 2G:

        [mysqld]
        ...
        innodb_log_file_size=2G
        ...
      • Ensure the sql_mode parameter does not specify NO_AUTO_VALUE_ON_ZERO

        // remove this if it exists
        sql_mode = NO_AUTO_VALUE_ON_ZERO
    1. Later, when connecting Jira to your MySQL database, set the Database Type to MySQL 5.7+.

jQuery upgrade

The upgrade of jQuery is now complete! See  jQuery upgrade.  

New look and feel

We're bringing the new look and feel to Scrum and Kanban boards and backlogs. See  Look and feel .

EAP 3

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP038.0.0-m0007

Source files

Jira Service Desk4.0.0-EAP03
4.0.0-m0010-

Important notes

    • The Development Integrations plugin does not work in EAP 3.

Changes in this milestone

    • We’ve done some more work on Windows batch scripts to allow Jira to start as a Windows service on Java 11.
    • We've also decided to share the Jira 8.0 EAP source files, so you can have better insights into the changes we're releasing. The source files for this EAP, and the previous ones, are available here.

EAP 2

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP028.0.0-m005

Source files

Jira Service Desknot availablenot available
-

Important notes

    • The Development Integrations plugin does not work in EAP 2.

Changes in this milestone

Upgrade to Java 11

Jira 8.0 will be working with Oracle JDK 8 and OpenJDK 11. In this EAP milestone, you can already run Jira 8.0 on OpenJDK 11-ea. However, building is and will be performed on Java 8. So, in the upcoming release, Java 11 features will not be supported in the source code. We tested this EAP milestone against both Oracle JDK 8 and OpenJDK 11-ea. Although the scope of the performed Java 11 tests is currently limited, we'll be extending it in the upcoming milestones.  In this milestone, we've changed the API and some components. For the details, see Java 11 and Jira platform upgrade. Further changes will most likely include the upgrade of Guava library, the upgrade of commons-lang, and the upgrade of the platform components. These will come in later milestones.

Moment.js

We have upgraded moment.js from 2.6 to 2.22.2 in Jira 8.0. If you use our moment, check if any of the 4 incompatible changes affect you.

More Lucene upgrade changes

We've made considerable alterations to the API. For all the details, see Lucene upgrade. There are further changes to come in the next EAP milestones, so look out for updates. 

The  ContainerProvider  SPI dropped 

This SPI was already deprecated in Jira 4.3 (as announced here), and now it's time to drop it altogether. Its removal gives the Jira team the flexibility to switch to an alternative (supported) dependency injection framework.

ComponentManager moved

The ComponentManager class in the jira-core artifact has been moved from the com.atlassian.jira package to the com.atlassian.jira.component.pico package, to improve the package structure. Plugins using this type will need to import it from its new location. However, note that:

    • Instead of using ComponentManager, plugins should actually be using ComponentAccessor from the jira-api module instead.
    • Plugins should generally not depend on anything in the jira-core maven artifact as it's non-API and therefore subject to change by the Jira team without notice.

EAP 1

Release date:  

AppVersion (download)Version (Maven)Downloads
Jira Core/Software8.0.0-EAP018.0.0-m0001

Source files

Jira Service Desk4.0.0-EAP01
4.0.0-m0009-

Important notes

    • The Development Integrations plugin does not work in EAP 1.
    • We are continuously working on performance. It will be in scope in EAP 2.

Changes in this milestone

Lucene upgrade

Some changes related to the Lucene upgrade are available in this milestone. For all the changes, see Lucene upgrade. We'll be updating this page as the development progresses.

Last modified on Aug 13, 2019

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.