Bitbucket Data Center 9.0 Early Access Program release

We are pleased to announce availability of the Bitbucket Data Center 9.0 Early Access Program (EAP) release.

This EAP release allows partners and customers who have written in-house apps to update their apps before the public release of Bitbucket 9.0.

Due no earlier than 23 July, Bitbucket 9.0 is our next platform release and will contain breaking changes.

Important things to note about this EAP release:

  • The general availability release is still underway and may contain some minor API changes. However, this EAP release is intended to contain a complete picture of Bitbucket 9.0’s API.
  • Do not use this EAP release in production environments. For all production use and testing of Bitbucket, use the latest official release instead.

Using the EAP

You can test your app against the EAP with Atlassian Maven Plugin Suite (AMPS) 8.16.0 or later by running the following command with the Atlassian Plugin SDK: atlas-run-standalone --product bitbucket --version 9.0.0-eap06.

You can also build against Bitbucket version 9.0.0-eap06.

The EAP is available as a standalone download in the following formats:

Overview of changes in the EAP

Supported platform changes

With this release, Bitbucket will require Java 17. Support for running on Java 8 and 11 has been removed.

Bitbucket 9.0 also changes support for the following platforms:

  • Postgres 10, 11 and 12 are no longer supported.
  • Microsoft SQL Server 2014 and 2016 are no longer supported.
  • Oracle 12c R2 and 18c are no longer supported.
  • Git version 2.34 or later is required.
  • OpenSearch 2.11 is required.
  • Elasticsearch is no longer supported.

Platform 7 upgrade

Bitbucket 9.0 includes an upgrade to Atlassian Data Center Platform 7.0. This upgrade puts us in a better position to respond to security changes with reduced disruption and breaking changes for your apps.

As part of this work, we have upgraded numerous Atlassian and third-party components to benefit from the latest security patches and bug fixes.

The Prepare your Data Center app for Platform 7 page contains an extensive list of the changes in Platform 7 and guides on how to migrate your app to Platform 7.

REST v2

Platform 7 and Bitbucket 9.0 have rearchitected the Java APIs used to implement REST resources, which we’re calling REST v2.

Note that this isn’t a change to Bitbucket’s REST API, which remains largely unchanged. These changes will only impact app developers. The underlying libraries, Jackson and Jersey, have been upgraded to the latest versions. REST v2 also makes use of JAX-RS 2.

The REST v2 upgrade guide contains advice and examples on how to upgrade your app to use REST v2.

:warning: This EAP currently has both the original REST API and REST v2 enabled. This allows app developers to focus on the API and Platform 7 changes before migrating REST resources to REST v2. A future EAP will remove support for the original REST API. The final version of Bitbucket 9.0 will only support REST v2.

Endpoint default security annotations

Bitbucket 9.0 introduces changes for improved endpoint security where you can better control access to endpoints with new annotations. Important annotations to review are @AdminOnly, @AnonymousSiteAccess, @LicensedOnly, @SystemAdminOnly, @UnlicensedSiteAccess, and @UnrestrictedAccess. They’ve been revised to ensure only the intended users access your application endpoints.

Starting from Bitbucket 9.0, only licensed users can access resources without specified access criteria annotations.

Check this page for more details: Prepare your Data Center app to comply with secure endpoint defaults.

WebSudo support

Bitbucket 9.0 adds support for WebSudo to further protect admin pages against malicious access.

Apps can add the @WebSudoRequired annotation to REST APIs that require admin access. Similarly, servlets that require admin access should call WebSudoManager.enforceWebSudoProtection. More details can be found on Adding WebSudo support to your app.

Third-party library removals

Platform 7 and Bitbucket 9.0 have removed the ability for your apps to load many third-party libraries, as well as a few Atlassian-specific libraries, from the Bitbucket application. This group of libraries are called “gray APIs”, as they were never intended to become part of the product’s API.

You will need to start bundling your own copies of these libraries with your apps if you wish to continue using them.

This change will allow us to improve Bitbucket more frequently without breaking your app or requiring you to do significant testing and rework when things change.

Deprecated Java APIs removed

We have removed Interfaces, classes, and methods in the Bitbucket Java API that were marked as deprecated in Bitbucket 8.x.

Apps that use any of these interfaces generally won’t build with Bitbucket 9.0.

Precompiled apps that used any of the removed interfaces will fail to install or run in Bitbucket 9.0, typically with java.lang.NoSuchMethodError or java.lang.ClassNotFoundExceptions.

Frontend: Source view plugin points

Web Fragments on the source view page have been converted to Client Side Extensions (CSEs). Apps that want to extend the source view page should move the React-based CSE framework. You can read more about using CSEs here. We also have an example plugin that uses CSEs.

The following plugin points have been migrated to CSEs:

  • bitbucket.file-content.source.toolbar.primary
  • bitbucket.file-content.source.toolbar.secondary
  • bitbucket.file-content.diff.toolbar.primary
  • bitbucket.file-content.diff.toolbar.secondary
  • bitbucket.file-content.diff-view.options
  • bitbucket.branch.layout.actions.dropdown

Frontend: jQuery update

jQuery has been updated to version 3.6.0 and jQuery Migrate to version 3.4.1. If your app uses jQuery, we recommend upgrading to version 3.6.0 for best performance and compatibility going forward.

Important things to note about the frontend API changes:

  • All jQuery version 1.0 code is not backward compatible with jQuery Migrate 3.4.1. You must upgrade to a minimum of jQuery 2.0.
  • Keep in mind that we plan to remove jQuery Migrate in a future Bitbucket 9.x release. Check the jQuery migration guides for more details.

Known issues

Atlassian Troubleshooting and Support Tools is not currently included in the EAP and will be bundled in a future EAP.

9 Likes

Is there a full list of removed package exports in Bitbucket 9?

Each product seems to have a different definition of what is grey API, despite the intent set out by the platform.

2 Likes

Confluence 9 EAP communication began in January, with ~250 replies from vendors working on compatibility: Preparing for Confluence 9.0 - EAP out now

This is now the most replied to CDAC thread of all time, and should give some hint as to the complexity/burden pushed onto app vendors.

Bitbucket team to my knowledge have put out no information prior to this post (excluding general platform announcements). Some vendors have been working 5+ months on Confluence 9 compatibility. For Bitbucket we are given the impression we have ~4 weeks to adopt platform 7.

I’ll give some credit for actually publishing an EAP which contains the full set of changes, in contrast to Jira, which has a similar short timeline but has yet to adopt platfom 7 fully.

How is this an appropriate timeline for vendors to adopt such a disruptive and risky platform release?

Apps are not going to be ready, or will be rushed together at best. In the end customers will be those that suffer the downstream consequences.

CDAC may seem busy, but only scratches the surface of the full app ecosystem. Many vendors may not even know about platform 7 yet, not to mention internal customer built apps.

11 Likes

Thanks for the EAP.

While trying to run it (with AMPS 8.16.0) Bitbucket fails to start because of a missing dependency:

com.atlassian.bitbucket.search:embedded-elasticsearch-plugin:jar:8.0.1

It’s not yet in the public maven repo.

Do I need to do some other configuration?

1 Like

Thanks for raising this, embedded-elasticsearch-plugin 8.0.1 should be in the public maven repo now

1 Like

Here’s the full list of removed com.atlassian packages. I’ll post the list of removed third-party packages in another reply (because it exceeds the maximum message size):

com.atlassian.analytics.api.annotations
com.atlassian.analytics.api.annotations.v2
com.atlassian.analytics.api.events
com.atlassian.analytics.api.events.v2
com.atlassian.analytics.api.extractor
com.atlassian.analytics.api.listener
com.atlassian.analytics.client
com.atlassian.analytics.client.api
com.atlassian.analytics.client.api.browser
com.atlassian.analytics.client.api.mobile
com.atlassian.annotations.tenancy
com.atlassian.applinks.application
com.atlassian.applinks.application.bamboo
com.atlassian.applinks.application.bitbucket
com.atlassian.applinks.application.confluence
com.atlassian.applinks.application.crowd
com.atlassian.applinks.application.fecru
com.atlassian.applinks.application.generic
com.atlassian.applinks.application.jira
com.atlassian.applinks.application.refapp
com.atlassian.applinks.application.subversion
com.atlassian.applinks.core
com.atlassian.applinks.core.auth
com.atlassian.applinks.core.common
com.atlassian.applinks.core.concurrent
com.atlassian.applinks.core.event
com.atlassian.applinks.core.link
com.atlassian.applinks.core.manifest
com.atlassian.applinks.core.oauth2
com.atlassian.applinks.core.plugin
com.atlassian.applinks.core.plugin.condition
com.atlassian.applinks.core.property
com.atlassian.applinks.core.refapp
com.atlassian.applinks.core.rest
com.atlassian.applinks.core.rest.auth
com.atlassian.applinks.core.rest.client
com.atlassian.applinks.core.rest.context
com.atlassian.applinks.core.rest.exceptionmapper
com.atlassian.applinks.core.rest.model
com.atlassian.applinks.core.rest.model.adapter
com.atlassian.applinks.core.rest.permission
com.atlassian.applinks.core.rest.ui
com.atlassian.applinks.core.rest.util
com.atlassian.applinks.core.upgrade
com.atlassian.applinks.core.util
com.atlassian.applinks.core.v1.rest
com.atlassian.applinks.core.v2.rest
com.atlassian.applinks.core.webfragment
com.atlassian.applinks.host
com.atlassian.applinks.host.spi
com.atlassian.applinks.host.spring
com.atlassian.applinks.host.util
com.atlassian.applinks.internal.application
com.atlassian.applinks.internal.common
com.atlassian.applinks.internal.common.application
com.atlassian.applinks.internal.common.applink
com.atlassian.applinks.internal.common.auth.oauth
com.atlassian.applinks.internal.common.auth.oauth.util
com.atlassian.applinks.internal.common.auth.trusted
com.atlassian.applinks.internal.common.cache
com.atlassian.applinks.internal.common.capabilities
com.atlassian.applinks.internal.common.docs
com.atlassian.applinks.internal.common.event
com.atlassian.applinks.internal.common.exception
com.atlassian.applinks.internal.common.i18n
com.atlassian.applinks.internal.common.json
com.atlassian.applinks.internal.common.lang
com.atlassian.applinks.internal.common.net
com.atlassian.applinks.internal.common.permission
com.atlassian.applinks.internal.common.rest.interceptor
com.atlassian.applinks.internal.common.rest.model.applink
com.atlassian.applinks.internal.common.rest.model.oauth
com.atlassian.applinks.internal.common.rest.model.status
com.atlassian.applinks.internal.common.rest.util
com.atlassian.applinks.internal.common.status.oauth
com.atlassian.applinks.internal.common.web
com.atlassian.applinks.internal.common.web.condition
com.atlassian.applinks.internal.common.web.data
com.atlassian.applinks.internal.common.web.soy
com.atlassian.applinks.internal.rest
com.atlassian.applinks.internal.rest.applink
com.atlassian.applinks.internal.rest.applink.data
com.atlassian.applinks.internal.rest.capabilities
com.atlassian.applinks.internal.rest.client
com.atlassian.applinks.internal.rest.feature
com.atlassian.applinks.internal.rest.interceptor
com.atlassian.applinks.internal.rest.migration
com.atlassian.applinks.internal.rest.model
com.atlassian.applinks.internal.rest.model.applink
com.atlassian.applinks.internal.rest.model.auth.compatibility
com.atlassian.applinks.internal.rest.model.capabilities
com.atlassian.applinks.internal.rest.model.migration
com.atlassian.applinks.internal.rest.model.status
com.atlassian.applinks.internal.rest.status
com.atlassian.applinks.internal.status
com.atlassian.applinks.internal.status.error
com.atlassian.applinks.internal.status.oauth
com.atlassian.applinks.internal.status.oauth.remote
com.atlassian.applinks.internal.status.remote
com.atlassian.applinks.internal.status.support
com.atlassian.applinks.spi
com.atlassian.applinks.spi.application
com.atlassian.applinks.spi.auth
com.atlassian.applinks.spi.link
com.atlassian.applinks.spi.manifest
com.atlassian.applinks.spi.util
com.atlassian.applinks.ui
com.atlassian.applinks.ui.admin
com.atlassian.applinks.ui.admin.applinkwizard
com.atlassian.applinks.ui.admin.confluence
com.atlassian.applinks.ui.auth
com.atlassian.applinks.ui.confluence
com.atlassian.applinks.ui.validators
com.atlassian.applinks.ui.velocity
com.atlassian.audit.core
com.atlassian.audit.core.ecosystem
com.atlassian.audit.core.impl.broker
com.atlassian.audit.core.impl.service
com.atlassian.audit.core.spi
com.atlassian.audit.core.spi.service
com.atlassian.audit.spi.entity
com.atlassian.audit.spi.feature
com.atlassian.audit.spi.lookup
com.atlassian.audit.spi.migration
com.atlassian.audit.spi.permission
com.atlassian.bamboo
com.atlassian.bitbucket.access.tokens
com.atlassian.bitbucket.branch.automerge
com.atlassian.bitbucket.mirroring.upstream
com.atlassian.bitbucket.rest
com.atlassian.bitbucket.rest.activity
com.atlassian.bitbucket.rest.annotation
com.atlassian.bitbucket.rest.attachment
com.atlassian.bitbucket.rest.auth
com.atlassian.bitbucket.rest.autodecline
com.atlassian.bitbucket.rest.avatar
com.atlassian.bitbucket.rest.build
com.atlassian.bitbucket.rest.cluster
com.atlassian.bitbucket.rest.comment
com.atlassian.bitbucket.rest.commit
com.atlassian.bitbucket.rest.content
com.atlassian.bitbucket.rest.dashboard
com.atlassian.bitbucket.rest.deployment
com.atlassian.bitbucket.rest.enrich
com.atlassian.bitbucket.rest.exception
com.atlassian.bitbucket.rest.fragment
com.atlassian.bitbucket.rest.hook.repository
com.atlassian.bitbucket.rest.hook.script
com.atlassian.bitbucket.rest.job
com.atlassian.bitbucket.rest.label
com.atlassian.bitbucket.rest.license
com.atlassian.bitbucket.rest.log
com.atlassian.bitbucket.rest.mail
com.atlassian.bitbucket.rest.markup
com.atlassian.bitbucket.rest.mesh
com.atlassian.bitbucket.rest.migration
com.atlassian.bitbucket.rest.permission
com.atlassian.bitbucket.rest.project
com.atlassian.bitbucket.rest.property
com.atlassian.bitbucket.rest.pull
com.atlassian.bitbucket.rest.pull.automerge
com.atlassian.bitbucket.rest.pull.reviewer
com.atlassian.bitbucket.rest.ratelimit
com.atlassian.bitbucket.rest.repository
com.atlassian.bitbucket.rest.scm
com.atlassian.bitbucket.rest.scope
com.atlassian.bitbucket.rest.secretscanning
com.atlassian.bitbucket.rest.server
com.atlassian.bitbucket.rest.settingsrestriction
com.atlassian.bitbucket.rest.suggestion
com.atlassian.bitbucket.rest.user
com.atlassian.bitbucket.rest.util
com.atlassian.bitbucket.rest.validation
com.atlassian.bitbucket.rest.x509
com.atlassian.bitbucket.scm.cache.internal
com.atlassian.bitbucket.scm.cache.internal.event
com.atlassian.bitbucket.scm.cache.internal.jmx
com.atlassian.bitbucket.scm.cache.internal.mesh
com.atlassian.bitbucket.server.swagger.annotations
com.atlassian.bitbucket.ssh.util
com.atlassian.botocss
com.atlassian.business.insights.api
com.atlassian.business.insights.api.cluster
com.atlassian.business.insights.api.config
com.atlassian.business.insights.api.customfields
com.atlassian.business.insights.api.customfields.model
com.atlassian.business.insights.api.dataset
com.atlassian.business.insights.api.exceptions
com.atlassian.business.insights.api.extract
com.atlassian.business.insights.api.filter
com.atlassian.business.insights.api.pagination
com.atlassian.business.insights.api.schema
com.atlassian.business.insights.api.user
com.atlassian.business.insights.api.writer
com.atlassian.ccev
com.atlassian.chaperone.obr
com.atlassian.clover
com.atlassian.clover.ant
com.atlassian.clover.ant.groovy
com.atlassian.clover.ant.taskdefs
com.atlassian.clover.ant.tasks
com.atlassian.clover.ant.tasks.testng
com.atlassian.clover.ant.types
com.atlassian.clover.api
com.atlassian.clover.api.ci
com.atlassian.clover.api.command
com.atlassian.clover.api.instrumentation
com.atlassian.clover.api.optimization
com.atlassian.clover.api.registry
com.atlassian.clover.cfg
com.atlassian.clover.cfg.instr
com.atlassian.clover.cfg.instr.java
com.atlassian.clover.cmdline
com.atlassian.clover.context
com.atlassian.clover.instr
com.atlassian.clover.instr.java
com.atlassian.clover.instr.tests
com.atlassian.clover.instr.tests.naming
com.atlassian.clover.io.tags
com.atlassian.clover.lang
com.atlassian.clover.model
com.atlassian.clover.optimization
com.atlassian.clover.recorder
com.atlassian.clover.recorder.junit
com.atlassian.clover.recorder.pertest
com.atlassian.clover.recorder.spock
com.atlassian.clover.registry
com.atlassian.clover.registry.entities
com.atlassian.clover.registry.format
com.atlassian.clover.registry.metrics
com.atlassian.clover.registry.util
com.atlassian.clover.remote
com.atlassian.clover.reporters
com.atlassian.clover.reporters.console
com.atlassian.clover.reporters.filters
com.atlassian.clover.reporters.html
com.atlassian.clover.reporters.html.source
com.atlassian.clover.reporters.html.source.groovy
com.atlassian.clover.reporters.html.source.java
com.atlassian.clover.reporters.json
com.atlassian.clover.reporters.pdf
com.atlassian.clover.reporters.util
com.atlassian.clover.reporters.xml
com.atlassian.clover.services
com.atlassian.clover.spec.instr.test
com.atlassian.clover.spi.lang
com.atlassian.clover.spi.reporters.html.source
com.atlassian.clover.util
com.atlassian.clover.util.collections
com.atlassian.clover.util.format
com.atlassian.clover.util.trie
com.atlassian.clover.versions
com.atlassian.collectors
com.atlassian.config.spring
com.atlassian.config.xml
com.atlassian.confluence.page
com.atlassian.crowd.azure
com.atlassian.crowd.cache
com.atlassian.crowd.common.analytics.events
com.atlassian.crowd.common.analytics.statistics.collectors
com.atlassian.crowd.common.diff
com.atlassian.crowd.common.features
com.atlassian.crowd.common.properties
com.atlassian.crowd.common.util
com.atlassian.crowd.console.value.directory
com.atlassian.crowd.crypto
com.atlassian.crowd.darkfeature
com.atlassian.crowd.directory.authentication
com.atlassian.crowd.directory.authentication.impl
com.atlassian.crowd.directory.cache
com.atlassian.crowd.directory.cache.exception
com.atlassian.crowd.directory.cache.model
com.atlassian.crowd.directory.hybrid
com.atlassian.crowd.directory.ldap
com.atlassian.crowd.directory.ldap.cache
com.atlassian.crowd.directory.ldap.connectionpool
com.atlassian.crowd.directory.ldap.connectionpool.data
com.atlassian.crowd.directory.ldap.connectionpool.mapper
com.atlassian.crowd.directory.ldap.control
com.atlassian.crowd.directory.ldap.control.ldap
com.atlassian.crowd.directory.ldap.credential
com.atlassian.crowd.directory.ldap.mapper
com.atlassian.crowd.directory.ldap.mapper.attribute
com.atlassian.crowd.directory.ldap.mapper.attribute.group
com.atlassian.crowd.directory.ldap.mapper.attribute.user
com.atlassian.crowd.directory.ldap.mapper.entity
com.atlassian.crowd.directory.ldap.monitoring
com.atlassian.crowd.directory.ldap.name
com.atlassian.crowd.directory.ldap.util
com.atlassian.crowd.directory.ldap.validator
com.atlassian.crowd.directory.query
com.atlassian.crowd.directory.rest
com.atlassian.crowd.directory.rest.delta
com.atlassian.crowd.directory.rest.endpoint
com.atlassian.crowd.directory.rest.entity
com.atlassian.crowd.directory.rest.entity.delta
com.atlassian.crowd.directory.rest.entity.group
com.atlassian.crowd.directory.rest.entity.membership
com.atlassian.crowd.directory.rest.entity.user
com.atlassian.crowd.directory.rest.entity.user.password
com.atlassian.crowd.directory.rest.entity.user.rename
com.atlassian.crowd.directory.rest.mapper
com.atlassian.crowd.directory.rest.resolver
com.atlassian.crowd.directory.rest.util
com.atlassian.crowd.directory.rfc4519
com.atlassian.crowd.directory.ssl
com.atlassian.crowd.directory.synchronisation
com.atlassian.crowd.directory.synchronisation.cache
com.atlassian.crowd.directory.synchronisation.utils
com.atlassian.crowd.emailchange
com.atlassian.crowd.embedded.admin.authorisation
com.atlassian.crowd.embedded.directory
com.atlassian.crowd.embedded.event
com.atlassian.crowd.embedded.spi
com.atlassian.crowd.embedded.validator
com.atlassian.crowd.embedded.validator.impl
com.atlassian.crowd.embedded.validator.rule
com.atlassian.crowd.event.remote
com.atlassian.crowd.event.remote.group
com.atlassian.crowd.event.remote.principal
com.atlassian.crowd.feature
com.atlassian.crowd.function
com.atlassian.crowd.hibernate.hsql
com.atlassian.crowd.integration
com.atlassian.crowd.integration.directory
com.atlassian.crowd.integration.http
com.atlassian.crowd.integration.http.filter
com.atlassian.crowd.integration.http.util
com.atlassian.crowd.integration.rest.entity
com.atlassian.crowd.integration.rest.service
com.atlassian.crowd.integration.rest.service.factory
com.atlassian.crowd.integration.rest.util
com.atlassian.crowd.license
com.atlassian.crowd.licensing
com.atlassian.crowd.lock
com.atlassian.crowd.lookandfeel
com.atlassian.crowd.manager.application.canonicality
com.atlassian.crowd.manager.application.filtering
com.atlassian.crowd.manager.application.search
com.atlassian.crowd.manager.audit.mapper
com.atlassian.crowd.manager.authentication
com.atlassian.crowd.manager.cache
com.atlassian.crowd.manager.cluster.message
com.atlassian.crowd.manager.directory.monitor.poller
com.atlassian.crowd.manager.directory.nestedgroups
com.atlassian.crowd.manager.emailscan
com.atlassian.crowd.manager.license
com.atlassian.crowd.manager.login
com.atlassian.crowd.manager.login.exception
com.atlassian.crowd.manager.mail
com.atlassian.crowd.manager.proxy
com.atlassian.crowd.manager.recovery
com.atlassian.crowd.manager.rememberme
com.atlassian.crowd.manager.tombstone
com.atlassian.crowd.manager.validation
com.atlassian.crowd.mapper
com.atlassian.crowd.model.alias
com.atlassian.crowd.model.audit
com.atlassian.crowd.model.cluster
com.atlassian.crowd.model.config
com.atlassian.crowd.model.licensing
com.atlassian.crowd.model.page
com.atlassian.crowd.model.property
com.atlassian.crowd.model.scheduling
com.atlassian.crowd.model.sso.idp
com.atlassian.crowd.model.tombstone
com.atlassian.crowd.password.saltgenerator
com.atlassian.crowd.plugin.descriptors
com.atlassian.crowd.search.hibernate
com.atlassian.crowd.search.hibernate.audit
com.atlassian.crowd.search.ldap
com.atlassian.crowd.search.ldap.filter
com.atlassian.crowd.search.ldap.test
com.atlassian.crowd.service
com.atlassian.crowd.service.client
com.atlassian.crowd.service.cluster
com.atlassian.crowd.service.factory
com.atlassian.crowd.service.license
com.atlassian.crowd.service.support
com.atlassian.crowd.service.token
com.atlassian.crowd.util.cache
com.atlassian.crowd.web
com.atlassian.crucible
com.atlassian.db.config.password
com.atlassian.diagnostics
com.atlassian.diagnostics.detail
com.atlassian.diagnostics.ipd.internal.spi
com.atlassian.diagnostics.util
com.atlassian.editlive
com.atlassian.event
com.atlassian.event.config
com.atlassian.event.internal
com.atlassian.event.legacy
com.atlassian.event.remote.internal.auth
com.atlassian.event.remote.internal.http
com.atlassian.event.remote.internal.json
com.atlassian.event.spi
com.atlassian.event.spring
com.atlassian.extras.api.bamboo
com.atlassian.extras.api.clover
com.atlassian.extras.api.confluence
com.atlassian.extras.api.crowd
com.atlassian.extras.api.crucible
com.atlassian.extras.api.fisheye
com.atlassian.extras.api.greenhopper
com.atlassian.extras.api.jira
com.atlassian.extras.api.plugin
com.atlassian.extras.api.stash
com.atlassian.extras.common
com.atlassian.extras.common.log
com.atlassian.extras.common.org.springframework.util
com.atlassian.extras.common.util
com.atlassian.extras.core
com.atlassian.extras.core.bamboo
com.atlassian.extras.core.bitbucket
com.atlassian.extras.core.clover
com.atlassian.extras.core.confluence
com.atlassian.extras.core.crowd
com.atlassian.extras.core.crucible
com.atlassian.extras.core.fisheye
com.atlassian.extras.core.greenhopper
com.atlassian.extras.core.jira
com.atlassian.extras.core.plugins
com.atlassian.extras.core.stash
com.atlassian.extras.core.transformer
com.atlassian.extras.decoder.api
com.atlassian.extras.decoder.v1
com.atlassian.extras.decoder.v1.confluence
com.atlassian.extras.decoder.v2
com.atlassian.extras.keymanager
com.atlassian.extras.legacy.util
com.atlassian.failurecache
com.atlassian.failurecache.executor
com.atlassian.failurecache.failures
com.atlassian.failurecache.updates
com.atlassian.failurecache.util.date
com.atlassian.fisheye
com.atlassian.fugue
com.atlassian.fugue.retry
com.atlassian.greenhopper
com.atlassian.healthcheck.core
com.atlassian.healthcheck.spi
com.atlassian.hibernate.extras
com.atlassian.hibernate.extras.batching
com.atlassian.hibernate.extras.event
com.atlassian.hibernate.extras.hql
com.atlassian.hibernate.extras.type
com.atlassian.html.encode
com.atlassian.http.method
com.atlassian.http.mime
com.atlassian.http.url
com.atlassian.httpclient.apache.httpcomponents
com.atlassian.httpclient.api
com.atlassian.httpclient.api.factory
com.atlassian.ip
com.atlassian.jira
com.atlassian.johnson
com.atlassian.johnson.config
com.atlassian.johnson.context
com.atlassian.johnson.event
com.atlassian.johnson.filters
com.atlassian.johnson.plugin.servlet.filter
com.atlassian.johnson.setup
com.atlassian.johnson.spring.event
com.atlassian.johnson.spring.lifecycle
com.atlassian.johnson.spring.web
com.atlassian.johnson.spring.web.context
com.atlassian.johnson.spring.web.context.support
com.atlassian.johnson.spring.web.filter
com.atlassian.johnson.spring.web.servlet
com.atlassian.johnson.spring.web.servlet.support
com.atlassian.johnson.support
com.atlassian.johnson.util
com.atlassian.jwt
com.atlassian.jwt.applinks
com.atlassian.jwt.applinks.exception
com.atlassian.jwt.core
com.atlassian.jwt.core.http
com.atlassian.jwt.core.http.auth
com.atlassian.jwt.core.keys
com.atlassian.jwt.core.reader
com.atlassian.jwt.core.writer
com.atlassian.jwt.exception
com.atlassian.jwt.httpclient
com.atlassian.jwt.internal
com.atlassian.jwt.internal.applinks
com.atlassian.jwt.internal.sal
com.atlassian.jwt.internal.security
com.atlassian.jwt.internal.servlet
com.atlassian.jwt.internal.writer
com.atlassian.jwt.reader
com.atlassian.jwt.writer
com.atlassian.labs.restbrowser.plugin
com.atlassian.labs.restbrowser.provider
com.atlassian.labs.restbrowser.rest.model
com.atlassian.labs.restbrowser.rest.services
com.atlassian.labs.restbrowser.servlet
com.atlassian.labs.restbrowser.util
com.atlassian.lesscss.spi
com.atlassian.license
com.atlassian.license.applications.bamboo
com.atlassian.license.applications.clover
com.atlassian.license.applications.confluence
com.atlassian.license.applications.crowd
com.atlassian.license.applications.crucible
com.atlassian.license.applications.editliveplugin
com.atlassian.license.applications.fisheye
com.atlassian.license.applications.greenhopper
com.atlassian.license.applications.jira
com.atlassian.license.applications.perforceplugin
com.atlassian.license.applications.sharepoint
com.atlassian.license.applications.vssplugin
com.atlassian.license.decoder
com.atlassian.license.util
com.atlassian.linkaggregation
com.atlassian.mail.server.impl
com.atlassian.mail.server.impl.util
com.atlassian.marketplace.client
com.atlassian.marketplace.client.api
com.atlassian.marketplace.client.encoding
com.atlassian.marketplace.client.http
com.atlassian.marketplace.client.impl
com.atlassian.marketplace.client.model
com.atlassian.marketplace.client.util
com.atlassian.net
com.atlassian.plugin.cache
com.atlassian.plugin.cache.filecache
com.atlassian.plugin.cache.filecache.impl
com.atlassian.plugin.connect.api
com.atlassian.plugin.connect.api.auth
com.atlassian.plugin.connect.api.auth.scope
com.atlassian.plugin.connect.api.descriptor
com.atlassian.plugin.connect.api.lifecycle
com.atlassian.plugin.connect.api.property
com.atlassian.plugin.connect.api.request
com.atlassian.plugin.connect.api.util
com.atlassian.plugin.connect.api.web
com.atlassian.plugin.connect.api.web.condition
com.atlassian.plugin.connect.api.web.context
com.atlassian.plugin.connect.api.web.iframe
com.atlassian.plugin.connect.api.web.redirect
com.atlassian.plugin.connect.bitbucket
com.atlassian.plugin.connect.bitbucket.auth
com.atlassian.plugin.connect.bitbucket.lifecycle
com.atlassian.plugin.connect.bitbucket.usermanagement
com.atlassian.plugin.connect.bitbucket.web
com.atlassian.plugin.connect.bitbucket.web.condition
com.atlassian.plugin.connect.bitbucket.web.context
com.atlassian.plugin.connect.modules.beans
com.atlassian.plugin.connect.modules.beans.builder
com.atlassian.plugin.connect.modules.beans.builder.nested.dialog
com.atlassian.plugin.connect.modules.beans.nested
com.atlassian.plugin.connect.modules.beans.nested.dialog
com.atlassian.plugin.connect.modules.bitbucket.beans
com.atlassian.plugin.connect.modules.bitbucket.schema
com.atlassian.plugin.connect.modules.gson
com.atlassian.plugin.connect.modules.schema
com.atlassian.plugin.connect.modules.util
com.atlassian.plugin.connect.plugin
com.atlassian.plugin.connect.plugin.api
com.atlassian.plugin.connect.plugin.auth
com.atlassian.plugin.connect.plugin.auth.applinks
com.atlassian.plugin.connect.plugin.auth.jwt
com.atlassian.plugin.connect.plugin.auth.oauth2
com.atlassian.plugin.connect.plugin.auth.scope
com.atlassian.plugin.connect.plugin.auth.scope.whitelist
com.atlassian.plugin.connect.plugin.auth.user
com.atlassian.plugin.connect.plugin.descriptor
com.atlassian.plugin.connect.plugin.descriptor.event
com.atlassian.plugin.connect.plugin.lifecycle
com.atlassian.plugin.connect.plugin.lifecycle.event
com.atlassian.plugin.connect.plugin.lifecycle.upm
com.atlassian.plugin.connect.plugin.property
com.atlassian.plugin.connect.plugin.request
com.atlassian.plugin.connect.plugin.request.url
com.atlassian.plugin.connect.plugin.rest
com.atlassian.plugin.connect.plugin.rest.addons
com.atlassian.plugin.connect.plugin.rest.data
com.atlassian.plugin.connect.plugin.rest.license
com.atlassian.plugin.connect.plugin.rest.oauth2
com.atlassian.plugin.connect.plugin.util
com.atlassian.plugin.connect.plugin.web
com.atlassian.plugin.connect.plugin.web.blacklist
com.atlassian.plugin.connect.plugin.web.condition
com.atlassian.plugin.connect.plugin.web.context
com.atlassian.plugin.connect.plugin.web.context.condition
com.atlassian.plugin.connect.plugin.web.dialog
com.atlassian.plugin.connect.plugin.web.iframe
com.atlassian.plugin.connect.plugin.web.item
com.atlassian.plugin.connect.plugin.web.jsapi
com.atlassian.plugin.connect.plugin.web.page
com.atlassian.plugin.connect.plugin.web.panel
com.atlassian.plugin.connect.plugin.web.redirect
com.atlassian.plugin.connect.plugin.webhook
com.atlassian.plugin.connect.spi
com.atlassian.plugin.connect.spi.auth.applinks
com.atlassian.plugin.connect.spi.auth.user
com.atlassian.plugin.connect.spi.lifecycle
com.atlassian.plugin.connect.spi.module
com.atlassian.plugin.connect.spi.web.condition
com.atlassian.plugin.connect.spi.web.context
com.atlassian.plugin.connect.spi.web.item
com.atlassian.plugin.connect.spi.web.panel
com.atlassian.plugin.event.impl
com.atlassian.plugin.impl
com.atlassian.plugin.main
com.atlassian.plugin.osgi.container.impl
com.atlassian.plugin.osgi.factory.transform.stage
com.atlassian.plugin.osgi.hook.dmz
com.atlassian.plugin.osgi.hook.dmz.packages
com.atlassian.plugin.osgi.hostcomponents.impl
com.atlassian.plugin.schema.descriptor
com.atlassian.plugin.schema.impl
com.atlassian.plugin.schema.spi
com.atlassian.plugin.spring
com.atlassian.plugin.spring.pluginns
com.atlassian.plugin.web.baseconditions
com.atlassian.plugin.web.conditions
com.atlassian.plugin.web.descriptors
com.atlassian.plugin.web.impl
com.atlassian.plugin.web.model
com.atlassian.plugin.web.renderer
com.atlassian.plugin.webresource
com.atlassian.plugin.webresource.analytics
com.atlassian.plugin.webresource.analytics.events
com.atlassian.plugin.webresource.assembler
com.atlassian.plugin.webresource.assembler.html
com.atlassian.plugin.webresource.bigpipe
com.atlassian.plugin.webresource.cdn
com.atlassian.plugin.webresource.cdn.mapper
com.atlassian.plugin.webresource.condition
com.atlassian.plugin.webresource.data
com.atlassian.plugin.webresource.event
com.atlassian.plugin.webresource.filter.rewrite
com.atlassian.plugin.webresource.graph
com.atlassian.plugin.webresource.impl
com.atlassian.plugin.webresource.impl.annotators
com.atlassian.plugin.webresource.impl.config
com.atlassian.plugin.webresource.impl.discovery
com.atlassian.plugin.webresource.impl.helpers
com.atlassian.plugin.webresource.impl.helpers.data
com.atlassian.plugin.webresource.impl.helpers.url
com.atlassian.plugin.webresource.impl.http
com.atlassian.plugin.webresource.impl.snapshot
com.atlassian.plugin.webresource.impl.snapshot.resource
com.atlassian.plugin.webresource.impl.snapshot.resource.strategy.contentprovider
com.atlassian.plugin.webresource.impl.snapshot.resource.strategy.contenttype
com.atlassian.plugin.webresource.impl.snapshot.resource.strategy.path
com.atlassian.plugin.webresource.impl.snapshot.resource.strategy.stream
com.atlassian.plugin.webresource.impl.support
com.atlassian.plugin.webresource.impl.support.factory
com.atlassian.plugin.webresource.impl.support.http
com.atlassian.plugin.webresource.legacy
com.atlassian.plugin.webresource.models
com.atlassian.plugin.webresource.prebake
com.atlassian.plugin.webresource.servlet
com.atlassian.plugin.webresource.transformer
com.atlassian.plugin.webresource.transformer.instance
com.atlassian.plugin.webresource.url
com.atlassian.plugin.webresource.util
com.atlassian.plugins.authentication.api.util
com.atlassian.plugins.client.resource
com.atlassian.plugins.license.entity
com.atlassian.plugins.license.exception
com.atlassian.plugins.license.model
com.atlassian.plugins.license.service
com.atlassian.plugins.rest.common
com.atlassian.plugins.rest.common.error.jersey
com.atlassian.plugins.rest.common.error.jersey.constants
com.atlassian.plugins.rest.common.expand
com.atlassian.plugins.rest.common.expand.entity
com.atlassian.plugins.rest.common.expand.interceptor
com.atlassian.plugins.rest.common.expand.parameter
com.atlassian.plugins.rest.common.expand.resolver
com.atlassian.plugins.rest.common.feature
com.atlassian.plugins.rest.common.feature.jersey
com.atlassian.plugins.rest.common.filter
com.atlassian.plugins.rest.common.interceptor
com.atlassian.plugins.rest.common.json
com.atlassian.plugins.rest.common.multipart
com.atlassian.plugins.rest.common.multipart.fileupload
com.atlassian.plugins.rest.common.multipart.jersey
com.atlassian.plugins.rest.common.sal.websudo
com.atlassian.plugins.rest.common.security
com.atlassian.plugins.rest.common.security.descriptor
com.atlassian.plugins.rest.common.security.jersey
com.atlassian.plugins.rest.common.template
com.atlassian.plugins.rest.common.transaction
com.atlassian.plugins.rest.common.util
com.atlassian.plugins.rest.common.validation
com.atlassian.plugins.rest.common.version
com.atlassian.plugins.rest.module
com.atlassian.plugins.rest.module.servlet
com.atlassian.plugins.shortcuts.api
com.atlassian.rest.annotation
com.atlassian.sal.core.auth
com.atlassian.sal.core.component
com.atlassian.sal.core.csrf
com.atlassian.sal.core.executor
com.atlassian.sal.core.features
com.atlassian.sal.core.lifecycle
com.atlassian.sal.core.message
com.atlassian.sal.core.net
com.atlassian.sal.core.permission
com.atlassian.sal.core.pluginsettings
com.atlassian.sal.core.rdbms
com.atlassian.sal.core.scheduling
com.atlassian.sal.core.search
com.atlassian.sal.core.search.parameter
com.atlassian.sal.core.search.query
com.atlassian.sal.core.transaction
com.atlassian.sal.core.upgrade
com.atlassian.sal.core.usersettings
com.atlassian.sal.core.util
com.atlassian.sal.core.websudo
com.atlassian.sal.core.xsrf
com.atlassian.sal.spi
com.atlassian.scheduler.caesium.cron
com.atlassian.scheduler.caesium.cron.parser
com.atlassian.scheduler.caesium.cron.rule
com.atlassian.scheduler.caesium.cron.rule.field
com.atlassian.scheduler.caesium.impl
com.atlassian.scheduler.caesium.migration
com.atlassian.scheduler.caesium.spi
com.atlassian.secrets
com.atlassian.secrets.store.algorithm
com.atlassian.secrets.store.algorithm.paramters
com.atlassian.secrets.store.algorithm.serialization
com.atlassian.secrets.store.aws
com.atlassian.secrets.store.base64
com.atlassian.secrets.store.vault
com.atlassian.secrets.store.vault.auth
com.atlassian.secrets.store.vault.auth.kubernetes
com.atlassian.secrets.store.vault.auth.token
com.atlassian.secrets.tomcat.cipher
com.atlassian.secrets.tomcat.protocol
com.atlassian.secrets.tomcat.utils
com.atlassian.security.java8.serialfilter
com.atlassian.security.xml.libs
com.atlassian.stash.internal.markup
com.atlassian.stash.plugin.velocity
com.atlassian.tenancy.api
com.atlassian.tenancy.api.event
com.atlassian.tenancy.api.helper
com.atlassian.theme.internal
com.atlassian.theme.internal.api
com.atlassian.theme.internal.api.request
com.atlassian.theme.internal.api.user
com.atlassian.theme.internal.request
com.atlassian.uri
com.atlassian.util.concurrent
com.atlassian.util.concurrent.atomic
com.atlassian.util.contentcache.internal
com.atlassian.util.contentcache.internal.util
com.atlassian.util.integration
com.atlassian.util.profiling
com.atlassian.util.profiling.filters
com.atlassian.util.profiling.micrometer
com.atlassian.util.profiling.micrometer.analytics
com.atlassian.util.profiling.micrometer.analytics.events
com.atlassian.util.profiling.micrometer.util
com.atlassian.util.profiling.object
com.atlassian.util.profiling.strategy
com.atlassian.util.profiling.strategy.impl
com.atlassian.webhooks.external
com.atlassian.webhooks.migration
com.atlassian.webresource.api.prebake
com.atlassian.zdu.internal.api
com.atlassian.zdu.rest.dto
1 Like

Here is the full list of removed third-party packages.

As mentioned in the original post, plugins can continue using these classes if they bundle them. In the case of a maven build, that usually means changing the dependency from provided to compile scope.

assets
ch.qos.logback.classic.db.names
ch.qos.logback.classic.jmx
com.github.fge
com.github.fge.jackson
com.github.fge.jackson.jsonpointer
com.github.fge.jsonschema
com.github.fge.jsonschema.cfg
com.github.fge.jsonschema.core
com.github.fge.jsonschema.core.exceptions
com.github.fge.jsonschema.core.keyword.syntax
com.github.fge.jsonschema.core.keyword.syntax.checkers
com.github.fge.jsonschema.core.keyword.syntax.checkers.common
com.github.fge.jsonschema.core.keyword.syntax.checkers.draftv3
com.github.fge.jsonschema.core.keyword.syntax.checkers.draftv4
com.github.fge.jsonschema.core.keyword.syntax.checkers.helpers
com.github.fge.jsonschema.core.keyword.syntax.checkers.hyperschema
com.github.fge.jsonschema.core.keyword.syntax.dictionaries
com.github.fge.jsonschema.core.load
com.github.fge.jsonschema.core.load.configuration
com.github.fge.jsonschema.core.load.download
com.github.fge.jsonschema.core.load.uri
com.github.fge.jsonschema.core.messages
com.github.fge.jsonschema.core.processing
com.github.fge.jsonschema.core.ref
com.github.fge.jsonschema.core.report
com.github.fge.jsonschema.core.tree
com.github.fge.jsonschema.core.tree.key
com.github.fge.jsonschema.core.util
com.github.fge.jsonschema.core.util.equivalence
com.github.fge.jsonschema.examples
com.github.fge.jsonschema.examples.split
com.github.fge.jsonschema.exceptions
com.github.fge.jsonschema.format
com.github.fge.jsonschema.format.common
com.github.fge.jsonschema.format.draftv3
com.github.fge.jsonschema.format.extra
com.github.fge.jsonschema.format.helpers
com.github.fge.jsonschema.keyword.digest
com.github.fge.jsonschema.keyword.digest.common
com.github.fge.jsonschema.keyword.digest.draftv3
com.github.fge.jsonschema.keyword.digest.draftv4
com.github.fge.jsonschema.keyword.digest.helpers
com.github.fge.jsonschema.keyword.validator
com.github.fge.jsonschema.keyword.validator.common
com.github.fge.jsonschema.keyword.validator.draftv3
com.github.fge.jsonschema.keyword.validator.draftv4
com.github.fge.jsonschema.keyword.validator.helpers
com.github.fge.jsonschema.library
com.github.fge.jsonschema.library.digest
com.github.fge.jsonschema.library.format
com.github.fge.jsonschema.library.validator
com.github.fge.jsonschema.main
com.github.fge.jsonschema.main.cli
com.github.fge.jsonschema.messages
com.github.fge.jsonschema.processors.build
com.github.fge.jsonschema.processors.data
com.github.fge.jsonschema.processors.digest
com.github.fge.jsonschema.processors.format
com.github.fge.jsonschema.processors.syntax
com.github.fge.jsonschema.processors.validation
com.github.fge.jsonschema.validator
com.github.fge.msgsimple
com.github.fge.msgsimple.bundle
com.github.fge.msgsimple.load
com.github.fge.msgsimple.locale
com.github.fge.msgsimple.provider
com.github.fge.msgsimple.source
com.github.fge.uritemplate
com.github.fge.uritemplate.expression
com.github.fge.uritemplate.parse
com.github.fge.uritemplate.render
com.github.fge.uritemplate.vars
com.github.fge.uritemplate.vars.specs
com.github.fge.uritemplate.vars.values
com.google.common.annotations
com.google.common.base
com.google.common.base.internal
com.google.common.cache
com.google.common.collect
com.google.common.escape
com.google.common.eventbus
com.google.common.graph
com.google.common.hash
com.google.common.html
com.google.common.io
com.google.common.math
com.google.common.net
com.google.common.primitives
com.google.common.reflect
com.google.common.util.concurrent
com.google.common.util.concurrent.internal
com.google.common.xml
com.google.gson
com.google.gson.annotations
com.google.gson.internal
com.google.gson.internal.bind
com.google.gson.internal.bind.util
com.google.gson.internal.reflect
com.google.gson.internal.sql
com.google.gson.reflect
com.google.gson.stream
com.google.protobuf
com.opensymphony.module.sitemesh.util
com.opensymphony.sitemesh
com.opensymphony.sitemesh.compatability
com.opensymphony.sitemesh.webapp
com.opensymphony.sitemesh.webapp.decorator
com.rometools.rome.feed
com.rometools.rome.feed.atom
com.rometools.rome.io
com.sun.jersey.api
com.sun.jersey.api.client
com.sun.jersey.api.client.async
com.sun.jersey.api.client.config
com.sun.jersey.api.client.filter
com.sun.jersey.api.container
com.sun.jersey.api.container.filter
com.sun.jersey.api.container.httpserver
com.sun.jersey.api.core
com.sun.jersey.api.core.servlet
com.sun.jersey.api.json
com.sun.jersey.api.model
com.sun.jersey.api.provider.jaxb
com.sun.jersey.api.representation
com.sun.jersey.api.uri
com.sun.jersey.api.view
com.sun.jersey.api.wadl.config
com.sun.jersey.client.impl
com.sun.jersey.client.impl.async
com.sun.jersey.client.proxy
com.sun.jersey.client.urlconnection
com.sun.jersey.core.header
com.sun.jersey.core.header.reader
com.sun.jersey.core.impl.provider.entity
com.sun.jersey.core.impl.provider.header
com.sun.jersey.core.impl.provider.xml
com.sun.jersey.core.osgi
com.sun.jersey.core.provider
com.sun.jersey.core.provider.jaxb
com.sun.jersey.core.reflection
com.sun.jersey.core.spi.component
com.sun.jersey.core.spi.component.ioc
com.sun.jersey.core.spi.factory
com.sun.jersey.core.spi.scanning
com.sun.jersey.core.spi.scanning.uri
com.sun.jersey.core.util
com.sun.jersey.impl
com.sun.jersey.json.impl
com.sun.jersey.json.impl.provider.entity
com.sun.jersey.json.impl.reader
com.sun.jersey.json.impl.writer
com.sun.jersey.localization
com.sun.jersey.server.impl
com.sun.jersey.server.impl.application
com.sun.jersey.server.impl.cdi
com.sun.jersey.server.impl.component
com.sun.jersey.server.impl.container
com.sun.jersey.server.impl.container.filter
com.sun.jersey.server.impl.container.httpserver
com.sun.jersey.server.impl.container.servlet
com.sun.jersey.server.impl.ejb
com.sun.jersey.server.impl.inject
com.sun.jersey.server.impl.managedbeans
com.sun.jersey.server.impl.model
com.sun.jersey.server.impl.model.method
com.sun.jersey.server.impl.model.method.dispatch
com.sun.jersey.server.impl.model.parameter
com.sun.jersey.server.impl.model.parameter.multivalued
com.sun.jersey.server.impl.modelapi.annotation
com.sun.jersey.server.impl.modelapi.validation
com.sun.jersey.server.impl.monitoring
com.sun.jersey.server.impl.provider
com.sun.jersey.server.impl.resource
com.sun.jersey.server.impl.template
com.sun.jersey.server.impl.uri
com.sun.jersey.server.impl.uri.rules
com.sun.jersey.server.impl.uri.rules.automata
com.sun.jersey.server.impl.wadl
com.sun.jersey.server.probes
com.sun.jersey.server.spi.component
com.sun.jersey.server.wadl
com.sun.jersey.server.wadl.generators
com.sun.jersey.server.wadl.generators.resourcedoc
com.sun.jersey.server.wadl.generators.resourcedoc.model
com.sun.jersey.server.wadl.generators.resourcedoc.xhtml
com.sun.jersey.spi
com.sun.jersey.spi.container
com.sun.jersey.spi.container.servlet
com.sun.jersey.spi.dispatch
com.sun.jersey.spi.inject
com.sun.jersey.spi.monitoring
com.sun.jersey.spi.resource
com.sun.jersey.spi.scanning
com.sun.jersey.spi.scanning.servlet
com.sun.jersey.spi.service
com.sun.jersey.spi.template
com.sun.jersey.spi.uri.rules
i18n
io.grpc
io.grpc.protobuf
io.grpc.stub
io.swagger.v3.oas.annotations
io.swagger.v3.oas.annotations.callbacks
io.swagger.v3.oas.annotations.enums
io.swagger.v3.oas.annotations.extensions
io.swagger.v3.oas.annotations.headers
io.swagger.v3.oas.annotations.info
io.swagger.v3.oas.annotations.links
io.swagger.v3.oas.annotations.media
io.swagger.v3.oas.annotations.parameters
io.swagger.v3.oas.annotations.responses
io.swagger.v3.oas.annotations.security
io.swagger.v3.oas.annotations.servers
io.swagger.v3.oas.annotations.tags
java.rmi.activation
java.security.acl
javax.activity
javax.annotation
javax.annotation.concurrent
javax.annotation.meta
javax.annotation.security
javax.annotation.sql
javax.cache
javax.cache.annotation
javax.cache.configuration
javax.cache.event
javax.cache.expiry
javax.cache.integration
javax.cache.management
javax.cache.processor
javax.cache.spi
javax.el
javax.jws
javax.jws.soap
javax.persistence
javax.persistence.criteria
javax.persistence.metamodel
javax.persistence.spi
javax.rmi
javax.rmi.CORBA
javax.security.auth.message
javax.security.auth.message.callback
javax.security.auth.message.config
javax.security.auth.message.module
javax.transaction
javax.xml.soap
javax.xml.ws
javax.xml.ws.handler
javax.xml.ws.handler.soap
javax.xml.ws.http
javax.xml.ws.soap
javax.xml.ws.spi
javax.xml.ws.spi.http
javax.xml.ws.wsaddressing
net.jcip.annotations
net.oauth
net.oauth.signature
net.oauth.signature.pem
net.sf.cglib.asm
net.sf.cglib.beans
net.sf.cglib.core
net.sf.cglib.core.internal
net.sf.cglib.proxy
net.sf.cglib.reflect
net.sf.cglib.transform
net.sf.cglib.transform.impl
net.sf.cglib.util
org.apache.commons.collections4
org.apache.commons.collections4.bag
org.apache.commons.collections4.bidimap
org.apache.commons.collections4.collection
org.apache.commons.collections4.comparators
org.apache.commons.collections4.functors
org.apache.commons.collections4.iterators
org.apache.commons.collections4.keyvalue
org.apache.commons.collections4.list
org.apache.commons.collections4.map
org.apache.commons.collections4.multimap
org.apache.commons.collections4.multiset
org.apache.commons.collections4.properties
org.apache.commons.collections4.queue
org.apache.commons.collections4.sequence
org.apache.commons.collections4.set
org.apache.commons.collections4.splitmap
org.apache.commons.collections4.trie
org.apache.commons.collections4.trie.analyzer
org.apache.commons.compress
org.apache.commons.compress.archivers
org.apache.commons.compress.archivers.ar
org.apache.commons.compress.archivers.arj
org.apache.commons.compress.archivers.cpio
org.apache.commons.compress.archivers.dump
org.apache.commons.compress.archivers.examples
org.apache.commons.compress.archivers.jar
org.apache.commons.compress.archivers.sevenz
org.apache.commons.compress.archivers.tar
org.apache.commons.compress.archivers.zip
org.apache.commons.compress.changes
org.apache.commons.compress.compressors
org.apache.commons.compress.compressors.brotli
org.apache.commons.compress.compressors.bzip2
org.apache.commons.compress.compressors.deflate
org.apache.commons.compress.compressors.deflate64
org.apache.commons.compress.compressors.gzip
org.apache.commons.compress.compressors.lz4
org.apache.commons.compress.compressors.lz77support
org.apache.commons.compress.compressors.lzma
org.apache.commons.compress.compressors.lzw
org.apache.commons.compress.compressors.pack200
org.apache.commons.compress.compressors.snappy
org.apache.commons.compress.compressors.xz
org.apache.commons.compress.compressors.z
org.apache.commons.compress.compressors.zstandard
org.apache.commons.compress.harmony
org.apache.commons.compress.harmony.archive.internal.nls
org.apache.commons.compress.harmony.pack200
org.apache.commons.compress.harmony.unpack200
org.apache.commons.compress.harmony.unpack200.bytecode
org.apache.commons.compress.harmony.unpack200.bytecode.forms
org.apache.commons.compress.java.util.jar
org.apache.commons.compress.parallel
org.apache.commons.compress.utils
org.apache.commons.digester
org.apache.commons.digester.annotations
org.apache.commons.digester.annotations.handlers
org.apache.commons.digester.annotations.internal
org.apache.commons.digester.annotations.providers
org.apache.commons.digester.annotations.reflect
org.apache.commons.digester.annotations.rules
org.apache.commons.digester.annotations.spi
org.apache.commons.digester.annotations.utils
org.apache.commons.digester.parser
org.apache.commons.digester.plugins
org.apache.commons.digester.plugins.strategies
org.apache.commons.digester.substitution
org.apache.commons.digester.xmlrules
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.lang.enum
org.apache.commons.lang.enums
org.apache.commons.lang.exception
org.apache.commons.lang.math
org.apache.commons.lang.mutable
org.apache.commons.lang.reflect
org.apache.commons.lang.text
org.apache.commons.lang.time
org.apache.commons.pool
org.apache.commons.pool.impl
org.apache.commons.pool2
org.apache.commons.pool2.impl
org.apache.commons.pool2.proxy
org.apache.commons.validator
org.apache.commons.validator.javascript
org.apache.commons.validator.resources
org.apache.commons.validator.routines
org.apache.commons.validator.routines.checkdigit
org.apache.commons.validator.util
org.apache.felix.webconsole
org.apache.http
org.apache.http.annotation
org.apache.http.auth
org.apache.http.auth.params
org.apache.http.client
org.apache.http.client.cache
org.apache.http.client.config
org.apache.http.client.entity
org.apache.http.client.methods
org.apache.http.client.params
org.apache.http.client.protocol
org.apache.http.client.utils
org.apache.http.concurrent
org.apache.http.config
org.apache.http.conn
org.apache.http.conn.params
org.apache.http.conn.routing
org.apache.http.conn.scheme
org.apache.http.conn.socket
org.apache.http.conn.ssl
org.apache.http.conn.util
org.apache.http.cookie
org.apache.http.cookie.params
org.apache.http.entity
org.apache.http.entity.mime
org.apache.http.entity.mime.content
org.apache.http.impl
org.apache.http.impl.auth
org.apache.http.impl.bootstrap
org.apache.http.impl.client
org.apache.http.impl.client.cache
org.apache.http.impl.client.cache.ehcache
org.apache.http.impl.client.cache.memcached
org.apache.http.impl.conn
org.apache.http.impl.conn.tsccm
org.apache.http.impl.cookie
org.apache.http.impl.entity
org.apache.http.impl.execchain
org.apache.http.impl.io
org.apache.http.impl.nio
org.apache.http.impl.nio.bootstrap
org.apache.http.impl.nio.client
org.apache.http.impl.nio.codecs
org.apache.http.impl.nio.conn
org.apache.http.impl.nio.pool
org.apache.http.impl.nio.reactor
org.apache.http.impl.nio.ssl
org.apache.http.impl.pool
org.apache.http.io
org.apache.http.message
org.apache.http.nio
org.apache.http.nio.client
org.apache.http.nio.client.methods
org.apache.http.nio.client.util
org.apache.http.nio.conn
org.apache.http.nio.conn.scheme
org.apache.http.nio.conn.ssl
org.apache.http.nio.entity
org.apache.http.nio.params
org.apache.http.nio.pool
org.apache.http.nio.protocol
org.apache.http.nio.reactor
org.apache.http.nio.reactor.ssl
org.apache.http.nio.util
org.apache.http.params
org.apache.http.pool
org.apache.http.protocol
org.apache.http.ssl
org.apache.http.util
org.apache.xml.serialize
org.apache.xmlcommons
org.codehaus.jackson
org.codehaus.jackson.annotate
org.codehaus.jackson.format
org.codehaus.jackson.impl
org.codehaus.jackson.io
org.codehaus.jackson.jaxrs
org.codehaus.jackson.map
org.codehaus.jackson.map.annotate
org.codehaus.jackson.map.deser
org.codehaus.jackson.map.deser.impl
org.codehaus.jackson.map.deser.std
org.codehaus.jackson.map.exc
org.codehaus.jackson.map.ext
org.codehaus.jackson.map.introspect
org.codehaus.jackson.map.jsontype
org.codehaus.jackson.map.jsontype.impl
org.codehaus.jackson.map.module
org.codehaus.jackson.map.ser
org.codehaus.jackson.map.ser.impl
org.codehaus.jackson.map.ser.std
org.codehaus.jackson.map.type
org.codehaus.jackson.map.util
org.codehaus.jackson.node
org.codehaus.jackson.schema
org.codehaus.jackson.sym
org.codehaus.jackson.type
org.codehaus.jackson.util
org.codehaus.jackson.xc
org.dom4j
org.dom4j.bean
org.dom4j.datatype
org.dom4j.dom
org.dom4j.dtd
org.dom4j.io
org.dom4j.jaxb
org.dom4j.rule
org.dom4j.rule.pattern
org.dom4j.swing
org.dom4j.tree
org.dom4j.util
org.dom4j.xpath
org.dom4j.xpp
org.eclipse.gemini.blueprint
org.eclipse.gemini.blueprint.blueprint.compendium.cm.config
org.eclipse.gemini.blueprint.blueprint.config
org.eclipse.gemini.blueprint.blueprint.container
org.eclipse.gemini.blueprint.blueprint.container.support
org.eclipse.gemini.blueprint.blueprint.reflect
org.eclipse.gemini.blueprint.bundle
org.eclipse.gemini.blueprint.compendium.cm
org.eclipse.gemini.blueprint.compendium.config
org.eclipse.gemini.blueprint.config
org.eclipse.gemini.blueprint.context
org.eclipse.gemini.blueprint.context.event
org.eclipse.gemini.blueprint.context.support
org.eclipse.gemini.blueprint.extender
org.eclipse.gemini.blueprint.extender.event
org.eclipse.gemini.blueprint.extender.support
org.eclipse.gemini.blueprint.extender.support.scanning
org.eclipse.gemini.blueprint.io
org.eclipse.gemini.blueprint.service
org.eclipse.gemini.blueprint.service.exporter
org.eclipse.gemini.blueprint.service.exporter.support
org.eclipse.gemini.blueprint.service.importer
org.eclipse.gemini.blueprint.service.importer.event
org.eclipse.gemini.blueprint.service.importer.support
org.eclipse.gemini.blueprint.util
org.hibernate.validator
org.hibernate.validator.cfg
org.hibernate.validator.cfg.context
org.hibernate.validator.cfg.defs
org.hibernate.validator.cfg.defs.br
org.hibernate.validator.cfg.defs.pl
org.hibernate.validator.constraints
org.hibernate.validator.constraints.br
org.hibernate.validator.constraints.pl
org.hibernate.validator.constraints.time
org.hibernate.validator.constraintvalidation
org.hibernate.validator.constraintvalidators
org.hibernate.validator.engine
org.hibernate.validator.group
org.hibernate.validator.internal
org.hibernate.validator.internal.cfg.context
org.hibernate.validator.internal.constraintvalidators
org.hibernate.validator.internal.constraintvalidators.bv
org.hibernate.validator.internal.constraintvalidators.bv.money
org.hibernate.validator.internal.constraintvalidators.bv.notempty
org.hibernate.validator.internal.constraintvalidators.bv.number
org.hibernate.validator.internal.constraintvalidators.bv.number.bound
org.hibernate.validator.internal.constraintvalidators.bv.number.bound.decimal
org.hibernate.validator.internal.constraintvalidators.bv.number.sign
org.hibernate.validator.internal.constraintvalidators.bv.size
org.hibernate.validator.internal.constraintvalidators.bv.time
org.hibernate.validator.internal.constraintvalidators.bv.time.future
org.hibernate.validator.internal.constraintvalidators.bv.time.futureorpresent
org.hibernate.validator.internal.constraintvalidators.bv.time.past
org.hibernate.validator.internal.constraintvalidators.bv.time.pastorpresent
org.hibernate.validator.internal.constraintvalidators.hv
org.hibernate.validator.internal.constraintvalidators.hv.br
org.hibernate.validator.internal.constraintvalidators.hv.pl
org.hibernate.validator.internal.constraintvalidators.hv.time
org.hibernate.validator.internal.engine
org.hibernate.validator.internal.engine.constraintdefinition
org.hibernate.validator.internal.engine.constraintvalidation
org.hibernate.validator.internal.engine.groups
org.hibernate.validator.internal.engine.messageinterpolation
org.hibernate.validator.internal.engine.messageinterpolation.el
org.hibernate.validator.internal.engine.messageinterpolation.parser
org.hibernate.validator.internal.engine.messageinterpolation.util
org.hibernate.validator.internal.engine.path
org.hibernate.validator.internal.engine.resolver
org.hibernate.validator.internal.engine.scripting
org.hibernate.validator.internal.engine.valueextraction
org.hibernate.validator.internal.metadata
org.hibernate.validator.internal.metadata.aggregated
org.hibernate.validator.internal.metadata.aggregated.rule
org.hibernate.validator.internal.metadata.core
org.hibernate.validator.internal.metadata.descriptor
org.hibernate.validator.internal.metadata.facets
org.hibernate.validator.internal.metadata.location
org.hibernate.validator.internal.metadata.provider
org.hibernate.validator.internal.metadata.raw
org.hibernate.validator.internal.util
org.hibernate.validator.internal.util.annotation
org.hibernate.validator.internal.util.classhierarchy
org.hibernate.validator.internal.util.logging
org.hibernate.validator.internal.util.logging.formatter
org.hibernate.validator.internal.util.privilegedactions
org.hibernate.validator.internal.util.stereotypes
org.hibernate.validator.internal.xml
org.hibernate.validator.internal.xml.config
org.hibernate.validator.internal.xml.mapping
org.hibernate.validator.messageinterpolation
org.hibernate.validator.metadata
org.hibernate.validator.parameternameprovider
org.hibernate.validator.path
org.hibernate.validator.resourceloading
org.hibernate.validator.spi.cfg
org.hibernate.validator.spi.group
org.hibernate.validator.spi.resourceloading
org.hibernate.validator.spi.scripting
org.jboss.logging
org.jdom
org.jdom.adapters
org.jdom.filter
org.jdom.input
org.jdom.output
org.jdom.transform
org.jdom.xpath
org.jdom2
org.jdom2.adapters
org.jdom2.filter
org.jdom2.input
org.jdom2.input.sax
org.jdom2.input.stax
org.jdom2.internal
org.jdom2.located
org.jdom2.output
org.jdom2.output.support
org.jdom2.transform
org.jdom2.util
org.jdom2.xpath
org.jdom2.xpath.jaxen
org.jdom2.xpath.util
org.joda.time
org.joda.time.base
org.joda.time.chrono
org.joda.time.convert
org.joda.time.field
org.joda.time.format
org.joda.time.tz
org.joda.time.tz.data
org.joda.time.tz.data.Africa
org.joda.time.tz.data.America
org.joda.time.tz.data.America.Argentina
org.joda.time.tz.data.America.Indiana
org.joda.time.tz.data.America.Kentucky
org.joda.time.tz.data.America.North_Dakota
org.joda.time.tz.data.Antarctica
org.joda.time.tz.data.Arctic
org.joda.time.tz.data.Asia
org.joda.time.tz.data.Atlantic
org.joda.time.tz.data.Australia
org.joda.time.tz.data.Etc
org.joda.time.tz.data.Europe
org.joda.time.tz.data.Indian
org.joda.time.tz.data.Pacific
org.omg.CORBA
org.omg.CORBA.DynAnyPackage
org.omg.CORBA.ORBPackage
org.omg.CORBA.TypeCodePackage
org.omg.CORBA.portable
org.omg.CORBA_2_3
org.omg.CORBA_2_3.portable
org.omg.CosNaming
org.omg.CosNaming.NamingContextExtPackage
org.omg.CosNaming.NamingContextPackage
org.omg.Dynamic
org.omg.DynamicAny
org.omg.DynamicAny.DynAnyFactoryPackage
org.omg.DynamicAny.DynAnyPackage
org.omg.IOP
org.omg.IOP.CodecFactoryPackage
org.omg.IOP.CodecPackage
org.omg.Messaging
org.omg.PortableInterceptor
org.omg.PortableInterceptor.ORBInitInfoPackage
org.omg.PortableServer
org.omg.PortableServer.CurrentPackage
org.omg.PortableServer.POAManagerPackage
org.omg.PortableServer.POAPackage
org.omg.PortableServer.ServantLocatorPackage
org.omg.PortableServer.portable
org.omg.SendingContext
org.omg.stub.java.rmi
org.omg.stub.javax.management.remote.rmi
org.osgi.dto
org.osgi.framework
org.osgi.framework.connect
org.osgi.framework.dto
org.osgi.framework.hooks.bundle
org.osgi.framework.hooks.resolver
org.osgi.framework.hooks.service
org.osgi.framework.hooks.weaving
org.osgi.framework.launch
org.osgi.framework.namespace
org.osgi.framework.startlevel
org.osgi.framework.startlevel.dto
org.osgi.framework.wiring
org.osgi.framework.wiring.dto
org.osgi.resource
org.osgi.resource.dto
org.osgi.service.blueprint
org.osgi.service.blueprint.container
org.osgi.service.blueprint.reflect
org.osgi.service.condition
org.osgi.service.obr
org.osgi.service.packageadmin
org.osgi.service.permissionadmin
org.osgi.service.resolver
org.osgi.service.startlevel
org.osgi.service.url
org.osgi.util
org.slf4j.bridge
org.slf4j.impl
org.springframework.osgi.context
2 Likes

Thank you for sending the list of packages @bplump . The package org.ietf.jgss is required by our plugin. The Confluence team has already agreed to not remove that export, and we sincerely hope that this will be consistent across all products adopting platform 7.

2 Likes

Thanks @bplump for the list.

I saw that net.java.ao.* is not provided anymore. Is that an oversight as it is needed for active objects?

It seems to be still exported by the com.atlassian.activeobjects.activeobjects-plugin and other Bitbucket plugins use it, but I am unable to import it.

If it’s intended, what is the alternative for plugins that use AO?

2 Likes

I appreciate that Platform 7 and RESTv2 is going to require a large amount of change. We’ve experienced this ourselves migrating several of our own internal apps. For what it’s worth, after migrating a couple apps, the migration starts to become automatic: bumping the same versions, changing the same code, fixing the same exceptions, etc. But I know it’s daunting to make these changes across several apps for several products. We’ve tried to make the necessary changes as clear as possible, but please let us know if our documentation needs more detail or clarity.

As you allude to, we were relying on the general platform announcements to communicate the most disruptive changes to Bitbucket 9. Nearly all the Bitbucket-specific API changes were communicated with deprecations over the 8.x release timeline.

There’s been a lot of discussion around the right timing for our EAP. Some partners gave feedback at TEAM 24 that “partial” EAPs weren’t terribly valuable. They wanted API-complete EAPs before starting work. If you think an earlier EAP with a partial set of changes would have helped, I’ll take that on board for the next Bitbucket major release.

We are actively monitoring this forum and are happy to help with specific problems adopting Platform 7 and/or RESTv2. I hope that will help accelerate the work.

1 Like

@christian.ott - The lack of AO classes is definitely an oversight. We’ll fix that and get a new EAP out soon.

4 Likes

@EliasBrattliSorensen - We weren’t aware org.ietf.jgss was provided by Java. We’ll restore this in our next EAP.

2 Likes

I think the issue is mostly with the fact that there is not much time between the EAP and intended GA. Regardless of how many EAPs you ship, if you want apps to be compatible at the same time of GA or within a reasonable timeframe (2 weeks after GA?), you will need to give us more time, especially if this falls near summer vacations (jun-aug, aka mid-2024)

4 Likes

We used the Rest models com.atlassian.bitbucket.rest.pull.RestPullRequest and siblings quite often.

They are now under com.atlassian.bitbucket.dmz.rest.v2 which I cannot seem to access.

Caused by: org.osgi.framework.BundleException: Unable to resolve ch.mibex.stash.rss4stash [135](R 135.0): missing requirement [ch.mibex.stash.rss4stash [135](R 135.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.bitbucket.dmz.rest.v2.comment) Unresolved requirements: [[ch.mibex.stash.rss4stash [135](R 135.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.bitbucket.dmz.rest.v2.comment)]

Is there a way to access them for normal plugins?

1 Like

Agree there is not enough time from EAP to GA
And this has only just been announced so not enough time to have forward planned to cope with such a short time.

4 Likes

I agree with what Remie said. I think it might be okay for a small app but for large apps, it takes a significantly long time to be compatible as there will be a need to revisit some of the features. We have to factor in things that might be missed, e.g., AO packages. We then have to wait for another EAP and sometimes work in complete darkness hoping the changes we make will work at the end when the final version is out.

For what it’s worth, after migrating a couple of apps, the migration starts to become automatic

Vendors may or may not have other apps in Jira and Confluence, Even for vendors that have apps in Jira and Confluence the teams working on it may be different, so it is not always as straightforward.
We appreciate the provided EAPs but would request that you consider pushing the GA date.

3 Likes

@christian.ott

A few of our own plugins have been impacted by the restrictions on the Rest objects, too. Clearly, we underestimated their usefulness. We’re looking into opening these back up again.

Thanks for the feedback.

2 Likes

We’ve released a new EAP, 9.0.0-eap04. The changelog for this EAP:

  • Added net.java.ao packages back to public API
  • Added org.ietf.jgss back to public API

This EAP does not include the Rest* classes. That will be coming in a future EAP.

I’ve updated the links/instructions in the main post to reflect the new EAP.

3 Likes

@NandishSolanki @GregBillington @remie @rlander

We’re on track to have Bitbucket 9.0 complete and ready to ship in late June - just under 4 weeks from now. But I see how that’s a tight deadline for partners that have to migrate several plugins across multiple products. Given the concerns raised here, we’ve decided to hold the release for an additional 4 weeks.

We commit to releasing Bitbucket 9.0 no earlier than 23 July - 8 weeks after the release of this first EAP.

I’m hoping that helps to alleviate some of your concerns about the release timeline.

8 Likes

Many Thanks, appreciate Atlassian listening to this