As announced on the Developer Community, we are making several changes to the Java API of shared components that are used across the different Atlassian Data Center products. We expect all of these changes to land into the following product versions:
In the table below we include links to the upgrade guides for each individual component outlining the exact changes and how to adopt them.
Component | Upgrade guide | Affected Maven packages | Platform 6.5 version | Platform 7.0 version |
---|---|---|---|---|
Active Objects | Guide | net.java.dev.activeobjects:activeobjects-core com.atlassian.activeobjects:activeobjects-plugin | 5.3.1 | 6.0.0-m03 |
Application Links | Guide | com.atlassian.applinks:applinks-common | 9.2.0 | 10.0.0-m01 |
Atlassian Application | Guide | com.atlassian.application:atlassian-application-api | 2.0.1 | 3.0.0 |
Atlassian Config | Guide | com.atlassian.config:atlassian-config | 1.2.0 | 2.0.0-m01 |
Atlassian Core | Guide | com.atlassian.core:atlassian-core | 8.1.0 | 9.0.0-m07 |
Atlassian Event | Guide | com.atlassian.event:atlassian-event | 3.1.0 | 6.0.0-m02 |
Atlassian Failure Cache | Guide | com.atlassian:atlassian-failure-cache com.atlassian:atlassian-failure-cache-plugin | 3.1.0 | 4.0.0-m02 |
Atlassian Nav Links | Guide | com.atlassian.plugins:atlassian-nav-links-api com.atlassian.plugins:atlassian-nav-links-plugin | 8.2.0 | 9.0.0 |
Atlassian Plugins | Guide (7.5.0) Guide (8.0.0) | com.atlassian.plugins:atlassian-plugins-api com.atlassian.plugins:atlassian-plugins-core com.atlassian.plugins:atlassian-plugins-osgi com.atlassian.plugins:atlassian-plugins-schema com.atlassian.plugins:atlassian-plugins-validation | 7.5.2 | 8.0.0-m03 |
Atlassian REST | Guide | com.atlassian.plugins.rest | 7.2.0 | |
Atlassian SAL | Guide | com.atlassian.sal:sal-api com.atlassian.sal:sal-core com.atlassian.sal:sal-spi com.atlassian.sal:sal-spring | 5.2.0 | 6.0.0-m01 |
Atlassian Scheduler | Guide | com.atlassian.scheduler:atlassian-scheduler-caesium com.atlassian.scheduler:atlassian-scheduler-quartz2 | 4.2.0 | 5.0.0-m01 |
Atlassian Security | Guide | com.atlassian.security:atlassian-secure-xml | 4.1.0 | 6.0.0-m02 |
Atlassian Streams | Guide | com.atlassian.streams:streams-api com.atlassian.streams:streams-spi com.atlassian.streams:streams-thirdparty-api | 9.2.0 | 10.0.0-m02 |
Marketplace Client | Guide | com.atlassian.marketplace:marketplace-client-java | 3.1.10 | 4.0.0 |
Remote Links Aggregator | Guide | com.atlassian.plugins:remote-link-aggregator-api | 3.1.0 | 4.0.0-m02 |
UPM Server | Guide | com.atlassian.upm:upm-api | 6.5.0 | 7.0.0-m02 |
atlassian-plugins-webfragment | Guide | com.atlassian.plugins:atlassian-plugins-webfragment-api com.atlassian.plugins:atlassian-plugins-webfragment | 6.1.0 | |
atlassian-plugins-webresource | Guide | com.atlassian.plugins:atlassian-plugins-webresource-api com.atlassian.plugins:atlassian-plugins-webresource | 6.3.1 | |
Embedded Crowd | Guide | com.atlassian.crowd:embedded-crowd-api com.atlassian.crowd:crowd-integration-api com.atlassian.crowd:crowd-api com.atlassian.crowd:crowd-events com.atlassian.crowd:crowd-server-api com.atlassian.crowd:crowd-persistence com.atlassian.crowd:crowd-common com.atlassian.crowd:embedded-crowd-spi | 5.3.0 | 6.0.0-rc2 |
The Platform 6.5 version typically contains the vast majority of the alternative API that is proposed in the upgrade guides. You can use these versions to gradually start migrating to the new APIs, while maintaining compatibility with existing product versions. We expect these versions of the components to be available in the following product versions:
The Platform 7.0 version refers to the earliest version we have released that contains the changes from the upgrade guides. If the column is empty, we have yet to release such a version. We will update this page once these versions become available. We expect the next milestone releases of the products to include the stable versions of these components.
We recommend checking out our community post for some hints that may help with testing these changes ahead of the EAPs for the Atlassian Data Center products.
As a courtesy, we have also made our openrewrite recipes available in case you want to automate some of the migrations.
The primary change to the components is the removal of third-party dependency types from our public Java APIs. This is achieved through either replacing the API with an alternative, or - in some cases - removing the API altogether. In particular, for the components above, we have targeted the following dependencies for removal:
com.google.guava:guava
com.google.inject:inject
org.dom4j:dom4j
joda-time:joda-time
commons-digester:commons-digester
opensymphony:oscore
opensymphony:propertyset
opensymphony:sitemesh
com.fasterxml.jackson.core:jackson-annotations
com.sun.jersey
org.tuckey:urlrewritefilter
org.jdom:jdom
log4j:log4j
commons-pool:commons-pool
commons-lang:commons-lang
1In addition to the API changes, these dependencies will no longer be exported to the OSGi context. You will need to include your own dependencies and bundle them with your app if you wish to continue using them.
To make the Java APIs more future-proof, we have restructured the Java packages in Atlassian Plugins, atlassian-plugins-webfragment, and atlassian-plugins-webresource. Check the migration guides linked above for more details.
Platform 7 depends on Jakarta 8 API. We unified Maven dependencies and moved from javax
ones to jakarta
.
That change has no effect on the code. However, if you are using Platform POMs to control the version of dependency, you should migrate to the new coordinates.
Jakarta 8 components exported for every plugin are:
jakarta.servlet:jakarta.servlet-api
jakarta.inject:jakarta.inject-api
jakarta.annotation:jakarta.annotation-api
jakarta.activation:jakarta.activation-api
jakarta.mail:jakarta.mail-api
jakarta.xml.bind:jakarta.xml.bind-api
jakarta.validation:jakarta.validation-api
jakarta.ws.rs:jakarta.ws.rs-api
- introduced as part of REST v2The components in Platform 7 will be compiled with Java 17, meaning that apps will also need to be compiled with Java 17 (or newer) to continue working.
With Jira 10.0 and Confluence 9.0, new allowlists will be added to bolster security. This is not currently coming to any other product. Learn more about file allowlist and method allowlist.
We've made access changes to improve default endpoint security. It's important to understand these changes and plan your annotations accordingly to ensure your endpoints remain secure and accessible to the intended users. Learn more about preparing your app to comply with secure endpoint defaults.
The changes listed on this page apply to common components shared across multiple Atlassian Data Center products, in particular the components listed in the table above. Each product's feature release may in turn have additional changes. Refer to the product-specific announcements for more information on those changes.
commons-lang:commons-lang3
will continue to remain available in the OSGi context. ↩
Rate this page: