Deprecating Ubuntu 14.04 and 16.04 images: EOL 5/31/22


This applies to jobs using machine: true or specifying a Machine image based on Ubuntu 14.04 or 16.04. Ubuntu 16.04 has reached the end of its LTS window as of April 2021 and will no longer be supported by Canonical. As a result, ubuntu-1604:202104-01 is the final Ubuntu 16.04 image released by CircleCI. We suggest upgrading to the latest Ubuntu 20.04 image for continued releases and support past April 2021.

Note: This also affected our flagging for configurations running with Remote Docker instances - please reference our Discuss Announcement on Remote Docker Environment updates set using setup_remote_docker key.

Please contact CircleCI Support with any questions or issues that arise during migration.

Schedule [Includes Brown-Outs]

Please reference our published schedule in our blog post Deprecating Ubuntu 14.04 and 16.04 images for important dates regarding the deprecation.

What is a deprecated image?

If you don’t specify a machine image, you are using the default image and you’ll need to take action. 

Currently, when using machine: true  builds are using  a Ubuntu 14.04 image. If you do not specify an image, your build will be using the default image which will be Ubuntu 22.04 as of  31-May-2022. This may lead to a breaking change. You can tell if you fall into this category if any of your jobs look like this:

    machine: true # This is using the default old machine image
      - checkout

Or it may look like this which is an example of a 14.04 based image:

      image: circleci/classic:201709-01 # This is an image based on Ubuntu 14.04
      - checkout


How can I know if my project is using deprecated Machine images?

You will see a warning on a job's build details itself, if the job is using a deprecated Machine image.

Screen_Shot_2022-03-14_at_18.29.50.pngNext, if you have the CircleCI CLI tool installed, you can also run `circleci config validate` against your project's .circleci/config.yml. 
The validation will return an error if your project's build config is still referencing deprecated Machine images.

Here is an example from the CLI output when we are referencing a deprecated Machine image.

$ circleci config validate

Error: The config is using a deprecated Linux VM image (circleci/classic:201709-01). Please see This error can be ignored by using the '--ignore-deprecated-images' flag.

How to Locate Image Use using GitHub Search

This does not find executors used via orbs or using the default machine:true - keep in mind if you are using an older version of an orb, it may have an executor using the Ubuntu 14.04 and 16.04 images

How to look for a Ubuntu 16.04 image

Replace CircleCI-Public with the org that needs to be searched. This searches all projects in that org that mention that image:

org:CircleCI-Public ubuntu-1604 path:.circleci filename:config.yml 

How to look for an Ubuntu 14.04 images

Replace CircleCI-Public with the org that needs to be search. This searches all projects in that org that mention that image:

org:CircleCI-Public circleci/classic path:.circleci filename:config.yml

Machine Image Migration Guides

The following options are available, given the deprecation of older images, our recommendation is to update your image following our guides:


See our documentation update on our newer machine images.



Was this article helpful?
1 out of 3 found this helpful



Article is closed for comments.