Bitbucket Server 6.0 Early Access Program (EAP) release

Reading Time: 3 minutes

3.21” parameter can be omitted. The atlas-version command can be used to determine the installed version.

We need your feedback!

If you have any questions or feedback about this preview of Bitbucket Server 6.0, ask them in theBitbucket Server category in the Atlassian Developer Community forums, and our friendly team of developers will respond to them.

Bitbucket Server 6.0 EAP Release Notes

Bitbucket Server 6.0 EAP contains several changes that may affect existing add-ons. The changes are summarised below.

Deprecated Java APIs removed

Interfaces, classes, and methods in the Bitbucket Server Java API that were previously marked as deprecated have been removed.

Plugins that use any of these interfaces (which would have generated deprecation warnings when built against Bitbucket Server 5.x) generally won’t build with Bitbucket Server 6.x

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

Removal of the legacy Repository Hooks API

Bitbucket Server 5.0 introduced a new Repository Hooks and Merge Checks API. In 6.0 the legacy API has been removed. For an overview of the new API please see the Repository Hooks and Merge Checks Guide.

Removal of direct access to repositories on disk

In Bitbucket Server 5.10 direct access to our repositories on disk for plugins was deprecated. In 6.0 the deprecated API that permitted this has been removed. For further information please refer to theBitbucket Server API Changelog entry for 5.10.

Removal of other deprecated API

Please refer to the Bitbucket Server 5.16 Javadoc for finding replacements for other deprecated/removed API:

Removal of provided Scala runtime

Plugins written in Scala were able to depend on Bitbucket Server (in versions older than 6.0) to provide the Scala runtime library (org.scala-lang:scala-library) as such did not need to bundle it in the plugin. As of Bitbucket Server 6.0 Bitbucket Server does not provide/export this dependency.

Java 11 support

Bitbucket Server 6.0 adds support for running on a Java 11 JRE, in addition to retaining support for Java 8. Plugins should be built with a target version of Java 8 which implies a language level of Java 8 also. Plugins must be tested on both Java 8 and 11.

Note: Java 11.0.2 is unsupported due to Java bug JDK-8217364.

AUI 8 upgrade

Bitbucket Server 6.0 upgrades Atlassian User Interface (AUI) from 7.x to 8.0 For more information on upgrading to AUI 8 see the AUI 8 upgrade guide.

Internal Web Resources blocked

Though they were never API, some plugins have depended on web-resources in the plugin com.atlassian.bitbucket.server.bitbucket-web. In 6.0, most of the dependencies will stop working. Please use an equivalent public API, if available. Some exceptions were made for heavily used resources, but these will eventually be replaced with supportable implementations of API and will also be removed in the future.

The temporary exceptions are:

  • :server-soy-templates
  • :global
  • :require-lite
  • :revision-reference-selector
  • :pull-request-can-merge
  • :events
  • :dom-event-util
  • :user-multi-selector
  • :group-multi-selector
  • :time
  • :global-repository-selector
  • :avatar-picker-dialog
  • :branch-multi-selector
  • :searchable-multi-selector

Internal JS/AMD modules blocked

Similar to the above, some internal AMD modules were depended on by plugins. In 6.0, third-party plugins that depend on modules starting with bitbucket/internal/ will stop working. Where an equivalent public API is available, use that. Otherwise, consider implementing your own version of the functionality. Some exceptions were made for heavily used modules, but these will eventually be replaced with supportable implementations of API and will also be removed in the future.

The temporary exceptions are:

  • bitbucket/internal/feature/pull-request/can-merge/can-merge
  • bitbucket/internal/feature/repository/branch-multi-selector/branch-multi-selector
  • bitbucket/internal/feature/repository/global-repository-selector/global-repository-selector
  • bitbucket/internal/feature/repository/revision-reference-selector/revision-reference-selector
  • bitbucket/internal/feature/user/group-multi-selector/group-multi-selector
  • bitbucket/internal/feature/user/user-multi-selector/user-multi-selector
  • bitbucket/internal/util/dom-event
  • bitbucket/internal/util/events
  • bitbucket/internal/util/time
  • bitbucket/internal/widget/avatar-picker-dialog/avatar-picker-dialog
  • bitbucket/internal/widget/searchable-multi-selector/searchable-multi-selector

Internal JS events not supported

Events (consumed using bitbucket/util/events) starting with bitbucket.internal have never been official API but will no longer be able to be subscribed to and should not be considered stable or part of any official API.

TextView API no longer supported

As a result of the changes to internal JS events and other changes, the TextView API (which was only accessible via an internal event) will no longer be accessible or supported. The TextView API was for modifying the source or diff view. Where possible it is suggested to use Code Insights to display extra information on a diff. Key methods of the TextView API were addLineClassaddLineWidget, and registerGutter/setGutterMarker.

Custom file-handlers no longer supported for diff views

Custom file-handlers are no longer supported for diff views (but continue to be supported for source views). Any custom file-handlers registered for diff-views will be ignored when resolving the appropriate handler.

Removed support for previously supported platforms

  • Support for the following database versions has been removed:
    • Postgres 9.2
    • Postgres 9.3
  • Support for running Bitbucket Server with (server side) Git versions older than 2.11 has been removed.
  • Support for ElasticSearch 2.x has been removed

These changes should not impact the development or running of third-party plugins.

Java platform update

Bitbucket, along with most Atlassian Server and Data Centre products, provide a standard set of libraries and plugins for which API is stable for a given major release. These are known as the platform. In Bitbucket Server 6.0 these have been updated, with many including major version updates.

3rd Party

ModuleVersion
Spring Framework5.1.3.RELEASE
BND3.5.0
Apache Felix5.6.10
Guava26.0-jre
com.google.code.findbugs:jsr3053.0.2
SLF4J1.7.25
javax.activation1.2.0
javax.annotation1.3.2
javax.servlet-api3.1.0
javax.ws.rs-api2.0.1
javax.validation:validation-api2.0.1.Final
commons-lang3.8.1
commons-fileupload1.3.3
commons-io2.6
Apache HttpClient4.5.5
Apache HttpCore4.4.10

Atlassian Modules

ModuleVersion
atlassian-plugins5.0.0
atlassian-event4.0.0
activeobjects3.0.0
activeobjects-plugin3.0.0
atlassian-rest6.0.0
atlassian-refapp5.0.0
atlassian-scheduler3.0.0
atlassian-oauth4.0.1
atlassian-trusted-apps5.0.0
atlassian-sal4.0.0
atlassian-cache4.0.0
atlassian-soy-templates5.0.0
atlassian-nav-links5.0.0
atlassian-template-renderer4.0.0
quickreload3.0.0
atlassian-plugins-webfragment5.0.0
atlassian-plugins-webresource4.0.0
atlassian-plugins-jquery2.2.4.6
beehive2.0.0
velocity-htmlsafe3.0.0
application-links6.0.1
less-transformer-plugin4.0.0
atlassian-util-concurrent (see note below)4.0.1
fugue (see note below)4.7.2
atlassian-httpclient2.0.0
atlassian-http2.0.2
atlassian-webhooks-plugin6.0.0
atlassian-failure-cache2.0.0
atlassian-annotations2.1.0
atlassian-pretty-urls3.0.0
atlassian-healthcheck6.0.0
atlassian-instrumentation3.0.0
atlassian-spring-scanne2.1.7
atlassian-marshalling-api1.0.0

atlassian-concurrent-util: Note the package name has also changed fromcom.atlassian.util.concurrent to io.atlassian.util.concurrent. In order to ensure a smooth transition, the old package is still exported and will continue to be until Bitbucket Server 7.0 is released.

fugue: Note the package name has also changed from com.atlassian.fugue toio.atlassian.fugue. In order to ensure a smooth transition the old package is still exported and will continue to be until Bitbucket Server 7.0 is released.