Bamboo 9.0 upgrade notes
We’ve collected some important notes on upgrading to Bamboo 9.0. For details on all the new features and improvements we’ve introduced in this release, see the Bamboo 9.0 release notes.
Here’s some important information you should know about before upgrading.
Bamboo 9.0.1 and up
Bamboo now supports Bitbucket Data Center and Server 7.5 or newer only
In release 9.0.1, we fixed a bug where restarting Bamboo while a build triggered from Bitbucket Data Center or Server was still running resulted in the build status in Bitbucket getting stuck in In progress indefinitely. However, the fix increases the minimum release of Bitbucket Data Center and Server supported by Bamboo.
From now on, Bamboo can integrate with Bitbucket Data Center and Server 7.5 or newer only. If you’re running an older release of Bitbucket Data Center or Server, consider upgrading your Bitbucket instance before upgrading to Bamboo 9.0.1.
Bamboo 9.0.0 and up
Changes to notification webhook payload processing
Notification webhooks no longer support a payload for the GET and DELETE methods. Any payload content will now be discarded silently (that is, without an error message). The POST and PUT methods still work the same as before.
Enterprise Data Center Platform upgrade
Atlassian Platform is a set of components upon which we build our products. In Bamboo 9.0, we’re bumping up the Atlassian Platform to version 6 to benefit from the most up-to-date libraries and even better security.
Here’s a list of the most significant changes that you should be aware of to verify the compatibility of the apps you’ve built before upgrading Bamboo:
We built Bamboo 9.0 on top of Atlassian Platform 6.0, which introduces several significant changes that you should be aware of to verify the compatibility of the apps you’ve built before upgrading Bamboo.
Upgraded third-party libraries
We’ve upgraded the following third-party libraries for compatibility with Atlassian Platform 6.0:
jdom was upgraded to 126.96.36.199
guava was upgraded to 31.0.1-jre
json was upgraded to 20220320
rome was upgraded to 1.18.0
Upgraded platform components
We’ve upgraded the following components for compatibility with Atlassian Platform 6.0:
parent-poms was upgraded to 6.0.6
application-links was upgraded to 9.0.5
amps was upgraded to 8.4.2
atlassian-activeobjects was upgraded to 4.0.4
atlassian-annotations was upgraded to 4.0.0
atlassian-cache was upgraded to 6.0.1
atlassian-core was upgraded to 8.0.0
atlassian-event was upgraded to 5.0.1
atlassian-failure-cache was upgraded to 3.0.0
atlassian-gadgets was upgraded to 8.0.4
atlassian-healthcheck 1 was upgraded to 7.0.0
atlassian-httpclient was upgraded to 3.0.0
atlassian-oauth was upgraded to 5.0.2
atlassian-plugins was upgraded to 7.0.4
atlassian-plugins-webfragment was upgraded to 6.0.0
atlassian-plugins-webresource was upgraded to 6.0.3
atlassian-pretty-urls was upgraded to 4.0.1
atlassian-rest was upgraded to 7.0.1
atlassian-sal was upgraded to 5.0.0
atlassian-scheduler was upgraded to 4.0.0
atlassian-soy-templates was upgraded to 6.0.4
atlassian-spring-scanner was upgraded to 3.0.1
atlassian-template-renderer was upgraded to 5.0.2
atlassian-trusted-apps was upgraded to 6.0.0
atlassian-vcache was upgraded to 2.0.0
beehive was upgraded to 5.0.0
caesium was upgraded to 3.1.2
io.atlassian.fugue was upgraded to 5.0.0
upm-server was upgraded to 6.0.4
Bamboo migrates to Log4j2
We’ve migrated Bamboo to Log4j 2. This introduces changes to the configuration files that are described in the official documentation.
If you’re using a custom Log4j 1.x configuration with your Bamboo instance, you’ll need to manually migrate it to the Log4j 2.x configuration file format. See Migrating custom logging configurations to Log4j 2.
Atlassian User Interface (AUI) upgrade
Bamboo 9.0 updates AUI from 7.10 to 9.4. If your app uses any AUI resources or depends on libraries previously provided by AUI, here’s what you should know:
Underscore is updated to 1.13.1. See the changelog.
Backbone is updated to 1.4.0. See the changelog.
jQuery is updated to 2.2.4
Because of the AUI upgrade, you might encounter some problems with your apps. See the following sections for more information on the most common issues and ways to fix them:
Issues with dependencies
Multiple web resources have been removed from the AUI library and are no longer shipped. Additionally, some web-resource key names were changed. See the Web-resource changes section in the AUI upgrade guide for a complete list of changes in the AUI web resources.
If you encounter errors like the following one, you may need to update your app’s dependencies:
Uncaught TypeError: (...) is not a function
If you still encounter such errors after updating your dependencies, then consider checking the order of resources in the
<web-resource> section in your
atlassian-plugin.xml file. Importing dependencies in the wrong order might also cause such errors.
jQuery UI is no longer bundled in AUI
jQuery UI's interface components are no longer bundled with AUI. If your app depends on them, you need to either use the equivalent AUI component or import the specific jQuery UI components yourself.
If you decide to ship jQuery UI yourself, make sure that the library is shipped as an AMD module. Otherwise, your library might conflict with internal Bamboo dependencies.
Issues related to Backbone.js
Backbone.js has been upgraded from version 1.0.0. to version 1.4.0. For more information, see the changelog. If your app relies on the version of Backbone.js shipped with Bamboo, you might encounter issues caused by changes in the library, such as:
- Backbone no longer automatically attaches
optionspassed to the constructor as
- Backbone Models no longer attach
- The order of initialization and registering events has changed. In particular, this means that you can no longer set collections in the
initializemethod and should either use the
preinitializemethod to set them or pass them directly in a constructor.
Changes to AUI
.hidden class behavior
In accordance to the AUI documentation, the
.hidden class shouldn’t be mixed with jQuery
hide() methods. From now, mixing the
.hidden class with those methods won't work anymore. Instead, you can do one of the following things:
- toggle the
.hiddenclass to show or hide the element
- use the jQuery
hide()method to hide the element and then use the
show()method to reveal it
Accessing AUI elements in Webdriver tests
Multiple HTML elements, like checkboxes or form fields, now require special handling in Webdriver tests. Use the
com.atlassian.aui:aui-pageobjects dependency and classes from it to interact with the AUI elements inside Webdriver tests. For example:
import com.atlassian.aui.auipageobjects.AuiCheckbox; ... @ElementBy(id = "createUser_enabled") private AuiCheckbox userActive;
Use of `window.Backbone` through AUI is deprecated and will be removed in AUI 10.0.0
DEPRECATED JS - AJS.template has been deprecated since 8.0.0 and will be removed in 10.0.0. We recommend use of other open-source templating engines, such as "lit-html" or "react". If you cannot do without this templating function, it is available as its own Node package: "@atlassian/aui-template".
DEPRECATED JS - Inline dialog constructor has been deprecated and will be removed in a future release. Use inline dialog 2 instead.
Those warnings come from Bamboo and can be safely ignored.
Artifacts now support multiple copy patterns and exclusion patterns
Bamboo 9.0 supports adding multiple copy and exclusion patterns to artifact definitions.
This is a breaking change. If your apps use artifacts, make sure to adapt them accordingly (especially those that use the data provided by the Artifact downloader task).
Embedded Crowd upgrade
Bamboo 9.0 ships with Embedded Crowd 5.0. To find out what’s new in this Crowd release, head over to the Crowd 5.0 release notes.
We’ve upgraded Apache Tomcat to version 9.0.64. See the changelog.
Changes to supported platforms
See what changes are in store for the supported platforms in Bamboo. For more information about what the latest stable release of Bamboo supports, see Supported platforms.
In this release, we’re deprecating PostgreSQL 10. Because that version of PostgreSQL is going to reach end-of-life in November 2022, we’re planning to remove support for it in a future release of Bamboo.
New supported platforms
This release of Bamboo doesn't add support for any new software platforms.
How to upgrade Bamboo
See the Bamboo upgrade guide for a complete walk-through of the upgrade process that includes descriptions of all the available upgrade paths, prerequisites, and methods.