Just a quick post to alert you all to a new major release of Bitbucket Server.
API Changelog for Bitbucket Server 6.0.0
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 the Bitbucket managed 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 the changelog entry for 5.10.
Removal of Notifications SPI
All public SPI available in the package com.atlassian.bitbucket.notification
has been removed without replacement.
Removal of Search API
The packages com.atlassian.bitbucket.search
and com.atlassian.elasticsearch.client
were previously exported and available for plugins to use. These however were just implementation classes and not part of a useful search API. These packages are no longer exported as of 6.0.
Removal of Dev status API The packages com.atlassian.devstatus
and com.atlassian.devstatus.vcs
were previously exported and available for plugins to use. These however were just implementation classes and not part of useful API. These packages are no longer exported as of 6.0.
Removed API details
The following classes and interfaces have been removed in Bitbucket Server 6.0. Please see the linked Javadoc for Bitbucket Server 5.16 for informing regarding deprecation and possible alternative classes and interfaces.
-
AbstractEffectivePermissionVisitor
-
AsyncPostReceiveRepositoryHook
-
BranchChangeRequestedEvent
-
BranchCreationRequestedEvent
-
BranchDeletionRequestedEvent
-
EffectiveGlobalPermission
-
EffectivePermission
-
EffectivePermissionVisitor
-
EffectivePermissionsChangedEvent
-
EffectivePermissionsProvider
-
EffectiveProjectPermission
-
EffectiveRepositoryPermission
-
FileEditRequestedEvent
-
IllegalUserStateException
-
MergeRequestCheck
-
PostReceiveHook
-
PreReceiveHook
-
PreReceiveRepositoryHook
-
PullRequestCommitCommentAddedEvent
-
RefChangeRequestedEvent
-
RepositoryHookImplementor
-
RepositoryMergeRequestCheck
-
RepositorySettingsValidator
-
RestEffectiveGlobalPermission
-
RestEffectivePermission
-
RestEffectiveProjectPermission
-
RestEffectiveRepositoryPermission
-
RestPullRequestMergeVeto
-
SimpleEffectiveGlobalPermission
-
SimpleEffectivePermissionBase
-
SimpleEffectiveProjectPermission
-
SimpleEffectiveRepositoryPermission
-
SimpleEffectiveResourcePermissionBase
-
TagChangeRequestedEvent
-
TagCreationRequestedEvent
-
TagDeletionRequestedEvent
-
WebHookEventId
In addition, deprecated methods in existing classes and interfaces across the whole Bitbucket Server API have been removed.
Consult the Bitbucket Server 5.16 Java API Reference for details on the removed methods, and their alternatives in Bitbucket Server 6.x.
Removal of provided Scala runtime
Previously plugins written in Scala were able to depend on Bitbucket Server to provide the Scala runtime library (org.scala-lang:scala-library) as as such did not need to bundle it in the plugin. As of Bitbucket Server 6.0 this dependency is no longer provided/exported.
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 a future major version update.
The temporary exceptions are:
- :avatar-picker-dialog
- :branch-multi-selector
- :client-storage
- :commits-table
- :dom-event-util
- :events
- :global
- :global-repository-selector
- :group-multi-selector
- :pull-request-can-merge
- :pull-request-list-table
- :require-lite
- :revision-reference-selector
- :searchable-multi-selector
- :server-soy-templates
- :time
- :user-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 APIis 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 removed a future major version update.
The temporary exceptions are:
- bitbucket/internal/bbui/pull-request-list-table/components/summary
- bitbucket/internal/bbui/pull-request-list-table/pull-request-list-table
- bitbucket/internal/feature/alerts/alerts
- 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/client-storage
- 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 blocked
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 blocked
As a result of the changes to internal JS events and other changes, the TextView API (which was only accessibly via an internal event) will no longer be accessible. The TextView API could be used 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 addLineClass
, addLineWidget
, 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.
Bitbucket Server 6.0.0 Released
See Bitbucket Server 6.0.0 Release notes for more information on this major release.
Released February 11, 2019