diff --git a/CHANGES.md b/CHANGES.md index 753f3a24..e536e95d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,14 +1,29 @@ ringpop-go changes ================== -NEXT +v0.8.0 ------ +* Feature: Self-eviction [#177](https://github.com/uber/ringpop-go/pull/177) +* Travis: Remove Go 1.5 support [#187](https://github.com/uber/ringpop-go/pull/187) +* Fix: ineffectual assignments [#193](https://github.com/uber/ringpop-go/pull/193) +* Feature: Identity Carry Over [#188](https://github.com/uber/ringpop-go/pull/188) [#189](https://github.com/uber/ringpop-go/pull/189) [#190](https://github.com/uber/ringpop-go/pull/190) [#191](https://github.com/uber/ringpop-go/pull/191) [#192](https://github.com/uber/ringpop-go/pull/192) [#194](https://github.com/uber/ringpop-go/pull/194) [#195](https://github.com/uber/ringpop-go/pull/195) +* Fix: Make lookups consistent on hash collisions [#196](https://github.com/uber/ringpop-go/pull/196) + ### Release notes -#### Change to identity-option +#### Identity Carry Over +Identity carry over provides a way to manually configure the identity of a member on a hashring. +By changing the identity to be something else than it's address, it becomes possible to guarantee ring equality before and after deploys in a dynamic environment (e.g. mesos). + +#### Self Eviction +By calling `ringpop.SelfEvict` on shutdown, a member will declare itself as `faulty` and gossips this to the other members. +This removes the time window where it was marked as `suspect`; in this way removing the time where other members +considered it to be part of the ring while it was not responding anymore. + +#### Breaking change to the `identity`-option -Prior to ringpop NEXT the address was used as the identity of a member. Starting with version NEXT, it's possible to +Prior to ringpop v0.8.0 the address was used as the identity of a member. Starting with version v0.8.0, it's possible to configure a separate identity. As a result, the behaviour of the `Identity` and `IdentityResolverFunc` has been changed. The `Identity` option now configures the identity of a member and will return an error when it matches an ip:port; services that were using `Identity` or `IdentityResolverFunc` should now use the `Address` and `AddressResolverFunc` options.