Stack deprecation and removal policy

We don't keep all stacks around forever: our aim is to provide you with the latest tools to help you build the best app you can. However, we don't expect you to rework your build configuration every time a stack update comes out: you can keep using your reliable older stacks for a long time.

At certain points, we deprecate some older stacks. When a stack is deprecated, you can still keep using it but the stack will no longer get any updates and at that point we strongly recommend switching to a newer, non-deprecated stack.

Deprecated stacks are eventually removed entirely but don't worry: we'll give you plenty of warning in advance before that happens.

Maintaining Xcode stacks

We keep the latest patch version of every minor Xcode version as long as that Xcode version is the latest major version.

In addition, we keep the very last minor+patch version of the previous two major Xcode versions

Example 1. Maintaining Xcode stacks

When the latest Xcode version was 12.5.x, we kept:

All the latest patch releases for every minor version of Xcode 12:

  • 12.5.x

  • 12.4.x

  • 12.3.x

  • 12.2.x

  • 12.1.x

  • 12.0.x

And the latest versions from the previous two Xcode major versions:

  • 11.7.x

  • 11.6.x

  • 10.3.x


Deprecating and removing Xcode stacks

  1. When the first beta of the next major Xcode version is released, we deprecate all the minor versions of the last major version, except the very last version.

    Example 1. Deprecating Xcode stacks when a new beta version is released

    When Xcode 12 beta was released, we deprecated:

    • The oldest major version which was Xcode 9.4.

    • The minor versions of the last major version (Xcode 11 stacks) except for the last couple of minor versions (Xcode 11.6 and 11.7).


  2. When the first final (non-beta) version of the new major Xcode version is released, we remove the deprecated stacks; the oldest major version as well as the minor versions of the last major version except the latest minor version.

    Example 2. Removing stacks when a final Xcode version is released

    When Xcode 12 (final, non beta) was released, we removed:

    • The oldest major version which was Xcode 9.4.

    • The minor versions of the last major version (Xcode 11 stacks) except for the last couple of minor versions (Xcode 11.6 and 11.7).


This means that the latest patch release version of Xcode is supported for about 2.5 years, in sync with Xcode major version releases.

Deprecating hybrid stacks

When a new version of Visual Studio for Mac (vs4mac) comes out:

  • The current Visual Studio for Mac, Stable channel stack becomes the Previous Visual Studio for Mac, Stable channel stack.

  • The current Previous Visual Studio for Mac, Stable channel stack gets deprecated.

This means that the Visual Studio for Mac, Stable channel is supported for about one year, in sync with the major Xcode version releases.

Deprecating Android & Docker stacks

An Android & Docker,on Ubuntu stack is supported for about two years, roughly in sync with Ubuntu LTS (long term support) releases.

When a previous Android & Docker,on Ubuntu stack reaches end of maintenance, we deprecate the stack and earmark it for removal. At that point you can no longer select the stack for your apps. But the apps that are already using those stacks can keep using them until removal. We will warn you of scheduled removals well in advance so you can plan for them.