mtchavez/circleci

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
# CHANGELOG

## Version 2.1.0 (2022-08-03)

- Fix: Bug with GET requests passing a request body would receive a 403 [PR #323][pr-323]

## Version 2.0.3 (2020-01-06)

- Internal: Rubocop update and styling fixes
- Added Project#delete_envvar to remove envvars (@lacostenycoder)

## Version 2.0.2 (2018-01-28)

House cleaning update, no changes to API or new endpoints added.

- Upgrade Yard development dependency due to vulnerability
- Add CI workflow for building against latest ruby versions

## Version 2.0.1 (2017-08-22)

* Add params to `Project#recent_builds_branch`

## Version 2.0.0 (2017-05-26)

## Breaking Changes

> Please use branch v-1.1.0 or tag v1.1.0 for previous 1.x version of
> the gem until you can update to the latest version. 1.x will not be supported
> in the longer term.

- Remove all deprecated class methods in favor of instance API resources classes
  - Please look at the documentation in the README or rubydoc on changes. An example of a change might be:

    ```ruby
    #
    # Old way of getting recent builds
    #
    builds = CircleCi::Project.recent_builds 'mtchavez', 'circleci'

    #
    # New way with a project object
    #
    project = CircleCi::Project.new 'mtchavez', 'circleci'
    builds = project.recent_builds

    # Can interact with other calls for the project
    project.build # make a new build
    project.settings # get settings
    project.clear_cache #clear the cache
    ```

## Other changes

- Update default API version to `v1.1`
- Implement `:vcs_type` API endpoints for `v1.1` i.e. `/api/project/:vcs_type/:username/:project/follow`

## Version 1.1.0 - (2017-03-20)

**Breaking Changes**

- Deprecate all the class methods in favor of classes for object approach
- `Project#build_branch` build parameters changed how they are
   passed in. You now need to pass them as the API expects them to be
   nested under the `build_parameters` key.

   ```ruby
   # Passing build parameters in the post body
   build_params = { build_parameters: { 'MY_TOKEN' => '123asd123asd' } }
   res = CircleCi::Project.build_branch 'username', 'reponame', 'branch', {}, build_params
   ```

## Version 1.0.3 - (2016-09-30)

- Fix requiring of `forwardable`

## Version 1.0.2 - (2016-09-24)

- Fix requiring of `openssl` - fixed in [#81](https://github.com/mtchavez/circleci/pull/81)

## Version 1.0.1 - (2016-09-14)

- Fix regression of `CircleCi::Project.enable` HTTP method changing incorrectly to a `delete`

## Version 1.0 - (2016-08-31)

**Breaking Changes**

- CircleCi::Project#envvars renamed to envvar for consistency with API endpoint
- Deprecated CircleCi::Project#envvars
- Upgrade rspec to 3.5
- Require minimum ruby version `>= 2.0.0`
- Remove `RestClient` as a dependency and replace with stdlib `Net::HTTP`
- Add params and body as inputs to `CircleCi::Project#build_branch`
- Add configuration for proxy hosts

## Version 0.2.3 - (2016-03-12)

- CircleCi::RecentBuilds#get - Replaces old CircleCi#organization endpoint to return all recent builds
- Remove CircleCi#organization for CircleCi::RecentBuilds#get
- CircleCi::Project#recent_builds - Takes params to supply limit, offset, and filter query params
- RestClient::Request overrides or configuration per request is configurable via Config.request_overrides hash

## Version 0.2.2 - (2016-02-26)

- Fix regression from [#50](https://github.com/mtchavez/circleci/pull/50) which broke [#10](https://github.com/mtchavez/circleci/pull/10)
- Make host and port configurable for people using Enterprise CircleCi
- CircleCi::Project#envvar – Get environment variables for a project
- CircleCi::Project#set_envvar – Set environment variable for a project

## Version 0.2.1 - (2016-02-21)

**Yanked from rubygems**

## Version 0.2.0 - (2015-12-06)

- CircleCi::User#heroku_key – Add your Heroku API key to your account
- CircleCi::Project#ssh_key – Add an SSH key to a project
- CircleCi::Project#build_ssh_key – Add an SSH key to a project build
- CircleCi::Project#new_checkout_key – Add a checkout key to a project
- CircleCi::Project#list_checkout_keys – Get all checkout keys for a project
- CircleCi::Project#get_checkout_key – Get a project checkout key
- CircleCi::Project#delete_checkout_key – Delete a project checkout key

## Version 0.1.1 - (2015-3-29)

- Cancel a build merged in [#15](https://github.com/mtchavez/circleci/pull/15) from [@etiennebarrie](https://github.com/etiennebarrie)
- Tests endpoint for a build. Will return all tests ran with metadata.
  - Currently experimental tests endpoint needs to be turned on in Experimental Settings

## Version 0.1.0 - (2014-11-4)

- Loosen `rest-client` dependency to `~> 1.6`

## Version 0.0.9 - (2014-11-4)

- Deprecate `CircleCi::Response#parsed_body` to not use `hashie` gem

## Version 0.0.8 - (2014-11-4)

- Support [parameterized builds](https://circleci.com/docs/parameterized-builds)
  - Thanks to [@dlitvakb](https://github.com/dlitvakb) merged in [#15](https://github.com/mtchavez/circleci/pull/15)

## Version 0.0.7 - (2014-8-1)

- Add method to build specific branch of project - Thanks to [@hwartig](https://github.com/hwartig)
  - CircleCi::Project#build_branch - Triggers build for specific branch of project

## Version 0.0.6 - (2014-6-8)

- New hidden endpoints added to API - Thanks to [@EiNSTeiN-](https://github.com/EiNSTeiN-)
  - CircleCi::Project#build - Build the latest master push for this project
  - CircleCi::Project#enable - Enable a project in CircleCI
  - CircleCi::Project#follow - Follow a project in CircleCI
  - CircleCi::Project#unfollow - Unfollow a project in CircleCI
  - CircleCi::Project#settings - Get project configuration

## Version 0.0.3 - (2014-1-29)

- [Build artifacts](https://github.com/mtchavez/circleci/pull/3) added

## Version 0.0.2 - (2014-1-21)

- [Branch builds endpoint](https://github.com/mtchavez/circleci/pull/1)
- Ruby 2.0.0 in Gemfile
- More documentation

## Version 0.0.1 - (2013-4-16)

- Add basic endpoints

---
[pr-323]: https://github.com/mtchavez/circleci/pull/323