Releases: myENA/consultant
Releases · myENA/consultant
v2.4.2
v2.1.3: Stable v2 api
v0.4.0: Small updates for Consul v1.5.0
This release includes:
- Setting minimum consul version to v1.5.0
- Updating go.mod, Gopkg.toml, and glide.yaml files accordingly
- Bugfix in SiblingLocator that passed the token in for the datacenter and vice versa
- Updating travis to use consul v1.5.0
v0.3.2: Candidate Shutdown
This release addresses an issue where a Candidate would attempt to restart its underlying Session after resignation.
v0.3.1: Watch Plans
- Adding the various
connect_*
watch plans to the provided helpers - Adding
*Handler
and*HybridHandler
helper funcs for each plan type - Bumping minimum required Consul to 1.2.0
v0.3.0: Candidate and Session improvements
Session:
- Adding "watchers" concept to session package so it is more useful as
a standalone package - Using RWMutex on session.Session over basic Mutex
- Breaking up Session::maintain() loop into separate funcs
Candidate:
- Using RWMutex on candidate.Candidate over basic Mutex
- Sessions are now only created once the Candidate has been told to
enter election pool - Candidate::Run() now returns an error if the session was unable to be
created - No longer using a channel to handle session updates
- Breaking up Candidate::lockRunner() into separate funcs
- A session update no longer directly sends a watcher update, instead
executing a Candidate::refreshLock() call.
v0.2.3: Bugfixes and Features
- Eliminated a few race conditions made present in previous updates
- Added "AutoRun" concept to both Session and Candidate
- Candidate.WaitX() methods will now return an error if called
on a candidate that is not actively in the running - Moved the old Candidate tests to the candidate package and
updated them appropriately - Added some more logging at key parts of the session and candidate
keepalive loops - Severely reducing the complexity of the Candidate keepalive loop
- Session will now attempt to actively destroy the upstream session
if the state goes out of whack (generally due to timeout) - Normal session "update" calls no longer block (may want to add
unecessary complexity to this later...) - Session.Stop() now returns an error, which if not nil can
probably be ignored most of the time
v0.2.1: Candidate Improvements
Created 2 new sub-packages
Session
The new session
package provides a way to manage the creation and maintenance of a persistent session in Consul. It is primarily designed to be used with the candidate
package, but can be used on its own.
Candidate
The new candidate
package provides the same functionality as the old package, but adds better resiliency in the event that a session is yanked out from under it in Consul, and is re-usable. You may call .Resign()
and then .Run()
successively if your app's workflow necessitates that.
This release has no breaking changes.
Initial Release
This release features:
- Service registration / lifecycle convenience methods
- KV Access convenience methods
- Leader Election
- Sibling-service location