The new Insights dashboard offers engineering teams access to actionable data for optimizing pipelines and getting even more out of CircleCI. With this feature, engineering teams will be better able to understand bottlenecks and identify optimization opportunities. Teams will be able to track workflow & job status, monitor duration and understand their pipeline throughput & mean time to recovery. Finally, Insights will serve to highlight the impact of more efficient CI/CD and to foster a better relationship with customers and provide a better experience. For more information, see the Using Insights guide.
The new Custom Plan will automatically track your usage, be able to provide real-time credit usage and balance information, and produce reports to accounting for invoicing. You will also be able to use user seats and be billed via credits for the usage.
Pipelines can now be triggered via the API for PRs (using PR number instead of branch), PR merge commits, and Forked PRs. This enables you to more easily validate new code from PRs. Triggering on PRs and PR merge commits offers the ability to better validate PRs in a programmatic way. Triggering pipelines on forked PRs is valuable for customers who have open source repositories that are frequently forked.
All Pipelines are now listed with the commit SHA in front of the commit message, which links directly to the commit in your VCS. This gives you a quick way to get to commits in your VCS from the Pipelines page.
We now offer a way for our user community to find all the best CI/CD config optimizations, migration guides/tools, and CircleCI docs, along with assets like CI configuration packages through CircleCI orbs and a newly designed Docker convenience image library, in one convenient place on our new developer hub. Check out the announcement here.
Multiple contexts can now be used in a Workflow. Previously, workflows were limited to having a single context. Instead of passing in a string to the context key in the config file, a list may be passed containing the contexts to be used in the workflow. This makes updates to contexts easier to manage and more secure.
The ‘credits available’ section of the Plan Overview in the UI has been updated to clarify some confusion around understanding credit balance. The bar display has been removed and the credits balance is now clearly shown.
The config error message shown when there is an empty config file on triggering a pipeline has been improved to both clearly state the problem, and provide a way to get back to project setup to add a config.
The button to manually add a config when starting a new project now reads “Use Existing Config”. Previously, this text read “Add Manually”. Through user research it was found that the new text directly encompasses many more use cases, including existing users with existing config ready to go.
The metadata section at the top of the Job page has been reworked to better group related concepts and include new labelling. This redesign makes it more clear which link is for which feature, especially for those not familiar with icons for branch, commit, PR etc.
The Pipelines page has been redesigned to merge the Project and Pipeline number columns together and make the font smaller across the whole page. This change allows you to see more pipelines on the dashboard without scrolling.
If you use Remote Docker in your Pipelines (setup_remote_docker) you now have the option of choosing Docker v19.03.12. For more information see the Discuss post. For usage information, and a full list of available versions see the Remote Docker Docs
Waiting indicates the time spent preparing a job to run due to Docker image choice and CircleCI infrastructure time.
Queued indicates when you hit a concurrency plan limit, and your job isn’t running because other jobs in your organization are running first.
These two definitions were previously vice versa in the UI, which caused confusion due to discrepancies between usage in the UI and what most customers understood the terms to mean. We hope this change will avoid any confusion in future.
Container cgroup limits are now visible when using the Docker executor. This means that container-aware build tooling will now correctly detect the number of CPUs and amount of RAM available to the job.
You can also view these numbers directly by looking at the files in the /sys/fs/cgroup directory:
The Plan Usage page in the new UI now includes a Compute tab, showing compute minutes and credits by executor type. You can also further filter the breakdown by projects. MacOS container plan users will also see overages within this tab.
If you are not currently on a usage plan, this page will show compute usage by credit and user to give an indication of what to expect on the usage plan.
Previously, queue and wait times were hidden behind an information icon hoover-over. They are now in their own section in the Job Details header. User-research showed these items were hard to find and folks did not like them being hidden.
You can now approve jobs with API v2. The new endpoint is POST /api/v2/workflow/:workflow-id/approve/:approval-request-id. The approval request id is the ID of a pending approval job, which will also be returned as an approval_request_id on approval jobs returned by the API. For more information see the API v2 docs.
A new Machine executor image ubuntu-1604:201903-01 is now availabe, with Docker 19.03 pre-installed. See this Discuss post for the list of the versions of core software also available in this image. Check out the Machine executor docs for instructions on how to use this image with the Machine executor.
Slack has been a powerful way for orgs to get status updates and custom alerts. We’ve brought it back in the new UI under Project Settings to aid users to solve their problems more efficiently while remaining in their Slack workflow.
All non-HTML build artifacts on CircleCI now redirect to short-lived pre-signed cloud storage URLs. This change has been made to improve the performance of our artifacts hosting.
If you are using a web browser to view HTML resources, such as test/coverage reports or download tarballs/zip files, you will not need to change anything.
If you are using curl or another HTTP client that does not follow redirects by default, you will need to enable redirect support. For curl, you will need to add an -L flag. Please check the docs for more information.
Autocommit is a new feature that allows you to commit a sample language-specific config direct to a new branch on your repo when adding a project, making it even quicker to start building on CircleCI. You can also edit the config prior to committing. These features are in addition to the option to manually commit a config file.
Wait and queue times can now be accessed for each job in the new UI. Hover over the i next to the Duration at the top of the job details page, and the wait time and queue time appear as a tooltip. This information has been added to the new UI to make it easier to get information on edge-case failures in your pipelines.
The Legacy Jobs view in the new UI provides an overview for all jobs, regardless of whether they have pipeline processing enabled. We are aiming to move all customers over to pipeline processing, and this view has been added to provide the information you need for all projects during this transition period. Access the Legacy Jobs view at the end of the Pipelines List page.
Project and branch names are now included in the navigational breadcrumb trail in the new UI, placing essential pipeline information in view and making it quicker and easier to navigate to the pages you need.
From March 9, 2020, CircleCI will begin to enable pipelines for all projects. A pipeline contains all of the workflows (and the jobs inside those workflows) that CircleCI runs after a trigger on your project. A pipeline can be triggered by a pull request, a commit, or even an API call. Read more on our Discuss post.
As we build the new UI, faster page-load is important to us. We initially built the Step Output section to load with react-virtualized, meaning that only the visible rows were rendered. This allowed us to show colorized output with an even faster load/scrolling time than the old UI. In theory it was brilliant, in practice it broke the ability to use native browser search tools like CMD+F to find specific words before or after the rendered text. During user research, we watched many CircleCI users attempt to CMD+F in the Step Output, and not find what we were looking for. As a result we pulled out react-virtualized and enhanced colorized output from the step output. Color we can compromise on, usability we cannot.
Resource type and class is now displayed in the new UI for each job. This helps customers optimize pipelines, debug runs that fail due to lack of resources, and identify projects that could build faster with a different resource class.
You can now page through older Pipelines using the See More button at the bottom of the Pipelines Page in the new UI. Up until now only the last 20 Pipelines were available. Please note that due to API contraints, paging through older Pipelines will disable the live update of currently running Pipelines on the page.
You can now cancel and rerun workflows from the Workflow Detail page. Previously this functionality was only available from the Job Detail page. This change was made after data analysis indicated that most users were rerunning workflows from the workflow level rather than the job level on the old UI.
Manual approval of hold jobs is now fully functional in the new UI. To approve a job, click the name of your workflow from either the Job Detail page breadcrumb, or the Pipelines List page to navigate to the Workflow Map. You will see the approval job has a purple status icon. Click the job and a button will pop-up to confirm approval.
You can now try out Pipelines on an individual branch before switching your whole project over. There are two ways to try this — 1) If you use config version 2.1 your run will now automatically trigger a pipeline. 2) If you want to keep your version 2 config you can use a new key pipelines under experimental in your config.yml it would look like the following:
Version 2 config with pipelines enabled will now automatically have the CIRCLE_COMPARE_URL injected into the job configuration. Previously, if you referenced CIRCLE_COMPARE_URL in a version 2 config, then turned on pipelines, it would disappear. This fixes that issue. For version 2.1 config we do not automatically inject CIRCLE_COMPARE_URL. Instead, we have exposed metadata about the pipeline for you to use more granularly. Mosts users end up parsing out CIRCLE_COMPARE_URL, so instead we did that work for you. In version 2.1 config you can now do the following:
New pipeline metadata values can be referenced in your 2.1 configuration. Unlike CIRCLE_ environment values, these pipeline values are available at config processing time, so you could choose to use them in your configuration superstructure outside of jobs. For example, you could use pipeline values as strings for your working_directory or your image key under a job. Read more in our Pipeline Variables guide.
The workflows graph is now available in the new UI, with improvements in the way job connectivity is displayed, compared to the old workflows graph. This core feature displays a visual representation of how jobs fit together within your workflow.
You can now access your configuration files, both pre-processing and post-processing, from the new UI, when opted in. The config file links are available from both the Job Details page at the top right, and the Pipelines list page via the 3-dot drop-down menu.
After loads of great feedback we have determined our Job Details page in the new UI now adds far more value than the old UI equivalent. We are beginning to automatically opt-in customers who will benefit most from the new view – those who primarily use the Job Details page (as opposed to needing the Workflows Map). A welcome message will be displayed on arrival and you can opt-out at any time.
You will soon be able to access User Settings from within the new UI experience when opted in. Everyone will have access by the end of next week. Just click on your profile icon at the bottom of the left-hand panel to view User Settings.
CircleCI’s new usage-based pricing scheme expands your capabilities to optimize and scale CI/CD pipelines. Eliminate queuing, get full access to resources, optimize your compute power, while only paying for what you use. Read about our new pricing model and learn more about usage-based pricing in our blog post.
If you are on the Performance Plan, you will start to see refill amounts changing at the next billing date. Based on feedback about a high number of charges for refills, the refill amount has been increased from 10% to 25%. The refill will automatically be attempted when the plan reaches 10% of credits remaining.
If you are on a CircleCI Free plan, you may now access the Windows compute type. To access Windows, add the specification in your .circleci/config.yml file. Refer to the Hello World Windows document for instructions.
To try it out, Enable Pipelines in your Project Settings and then click the opt-in banner available on any Job Detail page.
We are actively monitoring feedback and bug reports through a poll that appears in the app. The data and commentary we receive directly impacts what we build next, so opt-in to be a part of making CircleCI better!
Rerun with SSH available on experimental new UI
Rerun with SSH, the top new requested feature from in-app feedback from new UI users, is now available. We are rolling out this feature slowly to monitor for bugs, but we are excited to honor the feedback.
Customers on the Performance plan and macOS plan can now build using Xcode 11.0 (as of Sep 20th) and Xcode 11.1 (as of Sep 26th). Please see our iOS documentation for the details of software installed in these new images.
Cancel Button in the New UI
For users opted-in to the New UI experience, jobs can now be cancelled from the Job Detail page.
New Navigation System in the New UI
Previously, the Pipelines page was only available from the breadcrumb on the Jobs page, or through the URL. A new central navigation system now appears on the left-hand side of the screen with a Projects menu on the Pipelines page.
To unlist your published orbs from the registry, use the new circleci orb unlist CLI command. For details, refer to the help page. Unlisted orbs remain world-readable when referenced by name but will not appear in the search results of the orb registry. Unlisted orbs can be listed again using the circleci orb unlist <namespace/orb> false command.
For Free plans, the Plan Usage page has been updated to provide you with more visibility into how you’re using the product. The total number of build minutes and users now appears on the along with the breakdown of usage by projects and a list of users for each month.
Build minutes and corresponding credits were also added to the page to help you understand your credit usage if you choose to upgrade to the Performance plan.
We know how painful it is to have delays in Xcode image availability. We’ve been working to reduce the often 2-3 week delay as we validate security, availability, and performance in our release process. We are now down to under 3 days on the last four releases and expect this trend to continue.
You can now find Artifacts the new UI Job Details page. We started with a flat list after numerous customer interviews. It’s no surprise that “find” is our friend. We will eventually build a search bar to filter artifacts - but hey, cntrl-f is easy. Please give it a whirl and share your feedback.
CircleCI customers on Performance plans can now run jobs on Windows Server 2019 with popular dependencies— .NET support, Visual Studio, Windows SDK, Docker for Windows, as well as cross-platform workspaces, and caches. Learn more about Windows support here.
Customers on FREE plans will notice a change in how their monthly minutes are allocated. Customers will retain 1,000 FREE minutes per month and will receive them in increments of 250 minutes per week. This will allow customers to budget credits in a more manageable way while aligning with a Mon - Fri work week.
Performance Plan customers will now be alerted when they have used up their user seat allotment. These customers will need to update their subscription to allow all of their team members to use CircleCI.
CircleCI enables you to restrict environment variables at run time by adding security groups to contexts. Security groups are definied as GitHub teams. After a security group is added to a context, only members of that security group who are also CircleCI users may access or use the environment variables of the context. See the Restricting a Context documentation for details.
In an effort to improve incident reporting, CircleCI replaced status banners with a gauge icon in the application.
Our goal is to provide you with a better understanding of your pipeline’s current system health which includes CircleCI
infrastructure and common external dependencies. Before, banners hid root cause and communicated issues to everyone even
though the incident was relevant to few. Now, a gauge icon will give you a dynamic view into general infrastructure health
and fast access to https://status.circleci.com for deeper details.
Orbs are packages of CircleCI configuration shared across projects. Orbs help you simplify YAML configuration, enable you to build on top of CircleCI, and support sharing of standardized configurations across your projects.
This release provides you with access to certified orbs for AWS CodeDeploy, Rollbar, Artifactory, CodeCov, Heroku, Slack and more. You can also create and publish your own orbs using the CircleCI CLI. Refer to the CircleCI Orbs Registry for the complete list of certified orbs.
To learn about using and creating orbs, see the following documentation:
The CircleCI CLI command orb list now has an optional flag, --json, that provides machine-readable output.
In addition, the CLI command orb source has been updated to allow you to pull any version, including dev versions, for example:
CircleCI 2.1 config keys are now available for reusing commands, executors, and parameters to simplify your .circleci/config.yml file. See the Reusing Config document for examples and instructions. Refer to the Configuring CircleCI reference for 2.1 syntax requirements.
We have released the Xcode 10 image on CircleCI 2.0. Add the following to your .circleci/config.yml file to select that version of Xcode in your jobs:
Note: A known issue, for which a fix is in-progress, prevents shipping iOS apps built on the Xcode 10 image to the App Store.
For Cloud Container macOS plans, there is an improved flow for adding containers on the Plan Overview page. This can be found under Settings > Plan Overview.
New projects are now created with 2.0 config by default and have Build Processing enabled.
CLI users are now prompted to switch to the updated CLI. All commands are backwards compatible, however some have been officially renamed. For example, the circleci build command is now an alias for the circleci local execute command.
For Performance Plans, total build minutes and credit usage for top projects is now displayed on the Plan Usage page. This can be found under Settings > Plan Usage
For Linux Plans, there is an improved path for adding containers on the Plan Overview page. This can be found under Settings > Plan Overview
Disabled Fixed notification through email or chat, if you have defined workflows as part of your configuration.
A new version of the Local CLI is available. Customers using the existing Local CLI can update using the circleci-update command followed by the circleci switch command. Refer to Using the CircleCI Local CLI for the update instructions.
Performance customers can now see the billing period dates on the Plan Overview page.
A new Plan Overview page that shows the details for plan selection and a new Plan Usage page that shows usages for any applicable Linux and macOS plan.
CircleCI has developed an improved builds service that is ready for preview. The improved build service is the first step to a healthy roadmap of parameterized commands, config reuse across projects, improved DRY support, and better error reporting.
A preview is currently available for a few of our most adventurous organizations this week, and we plan on rolling it out to more projects in the coming weeks before it is publicly available. If you are adventurous and want to switch to the new service, be sure to read the preview docs before requesting approval.
With 2.0 you can do a lot more with the config.yml file. However, there are those times when edits result in schema errors. The CircleCI config processor now creates and returns a specialized Job that references the specific schema error(s) in the Job list. Learn more about our recent move to the terms Workflow and Job.
The following features and additions are now available.
New Workflows Feature: If your project has a large number of tests, you can use the circleci tests split command to reduce your job run time. This feature is now supported with Workflows. For more information on how to set up test splitting, see the Splitting Test Files section of the Running Tests in Parallel documentation.
Performance Improvement: CircleCI has upgraded the mechanism that returns gettimeofday calls. As a result, heavy users of syscall will see an aggregate improvement in performance. Most noticeably this will improve the run time of projects with heavy usage of profiling tools and Xdebug with PHP.
Added: This release adds a Plan Overview page for customers on the Performance pricing plan to enable Admins to see their selection from the Settings.
Added: Customers who are still building on CircleCI 1.0 will now get a reminder to upgrade to CircleCI 2.0 in build emails.
The release of CircleCI 2.0 for macOS enables your iOS projects to benefit from the significant performance, stability, and reliability improvements in the CircleCI 2.0 platform, including the following new features:
Workflows: Orchestrate jobs and steps with great flexibility using a simple set of new keys in your configuration. Increase the development speed through faster feedback, shorter reruns, and more efficient use of resources.
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.
Get started with the complete set of documentation for the macOS platform:
The button on the Jobs page has changed for jobs that run as part of a workflow. The rebuild options that are not compatible with Workflows have been removed from the button on the Jobs page. Jobs that ran as part of a workflow will only include the Rerun Job with SSH button on the Jobs page.
To rerun a job that ran as part of a workflow, you must navigate to the Workflows page of the CircleCI application and either rerun your entire Workflow or rerun your Workflow from failed jobs.
This feature enables Workflows to run on a configurable schedule. Refer to the Scheduling a Workflow section of the Orchestrating Workflows document for instructions and examples. Reference information for syntax is available in the triggers section of the Writing Jobs With Steps document and answers to common questions are documented in the Workflows section of the Migration FAQ.
Today we updated our Xcode 9.0 image with the just released Xcode 9.0 GM
Seed (build version 9A235). Please check out this post on our Discuss
for more details on how to use the latest Xcode in your macOS builds.
This feature adds the used minutes to your Org Settings > Plan Settings page. This feature displays used minutes against Linux machines. It expands on our current functionality which shows minutes used against OS X machines and is located on the same page: Org Settings > Plan Settings.
Data appears for Orgs with a billing date after Aug 31, 2017. So, a new org will immediately see minutes used, and existing orgs will see the minutes used appear within the coming 30 days, depending on the billing date for your plan.
This feature enables sharing of global environment variables across projects. Refer to the instructions and examples in the Setting Contexts document and the Job Contexts Example section of Orchestrating Workflows.
This feature enables filtering on Git tags for jobs in workflows using CircleCI 2.0. CircleCI will not run a job for a Git tag unless a tags filter is specified. Refer to the instructions and examples in the Workflow Tags section of Writing Jobs With Steps and in the Git Tag Job Execution section of Orchestrating Workflows.
CircleCI 2.0 is a completely updated CI/CD platform that starts every run with a clean image which is automatically provisioned just-in-time for Linux and Android jobs on the hosted CircleCI application.
Configuration moves into the code in 2.0, so every developer can configure jobs directly in their working branch, teams can try new things without the risk of slowing anyone else down, and business leaders have the ability to operate large global teams with minimal overhead. CircleCI 2.0 prevents you from writing clean-up scripts because every run starts in the same state, eliminating the risk of polluting a test database or leaving files in places that cause problems for the next run.
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 from their Customer Success Manager, non-paid users may request to get started by sending email to email@example.com.
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 SSH in to builds for access to log files and debugging running processes. See Using the CLI documentation to learn about running local jobs and refer to Debugging Jobs over SSH for SSH instructions.
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.
A fix to the pricing plan has been implemented which limits Linux plan capacity to the published maximum. As a result of this change, you may see builds queuing until the requisite containers are available.
This feature enables core dumps for projects using CircleCI 2.0. Get core dump files and push them as artifacts for inspection and debugging using the instructions in the Uploading Build Artifacts document.
The Workflows feature is available on CircleCI 2.0. It is designed with a flexible algorithm to support very complex job scheduling and orchestration using a simple set of new configuration keys. See the Steps to Configure Workflows section of the Migrating from 1.0 to 2.0 document for instructions. Refer to the Orchestrating Workflows document for examples and conceptual information.
This feature enables users to log in to CircleCI with a Google account and provides new users with the opportunity to experience the application and selected demo projects without providing access to their code repository.
Now you can filter your build emails by project without doing
subject matching. This feature adds the standard List-ID header
with organisation.project.notifications.circleci.com to make it easy
to filter build emails into per-repo or per-org folders.
This feature enables you to import project environment variables from projects in the same organization to save time and typing. On the Settings screen for your project, click the Import Variable(s) button on the Environment Variables page and select from the list.
Looking for the builds most relevant to your actions? You can now filter builds by “my builds” (builds you triggered) or “all builds” (builds triggered by other users on your team). The filter can be found near the top, right-hand corner of your dashboard. Currently, this feature is only available on the organization and project-level.
It is now possible to control whether to run builds for pull requests
coming from forks and whether to pass the secrets from the main project
to the fork on such builds, via two separate settings. Check out the
Advanced Settings tab for your project for more details.
A few weeks ago we started downloading CocoaPods specs from S3 instead
of Git in projects that use our iOS inference. It is now also possible
to download the specs from S3 in projects with manual configuration.
Please check out this
for an example of downloading specs from S3 via a circle.yml command.
It is now possible to upload provisioning profiles under the ‘Permissions’ section of your OS X project settings. Once uploaded, we will automatically import the profiles during your OS X builds. Profiles are encrypted at rest on the CircleCI side.
This update removes the need to keep the provisioning profiles checked into your repository and simplifies the setup of code signing for new OS X projects.
CircleCI offers the ability to link directly to build output steps. We’ve now extended this feature into build email notifications. You should now see a clickable ‘Failing Command’ on (failed) build notification emails which will open the build page to the failed command in your build output.