Stack update policy
Bitrise stacks are updated every week: some stacks are completely rebuilt while on others only certain cache archives are updated.
Bitrise stacks include the most important tools for mobile development pre-installed and ready for use. Our goal is to make Workflows simple and make your builds fast and efficient. These tools change continuously: old versions become deprecated and unsupported while new versions are released with new features and breaking changes.
Stacks on bitrise.io are updated regularly. The updates contain one or more of the following kinds of changes:
-
Tool upgrade: An already installed tool is upgraded to the latest version (for example, the git CLI is upgraded from 2.9.1 to 2.9.5).
-
Tool addition: A new tool is added (for example, the latest Android emulator system image becomes preinstalled when a new Android version is released).
-
Tool removal: A tool version is removed if it reaches end-of-life and poses a security risk, making another version of the tool the default (for example, Ruby 2.7 is removed, making Ruby 3.0 the new default).
-
Platform changes: Changes to major components, like Xcode on macOS stacks, OS versions, Android SDK.
If you wish to read more on our Linux and MacOS stack update policies, check out:
Using the previous version of a stack
Updating a stack to a new version might cause problems with some builds. To help ease the transition, you can use the previous version of a stack for 2-3 days after an update: Using the previous version of a stack.
For more information on what tools are available on the different stacks, check out our relevant guide: Preinstalled tools on Bitrise stacks
Using the previous version of a stack
We regularly update the Bitrise stacks based on user requests and external tooling changes. These updates can potentially introduce breaking changes, despite our efforts to avoid those.
For those cases, we provide a temporary option to use the previous version of a given stack for a few days after the release of a new version.
-
This is meant to be a temporary mechanism only. Because of infrastructure reasons, we can't keep the previous release available forever. Usually, the previous version is removed a few days after a successful release.
-
Once the previous version becomes unavailable, new builds run on the latest version even if this feature is enabled.
-
If a previous version is not available for a given stack at a given time, the switch is inactive and the feature can't be turned on. Any build triggered will run on the current version of the stack.
To use the previous version of your stack:
Workflow Editor
bitrise.yml
-
Log in to Bitrise and select Bitrise CI on the left, then select your project.
-
Click the
button on the main page. -
Go to the Stacks & Machines tab.
-
Find the stack you want to configure: either the default stack or one of the Workflow-specific stacks.
-
Under the machine type for the chosen stack, toggle the Use previous version switch.
This modifies the
bitrise.yml
file: it adds the previous version of the stack to themeta
block.
If you store the bitrise.yml
file in your own repository, you need to
specify the exact rollback version in a meta
object. You cannot use the toggle in the Workflow Editor to turn the feature on because the toggle can only modify a configuration file stored on Bitrise: we cannot edit the bitrise.yml
in your repository.
Unavailable versions
If the specified version is not available, the Workflow Editor will display a warning. Any build triggered after a previous stack version becomes unavailable will run on the current stable version of the stack.
-
Find the
meta
block in yourbitrise.yml
file. -
Add a
stack_rollback_version
field with the given version string.Finding out the previous version number
To find out the previous version string, open an older build, switch to the Details & Add-ons tab, and look for the Stack image version field.
meta: stack: osx-xcode-15.0.x machine_type_id: g2-m1.8core stack_rollback_version: 2-16-2