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 / Date | EAP number | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | GA release (see release notes) | 8.0.0-m0035 | |
Jira Service Desk
| GA release (see release notes) | 4.0.0-m0035 | GA 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 usingComponentAccessor
from thejira-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-column
, ghx-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).
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.
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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | Release Candidate | 8.0.0-m0033 | |
Jira Service Desk | Release Candidate | 4.0.0-m0034 | EAP |
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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | Beta | 8.0.0-m0030 | |
Jira Service Desk
| Beta | 4.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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP08-fixed | 8.0.0-m0025 | |
Jira Service Desk
| EAP08 | 4.0.0-m0029 | EAP |
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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP07 | 8.0.0-m0021 | |
Jira Service Desk | 8.0.0-EAP07 | 4.0.0-m0022 | EAP |
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 useString getIndexRootPath
()void setIndexRootPath(String indexPath);
void setUseDefaultDirectory();
boolean getUseDefaultDirectory();
Mode getMode()
, you can assume it’s always inDEFAULT
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
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.
Sticky sprint headers were removed in EAP 4 - EAP 6, and then brought back in EAP 7.
EAP 6
Release date:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP06 | 8.0.0-m0015 | |
Jira Service Desk | 4.0.0-EAP06 | 4.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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP05 | 8.0.0-m0014 | |
Jira Service Desk | not available | not available | - |
Important notes
- In response to feedback, we've prepared detailed Globals to AMD migration communication. For details see Migration from Globals to AMD.
- In response to feedback, we've prepared detailed Globals to AMD migration communication. For details see Migration from Globals to AMD.
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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP04 | 8.0.0-m0012 | |
Jira Service Desk | 4.0.0-EAP04 | 4.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 oldserver.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.
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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP03 | 8.0.0-m0007 | |
Jira Service Desk | 4.0.0-EAP03 | 4.0.0-m0010 | - |
Important notes
- The Development Integrations plugin does not work in EAP 3.
- 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:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP02 | 8.0.0-m005 | |
Jira Service Desk | not available | not available | - |
Important notes
- The Development Integrations plugin does not work in EAP 2.
- 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 usingComponentAccessor
from thejira-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.
- Instead of using
EAP 1
Release date:
App | Version (download) | Version (Maven) | Downloads |
---|---|---|---|
Jira Core/Software | 8.0.0-EAP01 | 8.0.0-m0001 | |
Jira Service Desk | 4.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.
- The Development Integrations plugin does not work in EAP 1.
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.