Java 11 / OpenJDK support update for Server and Data Center products

We wanted to provide an update on our plans for Java 11 and OpenJDK support for our Server and Data Center products. Below is what we will share with customers. Please comment with any questions. Happy Holidays!

It’s been a while since the last update on our plans for Java 11 and OpenJDK support. As you can imagine, changing our support strategy for a core platform like Java across all Server and Data Center products requires a lot of thought. In this post, we want to share with you as many details as possible. Let’s jump right in.

Java support strategy for Server and Data Center

This states our current strategy. We may make changes to it in the future to ensure we are providing our customers with the best support. We will continue to inform you of any changes we make.

With the new Oracle Java licensing and release strategy, a new major Java version will be released every 6 months and a Long-Term-Support (LTS) version every 3 years. We’ve decided that we want to avoid a frequently recurring effort associated with supporting a new Java version every 6 months. Instead, we’d like to keep our focus on delivering more value to our customers.

That’s why we plan to support Java LTS versions only. We will support Java 8 and Java 11 - both of which are the first LTS versions. On top of providing support for LTS versions of Java we will keep supporting both Oracle JDK and OpenJDK distributions.

The Java JRE/JDK ecosystem is still evolving to account for recent change in Oracle support policy. Beyond Java 11 support we will continue to review and modify our set of supported platforms to ensure the best experience for our customers.

Java support plan by product

The table below outlines which Java versions are supported (or are planned to be supported) by each product version .

Product Version: specific product versions that are not End of Life. E.g. 7.5.0+ means 7.5.0, 7.5.1 and so on.

Supported Java Version(s): it includes specific Java versions but also distributions a product version supports (or will support), e.g. Oracle JDK 8, AdoptOpenJDK 11.

Bundled JDK(s): some of our products are released with bundled Java within product installers. This column specifies which Java builds we use for each product version.

:warning: Note: any approximate dates included here are based on our best knowledge for the time of this publication and are subject to change. Please watch this page for ongoing updates!

Jira

Jira - 7.3.0+, 7.4.0+, 7.5.0+, 7.6.0 - 7.6.10 (ER), 7.7.0+, 7.8.0+, 7.9.0+, 7.10.0+, 7.11.0+, 7.12.0+

  • Supported Java Version(s): Oracle JDK 8 (available now)

  • Bundled JDK(s): Oracle JDK 8 (available now)

Jira - 7.6.11+ (ER)

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 ***(~Q1 2019)

  • Bundled JDK(s): Oracle JDK 8 (available now)

Jira 7.13.0+ (ER)

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (available now)

  • Bundled JDK(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (~Q1/Q2 2019)

Jira 8.0.0+

  • Supported Java Version(s): Oracle JDK 8 (~Q1 2019), AdoptOpenJDK 8 (~Q1 2019)

  • Bundled JDK(s): Oracle JDK 8 (~Q1 2019)

Jira 8.1+

  • Supported Java Version(s): Oracle JDK 8 (2019), AdoptOpenJDK 8 (2019), Oracle JDK 11 (2019), AdoptOpenJDK 11 (2019)

  • Bundled JDK(s): AdoptOpenJDK 11 (2019)

Jira Service Desk

Jira Service Desk 3.3.0+, 3.4.0+, 3.5.0+, 3.6.0+, 3.7.0+, 3.8.0+, 3.9.0 - 3.9.10, 3.10.0+, 3.11.0+, 3.12.0+, 3.13.0+, 3.14.0+, 3.15.0+

  • Supported Java Version(s): Oracle JDK 8 (available now)

  • Bundled JDK(s): Oracle JDK 8 (available now)

Jira Service Desk 3.9.11+ (ER)

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8**(following Jira 7.6.11+)

  • Bundled JDK(s): Oracle JDK 8 (available now)

Jira Service Desk 3.16.0+ (ER)

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8** (~Q1/Q2 2019)

  • Bundled JDK(s): Oracle JDK 8 (available now)

Jira Service Desk 4.0.0+

  • Supported Java Version(s): Oracle JDK 8 (~Q1 2019), AdoptOpenJDK 8 (~Q1 2019)

  • Bundled JDK(s): Oracle JDK 8 (~Q1 2019)

Jira Service Desk 4.1+

  • Supported Java Version(s): Oracle JDK 8 (2019), AdoptOpenJDK 8 (2019), Oracle JDK 11 (2019), AdoptOpenJDK 11 (2019)

  • Bundled JDK(s): AdoptOpenJDK 11 (2019)

Confluence

Confluence 6.1.0+, 6.2.0+. 6.3.0+, 6.4.0+, 6.4.0+, 6.5.0+, 6.6.0 - 6.6.11, 6.7.0+, 6.8.0+, 6.9.0+, 6.10.0+, 6.11.0+, 6.12.0+

  • Supported Java Version(s): Oracle JDK 8 (available now)

  • Bundled JDK(s): Oracle JDK 8 (available now)

Confluence 6.6.12+ (or later bugfix release) (ER)

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (available now)

  • Bundled JDK(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (work is planned once it is bundled in 6.13)

Confluence 6.13.0+ (ER)

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (available now)

  • Bundled JDK(s): Oracle JDK8 (available now), AdoptOpenJDK 8 (~Q1/Q2 2019)

Confluence 7.0+

  • Supported Java Version(s): Oracle JDK 11 (~Q2 2019), AdoptOpenJDK 11 (~Q2 2019)

  • Bundled JDK(s): AdoptOpenJDK 11 (~Q2 2019)

Bitbucket

Bitbucket 4.13.0+, 4.14.0+, 5.0.0+, 5.1.0+, 5.2.0+, 5.3.0+, 5.4.0+, 5.5.0+, 5.6.0+, 5.7.0+, 5.8.0+, 5.9.0+, 5.10.0+, 5.11.0+, 5.12.0+, 5.13.0+, 5.14.0+, 5.15.0+, 5.16.0+

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (available now)

  • Bundled JDK(s): Oracle JRE 8 (available now)

Bitbucket 6.0+

  • Supported Java Version(s): Oracle JDK 8 (~Q1 2019), AdoptOpenJDK 8 (~Q1 2019), Oracle JDK 11 (~Q1 2019), AdoptOpenJDK 11 (~Q1 2019)

  • Bundled JDK(s): AdoptOpenJDK 11 (~Q1 2019)

Crowd

Crowd 2.11.0+, 2.12.0+, 3.0.0+, 3.1.0+, 3.2.0+, 3.3.0+

  • Supported Java Version(s): Oracle JDK 8 (available now), OpenJDK 8 (available now)

  • Bundled JDK(s): N/A

Crowd 4.0+

  • Supported Java Version(s): Oracle JDK 11 (2019), AdoptOpenJDK 11 (2019)

  • Bundled JDK(s): N/A

Bamboo

Bamboo 5.15.0+, 6.0.0+, 6.1.0+, 6.2.0+, 6.3.0+, 6.4.0+, 6.5.0+, 6.6.0+, 6.7.0+

  • Supported Java Version(s): Oracle JDK 8 (available now), OpenJDK 8 (available now)

  • Bundled JDK(s): N/A

Fisheye / Crucible

Fisheye / Crucible 4.3.0+, 4.4.0+, 4.5.0+, 4.6.0+, 4.7.0+,

  • Supported Java Version(s): Oracle JDK 8 (available now), OpenJDK 8 (available now)

  • Bundled JDK(s): Oracle JDK 8 - Windows (available now)

Fisheye / Crucible 4.8.0+

  • Supported Java Version(s): Oracle JDK 8 (available now), AdoptOpenJDK 8 (2019)

  • Bundled JDK(s): AdoptOpenJDK 8 -Windows (2019)

Fisheye / Crucible 4.11.0+

  • Supported Java Version(s): Oracle JDK 11 (2020), AdoptOpenJDK 11 (2020)

  • Bundled JDK(s): AdoptOpenJDK 11 - Windows (2020)

Note: Dates are based on the calendar year. We have provided specific timeframes (i.e. Q1) and will continue to do so where we can. Otherwise, we’ve only identified the year when we will introduce support.

*This information is important to developers building apps and integrations for our products. In cases where we provide support for both Java 8 and Java 11, the language level is set to Java 8. It means that no JDK 11 language features / API can be used in the products or plugins.

** For Jira 7.6.x, Jira Service Desk 3.9.x and Confluence 6.6.x (Enterprise Releases), we will introduce AdoptOpenJDK 8 support in one of the bug fix versions for that stream. :warning: If a customer is upgrading and chooses to use AdoptOpenJDK, we recommend that they perform thorough testing of user-installed and marketplace apps to ensure compatibility. App vendors should also review their apps against this bug fix version and make any necessary fixes. We wouldn’t usually add support for a new platform in a bugfix release, however, we want to ensure that our customers can stay on an up-to-date JDK with the latest security fixes. Customers can also choose to continue using Oracle JDK under the new licensing terms.

***Jira 7.13.x and Jira Service Desk 3.16.x already support AdoptOpenJDK 8. One of the bug fix versions of the 7.13 release line will be announced as an Enterprise Release. Watch for updates!

Known issues and workarounds

We’ve identified several issues caused by some of the differences between Oracle JDK 8 and OpenJDK 8. We are working with AdoptOpenJDK and making in-product changes to fix these issues, see the table below for details and available workarounds:

Issue: Missing fonts in OpenJDK 8 builds

Issue: Missing CAcert from jdk8u172 window build

Issue: LinkError on GUI apps on MacOS

FAQ

What does it mean you support OpenJDK? Which distribution?

Apart from supporting Oracle JDK, we test and bundle most of our products with HotSpot distribution of AdoptOpenJDK (for details see the table above). It also means that our Support team uses AdoptOpenJDK to replicate issues that a customer using OpenJDK Java has raised.

If a customer uses a different distribution of OpenJDK (e.g. Zulu) we’ll still provide support for our products. However, if the reported bug is caused by a problem in Java distribution we’ll ask you to reach out to the Java distributor for help.

Why has Atlassian chosen to bundle and test products with AdoptOpenJDK?

We wanted to choose a solidly backed open source initiative that’s compatible with Oracle OpenJDK and with a clear policy and free of charge. We also wanted it to support multiple operating systems that our products run on and ensure commitment to provide updates to OpenJDK 8 until our products stop supporting this version. Finally, we wanted to provide easily accessible builds for Java versions that our customers use. All of these requirements have been fulfilled by AdoptOpenJDK.

As a customer, what do I need to do after Jan 2019 if I’m running an Atlassian Server or Data Center product on Oracle Java 8?

  • Upgrade to a product version that supports OpenJDK (Recommended): Each Server and Data Center product now has a feature version which supports OpenJDK and will continue doing so. If you don’t want to purchase an Oracle subscription you can upgrade to one of the product versions that run on OpenJDK (see table on top of this article). To make it even easier, we’ve introduced support for OpenJDK on our current Enterprise Release (ER) versions of Jira and Confluence. Note that some product versions supporting OpenJDK do not bundle it with installers. In such cases, make sure you install OpenJDK manually.

  • Stay on an old version of Oracle JDK: We will continue to support any customer using Oracle JDK 8, however, running on Oracle JDK 8 without a subscription will leave you vulnerable to any Java security issues that are identified after January 2019.

  • Get Oracle Java SE: If you want to continue to get updates and security patches beyond January 2019, you’ll need to purchase an Oracle Java SE subscription.

What if a customer doesn’t upgrade Atlassian product to a version supporting OpenJDK and still switch to run it on OpenJDK? Would it work? Will it be supported?

In such case most of our products might still run on OpenJDK with glitches in some areas of a product. However we discourage customers from doing so since such set up is not supported.

Does Atlassian have any agreement with Oracle thereby Atlassian customers are eligible to get commercial support for Oracle Java platform that is shipped with Atlassian Server or Data Center products?

Atlassian doesn’t have an agreement covering customers. Customers can have their own agreement with Oracle.

9 Likes

What about Atlassian SDK? Would Atlassian SDK be compatible with AdoptOpenJDK 11 or 8? I would assume yes, but it would be great if its officially mentioned in the Atlassian SDK documentation as well.

Hi Yagnesh,

We’re currently testing the Atlassian Plugin SDK to ensure that we’re compatible with Adopt OpenJDK 8.

The current version of the Atlassian Plugin SDK is not compatible with Java 11 so won’t be compatible with Adopt OpenJDK 11 either. Stay tuned for updates on a new release of the SDK with Java 11 support.

Cheers,
Melissa Paisley
Atlassian Server Ecosystem Engineering

Hi @mpaisley,

I was wondering if you have an update on when Atlassian Plugin SDK will support Java 11 :question: I see folks asking this question in the reviews of the SDK on the Marketplace as well.

JDK 11 support in the SDK is important now not only because the Atlassian apps themselves support Java 11, but also because development tools like VS Code have dropped support for Java 8.

Thanks,
Jason

1 Like

Hi @JasonUnsworth, sorry I don’t work on AMPS / SDK any more so I’m afraid I don’t know. I’ll see if we can get an update for you.

@mpaisley or @mroney, I don’t suppose you might have an update on Java 11 support in the SDK? Alternatively, is there a different thread or forum I should post this question to?

Thanks.

1 Like

Hi Jason,

AMPS maintainer here. Could you please expand on what you mean by Java 11 support? Do you mean running AMPS on Java 11, or making AMPS start up the products on Java 11, or making AMPS generate Java 11 source code, or … ?

1 Like

Hi Jason,

Our team is tracking this question with https://ecosystem.atlassian.net/browse/AMPS-1541.

Feel free to watch this ticket for further updates, and we will try and get an answer for you soon.

1 Like

Hi @aswan,

Ideally, my organization would like to standardize on both developing for and running Jira and Confluence using a single LTS version of AdoptOpenJDK. At present, that single version is Java 8; that is, we’ve built our add-ons with AMPS & the Atlassian SDK using Java 8, and we run Jira and Confluence on Java 8 in production. So looking forward, we’d like to plan for how we’ll transition both sides – development and deployment – of our Atlassian apps on Java 11 instead. For simplicity, this would be preferable to having to build our add-ons using Java 8 (to meet the current requirements of AMPS and the Atlassian SDK) and then deploying the add-ons to Jira/Confluence running on Java 11.

So indeed, we’d like to be able to run AMPS on JDK 11, have it generate Java 11 source code, have the Atlassian SDK tested to work with JDK 11, and so on.

Thanks.

Thanks @BillyMcCarthy. I will follow AMPS-1541.

Thanks Jason, I’ve linked the above issue to the comment you made.

1 Like