Upgrade Bitbucket Server from an archive file
Bitbucket Server upgrade guide
On this page
Related content
- No related content found
This page describes how to upgrade Bitbucket Server using a zip or tar.gz file.
Upgrading to any later version is free if you have current software maintenance. See our Licensing FAQ to find out more.
Other ways to upgrade Bitbucket:
- Installer - the simplest way to upgrade Bitbucket Server.
- Docker container image for Bitbucket Server.
On this page:
Before you begin
Before you upgrade Bitbucket you should answer these questions about your instance.
Is manual the right upgrade method for you? |
Tell me more...
You can choose to upgrade using the installer, or, if the installer is not suitable for your situation you can use an archive file to update your Bitbucket Server instance. Only use an archive file to update Bitbucket Server if the installer is not suitable for your situation, as the installer is the the recommended approach to upgrade for most use cases. |
Are you eligible to upgrade? |
Tell me more...
To check if software maintenance is current for your license, go to > Licensing and make sure the license support period has not expired. If your support period has expired, follow the prompts to renew your license and reapply it before upgrading.
|
Have our support platforms changed? |
Tell me more...
Check the Supported platforms page for the version of Bitbucket you are upgrading to. This will give you info on supported operating systems, databases and browsers.
|
Have you modified your server.xml file? |
Tell me more...
In Bitbucket 5 we changed where you configure properties such as port numbers, context paths, and access protocol (among other things) to centralize custom configuration to a single directory and file, and to make upgrading easier for future releases. Upgrading from any version earlier than or including Bitbucket Server 4.14 to Bitbucket Server 5.0 or later requires that you manually migrate any changes to the See the page Migrate customizations from
|
Plan your upgrade
1. Determine your upgrade path
You can update from any previous version of Bitbucket Server (or Stash) to the latest version, as there is no required upgrade path.
Bitbucket 6 is a major upgrade
Be sure to read the Bitbucket Server 6.0 release notes, take a full backup, and test your upgrade in a non-production environment before upgrading your production site.
Upgrading from a version older than Bitbucket 6 disables all user-installed apps on startup
Be sure to update your own apps and check the Atlassian Marketplace to ensure 3rd-party apps are compatible with Bitbucket Server 6 before upgrading.
2. Complete pre-upgrade checks
- Check the Version specific upgrade notes for the version you plan to upgrade to (and any in between).
- Go to > Support Tools, then review the Log analyzer for any issues that may need to be resolved.
Check the compatibility of your apps with the version you plan to upgrade to.
- Go to > Manage apps > Bitbucket update check.
Choose the version you plan to upgrade to then hit Check.
If you have incompatible appsIf your users rely on particular apps, you may want to wait until they are compatible before upgrading Bitbucket. App vendors generally update their apps very soon after a major release.
Good to know:
- Upgrading from a version older than Bitbucket Server 6 will automatically disable all user-installed apps. You will need to enable your apps after successfully upgrading, regardless of compatibility with Bitbucket Server 6.
- You can disable an app temporarily if it is not yet compatible.
3. Upgrade Bitbucket in a test environment
- Create a staging copy of your current production environment.
- Follow the steps below to upgrade your test environment.
- Test any unsupported apps, customizations and proxy configuration (if possible) before upgrading your production environment.
Upgrade Bitbucket
This upgrade process does not perform an in-place upgrade, but instead installs the new version of Bitbucket Server into a new installation directory. The new instance uses your existing Bitbucket Server home directory and external database.
If necessary, rolling back an upgrade can only be performed by restoring a backup of both the Bitbucket Server home directory and the Bitbucket Server database – rolling back requires a consistent home directory and database. You can then reinstall the previous version of the application to the installation directory. Read the Rollback section for more details.
4. Back up your data
Determine which backup strategy to use.
Summary of the different backup strategies for Bitbucket...For Bitbucket Server (version 4.8 or later) instances, you can use Zero Downtime Backup, the Backup Client (version 2.7 or later), or DIY Backup (version 2.12 or later) while Bitbucket is running, or just stop Bitbucket and zip up / snapshot the home directory and database and keep them somewhere safe.
For Bitbucket Data Center (version 4.8 or later) instances, you can use Zero Downtime Backup, DIY Backup, or take snapshots of the shared home directory (on NFS) and database while all nodes are stopped.
For Bitbucket mirrors, the home directory doesn't store any persistent state that can't be reconstructed from the primary Bitbucket instance, but you should still make sure you have a backup of at least the important configuration files such as SSL certificate,
server.xml
,config/ssh-server-keys.pem
,bitbucket.properties
file, and so on in a safe place. See How do I back up my mirrors? for more information.See the article Data recovery and backups for detailed information and guidance on creating an effective backup strategy.
- Back up all the data in your Bitbucket home directory and external database.
5. Migrate customizations
Bitbucket 5 changes where custom server configurations are kept. Previously, Tomcat container customizations were made in the server.xml
file, located in either the <Bitbucket home directory>
/shared
directory (from 3.8 to 4.14), or in <Stash installation directory>/
conf
(for 3.7 and earlier).
First, determine if you've made customizations to your
server.xml
file. You would have made these changes if you modified the port, context path, or the access protocol, or if you are running Bitbucket Server behind a proxy and modified the Connector element.Help me find my server.xml file...Release Directory Stash 3.7 and earlier <Stash installation directory>/
conf/server.xml
Stash 3.8 and later <Stash home directory>
/shared/server.xml
Bitbucket Server 4.0 - 4.14 <Bitbucket home directory>
/shared/server.xml
Bitbucket Server 5.0 and later N/A, replaced by <Bitbucket home directory>
/shared/bitbucket.properties
Migrate changes in the
bitbucket.properties
file in your existing Bitbucket home directory. Thebitbucket.properites
file uses a slightly different syntax, so it is not merely a copy and paste procedure.
Read the page Migrate customizations fromserver.xml
tobitbucket.properties
and follow the instructions to migrate your customizations. Once your changes are migrated, proceed to the next step.For custom configurations in Bitbucket Data Center...Bitbucket Data Center instances on version 3.8 or later, the single
server.xml
file in the<Bitbucket home directory>
/shared
directory replaces all the copies ofserver.xml
located in the<Bitbucket installation directory>/conf
directories of the cluster nodes using previous versions of Bitbucket Server (or Stash).
6. Stop the application
To stop Bitbucket Server from the interface, use the Bitbucket Server items in the Windows Start menu.
To stop Bitbucket Server from a command prompt, change directories to the <Bitbucket Server installation directory>
and run this command:
bin\stop-bitbucket.bat
To stop Bitbucket Server when running as a service, stop the Bitbucket Server service from the Windows services console.
Stop Bitbucket Server from a terminal by changing to the <Bitbucket Server installation directory>
and running:
bin/stop-bitbucket.sh
Be sure to stop all nodes of Bitbucket Data Center, perform the steps to upgrade for a single node first, then repeat the process on each cluster node.
See the page Starting and stopping Bitbucket Server for more detailed instructions.
7. Download Bitbucket Server
Download the appropriate file for your operating system - https://www.atlassian.com/software/bitbucket/download-archives.
8. Extract the file and upgrade Bitbucket
Extract (unzip) the files to a directory (this is your new installation directory, and must be different to your existing installation directory).
Which user account should I do this with?Use the same user account to extract and to run Bitbucket Server to avoid permission issues at startup. For production installations, we recommend you use new dedicated user that will run Bitbucket Server on your system.
See the page Running Bitbucket Server with a dedicated user for more details.
Update the value of
BITBUCKET_HOME
in the<Bitbucket Server installation directory
>/bin/set-bitbucket-home.sh
(orset-bitbucket-home.bat
on Windows) file so the new Bitbucket Server installation points to your existing Bitbucket Server home directory (if you use a BITBUCKET_HOME environment variable to specify the home directory location, no change is required).
9. Start Bitbucket
To start Bitbucket Server from a command prompt, change directories to the <Bitbucket Server installation directory>
and run:
bin\start-bitbucket.bat
To start Bitbucket Server to run as a service, start the application service from the services console.
To start Bitbucket Server from a terminal, change to the <Bitbucket Server installation directory>
and run:
bin/start-bitbucket.sh
For Bitbucket Data Center, Bitbucket Server and the remote Elasticsearch instance must be started separately. It is a requirement of the Bitbucket Data Center setup that you have only one remote Elasticsearch instance for your entire cluster, as described on Installing Bitbucket Data Center. The start-bitbucket.sh
command starts both Bitbucket and Elasticsearch, and should not be used to start your Bitbucket Data Center application nodes.
When using a remote Elasticsearch instance, instead of the bundled Elasticsearch instance, start Bitbucket Server by running start-webapp.sh
instead of start-bitbucket.sh
.
To start Bitbucket Data Center
Start each of your application nodes. From the
<Bitbucket Server installation directory>
, run this command for each node:
For Windowsbin\start-webapp.bat
For Linux
bin/start-webapp.sh
Start your Elasticsearch node. From the
<Bitbucket Server installation directory>
, run this command:
For Windowsbin\start-search.bat
For Linuxbin/start-search.sh
Read the page Starting and stopping Bitbucket Server for more details.
Rollback
If necessary, rolling back an update can only be performed by restoring a backup of both the Bitbucket Server home directory and the Bitbucket Server database – rolling back requires a consistent home directory and database. You can then reinstall the previous version of the application to the installation directory. Never start an older binary against an upgraded home directory.
Version-specific update notes
This section provides specific update notes for each version of Bitbucket Server. These notes supplement the primary upgrade instructions above. You should read the relevant sections for each version between your current version of the application and the version you are upgrading to.
Bitbucket Server 6.2 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 6.2 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements.
Bitbucket Server 6.1 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 6.1 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements.
Bitbucket Server 6.0 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 6.0 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
To upgrade to Bitbucket Server 5+, you must migrate customizations to bitbucket.properties
Be sure to carefully read the Bitbucket Server upgrade guide to determine what impact this change may have on your instance. The page Migrate server.xml
customizations to bitbucket.properties
has specifics on which properties need to be migrated, how to migrate them, and includes some examples that demonstrate how to migrate some common customizations.
Start script changes
Starting from Bitbucket Server 5.0, some startup scripts had their name prefixed with an underscore. These scripts have been deprecated, and you should no longer call these scripts directly. This is to avoid confusion, because previously there were multiple start and stop scripts, making it easy to confuse which one to call. Now, there is only one script, that begins with "start
" and one that begins with "stop
".
Known issues
Bitbucket Server 5.16 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.16 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.15 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.15 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.14 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.14 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.13 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.13 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.12 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.12 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.11 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.11 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.10 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.10 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.9 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.9 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.8 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.8 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.7 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.7 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.6 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.6 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.5 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.5 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.4 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.4 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.3 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.3 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.2 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.2 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.1 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.1 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Bitbucket Server 5.0 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 5.0 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
To upgrade to Bitbucket Server 5+, you must migrate customizations to bitbucket.properties
Be sure to carefully read the Bitbucket Server upgrade guide to determine what impact this change may have on your instance. The page Migrate server.xml
customizations to bitbucket.properties
has specifics on which properties need to be migrated, how to migrate them, and includes some examples that demonstrate how to migrate some common customizations.
Start script changes
In Bitbucket Server 5.0, some startup scripts have had their name prefixed with an underscore. These scripts have been deprecated, and you should no longer call these scripts directly. This is to avoid confusion, because previously there were multiple start and stop scripts, making it easy to confuse which one to call. Now, there is only one script, that begins with "start
" and one that begins with "stop
".
BitbucketServer does not support reverse proxies using AJP connections
Starting from version 5.0, Bitbucket Server does not support reverse proxies using AJP connections. While never officially supported, previous versions of Bitbucket Server could use AJP connections. However, with changes to how Bitbucket Server uses Tomcat, using AJP connections with Bitbucket Server (or Data Center) 5.0+ will cause the application to fail on startup.
Known issues
Bitbucket Server 4.14 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.14 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.13 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.13 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.12 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.12 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Do NOT upgrade to Git 2.11+
Any version after Git 2.11.0 (including future 2.12+ releases) cannot be used with Bitbucket Server. Bitbucket Server 4.12 will fail on startup if Git 2.11+ is detected. Only upgrade to versions of Git which are explicitly marked supported on our Supported Platforms page.
BSERV-9388 - Getting issue details... STATUS
Known issues
Bitbucket Server 4.11 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.11 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.10 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.10 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.9 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.9 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.8 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.8 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.7 update notes
You should also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.7 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.6 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.6 release notes.
- the Stash Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.5 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.5 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.4 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.4 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.3 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.3 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.2 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.2 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.1 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.1 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server.
Known issues
Bitbucket Server 4.0 update notes
Also see:
- the general Upgrade steps section above.
- the Bitbucket Server 4.0 release notes.
- the Bitbucket Server Supported platforms page.
- the End of support announcements for Bitbucket Server. Note that Bitbucket Server 4.0 does not support Internet Explorer 9 or 10, Java 7, nor versions of Git earlier than 1.8 on the server.
Do you rely on user-installed add-ons?
Your plugins may not be compatible with Bitbucket Server 4.0 (yet)
Upgrading from Stash to Bitbucket Server will disable all user-installed add-ons, whether they are 3rd-party add-ons from Atlassian Marketplace, or your own custom add-ons. User-installed add-ons will need to be checked, upgraded and enabled again once you've finished the upgrade process. You should check the marketplace listing for 3rd-party add-ons to determine if there is a release that is compatible with Bitbucket Server 4.0. Unless they have been updated to work with Bitbucket Server 4.0, existing add-ons (or plugins) that use the API interfaces that have been removed in Bitbucket Server 4.0 will not work. Similarly, custom add-ons need to be upgraded for Bitbucket Server compatibility. See the documentation on how to update your add-on for details.
If you are upgrading from Stash 3.x to Bitbucket Server 4.x, you should be aware that most user-installed add-ons will be incompatible with Bitbucket Server 4.0. After upgrading, go to Admin > Manage add-ons, look for messages of this form, and follow the advice to update:
If no newer version is available the add-on will remain disabled.
New dedicated user account 'atlbitbucket'
A new dedicated user account will be created to run Bitbucket Server, called atlbitbucket
. During the upgrade process, you will have an option to delete the dedicated user account for running Stash, named atlstash
. For most users, deleting this dedicated user account won't have any negative consequences, however if you rely on this dedicated user accounts, for example in custom backup scripts, you will need to update the user account in those scripts.
Updates to logger names
If you have customized your logging configuration by manually editing the logback.xml
file (using steps found in the Configure Stash Logging KB article), you should be aware of changes to several logger names that may require you to update some of your configuration files.
Stash logger name | Bitbucket Server logger name |
---|---|
stash.application | bitbucket.application |
stash.profiler | bitbucket.profiler |
stash.access-log | bitbucket.access-log |
stash.audit-log | bitbucket.audit-log |
stash.mail-log | bitbucket.mail-log |
Important security improvement which may require configuration changes
Previous to Bitbucket Server 4.0, a security constraint for redirecting from HTTP to HTTPS was not enforced, meaning users could type "http://<bitbucketserver-url>" into their browser and still be shown a functioning version of Bitbucket Server (or Stash). Included with the release of Bitbucket Server 4.0 was a fix to enforce that security constraint. Using the previous security configuration with Bitbucket Server 4.0 means trying to access the application over an insecure connection, when users type "http" when trying to get to the application, they could encounter erroneous behavior.
As part of upgrading from Stash to Bitbucket Server, it is recommended you update your security configuration in order to avoid encountering this problem. See this Knowledge Base article for more information and specific instructions on addressing this: Redirect HTTP Requests to HTTPS.
Known issues
Stash 3.11 update notes
Also see:
- the general Upgrade steps section above.
- the Stash 3.11 release notes.
- the Stash Supported platforms page. Note that Stash 3.11 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Internet Explorer 9 or 10, Java 7, nor versions of Git earlier than 1.8 on the server.
- If you have installed the stash-stream-guard-plugin (for example, if advised to do so by Atlassian Support), then you should uninstall it when upgrading to 3.11.2 as its functionality is now bundled in Stash.
Known issues
Stash 3.10 update notes
Also see:
- the general Upgrade steps section above.
- the Stash 3.10 release notes.
- the Stash Supported platforms page. Note that Stash 3.10 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Internet Explorer 9 or 10, Java 7, nor versions of Git earlier than 1.8 on the server.
Are you using Git 2.2x - 2.4.0?
Git 2.2.x - 2.4.0 have reported performance issues when interacting with NFS. Hence, these versions are currently not supported for Stash Data Center or for Stash Server installations that use NFS mounts for the home directory.
Known issues
Stash 3.9 update notes
Also see:
- the general Upgrade steps section above.
- the Stash 3.9 release notes.
- the Stash Supported platforms page. Note that Stash 3.9 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Internet Explorer 9, Java 7, nor versions of Git earlier than 1.8 on the server.
Are you using JIRA as a Crowd server?
Stash 3.9 cannot use JIRA 6.4 as a Crowd server due to a bug in JIRA 6.4. Please upgrade to JIRA 6.4.1 before upgrading Stash. (Note that Stash 3.7.2 and 3.8.0 contained a workaround for the bug but the workaround was removed in Stash 3.9)
Known issues
Stash 3.8 update notes
Also see:
- the general Upgrade steps section above.
- the Stash 3.8 release notes.
- the Stash Supported platforms page. Note that Stash 3.8 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Internet Explorer 9, Java 7, nor versions of Git earlier than 1.8 on the server.
Have you made customizations to Tomcat's server.xml
file?
For Stash 3.8 (and future versions) the server.xml
file is now located in the <stash home directory>/shared
directory. The benefit of this move is that your customizations to server.xml
will not have to be redone for future upgrades.
You still need to update your custom configurations in shared/server.xml
for the upgrade to Stash 3.8.
Deprecation of HighlightJS for syntax highlighting
The highlighting engine was changed in Stash 3.5 from HighlightJS to CodeMirror. The use of HighlightJS for syntax highlighting in Stash is now deprecated, and will be removed in Stash 4.0. See Syntax highlight changes for information about how to migrate any custom mappings for HighlightJS that you may have made.
Known issues
Stash 3.7 update notes
Also see:
- the general Upgrade steps section above.
- the Stash 3.7 release notes.
- the Stash Supported platforms page. Note that Stash 3.7 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Internet Explorer 9, Java 7, nor versions of Git earlier than 1.8 on the server.
Do you use JIRA 6.4?
JIRA 6.4 has a known issue with Stash versions 3.4.3 to 3.7.1, which prevents the user synchronization from working. This will only affect you if you use JIRA to manage your users in Stash, and is fixed in Stash 3.7.2.
Deprecation of HighlightJS for syntax highlighting
The highlighting engine was changed in Stash 3.5 from HighlightJS to CodeMirror. The use of HighlightJS for syntax highlighting in Stash is now deprecated, and will be removed in Stash 4.0. See Syntax highlight changes for information about how to migrate any custom mappings for HighlightJS that you may have made.
Known issues
Stash 3.6 update notes
Also see:
- the general update steps section above.
- the Stash 3.6 release notes.
- the Stash Supported platforms page. Note that Stash 3.6 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Internet Explorer 9, Java 7, nor versions of Git earlier than 1.8 on the server.
Secure email notifications
Stash 3.6 now:
- Allows you to require STARTTLS support on the mail server when using SMTP – if it is not supported, mail is not sent.
- Supports SMTPS (where the whole protocol conversation uses SSL/TLS).
See Setting up your mail server for more information.
Note that if you use either SMTP with STARTTLS or SMTPS and connect to a self-signed mail server you may need to import the server's certificate and set up a custom cacerts file for Stash (just as you do for any outbound SSL/TLS connection to a self-signed server). See this Stash knowledge base article for information about how to do that.
Deprecation of HighlightJS for syntax highlighting
The highlighting engine was changed in Stash 3.5 from HighlightJS to CodeMirror. The use of HighlightJS for syntax highlighting in Stash is now deprecated, and will be removed in Stash 4.0. See Syntax highlight changes for information about how to migrate any custom mappings for HighlightJS that you may have made.
Known issues
Stash 3.5 update notes
Also see:
- the general update steps section above.
- the Stash 3.5 release notes.
- the Stash Supported platforms page. Note that Stash 3.5 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server. Note that, in particular, Stash 4.0 will not support Java 7, nor versions of Git earlier than 1.8 on the server.
Stash home directory location
Stash 3.5 and later versions no longer allow the Bitbucket Server home directory to be the same directory as, or a subdirectory of, the Stash installation directory. The Stash home directory, as defined by the STASH_HOME
environment variable, must be in a separate location – Stash will fail on startup otherwise.
Deprecation of HighlightJS for syntax highlighting
The highlighting engine in Stash has been changed from HighlightJS to CodeMirror. The use of HighlightJS for syntax highlighting in Stash is now deprecated, and will be removed in Stash 4.0. See Syntax highlight changes for information about how to migrate any custom mappings for HighlightJS that you may have made.
Known issues
Stash 3.4 update notes
Also see:
- the general update steps section above.
- the Stash 3.4 release notes.
- the Stash Supported platforms page. Note that Stash 3.4 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server.
Changed group membership aggregation with multiple user directories
Stash 3.4 uses new schemes to determine the effective group memberships when Stash is connected to multiple user directories, and duplicate user names and group names are used across those directories. The new schemes are:
- 'aggregating membership'
- 'non-aggregating membership'.
These group membership schemes are only used to determine authorization. Authentication is determined on the basis of the group mappings in each directory.
See Effective memberships with multiple directories in the Crowd documentation for more information.
When you update to Stash 3.4, an update task will apply one of those schemes as follows:
Aggregating membership will be applied to your instance:
- If there is only one active directory.
- If there are multiple active directories but only a single directory applies group memberships to any particular user.
- For example, if directory-1 contains user-a in group-x, and directory-2 contains user-b in group-y, then Stash 3.4 will apply aggregating membership, and permissions will not be affected.
Non-aggregating membership will be applied to your instance:
- If there are multiple active directories and more than one directory applies group memberships to at least one user.
- For example, if directory-1 contains user-a in group-x, and directory-2 contains user-a in group-y, then Stash 3.4 will apply non-aggregating membership. If group-y has admin provileges then user-a would have their privileges escalated in this case if aggregating membership was applied instead when upgrading to Stash 3.4.
Any changes made by the update task will be logged.
A Stash admin can change the membership scheme used by Stash using the following commands:
To change to aggregating membership, substitute your own values for
<username>
,<password>
and<base-url>
in this command:curl -H 'Content-type: application/json' -X PUT -d '{"membershipAggregationEnabled":true}' -u <username>:<password> <base-url>/rest/crowd/latest/application
To change to non-aggregating membership, substitute your own values for
<username>
,<password>
and<base-url>
in this command:curl -H 'Content-type: application/json' -X PUT -d '{"membershipAggregationEnabled":false}' -u <username>:<password> <base-url>/rest/crowd/latest/application
Note that changing the aggregation scheme can affect the authorization permissions for your Stash users, and how update operations are performed. Read more about using Stash with multiple use directories.
Known issues
Stash 3.3 update notes
Also see:
- the general update steps section above.
- the Stash 3.3 release notes.
- the Stash Supported platforms page. Note that Stash 3.3 does not support Git 2.0.2 or 2.0.3.
- the End of support announcements for Bitbucket Server.
Known issues
Stash 3.2 update notes
Upgrading to Stash 3.2 or later from Stash 3.1 or earlier is irreversible – please see the Home directory migration section below.
Also see:
- the general update steps section above.
- the Stash 3.2 release notes.
- the Stash Supported platforms page.
- the End of support announcements for Bitbucket Server.
Note that:
- Stash 3.2 does not support Git 2.0.2 or 2.0.3.
Home directory migration
When you update to Stash 3.2 or later, an update task migrates directories in your Stash home directory to new locations. This is irreversible – once you update to Stash 3.2 or later you can not revert to Stash 3.1 or earlier, because of changes to the Stash home directory format.
For most installations, Stash 3.2 is able to perform these moves automatically and transparently. However, in the rare instance where Stash 3.2 can't perform the update automatically, please refer to Upgrading your Stash home directory for Stash 3.2 manually.
Undocumented home directory overrides are no longer supported
Before Stash 3.2 it was possible to override the location of the following subfolders in the Stash home directory, using undocumented environment variables or system properties:
export
bin
caches
config
data
lib
lib/native
log
plugins
tmp
tmp
subfolder can be overridden in this way. Attempting to override the others will fail on startup. For more information, please see Stash fails to start - UnsupportedDirectoryOverrideException . Stash analytics
Stash 3.2, and later, collects user event data, unless this is disabled by an administrator. You will see outgoing network traffic to amazonaws.com. See Collecting analytics for Bitbucket Server.
Known issues
Stash 3.1 update notes
Also see:
- the general update steps section above.
- the Stash 3.1 release notes.
- the Stash Supported platforms page.
Note that:
Known issues
Stash 3.0 update notes
Stash no longer supports Java 6
Stash 3.0 requires at least Java 7, and supports Java 8.
Please see the End of support announcements for Bitbucket Server.
Your plugins may not be compatible with Stash 3.0
The interfaces in the Stash API for plugin developers that were deprecated in Stash 2.11 and earlier have been removed in Stash 3.0. This means that, unless they have been updated to work with Stash 3.0, existing Stash add-ons (or plugins) that use these interfaces will not work with Stash 3.0.
Please see the section below about Stash add-on incompatibilities for more details.
Also see:
- the general update steps section above.
- the Stash 3.0 release notes.
- the Stash Supported platforms page.
Note that:
- Stash now has installers for the Linux, macOS and Windows platforms.
- Stash no longer supports Internet Explorer 8, as previoiusly announced.
- Stash does not support the Apache HTTP Server
mod_auth_basic
module. - Stash does not support Git 2.0.2 or 2.0.3.
Stash add-on incompatibilities
Unless they have been updated to work with Stash 3.0, existing Stash add-ons (or plugins) that use the API interfaces that have been removed in Stash 3.0 will not work.
Fresh installs of Stash 3.0 shouldn't encounter any problems. The Stash 'Manage add-ons' page (in the admin area) should only display add-ons from the Marketplace that have been marked as compatible with Stash 3.0. Incompatible add-ons won't be available in the list.
However, if you are upgrading from Stash 2.x to Stash 3.0, you should be aware that some existing installed add-ons may be incompatible with Stash 3.0. After upgrading, you should go to Admin > Manage add-ons, look for messages of this form, and follow the advice to update:
If no newer version is available, the add-on must be disabled.
Custom add-ons
Please note that your custom locally-developed plugins may be affected by the API removals in Stash 3.0. You will need to update your custom plugins if you want those to work with Stash 3.0. See the Stash API changelog for details of the deprecated APIs.
Third-party add-ons
You'll need to check on Atlassian Marketplace for the compatibility status of any 3rd-party add-ons that you use.
Third-party add-on developers have been given an Early Access Program (EAP) build of Stash 3.0 in advance of release, and many have already updated their add-ons to be compatible. Add-ons must be explicitly marked by the publisher as compatible with Stash 3.0 for them to appear in 'Manage add-ons' page in Stash. This is NOT automatic as was the case with previous minor releases such as 2.10 and 2.11. Atlassian can not support issues involving third party Add-ons that are incompatible with Stash 3.0; such support cases must be directed to the third-party publisher of the add-on. See Managing apps.
Atlassian add-ons
All of the Atlassian add-ons for Stash that are available from the Atlassian Marketplace have been updated to be compatible with Stash 3.0. If you use any of these in your Stash installation you'll need to update them to the Stash 3.0 compatible version.
Add-on | JAR file name | Stash 3.0 compatible version |
---|---|---|
Custom Navigation Plugin | custom-navigation-plugin | 2.0.3 |
Stash Archive Plugin | stash-archive | 1.3.0 |
Repository git operations plugin | stash-git-ops-plugin | 1.2.1 |
Stash Auto Unapprove Plugin | stash-auto-unapprove-plugin | 1.1 |
Stash Protect Unmerged Branch Hook | stash-protect-unmerged-branch-hook | 1.1 |
Stash Reviewer Suggester | stash-suggest-reviewers | 1.2 |
Stash Web Post Hooks Plugin | stash-web-post-receive-hooks-plugin | 1.1.0 |
Realtime Editor for Stash | stash-editor-plugin | 1.0.6 |
Known issues
Stash 2.12 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server. In particular, note that support for Java 6 is deprecated. Stash 3.0+ will require Java 7.
- the Stash 2.12 release notes.
Note that:
- Stash does not yet support Java 8.
- Stash 2.12 does not support Git 1.8.4.3
- Stash does not support the Apache HTTP Server
mod_auth_basic
module.
See Supported platforms.
Known issues
Stash 2.11 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
- the Stash 2.11 release notes.
Note that Stash does not support Git 1.8.4.3, nor does Stash support Java 8 yet. See Supported platforms.
Known issues
Stash 2.10 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
- the Stash 2.10 release notes.
Note that Stash does not support Git 1.8.4.3. See Supported platforms.
Known issues
Stash 2.9 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
- the Stash 2.9 release notes.
Note that Stash does not support Git 1.8.4.3. See Supported platforms.
Pull Request Ref Optimization
When you first start Stash after upgrading to Stash 2.9 a repository update task runs that optimizes the pull request refs for all repositories managed by Stash. It's important that you do not interrupt this update process. You can track the progress of this in the Stash logs. See STASH-3469 - Getting issue details... STATUS .
Backup Client Update Required
Version 1.0.3 of the Stash Backup Client is required to back up Stash 2.9.
Known issues
Stash 2.8 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
- the Stash 2.8 release notes.
Known issues
Stash 2.7 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
Repository System Information Plugin is now deprecated
The functionality of the repository system information plugin has now been moved into core Stash. The plugin will still work for Stash 2.x versions but is redundant as of Stash 2.7.
MySQL default isolation level
Stash 2.7.x uses READ_COMMITTED instead of the MySQL default isolation level (REPEATABLE_READ). This can result in exceptions when installing or upgrading to 2.7.x, if binary logging is enabled in your MySQL server. More details and a fix can be found in this KB article.
Known issues
Stash 2.6 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
Known issues
Stash 2.5 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
Known issues
Limited support for JIRA 4.4.x and earlier
JIRA 4.3+ allows for showing commits associated with issues in JIRA. However, viewing issues within Stash is not supported for JIRA 4.4.x and earlier.
Stash 2.4 update notes
Also see:
- the update steps section above.
- the End of support announcements for Bitbucket Server.
Known issues
Stash 2.3 update notes
Please also see the update steps section above.
When upgrading to Stash 2.3 you also need to update the SCM Cache plugin, due to recent Stash API changes.
Known issues
Stash 2.2 update notes
Please see the update steps section above.
Known issues
Stash 2.1 update notes
Please also see the update steps section above.
Known issues
Install location for third-party libraries
As of Stash 2.1 you can install third-party libraries and jar files, such as the MySQL JDBC driver, into <Stash home directory>/lib
. This has the advantage that files in this location are not overwritten, and lost, when you update Stash.
Microsoft SQL Server JDBC driver
Stash 2.1 now uses the Microsoft SQL Server JDBC driver to access Microsoft SQL Server, instead of using the jTDS driver. In most cases, Stash will automatically swap to using the Microsoft driver on update and no configuration is required.
If Stash was configured to use Microsoft SQL Server by manually entering a JDBC URL, please refer to this guide.
Stash 2.0 update notes
This section provides specific notes for upgrading to Stash 2.0. See also the update steps section above.
Tomcat
For Stash 2.0, Tomcat has been updated from version 6 to 7. As part of that update, the server.xml
file has changed. If you have customized server.xml
(for example, for port
, path
or hostname
), you can not simply copy your own version across to the updated Stash; you must reapply your customizations to the server.xml
file for the new version of Stash.
If you were running Stash as a Windows service and are upgrading from 1.x to 2.x you will need to reinstall the Stash service to make it use Tomcat 7.
To uninstall the Stash service you need to execute following commands from <STASH DISTRIBUTION DIR>\bin:
> net stop <service name>
> service.bat uninstall <service name>
You can call this command without the service name if you installed the Stash service with a default name.
After the service is uninstalled you can proceed with the update steps and Running Bitbucket Server as a Windows service instructions to configure Stash 2.x running as a service.
Perl
Stash 2.0 requires Perl for its branch permission functionality. If Perl is unavailable, Stash 2.0 will not start.
On Windows machines, Perl will only have been installed by the Git installer if the correct install option was chosen. See Installing and upgrading Git.
Existing Git hooks
In order to support Branch Permissions, Stash 2.0 moves existing hooks in the pre-receive
and post-receive
folders under <Stash home directory>/data/repositories/NNNN/hooks
(where NNN is the internal repository id) to .../hooks/pre-receive.d/10_custom
or .../hooks/post-receive.d/10_custom
. Consequently, custom hooks that use relative path names (e.g. "./foo.sh" or "../dir/foo.sh") will be broken by the update to Stash 2.0.
Deprecation of Internet Explorer 8
Support for Internet Explorer 8 is deprecated from the release of Stash 2.0. The official end-of-support date is yet to be determined. See Supported platforms for details.
Known issues
Related content
- No related content found