Skip to content

Releases: myENA/consultant

v2.1.3: Stable v2 api

27 Jun 00:16
bbd905a
Compare
Choose a tag to compare

This release constitutes a stabilization of the v2 api.

v0.4.0: Small updates for Consul v1.5.0

17 May 21:34
3f6e884
Compare
Choose a tag to compare

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

08 Nov 14:30
Compare
Choose a tag to compare

This release addresses an issue where a Candidate would attempt to restart its underlying Session after resignation.

v0.3.1: Watch Plans

31 Oct 17:44
Compare
Choose a tag to compare
  • 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

31 Oct 14:24
2ad2c09
Compare
Choose a tag to compare

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

21 Sep 21:06
f4531a2
Compare
Choose a tag to compare
  • 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

01 Aug 20:56
Compare
Choose a tag to compare

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

29 Jan 00:27
4000c28
Compare
Choose a tag to compare

This release features:

  • Service registration / lifecycle convenience methods
  • KV Access convenience methods
  • Leader Election
  • Sibling-service location