Version-specific upgrade notes
The version-specific notes provide additional information to the main upgrade documentation. We recommend reading the version-specific notes for the original and new Bamboo instance versions.
GitHub depreciates username/password authentication for REST API
GitHub has announced the deprecation of the username/password authentication method when authenticating with the REST API. The support for this authentication method will stop completely on November 13th, 2020.
To accommodate for this change, Bamboo will use personal access tokens (PATs) generated in GitHub as a means of authentication for GitHub linked repositories.
Lucene API deprecation
As part of preparation for Bamboo DC Lucene API is deprecated for app vendors. It will be removed at Bamboo 8.0 without replacement. Apps should use ActiveObjects or Bandana API to keep information previously kept at Lucene indexes.
Database connection pool changes
HikariCP replaces C3p0 as database connection pool implementation. If any tweaks to connection pool configuration are required, refer to HikariCP's official documentation.
Synchronizing remote agent capabilities
The Bamboo team is happy to address a long awaiting issue of synchronizing remote agent capabilities. Starting from version 7.1 modifying a remote agent capability in the
bamboo-capabilities.properties will also modify that capability in Bamboo. Capabilities synchronization occurs when an existing agent reconnects to the Bamboo server so modifying
bamboo-capabilities.properties file requires restarting the agent to update the capabilities.
After upgrading Bamboo to 7.1 all remote agents' capabilities will have an unknown source. Upon the agent's first reconnection, Bamboo will try to upgrade of the capabilities sources. If a capability's key and value match capability from the auto-detection or the properties file then Bamboo will set them as the source. Otherwise Bamboo will set UI as the capability source (so no capabilities will be removed during the upgrade).
Remote agents' workspace cleanup
As of version 7.1, build and deployment workspaces are removed from remote agents' home directories if corresponding entities are removed on Bamboo server. In case of agents with long build history, the cleanup happens gradually, in order to avoid agent unresponsiveness upon upgrade.
Upgrade of the org.quartz-scheduler library
In Bamboo 7.1 we’ve upgraded the org.quartz-scheduler library from version 2.1.7 to 2.3.2. As a result, certain Bamboo settings (cron expression) might stop working and you might have to reenter them manually.
Lucene dependency was upgraded to 7.7.3. Old indexes are incompatible with this version and will be automatically removed at instance startup. Background reindex job will be scheduled as well. While indexes are being recreated some features like quick search or reports will not work correctly. Some apps might be affected by this change.
Ant dependency was upgraded to 1.10.8. Some apps which work with custom artifact handlers might be affected.
CVS not supported
Starting from Bamboo 7.1, CVS repositories are not supported anymore.
This upgrade can take longer to complete than previous versions due to the Encryption of variable related database tables, please plan outage windows accordingly. You can read more about it below.
Changes to what Bamboo supports
Here's a quick summary of changes in Bamboo 7.0. For the complete and up-to-date list of Bamboo supported platforms, go to Supported platforms.
- Introduce support for Oracle 19
- Introduce support for MsSQL2017
- Drop support for Oracle 12R1
- Drop support for PostgreSQL 9.2, 9.3, 9.4
- Deprecate PostgreSQL 9.5
- Deprecate MSSql2012, MSSql2014
- Deprecate CVS
- Deprecate JGit 7.0
- Deprecate Jenkins importer (Bamboo internal plugin)
Bamboo 7.0 includes Atlassian Platform 5 upgrade. As part of our Platform 5 upgrade, we have upgraded Spring framework to 5.1.8. The main difference that can affect plugins is a change to the default Spring autowiring behavior from “autodetect” to “constructor”. Apps developers should start to use “constructor” injections.
Spring 5 への移行
Updated third-party libraries for Atlassian Platform 5.0.0 compatibility
Updated all the platform components for Atlassian Platform 5.0.0 compatibility
JDBC driver for Oracle not shipped with Bamboo
We've stopped bundling the JDBC driver for Oracle with Bamboo. To use Oracle with Bamboo, you must install the JDBC driver yourself.
For Oracle 12c (R1 and R2) and 19c, use the 12.2.0.x driver (ojdbc8.jar).
For Oracle 19c, you can use either ojdbc8.jar or ojdbc10.jar.
Capabilities removed from stock elastic images
In Bamboo 7.0, we’ve removed the following stock elastic images capabilities which have reached end of file and are no longer supported:
- JDK 5, 6, 9 & 10
- PHPUnit 3.7 & 4.4
- Node.js 4 & 6
Old images, with these capabilities still present, are still available and can be used if needed. The list of previous elastic images can be found here: https://packages.atlassian.com/maven-public-local/com/atlassian/bamboo/atlassian-bamboo-elastic-image/6.14/atlassian-bamboo-elastic-image-6.14.ami.
Stock image capabilities have to be updated manually on the elastic image configuration page.
Deprecating Amazon Machine Images
Starting from Bamboo version 7.0, Amazon Machine Images will be deprecated.
Encryption of variable-related database table
In version 7.0, all the entries related to password variables in the database are encrypted. Previously Bamboo encrypted current definitions of variables, but not the historical data stored in tables such as VARIABLE_CONTEXT.
Therefore upgrading from an older version involves running the encryption on all preexisting data, which can be very time consuming on some instances. It is also slower on Oracle and Microsoft SQL Server comparatively to other supported DBMS due to not being able to take advantage of some optimizations we made. The exact length is unknown as it varies entirely depending on the size of the instance and amount of data in these tables. Please plan your outage windows accordingly and if you have a large instance its recommended to test the upgrade on a cloned dataset if you need a precise outage window.
The impact can be mitigated by cleaning up unneeded historical data using Build Expiry functionality prior to upgrade.
Specs for branches
Bamboo 7.0 extends Repository Stored Specs functionality and makes it possible to configure plan branches using Bamboo Specs. The feature is currently only available for Bitbucket Server repository type. However, in order to avoid unexpected configuration modification, this functionality will be automatically applied only to plan branches created after upgrade to version 7.0. It can be manually enabled for preexisting plan branches in the branch configuration.
Changes to Bamboo Docker images
Official Bamboo Docker images now use
adoptopenjdk:8-jdk-hotspot-bionic as base image instead of
ubuntu image. This also means that the installed Java distribution has changed from OpenJDK to AdoptOpenJDK.
Tomcat version was upgraded to 8.5.51.
For Windows service default user is LocalService now instead of LocalSystem. Check if %BAMBOO_HOME% folder is available for LocalService user.
Apache Tomcat 8.5.51 and newer have the
secretRequired parameter set to true by default. When
true the AJP/1.3 Connector will not start unless the
secret attribute is configured to a non-null, non-zero length String.
Multiline secret variables are no longer allowed
Due to a security fix, multiline secret variable values are no longer allowed in. This will cause Bamboo Specs pushes that contain a multiline secret variable such as a SSH Key to be rejected with "Secret variable 'name' can't be multiline."
You will need to convert your multiline secrets to a single line. If multiline format is required to be preserved, you could Base64 encode them in your Spec then decode them during your build or use any other pre and post conversion of your choosing.
Remote agent wrapper update
To address some knows issues, we updated the Tanuki wrapper used for Bamboo remote agent. Bamboo 6.10 is released with new version of the wrapper. If you're an upgrading user, we strongly recommend that you reinstall the wrapper to benefit from all bug fixes.
To update the wrapper on a remote agent:
- Stop the original agent.
- Backup the
- Remove the
- Download a new Remote Agent JAR from your Bamboo Server:
- Launch the remote agent. T
This will create new
wrapper.conffile. If you want to re-enact your custom configuration in that file, you can do it now.
Login credentials via URL parameters disabled
Passing login credentials using URL parameters (
os_username/os_password) is disabled by default from now on. To keep this functionality, you need to set following property on Bamboo startup:
Note that passing user credentials using URL parameters may lead to their accidental exposure and is not recommended. With Bamboo 6.10, we're introducing authentication tokens, which is an alternative and safe way to authenticate.
Deprecating Oracle JDBC driver in the next version of Bamboo
Bamboo 6.10 is the last version of Bamboo bundled with the Oracle JDBC driver.
事前告知: Internet Explorer 11 のサポート終了について
アトラシアンでは、最新の Web 標準を引き続き活用して、すべての製品で改善された機能と最高のユーザー エクスペリエンスを提供できるようにするため、Internet Explorer 11 のサポートを終了することにしました。
Bamboo 6.10 will be the last version to support Internet Explorer.
See End of support announcements for Bamboo for full details.
Project View permission
Bamboo 6.9 is release with a new project permission - View. The project view permission is a prerequisite for accessing any plans as it takes precedence over plan permissions and without it, you won't be able to access plans for which you might even have Admin permissions.
When upgrading, the View permissions will be given automatically to Bamboo users who previously:
- had any permissions to the project OR
- had any permissions to any plan within in the project
Bamboo 6.9 comes with TLS hostname verification. If Bamboo agents use SSL connection to server and certificate has incorrect host name, the Client Broker settings must include the
socket.verifyHostName=false parameter to URL.
HTTP/ HTTPS connector for JMS dropped
The HTTP/HTTPS connector for JMS was dropped from Bamboo 6.9. We advise to use TCP/SSL instead.
AdoptOpenJDK in stock elastic images
With Bamboo 6.9 we’ve changed Java 8 and 11 to AdoptOpenJDK as default on stock elastic images. Oracle JDK is still present in images and can be used. You can find Oracle JDK in the following locations:
/opt/jdk-8u172 (Ubuntu/Amazon Linux)
Resolving artifacts content type
Bamboo allows you to display the content of your artifact based on its extension. This is done using the Resolve artifacts content type by extension option. If this option is selected, whenever you click on an artifact in a web browser, Bamboo will present you its content with MIME type set according to the artifact's file extension. Opening HTML files in this way, however, could lead to potential XSS attacks. For that reason, starting from version 6.8, the Resolve artifacts content type by extensions option is disabled by default. If you wish to enable this option, select > Overview > Security settings.
Deprecation of JGit
Starting from version 6.8, JGit is deprecated in Bamboo.
Application Link incompatibilities with Bitbucket versions older than 4.11
Due to some changes we made, Bamboo 6.8 is not compatible with versions of Bitbucket older than 4.11. This means Bitbucket < 4.11 will not automatically trigger builds or automatically create branches in Bamboo 6.8 due to the bug: - BSERV-8809Getting issue details... STATUS
Anonymous users remote repository trigger and Bamboo Specs detection disabled by default
Both remote repository trigger and Bambo Specs detection and by default disabled for anonymous users in Bamboo 6.7. Access to these by anonymous users is necessary e.g. for using webhooks. To enable it, select> Overview > Security settings.
When enabled, Bamboo ignores permissions settings for anonymous user access to those REST endpoints but keep restriction on other REST resources.
PostgresSQL 9.2 and 9.3 deprecated
Starting from version 6.7, Bamboo deprecates PostgresSQL 9.2 and 9.3. Support for these versions will end in an upcoming release.
Bamboo 6.7 contains upgrade tasks for changes to the audit log table which can impact the upgrade time. The upgrade time can differ depending on the size of your audit log so plan some extra time when upgrading.
For reference, during our test, an audit log table with 6,5 records in PostgreSQL took 3 extra minutes of upgrade time.
New upgrade threshold
We've made some changes to the possible Bamboo upgrade paths. To figure our the best way to upgrade your Bamboo to the latest version, see the upgrade path.
Heroku plugin not supported
Heroku's API changes rendered the Heroku plugin for Bamboo non-functional and we no longer deploy it with Bamboo. Check this DevCenter article on WAR Deployment for recommended alternatives.
Change to the built-in database
Starting with Bamboo 6.3, the built-in HSQL database is replaced by H2. If you store any data in HSQL and want to keep it after the upgrade, you must export the data to XML and import back after you've installed the new version of Bamboo. See:
The H2 database is fine for evaluation purposes but is somewhat susceptible to data loss during system crashes. For production environments we recommend that you configure Bamboo to use an external database.
- 上述の全般的なアップグレード ステップ セクション。
- the Bamboo Supported platforms page.
Microsoft JDBC driver
With Bamboo 6.0, SQL Server jTDS driver is replaced with the official Microsoft JDBC driver.
If database settings are configured directory in Bamboo, then during 6.0 upgrade it will attempt to update driver settings. In case of customized settings Bamboo instance administrator will be required to manually convert the settings.
If database settings are configured in the container (Tomcat) and Bamboo uses datasource, automatic upgrade will not be possible and instance administration will be required to manually convert the settings.
To learn more about this change, see here.
New library for setting up a JNDI resource for SMTP
Bamboo 6.0 is shipped with the
javax.mail-api-1.5.6.jar library. This library needs to copied over to your <Bamboo-install>/lib folder when setting up a JNDI resource for SMTP. For more information, see here.
Changes to Git support
Starting from version 6.0, Bamboo changes support for Git to version 184.108.40.206 or later.
Bamboo 5.15 contains upgrade tasks that can take extra time when moving from earlier versions of Bamboo. Keep this in mind when planning your upgrade outages.
New API for VCS repositories
We've rebuilt the repository subsystem, added new plugin points, and introduced new web repository viewers.
Before you upgrade to Bamboo 5.14, check for potential plugin incompatibilities, especially if you're using any plugins that aren't officially supported by Atlassian (third-party plugins, plugins developed in-house, or plugins marked as unsupported on Atlassian Marketplace).
We strongly recommend reporting compatibility issues to the plugin vendor and Atlassian Support.
For details about the API changes, see our developer documentation.
Changes in requirements for table names of the external databases
With Bamboo 5.14, we're dropping the lowercase table names requirement for the external database configuration introduced in Bamboo 5.13. For more information, see:
- 上述の全般的なアップグレード ステップ セクション。
- the Bamboo Supported platforms page.
You might also want to check our developer documentation.
Bamboo 5.13 introduces stricter verification of the external database configurations which prevents both upgrade and application start:
|Microsoft SQL Server||The check ensures that the tables in the Bamboo database have correct collation and correct commit isolation, see Microsoft SQL Server.|
|All DBs except SQL Server|
The check ensures that the database engine is correctly configured to be case-insensitive.
Make sure your specific database is configured correctly according to Connecting Bamboo to an external database. For MySQL specifically, this might affect all databases in the instance, see MySQL documentation.
If the check fails
If the check fails and you can't correct your database configuration immediately, you can roll back to the previous installed version of Bamboo without changing anything in your database or home directory configuration.
- 上述の全般的なアップグレード ステップ セクション。
- the Bamboo Supported platforms page.
You might also want to check our developer documentation.
Changes to Clover Plugin integration
Automatic Clover integration for Maven 2 and Maven 3 tasks has been changed. It has tighter integration and adds Clover goals between goals from an original command so that a build will be performed only once (i.e. it will not run a separate build phase as it did before). Automatic Clover integration will not happen when your Maven task contains the
deploy commands; this is to protect your repositories from being polluted by instrumented code. Therefore, please check if any of your Maven tasks that use automatic Clover integration use the
deploy Maven commands. If they do: either disable automatic Clover integration for those jobs, or change the phase to the
verify command (or earlier) or set up a dedicated job for Clover. Otherwise, your jobs will not produce Clover's coverage reports.
Hibernate dialect update
When you upgrade to Bamboo 5.8, an upgrade task will run that changes the Hibernate dialect in the
bamboo.cfg.xml file. The new dialects are:
org.hibernate.dialect.PostgreSQLDialect org.hibernate.dialect.HSQLDialect org.hibernate.dialect.Oracle10gDialect org.hibernate.dialect.MySQL5Dialect com.atlassian.bamboo.hibernate.SQLServerIntlDialect
If you are upgrading from Bamboo versions earlier than Bamboo 4.0, you must upgrade to any of Bamboo 5.0–5.7 before upgrading to Bamboo 5.8.
Global deployment expiry
If you are updating to Bamboo 5.7 from 5.6 or earlier and you were previously using build expiry then the Global expiry page in Bamboo looks and works the same as it does in 5.6. In other words you are able to expire builds but not deployments. There is an option to enable deployment expiry however and selecting this option enables the new expiry features introduced in Bamboo 5.7.
Note that this may mean that deployment artifacts and deployment result logs that were previously not being removed will start to be removed. Most likely this is what you want but it's important to be aware of this change.
Note also that enabling deployment expiry is not reversible. If you enable deployment expiry you will be unable to go back to the legacy Bamboo 5.6 behavior. The legacy Bamboo 5.6 behavior for expiry is deprecated and will be removed in a future release.
Read more about global expiry in Bamboo 5.7.
Bitbucket Server notifications and the Bitbucket Server web repository type are deprecated
Bitbucket Server notifications and the legacy Bitbucket Server web repository type are deprecated in Bamboo 5.6, and will be removed in Bamboo 5.7. Use the Bitbucket Server repository integration available in Bamboo 5.6, which is based on application links, to replace that functionality. Read about using Bitbucket Server repositories with Bamboo on Bitbucket Server.
When scheduling the outage window for the Bamboo 5.6 update, keep in mind that update task 4407 that is executed during the update may take up to 45 minutes to complete on large instances, depending on the size of the VARIABLE_CONTEXT table. For a more precise calculation, assume that 10 minutes are needed to process 15 million records in that table.
Installer package on MAC OS X can not be opened due to code signing requirements.
Note, this issue was found in Bamboo 5.4 and still applies to Bamboo 5.6.
Previously, Mac OS X required binaries to be Developer ID signed in order to run out of the box. Without signing, users would receive a warning that the app isn't from the App Store or a registered Apple Developer. Users were able to apply a work-around to solve this problem.
The latest version of Mac OS X (10.8 and above), however, now reports that the Bamboo installer for Mac is corrupted rather than being blocked by developer ID.
- The Mac installer will not be available until this has been resolved.
- There is a temporary work-around available here.
This is a small bug with our installer. Please be assured that we are working on a permanent solution to this issue.
- We recommend that you add OAuth authentication (in addition to existing authentication) to any existing application links between your Bamboo and Bitbucket servers. If you have previously integrated Bamboo with Bitbucket Server, you will probably have Basic HTTP authentication configured for your link. The new Bitbucket repository type will work with Basic HTTP, but OAuth is a better as it is an impersonating authentication type. For more information, see Configuring authentication for an application link.
- Git will use
--ancestry-pathwhen trying to extract change set due to - BAM-13760Getting issue details... STATUS . Since that command is available for Git 1.7.2 and above (see Release Notes), please update your native Git, if you have Git 1.7.1 installed (especially those who use RHEL 6 or CentOS).
Note that Bamboo will run a full reindex after updating.
Installer package on MAC OS X can not be opened due to code signing requirements
Previously, Mac OS X required binaries to be Developer ID signed to run out of the box. Without signing, users would receive a warning that the app isn't from the App Store or a registered Apple Developer. Users were able to apply a work-around to solve this problem.
The latest version of Mac OS X (10.8 and above), however, now report that the Bamboo installer for Mac is corrupted rather than being blocked by developer ID.
- The Mac installer will not be available until this has been resolved
- There is a temporary work-around solution available here.
This is a small bug with our installer, please rest assured that we are working on a permanent solution to this issue.