Bamboo 9.2 upgrade notes
We’ve collected some important notes on upgrading to Bamboo 9.2. For details on all the new features and improvements we’ve introduced in this release, see the Bamboo 9.2 release notes.
While long-term support (LTS) releases don’t introduce any breaking changes themselves, they do consolidate all of the changes we’ve made to Bamboo ever since the last LTS release became available. However, because Bamboo 9.2 is our first LTS release, we’ve selected Bamboo 8.0 (our first Data Center offering) as the starting point for listing the upgrade notes.
For your convenience, we’ve gathered all the important information you should know about before upgrading right here:
Changes to the home directory structure
As part of the cold stand-by capabilities of Bamboo Data Center, major changes were made to the home folder. As part of the upgrade, the home folder is split into two parts: one containing data that will be exclusive for each instance, and another folder that contains the files that will be shared among every node. Applying this change is required for using multiple nodes with Bamboo Data Center, but other types of Bamboo installations are also affected, including Server and single-node Data Center setups.
Before you upgrade, we recommend that you learn more about the changes to the home directory structure at Bamboo home migration.
Changes to the commons-io API
The Commons IO library was upgraded from 2.6 to 2.8.0. It causes different behavior of the
FileUtils.cleanDirectory method on Windows. The previous version was able to remove read-only folders, but commons-io 2.8.0 has a bug, which prevents the removal of a folder if it contains a directory with the read-only flag. App vendors should use
com.atlassian.bamboo.utils.BambooPathUtils#cleanDirectory for directory cleanup.
Lucene API removal
The Lucene API was deprecated in Bamboo 7.2 and removed in 8.0. App vendors should use other places for data storage like Bandana or Active Objects.
Removed support for CVS and Mercurial
In Bamboo 8.0, we've removed support for CVS (deprecated in Bamboo 7.1) and Mercurial (deprecated in Bamboo 7.2). See Supported platforms for more details.
Remote agent wrapper support for Java 11
As part of the support for Java 11, you can upgrade Java used by remote agents from version 8 to 11. See the Bamboo Remote Agent installation guide for detailed instructions.
Connecting to MySQL databases
When connecting Bamboo to a MySQL database, make sure to use the correct version of MySQL Connector/J:
- For MySQL 5.7 use version 5.1.49. Using a different version requires additional configuration options:
- versions 5.1.48 and older require configuring TLS (by setting the connection string flag, for instance: enabledTLSProtocols=TLSv1.2,TLSv1.1,TLSv1.0) due to deprecation of TLS 1.0 and 1.1
- version 8.0.26 requires setting the nullCatalogMeansCurrent flag to true in the DB connection string
- For MySQL 8, version 8.0.26 or later is recommended.
Code coverage plan settings are more strict
If plan configuration has Code coverage settings enabled, the build will fail if the file with coverage data is not found on build completion.
Deprecation of the server-local artifact handler
The server-local artifact handler has been deprecated in Bamboo 8.1. Support for this artifact handler will be removed in the next Bamboo release.
Lucene index removal
Bamboo no longer indexes data using the Lucene library. The API related to the Lucene index, which was deprecated since version 7.2, has also been removed. Make sure to verify the compatibility of third-party apps with Bamboo 8.2.
Remote agents wrapper support for Apple silicon
Bamboo 8.2 comes with an upgraded Tanuki wrapper providing support for Apple silicon. Remote Agents may require reinstalling the wrapper. For more details, see the Bamboo remote agent installation guide.
Removal of build warning parsers
In this release, we've upgraded the build warning parser library to a newer version that removes Clang-Tidy and RT Tests Parser from the Build warnings parser task.
Changes to custom Elastic Bamboo region configuration
If you use Elastic Bamboo with a custom AWS Region and have modified the
Ec2ClientFactoryImpl bean configuration in
applicationContextAgentServer.xml, update the configuration and add a signing endpoint to it.
<BAMBOO_INSTALL_DIR>/atlassian-bamboo/components/bamboo-web-app/src/main/resources/applicationContextAgentServer.xml file by adding the signing region alongside the custom endpoint to the
Ec2ClientFactoryImpl bean configuration:
<bean id="awsAccountBean" class="com.atlassian.bamboo.agent.elastic.aws.AwsAccountBeanImpl" plugin:available="true"> <constructor-arg ref="elasticAccountBean"/> <constructor-arg> <bean class="com.atlassian.aws.AWSManagerImpl"> <constructor-arg> <bean class="com.atlassian.aws.Ec2ClientFactoryImpl"> <constructor-arg value="<custom endpoint url>"/> <constructor-arg value="<custom signing region>"/> </bean> </constructor-arg> <constructor-arg ref="elasticScheduledExecutorService"/> </bean> </constructor-arg> ... </bean>
Reusing Elastic Bamboo credentials in the S3 artifact handler configuration
The S3 artifact handler currently doesn't support instance profile credentials. If you configure Elastic Bamboo to use an IAM instance profile, update the artifact handler configuration and provide a separate AWS access key for it.
New Stock Elastic Images
The Stock Elastic Images bundled with Bamboo 8.2 come with a number of breaking changes:
- Only images based on Ubuntu 20.04 LTS and Windows Server 2019 64-bit are provided. The Amazon Linux-based AMI is no longer available.
- Stock AMIs now use HVM virtualization only. Images using PV virtualization are no longer available.
- All images are now EBS-backed. Instance store-backed images are no longer available.
Additionally, all images have a limited set of capabilities. See the following sections for more information.
Ubuntu AMI capabilities
The ‘ec2-user’ account is no longer created on the Ubuntu AMI. If you need to access an EC2 instance started from the image, use the ‘ubuntu’ user account instead.
Windows AMI capabilities
If you want to try the new AMIs before upgrading, see the following list:
image.US_EAST_1.EBS.x86_64.linux.HVM.Ubuntu=ami-07272e09cff3e0113 image.ASIA_PACIFIC_NE_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0c23d43955cf2f073 image.AP_NE_2.EBS.x86_64.linux.HVM.Ubuntu=ami-0fcfe40554edc55a2 image.AP_S_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0e645edf0f8b3ab46 image.ASIA_PACIFIC_SE_1.EBS.x86_64.linux.HVM.Ubuntu=ami-068048204d0186b06 image.ASIA_PACIFIC_SE_2.EBS.x86_64.linux.HVM.Ubuntu=ami-0323877238e2add03 image.CA_CENTRAL_1.EBS.x86_64.linux.HVM.Ubuntu=ami-01bfe0d24cd013e3e image.EU_CENTRAL_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0686bae55e614801f image.EU_WEST_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0fec35eedef504db5 image.EU_WEST_2.EBS.x86_64.linux.HVM.Ubuntu=ami-09e046949edd3a7fc image.EU_WEST_3.EBS.x86_64.linux.HVM.Ubuntu=ami-07817a11b970d2776 image.SOUTH_AMERICA_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0f75e9c95801c531a image.US_EAST_2.EBS.x86_64.linux.HVM.Ubuntu=ami-0124fdc3629ba4f71 image.US_WEST_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0a2a74ba81451c3f9 image.US_WEST_2.EBS.x86_64.linux.HVM.Ubuntu=ami-07adb1b7ce699f577 image.US_EAST_1.EBS.x86_64.windows.HVM.Windows=ami-0419a12ab0085397b image.ASIA_PACIFIC_NE_1.EBS.x86_64.windows.HVM.Windows=ami-02c26d0ba102f002b image.AP_NE_2.EBS.x86_64.windows.HVM.Windows=ami-08812173816a7b088 image.AP_S_1.EBS.x86_64.windows.HVM.Windows=ami-01cd060de240f8ab0 image.ASIA_PACIFIC_SE_1.EBS.x86_64.windows.HVM.Windows=ami-042a9ebce3ab3e42e image.ASIA_PACIFIC_SE_2.EBS.x86_64.windows.HVM.Windows=ami-0ab3874abac07b0fc image.CA_CENTRAL_1.EBS.x86_64.windows.HVM.Windows=ami-073e82525fa632d48 image.EU_CENTRAL_1.EBS.x86_64.windows.HVM.Windows=ami-019d4f5c593fda3ed image.EU_WEST_1.EBS.x86_64.windows.HVM.Windows=ami-08304fbdfa5ad0250 image.EU_WEST_2.EBS.x86_64.windows.HVM.Windows=ami-09047d0dceccd11e6 image.EU_WEST_3.EBS.x86_64.windows.HVM.Windows=ami-075f70174eacc9c22 image.SOUTH_AMERICA_1.EBS.x86_64.windows.HVM.Windows=ami-0272319321a35e64e image.US_EAST_2.EBS.x86_64.windows.HVM.Windows=ami-03ec1ff01a06b892b image.US_WEST_1.EBS.x86_64.windows.HVM.Windows=ami-01e6ce425afac8574 image.US_WEST_2.EBS.x86_64.windows.HVM.Windows=ami-099d14d1caf21b681
If you rely on capabilities that are not present in the new AMIs, you can keep using the old ones. However, because old AMIs won’t receive any security updates, we recommend migrating as soon as possible.
In addition, Stock Elastic Images are no longer guaranteed to be backwards compatible. All breaking changes will still be documented in the version-specific upgrade notes, but you shouldn't rely on installed capabilities or image configuration as they can change with each version. We recommend building your own Elastic Image instead.
Previous Stock Elastic Images
image.SOUTH_AMERICA_1.EBS.x86_64.linux.HVM.Ubuntu=ami-00bab8ad610da4553 image.EU_CENTRAL_1.EBS.x86_64.windows.HVM.Windows=ami-01b73865630e3deba image.EU_WEST_3.EBS.x86_64.linux.HVM.Ubuntu=ami-028689636c1f3a3cd image.SOUTH_AMERICA_1.EBS.x86_64.linux.PV.Ubuntu=ami-06782ef03a5dca332 image.US_WEST_1.EBS.x86_64.linux.PV.Ubuntu=ami-01b9aa8cbbf3c72d0 image.SOUTH_AMERICA_1.EBS.x86_64.windows.HVM.Windows=ami-06f2edb4be01f7b3b image.US_EAST_1.EBS.x86_64.linux.PV.Ubuntu=ami-0e975b039b9a03733 image.US_EAST_1.S3.x86_64.linux.PV.Amazon\ Linux=ami-052968d3b353588da image.EU_WEST_3.EBS.x86_64.windows.HVM.Windows=ami-07d02d4c7e16f7469 image.ASIA_PACIFIC_SE_2.EBS.x86_64.linux.HVM.Ubuntu=ami-070712671b8efbc13 image.ASIA_PACIFIC_NE_1.EBS.x86_64.linux.PV.Ubuntu=ami-0ab64817dcbea766e image.AP_NE_2.EBS.x86_64.windows.HVM.Windows=ami-0618b71bac827fb75 image.US_EAST_2.EBS.x86_64.windows.HVM.Windows=ami-020d8fb1648e3c7a5 image.US_EAST_1.EBS.x86_64.linux.HVM.Ubuntu=ami-051b79bf05cbe7288 image.US_WEST_2.EBS.x86_64.windows.HVM.Windows=ami-0d74da69232892fe2 image.AP_S_1.EBS.x86_64.windows.HVM.Windows=ami-0e24b0815f64c39b6 image.AP_S_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0bbd55ae98972e42b image.EU_WEST_2.EBS.x86_64.linux.HVM.Ubuntu=ami-0a5a9fbb673c800f2 image.EU_WEST_2.EBS.x86_64.windows.HVM.Windows=ami-0d6fff1df11f819ab image.US_WEST_2.EBS.x86_64.linux.PV.Ubuntu=ami-0506a992231fef72e image.US_EAST_1.EBS.x86_64.windows.HVM.Windows=ami-006187e1d05ab1fc3 image.US_WEST_1.EBS.x86_64.windows.HVM.Windows=ami-0c9831a604359f14e image.ASIA_PACIFIC_SE_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0139d72b1df4fc9de image.CA_CENTRAL_1.EBS.x86_64.windows.HVM.Windows=ami-0e0e000555f2e0ef6 image.US_WEST_2.EBS.x86_64.linux.HVM.Ubuntu=ami-0939b6b8733030be1 image.EU_WEST_1.EBS.x86_64.windows.HVM.Windows=ami-0f4561c3e24e3cd6c image.ASIA_PACIFIC_SE_1.EBS.x86_64.linux.PV.Ubuntu=ami-0a576f2ed2044873c image.ASIA_PACIFIC_NE_1.EBS.x86_64.linux.HVM.Ubuntu=ami-002b4da51b1634de5 image.ASIA_PACIFIC_SE_2.EBS.x86_64.windows.HVM.Windows=ami-0b342a2ba79532fb6 image.AP_NE_2.EBS.x86_64.linux.HVM.Ubuntu=ami-04852c15c66501306 image.EU_WEST_1.EBS.x86_64.linux.HVM.Ubuntu=ami-00f1b5d5dc4f1f557 image.US_EAST_1.EBS.x86_64.linux.PV.Amazon\ Linux=ami-0207018e91a500945 image.EU_CENTRAL_1.EBS.x86_64.linux.HVM.Ubuntu=ami-04f60e45619e90542 image.ASIA_PACIFIC_NE_1.EBS.x86_64.windows.HVM.Windows=ami-0c63a7a102bbbd34b image.CA_CENTRAL_1.EBS.x86_64.linux.HVM.Ubuntu=ami-0ddafd7ea4808e5f8 image.US_WEST_1.EBS.x86_64.linux.HVM.Ubuntu=ami-081e1e23d6d42d359 image.ASIA_PACIFIC_SE_1.EBS.x86_64.windows.HVM.Windows=ami-064a59d05cc453c50 image.US_EAST_2.EBS.x86_64.linux.HVM.Ubuntu=ami-0867cb35edc82cfae image.EU_CENTRAL_1.EBS.x86_64.linux.PV.Ubuntu=ami-0b7da87b1cd844938 image.ASIA_PACIFIC_SE_2.EBS.x86_64.linux.PV.Ubuntu=ami-09d54d5ab600b9bf3 image.EU_WEST_1.EBS.x86_64.linux.PV.Ubuntu=ami-05d2975fd3db2e87d
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.
Learn more about using webhooks.
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 188.8.131.52
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:
AUI no longer bundles jQuery interface dependencies, so your app should import them explicitly. For more information, see the AUI 8 upgrade guides and the AUI 9 upgrade guides.
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).
埋め込みの Crowd のアップグレード
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.
Bamboo now supports Bitbucket Data Center and Server 7.5 or newer only
In this release, 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.1.
Support for Large File Storage (LFS) files in Bamboo Specs is deprecated
In Bamboo 9.1, we’ve deprecated support for LFS files in Bamboo Specs and we’ll remove support for them entirely in Bamboo 9.3. As a result, Bamboo will process Specs much faster in source code repositories with the LFS extension enabled, even if you didn’t use LFS in your Specs before.
We’ve made a few changes to what platforms we support since Bamboo 8.0. If you’re upgrading from Bamboo 8.x or a previous 9.x release, check out the list of added, deprecated, and removed support for various platforms in the Bamboo 9.2 LTS change log .
Additionally, you may want to take a look at the following related pages:
For information about what the latest stable release of Bamboo supports, see Supported platforms.
For the complete list of end-of-support announcements, see End-of-support announcements for Bamboo.
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.