All Versions
Latest Version
Avg Release Cycle
123 days
Latest Release
1084 days ago

Changelog History
Page 2

  • v0.8.2 Changes

    January 24, 2019

    ๐Ÿ”‹ FEATURES:

    • ๐Ÿ‘ Go Module Support: Serf now fully supports Go modules for incorporation into other projects [GH-548]


    • ๐Ÿ›  agent: Fixed a missing case where gossip would stop flowing to dead nodes for a short while. [GH-451]
    • agent: Uses the go-sockaddr library to look for private IP addresses, which prefers non-loopback private addresses over loopback ones when trying to automatically determine the advertise address. [GH-451]
    • ๐Ÿ‘€ agent: Properly seeds Go's random number generator using the seed library. [GH-451]
    • agent: Serf is now built with Go 1.10.x. [GH-520]
    • agent: Improved address comparison during conflict resolution. [GH-433]
    • โšก๏ธ agent: Updated memberlist to latest to pull several cleanups and fixes. [GH-491]
    • agent: Improved handling of leave intent messages to make sure they propagate and are processed correctly. [GH-510]
    • agent: Added CLI option to disable compression for debugging messages. [GH-529]
    • ๐Ÿš€ library: Moved close of shutdown channel until after network resorces are released. [GH-453]
    • ๐Ÿ›  library: Fixed several race conditions with QueryResponse [GH-460]
    • library: Made snapshot writing asyncronous and will less aggressive compaction on large clusters to avoid blocking message handler on disk IO [GH-524][GH-525]
    • query: truncate key list response so that it fits into one message instead of failing to answer [GH-546]

    ๐Ÿ› BUG FIXES:

    • agent: Added defenses against invalid network coordinates with NaN and Inf values. [GH-468]
    • ๐Ÿ agent: Fixed an issue on Windows where "wsarecv" errors were logged when clients accessed the RPC interface. [GH-479]
    • ๐Ÿ›  agent: Fixed an issue where calling the serf Stats function could result in a deadlock. [Consul Issue 4011]
  • v0.8.1 Changes

    February 06, 2017


    • agent: Added support for relaying query responses through N other nodes for redundancy. [GH-439]
    • agent: Added the ability to tune the broadcast timeout, which might be necessary in very large clusters that experience very large, simultaneous changes to the cluster. [GH-412]
    • agent: Added a checksum to UDP gossip messages to guard against packet corruption. [GH-432]
    • agent: Added a short window where gossip will still flow to dead nodes so that they can more quickly refute. [GH-440]
    • build: Serf now builds with Go 1.7.5. [GH-443]
  • v0.8.0

    September 14, 2016
  • v0.7.0

    December 21, 2015
  • v0.6.4 Changes

    February 12, 2015


    • Added merge delegate to Serf library to support application specific logic in cluster merging.
    • SERF_RPC_AUTH environment variable can be used in place of CLI flags.
    • Display if encryption is enabled in Serf stats
    • Improved join behavior when using DNS resolution

    ๐Ÿ› BUG FIXES:

    • Fixed snapshot file compaction on Windows
    • Fixed device binding on Windows
    • Fixed bug with empty keyring
    • Fixed parsing of ports in some cases
    • Fixing stability issues under high churn


    • Increased user event size limit to 512 bytes (previously 256)
  • v0.6.3 Changes

    July 10, 2014


    • โž• Added statsite_addr configuration to stream to statsite

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ›  Fixed issue with mDNS flooding when using IPv4 and IPv6
    • ๐Ÿ›  Fixed issue with reloading event handlers


    • ๐Ÿ‘Œ Improved failure detection reliability under load
    • โฌ‡๏ธ Reduced fsync() use in snapshot file
    • ๐Ÿ‘Œ Improved snapshot file performance
    • โž• Additional logging to help debug flapping
  • v0.6.2 Changes

    June 16, 2014


    • โž• Added syslog_facility configuration to set facility

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ›  Fixed memory leak in in-memory stats system
    • ๐Ÿ›  Fixed issue that would cause syslog to deadlock


    • ๐Ÿ›  Fixed missing prefixes on some log messages
    • ๐Ÿ“„ Docs fixes
  • v0.6.1 Changes

    May 29, 2014

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ On Windows, a "failed to decode request header" error will no longer be shown on every RPC request.

    • ๐Ÿ”’ Avoiding holding a lock which can cause monitor/stream commands to fail when an event handler is blocking

    • ๐Ÿ›  Fixing conflict response decoding errors


    • ๐Ÿ‘Œ Improved agent CLI usage documentation

    • Warn if an event handler is slow, potentially blocking other events

  • v0.6.0 Changes

    May 08, 2014

    ๐Ÿ”‹ FEATURES:

    • Support for key rotation when using encryption. This adds a new serf keys command, and a -keyring-file configuration. Thanks to @ryanuber.

    • New -tags-file can be specified to persist changes to tags made via the RPC interface. Thanks to @ryanuber.

    • New serf info command to provide operator debugging information, and to get info about the local node.

    • Adding -retry-join flag to agent which enables retrying the join until success or -retry-max attempts have been made.


    • New -rejoin flag can be used along with a snapshot file to automatically rejoin a cluster.

    • Agent uses circular buffer to invoke handlers, guards against unbounded output lengths.

    • Adding support for logging to syslog

    • The SERF_RPC_ADDR environment variable can be used instead of the -rpc-addr flags. Thanks to @lalyos [GH-209].

    • serf query can now output the results in a JSON format.

    • Unknown configuration directives generate an error [GH-186]. Thanks to @vincentbernat.

    ๐Ÿ› BUG FIXES:

    • Fixing environmental variables with invalid characters. [GH-200]. Thanks to @arschles.

    • Fixing issue with tag changes with hard restart before failure detection.

    • Fixing issue with reconnect when using dynamic ports.


    • Improved logging of various error messages

    • Improved debian packaging. Thanks to @vincentbernat.

  • v0.5.0 Changes

    March 12, 2014

    ๐Ÿ”‹ FEATURES:

    • New query command provides a request/response mechanism to do realtime queries across the cluster. [GH-139]

    • Automatic conflict resolution. Serf will detect name conflicts, and use an internal query to determine which node is in the minority and perform a shutdown. [GH-167] [GH-119]

    • New reachability command can be used to help diagnose network and configuration issues.

    • Added member-reap event to get notified of when Serf removes a failed or left node from the cluster. The reap interval is controlled by reconnect_timeout and tombstone_timeout respectively. [GH-172]


    • New Recipes section on the site to share Serf tips. Thanks to @ryanuber. [GH-177]

    • members command has new -name filter flag. Thanks to @ryanuber [GH-164]

    • New RPC command "members-filtered" to move filtering logic to the agent. Thanks to @ryanuber. [GH-149]

    • reconnect_interval and reconnect_timeout can be provided to configure agent behavior for attempting to reconnect to failed nodes. [GH-155]

    • tombstone_interval can be provided to configure the reap time for nodes that have gracefully left. [GH_172]

    • Agent can be provided rpc_auth config to require that RPC is authenticated. All commands can take a -rpc-auth flag now. [GH-148]

    ๐Ÿ› BUG FIXES:

    • Fixed config folder in Upstart script. Thanks to @llchen223. [GH-174]

    • Event handlers are correctly invoked when BusyBox is the shell. [GH-156]

    • Event handlers were not being invoked with the correct SERF_TAG_* values if tags were changed using the tags command. [GH-169]


    • Support for protocol version 1 (Serf 0.2) has been removed. Serf 0.5 cannot join a cluster that has members running version 0.2.