Bamboo 5.1 upgrade notes

Bamboo release notes

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

The instructions on this page describe how to upgrade to Bamboo 5.1 from a previous version of Bamboo. For details on the Bamboo 5.1 release, see the Bamboo 5.1 release notes.

Please follow the Bamboo 5.1-specific instructions on this page, in addition to the upgrade instructions in the Bamboo upgrade guide.

Please read the Supported platforms page for the full list of supported platforms for Bamboo.


Upgrade notes from Bamboo 5.0 to 5.1

Tomcat replaces Jetty as the standalone app server

On this page:

Because Tomcat now replaces Jetty as the standalone app server. This means that the way Bamboo is started, stopped and upgraded has changed.

Because of these changes, it is important to follow the following processes when upgrading to Bamboo 5.1.

Linux

  1. Export and back up your existing Bamboo data, as described in Step 1 of the Bamboo upgrade guide
  2. Delete your old BAMBOO_INSTALL directory to remove any legacy files
  3. Install Bamboo 5.1, as described in Step 2 of the Bamboo upgrade guide
  4. Point the new installation to the old 'Bamboo Home' by changing the path at file <Bamboo installation directory>/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
  5. Configure your new Bamboo 5.1 instance as described in Step 3 of the Bamboo upgrade guide
  6. Start Bamboo, re-indexing as required.

Mac

  1. Export and back up your existing Bamboo data, as described in Step 1 of the Bamboo upgrade guide
  2. Install Bamboo 5.1, using the Mac installer. The Mac installer will remove the previous version of Bamboo.
  3. Configure your new Bamboo 5.1 instance as described in Step 3 of the Bamboo upgrade guide
  4. Start Bamboo, re-indexing as required.

Windows

  1. Export and back up your existing Bamboo data, as described in Step 1 of the Bamboo upgrade guide
  2. If you have Bamboo running as a windows service, you should uninstall this service, using the UninstallService.bat executable that came with your existing Bamboo instance
  3. Install Bamboo 5.1, using the Windows .EXE installer. The Windows installer will remove the previous version of Bamboo.
  4. Configure Windows to run as a service, using the service.bat executable
  5. Configure your new Bamboo 5.1 instance as described in Step 3 of the Bamboo upgrade guide
  6. Start Bamboo, re-indexing as required.

Starting and stopping Bamboo

Linux and Mac

Starting and Stopping Bamboo on Windows and Mac has changed.

From within the Bamboo 5.1 installation directory:

Starting
./bin/start-bamboo.sh
Stopping
./bin/stop-bamboo.sh

WAR distribution is no longer distributed

Since Tomcat is now shipped in the standalone and Tomcat being the only application server we officially support, the EAR/WAR edition of Bamboo is no longer distributed via www.atlassian.com.

If you wish to get the war file, you can do so by downloading it at this url (replacing $VERSION with the version you wish to download):

https://maven.atlassian.com/content/repositories/atlassian-public/com/atlassian/bamboo/atlassian-bamboo-web-app/$VERSION/atlassian-bamboo-web-app-$VERSION.war

Known issues

javax.servlet.ServletException: Servlet execution and Caused by: java.lang.AbstractMethodError in the logs

It appears that this error is harmless and should not effect the functioning of your Bamboo server. The Bamboo team are currently investigating.

See example log output
javax.servlet.ServletException: Servlet execution threw an exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:328)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:71)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.bamboo.filter.NewRelicTransactionNamingFilter.doFilter(NewRelicTransactionNamingFilter.java:31)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.bamboo.ww2.StrutsPrepareFilter.handleRequest(StrutsPrepareFilter.java:55)
	at com.atlassian.bamboo.ww2.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:38)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.bamboo.filter.BambooProfilingFilter.doFilter(BambooProfilingFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:71)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73)
	at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:157)
	at com.atlassian.seraph.filter.BambooLoginFilter.doFilter(BambooLoginFilter.java:34)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:71)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:27)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:71)
	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.AbstractMethodError
	at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:803)
	at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:411)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	... 68 more


Upgrade notes from Bamboo 4.4 to 5.0

To upgrade to Bamboo 5.0, follow the instructions in the Bamboo upgrade guide.

We strongly recommend that you back up your Bamboo instance and database before upgrading, as described in the Bamboo upgrade guide.

'buildnumber.txt' generation has been removed and replaced by an optional plugin

The 'buildnumber.txt' file is no no longer automatically generated in the working directory. If you rely on this funtionality, then you must install the the Build Number Stamper plugin from the Atlassian Marketplace.

No agent upgrade required

In Bamboo 3.2, agents were changed so that no upgrade of agents are required. When Bamboo is upgraded, agents will automatically restart and update their executables from the server.

Sonar tasks plugin 1.7.0 may cause some UI problems

Sonar tasks plugin 1.7.0 may cause some parts the UI to display incorrectly display but does not cause any functional issues. This problem has been reported to the plugin vendor.

Upgrading from Bamboo prior to 4.1

In addition to the notes below, please read the upgrade guide for every version you are skipping during the upgrade.

Notes for upgrading from Bamboo 4.0

  • Bamboo's deprecated Remote API has been removed. If you are using this API, migrate to the Bamboo REST API.
  • There are no major schema upgrade tasks that may cause the Bamboo upgrade from 3.4 to 4.0 to take an extended amount of time.
  • If you are using Elastic Bamboo, we've upgraded JDK6, Grails 1.2, Grails 1.3 and Maven 3 to the latest minor releases on the stock images. Additionally, we've added Grails 2.0 to the image. See here for a complete list of elastic image contents.

Notes for upgrading from Bamboo 3.2

Notes for upgrading from a version of Bamboo prior to 2.7.4

  • You will need to upgrade to Bamboo 2.7.4 before upgrading to Bamboo 5.1. If you are using a version of Bamboo earlier than 2.6.3, we recommend that you upgrade to 2.6.3 before upgrading to Bamboo 2.7.4. Bamboo 2.6.3 can be downloaded from the Bamboo Archived Downloads page. Bamboo 2.7.x introduces a number of significant and irreversible changes, so a phased upgrade is recommended. Please see the Bamboo 2.7.x upgrade guide for more details.
  • You will need to set aside time, as described in the Bamboo 2.7.x upgrade guide, for Bamboo to migrate existing Plans to the new Plan structure in Bamboo 2.7.4.
  • If you are upgrading from Bamboo 2.5 or earlier, you will need to set aside time, as described in the Bamboo 2.6 upgrade guide for Bamboo to migrate its test result data (stored in XML files on the filesystem) into the database.
  • If you are upgrading from a version of Bamboo prior to 2.0, you must upgrade to Bamboo 2.0.6 first before upgrading to Bamboo 2.6.3 ( and then 2.7.4). Please read the Bamboo 2.0 upgrade guide for important upgrade instructions for upgrading from earlier versions of Bamboo.

Developing for Bamboo 5.x

If you are a Bamboo plugin developer, please refer to our Bamboo API Changes by Version guide, which outlines changes in Bamboo that may affect Bamboo plugins compiled for earlier versions of Bamboo.

Struts 2

With 5.1, Bamboo upgraded its aging WebWork framework to Struts. In many cases, you will not have to adjust your plugin, because we've provided a compatibility layer that will let you compile your source code against both WebWork and Struts. In some cases, however, you may have to modify your code to adjust it to Struts.

See Changes for 5.1 for more information.

Checking for known issues and troubleshooting the Bamboo upgrade

If something is not working correctly after you have completed the steps above to upgrade your Bamboo installation, please check for known Bamboo issues and try troubleshooting your upgrade as described below:

  • Check for known issues. Sometimes we find out about a problem with the latest version of Bamboo after we have released the software. In such cases we publish information about the known issues in the Bamboo Knowledge Base. Please check the Bamboo Known Issues in the Bamboo Knowledge Base and follow the instructions to apply any necessary patches if necessary.
  • Did you encounter a problem during the Bamboo upgrade? Please refer to the guide to troubleshooting upgrades in the Bamboo Knowledge Base.
  • If you encounter a problem during the upgrade and cannot solve it, please create a support ticket and one of our support engineers will help you.
Last modified on Jan 16, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.