Legacy Changelog

This is what has changed at CircleCI recently. RSS Feed.

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.

Confirmation modal for stop building projects on CircleCI

We have added a confirmation message to prevent users from accidentally stopping the builds on CircleCI.

Interactive ‘Build Timing’ graph

We have added functionality to click through the 'Build Timing’ graph to access different sections of the build.

Anchor to a particular step within build output

Users can show share link to a particular step within their build output; Eg.https://circleci.com/gh/spotify/helios/5091#tests/containers/0/actions/4

Flash notifications for adding & deleting keys

We have added flash notification when users add or remove Apple Code Signing key, API permissions, SSH key or environment variables.

Tag builds to execute even when ‘Only build PR’ option is enabled

We have fixed the issue where tag builds were 'not running' when the only build PR option was enabled.

'Not Run’ status messages

We have added a message on the build output page when the current build is of 'Not Run' status.

Ubuntu 14.04 Trusty as the default OS for new projects

We've switched the default OS for new Linux projects to Ubuntu 14.04 Trusty. Please note that the change applies only to new projects added to CircleCI from today on. If you wish to change the OS of your existing projects, you can do so from the “Build Environment” tab under Build Settings on your project's settings page.

Rebuild from the builds dashboard

We have added functionality to rebuild failed and timedout builds directly from circleci.com/dashboard. This feature is enabled automatically. If you have any feedback regarding rebuilding or the dashboard, please feel free to post on Discuss!

Browser Notifications

We have begun to roll out a new feature that enables browser notifications for finished builds. If this feature is turned on by a user for a given browser, the user will receive browser notification when respective builds have finished. To learn more or to provide feedback, check out this Discuss Post.

Continuous Deployment with Amazon S3

We have added a new guide to CircleCI Docs that provides an example of how to deploy an app or static site to Amazon S3. Find it here.

Option to auto-cancel redundant builds

We have added functionality to auto-cancel redundant builds. If this feature is turned on, we will automatically cancel any queued or running builds on a branch when a newer build is triggered on that same branch. To enable this feature you can navigate to “Advanced Settings” for your project and enable the “Auto-cancel builds” option.

Only PR builds

We have added functionality to only run builds when a pull request is open. To enable this functionality you can navigate to “Advanced Settings” for your project and enable the “Only build pull requests” option.

Email UI Improvement

We have finished a series of changes to our build results email templates (i.e., emails sent upon build completion). 1) We have moved all emails to one consistent pattern that should improve clarity and legibility. 2) When available, we now add a value identifying the user that triggered the build called 'Triggered By'. 3) We have optimized the width on the build results output to accomodate narrower viewports (e.g., emails on mobile screens). If you have any feedback regarding notifications, please feel free to post on Discuss!

Mobile UI Improvement

We empathize that looking at CircleCI on a phone can be frustrating. We shipped a small fix to make choosing branches easier. We hope to dedicate time to more fixes in the future.

Mitigation for Error Code 65 Issues for OS X

In response to an uptick in Error Code 65 issues for OS X customer, we no longer charge minutes for builds that fail this way and we now auto-retry such failures up to 3x. Read more about it here

Email Alerts for OS X Overages

This additional feature pertains to customers using OS X plans. Prior to this, we provided only alerts in-app regarding approaching and passing minute limits. With this change, we now trigger an email to a plan's billing-email when usage for a given billing period passes 80% and again when it passes 95%.

SSH functionality on OS X builds

This change enables users to always see the SSH button on OS X builds. This brings OS X builds to parity with Linux builds in this regard. Users have found that one of the the best ways to troubleshoot problems is to SSH into a running or finished build to look at log files, running processes, and more.

Override Slack channel in Chat Notifications settings

You can now override the channel your Slack notifications are sent to directly in the Chat Notification settings of your project. This is particularly handy for larger organizations where dev teams have a hard time getting new Slack webhook URLs provisioned.

Unable to load test results under “Test Summary” section

We have fixed the issue where users were noticing a loading spinner rather than the test results under the “Test Summary” section.

Commit information not displayed for builds triggered via API

We have fixed the issue where users were unable to see commit information for builds triggered via API.

Email address getting switched issue

We have fixed the issue where user email addresses were getting switched on “Notification” under “Account Settings”. There was problem in our Github user information synch cron job for a period of 10 days where we overwrote the user's preferences using Github's default email. This was a result of unexpected interaction of two seemingly unrelated areas. We really apologize for all the inconvenience it has caused.

Unable to “Follow” & “Unfollow” under Project Settings

We have fixed the issue where users were unable to click “Follow” or “Unfollow” button under “Project Settings”.

API token issue

We have fixed the issue where users were unable to delete the API token on “API permissions” under “Project Settings”.

Ability to select email notification per GitHub organization

You would now be able to select email notifications for each individual GitHub organization. Please navigate to the following link to update your notification settings.

Ability to select “Build Environment”

We have added a new section called “Build Environment” under “Project Settings”. You can now select between Ubuntu 12.04 or Ubuntu 14.04 images. If you are building an OS X project, you can enable it under the “Build OS X project” section on “Build Environment” settings page.

Browser being unresponsive issue

We have fixed a number of issues contributing to build pages rendering browsers unresponsive. We are currently displaying the first 400,000 lines of console output and provide you with the ability to download your full log.

API to retrieve latest build artifacts for a particular branch

We have added functionality to retrieve build artifacts for the latest completed, successful, or failed build on a given project branch. Read more about it here.

Build parameters now supported for tagged builds

Tag builds now support build_parameters, making it consistent with other build triggering APIs. Read more about it here.

Test summary now displays XML parse errors

We now display JUnit format XML output parse errors under the 'Test Summary' tab. If the build generates an invalid XML we will display a warning with filename and the line number where the error occurred.

Tag build API

We now support both annotated and lightweight tags. You can now supply 'tag' as a key in the JSON body for POST request. Read more about it here.

Support for both [ci skip] or [skip ci]

We now support both '[skip ci]' and '[ci skip]' standard for ignoring builds. Read more about it here.
We have updated our handling of Python virtual environment. Previously, we created a symlink in your project root to the system 'venv' directory. We will no longer do this for projects created after March 11, 2016. If you need the new defaults to be overridden per-project or per-org, please email us at support@circleci.com.

Admin-only permissions

We have added logic to restrict any non-admin Github users from modifying project settings. If you would like to enable this feature for your organization, or specific projects within your organization, please email us at support@circleci.com.

New environment variables

We have added 2 new environment variables, `CIRCLE_REPOSITORY_URL` and `CIRCLE_BUILD_URL`. These variables are available in your builds and give easy access to the URL of your repo on GitHub and the URL of the build on CircleCI. This very handy for adding metadata to automated deployments. You can read more about our environment variables in the Environment Variables section of our documentation.

Maven dependency caching

Maven builds are now using `dependency:go-offline` instead of `dependency:resolve` during the dependency phase, so they should save all dependencies to the cache before running tests.

Add text labels to sidebar navigation icons

We added text labels under the sidebar navigation icons. UX win!

Filtering on container status

You can now filter on container status using 'All', 'Successful' or 'Failed'. For failed builds, 'Failed' container status is selected by default.

Announcing GA for our new look

We are excited to announce GA of our new look. Read more about it here.

Sorting and filtering on Insights

We have added functionality to sort on 'Recent' and 'Alphabetical' values on Insights dashboard. Additionally, you can filter on build statuses.

Know your slowest test

You can now view the slowest test under the 'Test Results' tab after your build is successful. Need help setting up test results tab? View our test metadata collection doc.

Detecting GitHub SSH Key Audits

If you have not built a project for a few months, GitHub will sometimes ask you to verify the credentials that CircleCI uses to checkout your project. GitHub does this to keep your account safe. CircleCI will now automatically detect when your SSH keys require verificitation and will put a link on your build page to the GitHub page where you can re-authorize CircleCI's deployment keys.

Announcing public beta for our new look

We are excited to announce public beta for our new look. Starting today all our users will have the ability to opt-in to the new design with the click of a button. Read more about it here.

Announcing our new build timing graph

Available for all paid and open source customers, the build timing graph gives you an overview of your build execution across all containers.

New iOS build image: Xcode 7.1.1, fastlane, and more

We are actively working on our mobile iOS offering to prepare it for general release. For our beta users Xcode 7.1.1 is now available for all iOS builds. In addition, Fastlane and Carthage are now installed by default. Cocoapods and xctool have also been updated to the latest versions. Users in the current iOS beta should see more information here.

Failed build notification emails updated

We have updated the failed email template to be more responsive.

Announcing our new Insights feature

Available for all paid and open source customers, Insights is an interactive visual dashboard enabling you to see and understand all your builds for CircleCI at a glance. Read more about it here, and look for the new button on the navigation.

Fixed auto-scrolling on build output page

You can now follow the build output while the build is running.

Build output page now shows if the build was triggered by the API

'Triggered By' field on build output page will show `API` if the build was triggered via API.

Parallel containers are released before the deploy phase

We now release your parallel containers at the beginning of the deploy phase, so that you can use them for other builds.

New Discuss forum

Now you can ask us (and each other) questions and give feedback on the new Discuss forum. See for more details.

Tag builds will now be honored even if you have [ci skip] in its message

Tag build will work as expected even if your previous commit messages have [ci skip] in them.
You can now link to different sections on the build output page (and can safely send someone the URL you are viewing to link directly to that section). The anchors are: #commits, #config, #usage-queue, #tests, #artifacts, #build-parameters, #ssh-info

Fixed the 'click to scroll' button on build output

You can now scoll to the bottom of the page by hitting the down-arrow button on the build output page.

New API end points

We have added new endpoints to make it easy for you to configure your projects. See the documentation for more details.

Recency sort for branches

You can now filter your branches using 'Recent' on the branch picker which shows you the last several builds sorted by recent activity.

Updates to build notification email subject

To make it more readable we have updated the title to [Build] : on / build ()

Fixed the detailed commit message on the build page

Detailed commit message that shows on hover on build page was fixed to not be cropped.

Run builds on pushing tag commits

In addition to deploying based on branch, you can deploy based on tags. See the documentation for details on usage.
Searching our docs now shows contextual snippets containing your search term, making it quicker to get to the right doc.

Fewer unwanted email notifications

We won't send you an email on your first push if you have set your preference to Fixed/Failed Only.

Show the pusher, not the author on build pages

We changed the build page to show the person who pushed the commit instead of the person who authored the commit and may have had nothing to do with the push at all.

Improvements to the Add Projects page

The Add Projects page is now faster to load and won't bog down if you have a large number of projects. Also, collaborators will now have an easier time following your projects, and we fixed a few annoying UI quirks.

More contrast in CircleCI Documentation

Squint no more: we added more contrast to the text in our documentation.

More frequent GitHub sync

We are now refreshing user and organization data from GitHub more regularly, so you should see fewer inconsistencies.

Stop building a project more easily

There's a new 'Stop Building on Circle' button on the Project Settings page you can use to remove the project from CircleCI entirely.

Fixed cleaning up closed pull requests from branch list

Pull request entries in the branch list (created when building pull requests from forks that are not set up on circle) now get cleaned up when pull requests are closed

Hall integration removed

Hall was acquired by Atlassian and shut down at the end of June. If you used Hall and have moved to HipChat, you can set up HipChat integration in your project settings.

files: and pwd: config options work together

Fixed a bug where using the files option for manual parallelization didn't work when an alternate pwd was configured

More flexible SSH builds

Now multiple people can ssh to the same build to collaborate on debugging, and you can ssh to a build that is already running instead of having to start a new one. Just click the "Enable SSH for this build" button in the "Debug via SSH" tab.

Safely build pull requests from forks by default

Enables automatic safe builds of fork PRs for public repositories (you can see if tests pass before merging without the fork-er using CircleCI.) See the documentation for details on what configuration information is denied to these builds for security reasons.

Xcode 6.2 Support

Xcode 6.2 is now supported as an option for iOS builds. See the documentation for details on usage. 6.3 coming soon!

Changelog notifications

We have added a new notification system to CircleCI to let you know when we update the changelog. When there is new changelog entry, you will see an icon to highlight the Changelog link on the left nav.

Experimental setting to block/allow branches for chat channel build notifications

We inaugurated a new circle.yml 'experimental:' section with the ability to specify exactly which branches you should receive build notifications from in your chat channels - see https://circleci.com/docs/1.0/configuration/#per-branch-notifications for more information.

Faster iOS builds: Automatic Caching of CocoaPods and Ruby Gems

At CircleCI we are committed to performance, and we are always trying to find ways to run your builds faster. Today we have added the ability to cache dependencies when building on iOS. By default we will automatically cache any CocoaPods or Ruby Gems that are downloaded during your build. You can also cache any other build dependencies that you need, just like you can on Linux builds - see https://circleci.com/docs/1.0/configuration/#cache-directories for more information.

Improved Android support

We've significantly improved support for Android builds -- we now pre-install more tools and packages, so setting up new projects should be quicker and easier. Check out our documentation for details.

Only use phpunit on the PATH

We no longer automatically look for phpunit in the repo, but always use the composer-installed or system-wide versions.

Improved Gradle support

We have updated our Gradle builds to build using a local Gradle wrapper if one is present. If no Gradle wrapper is present we will build using the system installation of Gradle, as before.

Automatically retry iOS tests when the simulator fails to launch

Circle will now automatically re-run iOS tests if the simulator fails to launch. This allows us to work around known issues with the iOS simulator that have been causing builds to fail.

Split iOS compilation and testing to improve iOS simulator stability

We have changed the default steps that we take to build an iOS project. We have split the compilation phase and the testing phase in two. This improves the stability when running tests in the iOS simulator.

Extend the default command timeout to 10 minutes

We've extended the default timeout for build commands to 10 minutes where the command produces no output. Longer running quiet commands now have more breathing room to complete without needing to modify circle.yml.

Automatically collect XCode crash reports

During the iOS beta we have noticed that XCode can sometimes fail unexpectedly. When this happens CircleCI will now automatically capture relevant XCode log files and store them with your build's artifacts.

List individual tests in notifications and build emails

If your build produced test metadata, we will now include the specific failing test names in chatroom and email notifications, so you more immediately know what to act on.

Document CircleCI with GitHub third party application restrictions

Explain how to get CircleCI builds working again after turning on third-party access restrictions for GitHub organizations

Improve individual test failure messages for Xcode

Better support for showing all the useful information for some junit formatter behavior, including that of xcode

Failure messages in the failed test list

You can now access the full failure message for each test from the list in the failures tab. There's variation in exactly how test runners output this information, so let us know if we're not showing you quite what you'd like to see.

Test metadata for python nose tests

Python tests using our inferred nose commands now produce and use test metadata; this will list the specific tests when builds fail, and produce better splits between containers based on test runtime

New add project UI

The "add projects" page has a new look!

New retina-friendly vector status badges.

Danny made some new SVG badges -- check it out.

Sourcemaps for the frontend

For those of you who like to look under the hood: we've added sourcemaps to our (open source!) frontend. Now we can debug without losing our minds!

Tree-shaped artifacts list UI

Artifacts are now displayed with a directory-style layout to make them easier to navigate. Read more about build artifacts in our docs.

List failed tests on build page

Lists failed tests at the top of the build. Currently only works with our inferred RSpec and Cucumber steps, but we're working hard to add support for custom test steps and all test runners.

New container image with lots of small improvements

Lots of small improvements to the container image: added JRuby 1.7.16, pypy versions 2.3.1 and 2.4.0, and php 5.6; updated the node.js default to v0.10, Java 8 to build 25 (up from build 20), and lxc to 1.0.6.

Yet another git edge case

We now handle git "unable to create symlink (File name too long)" errors as gracefully as possible, instead of crashing horribly.

Fix sidebar layout on Firefox

Recent changes to Firefox's flex model broke our sidebar layout. Fixed by adding an explicit flex-basis property.


Added the CI_PULL_REQUEST and CI_PULL_REQUESTS environment variables to assist external services wanting to know more build information, and added documentation in resources/assets/docs/1.0/environment-variables.md. This is populating information similar to what coveralls does.

Rewrote the frontend to be much more stable and open-sourced it

We rewrote our frontend in React.js/Om. We've seen a nice bump in stability -- React's component lifecycle events have made memory leaks a thing of the past. It's now safe to leave a tab open overnight! The code is also open-source: please check it out and contribute at https://github.com/circleci/frontend.

Add first-class support for AWS credentials

If you're using AWS credentials in your build you can now set them at Project Settings > AWS keys rather than saving them as project environment variables.

Experimental setting for collecting detailed information about your tests

If you're using our inferred RSpec or Cucumber commands, we've added an experimental setting to collect structured test output. You can toggle it from the Project settings > Experimental page. We currently use the data to give you better parallelism splits and we provide an API to access the test data for a given build.

Use github avatars

GitHub avatars are now used for people who uploaded them directly to GitHub instead of Gravatar. This also cleans up some inconsistency for people with default avatars.

Add jobs/retry parameters to bundler command

Adds --jobs=4 and --retry=3 arguments to bundle command for Ruby projects.

Use monospace fonts for project configuration overrides.

Config overrides in the project settings page are now monospaced inputs instead of using variable-width fonts.

Adds a list of pull requests to the build page

Added a new "PRs" section to the build page. It contains a list of links to all of the pull requests that the build was a part of (if any).

Fix display of cancelled builds as failures in the sidebar

The sidebar UI used to show cancelled builds as failures in the sidebar. Now it shows up as cancelled instead.

Switch F/OSS on by default.

The F/OSS experimental setting is now on by default for new projects, allowing them to use some free containers and giving them public build pages.

We've updated Ruby and PHP and fixed X-forwarding over SSH

We've added PHP 5.5.15 and Ruby 1.9.2-p330 to the base image. We've also fixed a bug that was preventing X-forwarding over SSH, which many of you use to debug webdriver tests.

leiningen is user-upgradable

We've moved lein to ~/bin to make it easier for users to upgrade. To upgrade leiningen, add `lein upgrade` as a pre-dependency step to your build.

Publicly accessible dashboard and build pages for projects with the OSS feature flag set.

Non-logged-in browsers of the site can now view OSS project dashboards and build pages. If you have an open source repo on GitHub, then you can enable public access to your build pages from the Project settings > Experimental page.

Fix Docker + Elastic Beanstalk documentation

Docker documentation now includes installing the aws cli tools as part of deploying images to Elastic Beanstalk.

Reduce CPU usage for animations

Replaced SVG SMIL animations with CSS3 animations for interface icons; reduces CPU usage significantly when icons are being animated.

Add GCE/Kubernetes example to Docker doc

Add an example of continuous deployment to a Kubernetes cluster manager running on Google Compute Engine.

Add Docker support

We now support Docker! You may now build and deploy docker images from CircleCI directly.
In the spirit of making our changelog a bigger priority, we've added a link to the navbar on the side of inner.

Experimental setting to build on pull requests from forks

We now support building pull requests from forks. It's still experimental so you'll need to enable it from Project settings > Experimental settings page

Flesh out the Android documentation with lots of details

Add detailed instructions for caching SDK components and testing against the Android emulator.

Add Sauce Labs doc

Add documentation explaining how to run tests against Sauce Labs.

Fix the giant success icon

An update to Chrome's SVG render revealed a bug in our CSS, leading to giant Circle icons in the invitations prompt. This fixes it!

Parallel django

We will now automatically parallelize django test suites, for projects using django 1.6 or greater. You can enable parallelism on your project's Project Settings > Parallelism page.

Parallel nosetests

We will now automatically parallelize 'nosetests' test suites. You can enable parallelism on your project's Project Settings > Parallelism page.

Update the simplecov warning.

simplecov 0.9 was released, which no longer gives erroneous exit codes, so new builds with fixed versions won't trigger warnings.

Added calendar module to all PHPs

All PHP versions now have the calendar module included by default.

We've upgraded Python, Node, Go and Android SDK

We have added Python 2.7.8 and 3.4.1, Node.js 0.11.3, and Go 1.3. We also updated Android SDK to r23

Add configurable artifacts directories

Now you can configure arbitrary locations from which circleci will collect artifacts.

Add `username` and `reponame` to `projects` API

This adds `username` and `reponame` to the response from calling GET on 'api/v1/projects'.

Fix cached node_modules

Previously we would cache node_modules even if it was checked in; applying the cache would cause builds to use old versions. No longer!

Warn for multiple deployment sections

We arbitrarily choose a deployment section when more than one applies. Now we warn about it.

Experimental Settings Page

We made a settings subpage for things we're still working on. Notably, you can switch on the container-oriented build page yourself! Check it out -- it's in the project settings, under 'Tweaks'.

Stopped using user keys for checkout, except for project GitHub users

A long-standing bug caused us to check out using users' personal GitHub keys, instead of deploy keys, even for projects without a configured GitHub user. A small number of projects relied on this bad behavior: the fix is to specify a GitHub user for your projects, from the Project settings > Checkout SSH keys page.

Added support for GitHub's new Combined Commit Status API

Consumers of GitHub's commit status API will now see "ci/circleci" in the context field of the API response. You won't see any changes to the merge button on the Pull Request page until GitHub moves the feature out of preview mode. Read more about the Combined Status API on GitHub's blog: https://developer.github.com/changes/2014-03-27-combined-status-api/

Added support for interacting with the browser on the test containers over VNC

Debugging Selenium browser tests can be a frustrating experience, especially when they're running on a remote machine. To help tighten the feedback loop, we've added support for connecting to the test container over VNC. With VNC, you can interact with browser tests as they run on CircleCI.

We've add an experimental API for parameterized builds

We've added an experimental API for creating parameterized builds. This API lets you pass environment variables into your build environment which you can then use to customize your build steps, e.g. nightly builds.

Updated our address

We moved!

We've upgraded Ruby, PHP, Node, and Heroku toolbelt

We have added Ruby 2.1.2 and 2.0.0-p481, JRuby-1.7.12, Rubinius 2.2.6, PHP 5.5.11, and Node.js 0.10.28. We also updated Heroku toolbelt to 3.7.3.

We added paging to the build dashboards

We've added the much-requested feature of paging to the build dashboards. And not just on the frontend, behind the scenes we're using our recent addition of paging to the recent builds API which is also available for scripting goodness.

We updated our pricing

We've updated our pricing to be more simple and transparent. For more information, read our blog post.

Fork-specific deployments

If you do continuous deployment of a project with multiple forks, you can now specify which fork of the project a deployment subsection applies to.

We added a Changelog

We've added a ChangeLog, also available as an RSS feed. Check it out!

Thank You for Submitting Your Info

You should receive an automated response notifying you that we received your info. Someone from our Enterprise team will be reaching out to you shortly.

CircleCI Success Logo