2.0 Docs

Welcome to CircleCI 2.0! The release of CircleCI 2.0 includes many improvements for faster performance and greater control. If you are new to CircleCI, check out the Overview for how it works and then use the Hello World doc to start your first project build. Refer to the Sample 2.0 config.yml File to try out multiple jobs with workflow orchestration, then head over to the 2.0 Project Tutorial.

Programming Language Support

Code that builds on Linux will generally build on CircleCI 2.0. For some language versions, CircleCI provides demo applications with YAML file templates and instructions:

Build projects in C, C#, C++, Clojure, Elixir, Erlang, Go, Groovy, Haskell, Haxe, Java, JavaScript, Node.js, Perl, PHP, Python, Ruby, Rust, Scala and many more.


The CircleCI 2.0 platform includes significant performance, stability, and reliability improvements along with the following new features:

  • First-class Docker Support: Choose any image to run your job steps, customizable on a per-job basis on a particular Git branch. Speed up your run times with advanced layer caching. Build docker images with full docker CLI support and full support for docker compose. Support for all programming languages and custom environments that offer more predictable output. See Specifying Container Images for instructions.

  • Workflows: Orchestrate jobs and steps with great flexibility using a simple set of new keys in your configuration. Share temporary files between jobs with workspaces for fan-in, fan-out, parallel, and sequential runs. Hold a workflow for a manual approval and restart a workflow from a failed job. See Orchestrating Workflows for details.

  • Resource Allocation: Configure your CPU and RAM needs on a per-job basis at the branch level, see the resource_class documentation for instructions. Paid accounts may request this feature by opening a support ticket (or via their Customer Success Manager when applicable) and non-paid users by sending an email to

  • Insights: Access interactive charts and analyses in seconds. Visualize trends in your build history to identify and pinpoint bottlenecks. Understand all of your builds at a glance. View the builds that fail most, so you can fix the slowest tests to improve efficiency. See the Collecting Test Metadata documentation for information.

  • Debugging with SSH and CLI: Perform local job runs, configuration validation and log in to a build with SSH for access to log files and to debug running processes. See Using the CLI documentation to learn about running local jobs and refer to Debugging Jobs over SSH for SSH instructions.

  • Parallelism: Automatic provisioning of containers as they are freed without waiting for other jobs to finish. See the Parallel Job Execution documentation for examples.

  • Advanced Caching: Speed up builds by caching files from run to run using keys that are easy to control with granular caching options for cache save and restore points throughout your jobs. Cache any files from run to run using keys you can control, see the Caching Dependencies documentation for strategies and steps.

We’re thrilled to have you here. Happy building!

The CircleCI Team