Skip to content

Commit

Permalink
chore: docs: Add Changelog and update docs sections on releasing and …
Browse files Browse the repository at this point in the history
…contributing (#79) (#94) (#144)


Co-authored-by: Thomas Heartman <thomas@getunleash.io>
  • Loading branch information
rarruda and thomasheartman authored Jun 14, 2023
1 parent 09e6936 commit d41c857
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 1 deletion.
103 changes: 103 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Note: These changes are not considered notable:
- build
- documentation
- dependencies

## [Unreleased]

## [4.4.3] - 2023-06-14
### Added
- Add Context#to_h method (#136)

### Fixed
- Bootstrapped variants now work when client is disabled (#138)
- Variant metrics are now sent correctly to Unleash. Fixed a typo in the payload name. (#145)

### Changed
- Automatically disable metrics/MetricsReporter when client is disabled (#139) (#140)

## [4.4.2] - 2023-01-05
### Added
- Add Client#disabled? method (#130)

## [4.4.1] - 2022-12-07
### Fixed
- exception no longer bubbles up in constraints when context is nil (#127)
- variants metrics did count toggles correctly (#126)
- prevent race condition when manipulating metrics data (#122)
- allow passing user_id as integer (#119)

## [4.4.0] - 2022-09-19
### Added
- Allow custom strategies (#96)
- Global segments (#114)

### Fixed
- Initializing client configuration from constructor (#117)
- Support int context in set comparison (#115)

## [4.3.0] - 2023-07-14
### Added
- dynamic http headers via Proc or Lambda (#107)

### Fixed
- Fixed ToggleFetcher#save! to close opened files on failure. (#97)

### Changed
- Refactored ToggleFetcher#read! (#106)

## [4.2.1] - 2022-03-29
### Fixed
- correct logic for default values on feature toggles so toggle value respected when toggle exists and default is true (#93)

## [4.2.0] - 2022-03-18
### Added
- Advanced constraints operators (#92)

### Changed
- Default to the client never giving up trying to reach the server even after repeated failures (#91)

## [4.1.0] - 2022-02-11
### Added
- feat: Implement custom bootstrapping on startup (#88)
- feat: add support for cidr in `RemoteAddress` strategy (#77)

### Changed
- default values for `metrics_interval` to `60s` and `retry_limit` to `5` (#78)

## [4.0.0] - 2021-12-16
### Added
- Support for projects query (requires unleash 4.x) (#38)
- Allow passing blocks to is_enabled? to determine default_result (#33)
- Implement custom stickiness (#69)
- Allow using custom_http_headers from the CLI utility (#75)

### Fixed
- Allow context to correctly resolve camelCase property values (#74)
- Avoid unlikely situation of config changing under the read operation due to backup path file being incorrectly set (#63)

### Changed
- change how we handle the server api url (avoid double slashes in urls used for API calls.)
- default values: refresh_interval => 10, metrics_interval=> 30 (#59)
- changed metrics reporting behavior (#66)
- only send metrics if there is data to send. (#58)
- in Client#get_variant() allow context and fallback_variant as nil (#51)

[unreleased]: https://git1hub.com/unleash/unleash-client-ruby/compare/v4.4.3...HEAD
[4.4.3]: https://github.com/unleash/unleash-client-ruby/compare/v4.4.2...v4.4.3
[4.4.2]: https://github.com/unleash/unleash-client-ruby/compare/v4.4.1...v4.4.2
[4.4.1]: https://github.com/unleash/unleash-client-ruby/compare/v4.4.0...v4.4.1
[4.4.0]: https://github.com/unleash/unleash-client-ruby/compare/v4.3.0...v4.4.0
[4.3.0]: https://github.com/unleash/unleash-client-ruby/compare/v4.2.1...v4.3.0
[4.2.1]: https://github.com/unleash/unleash-client-ruby/compare/v4.2.0...v4.2.1
[4.2.0]: https://github.com/unleash/unleash-client-ruby/compare/v4.1.0...v4.2.0
[4.1.0]: https://github.com/unleash/unleash-client-ruby/compare/v4.0.0...v4.1.0
[4.0.0]: https://github.com/unleash/unleash-client-ruby/compare/v3.2.5...v4.0.0
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -533,11 +533,25 @@ To run the Ruby SDK against this test suite, you'll need to have a copy on your
After doing this, `rake spec` will also run the client specification tests.

To install this gem onto your local machine, run `bundle exec rake install`.
To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Releasing

Choose a new version number following [Semantic Versioning](https://semver.org/spec/v2.0.0.html) semantics and then:

- update the version number in [./lib/unleash/version.rb](./lib/unleash/version.rb),
- if a major or minor version bump, update the [Installation section](#Installation) in [README.md](README.md)
- update [CHANGELOG.md](CHANGELOG.md) following the format on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
- commit with message `chore: bump version to x.y.z`
- then run `bundle exec rake release`
- This will create a git tag for the version on the current commit,
- push git commits and tags to origin and
- push the `.gem` file to [rubygems.org](https://rubygems.org)


## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/unleash/unleash-client-ruby.

Be sure to run both `bundle exec rspec` and `bundle exec rubocop` in your branch before creating a pull request.

Please include tests with any pull requests, to avoid regressions.

0 comments on commit d41c857

Please sign in to comment.