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

Changelog History
Page 3

  • v0.4.5 Changes

    February 25, 2014

    ๐Ÿ”‹ FEATURES:

    • New tags command is available to dynamically update tags without reloading the agent. Thanks to @ryanuber. [GH-126]


    • Upstart receipe logs output thanks to @breerly [GH-128]

    • members can filter on any tag thanks to @hmrm [GH-124]

    • Added vagrant demo to make a simple cluster

    • members now columnizes the output thanks to @ryanuber [GH-138]

    • Agent passes its own environment variables through thanks to @mcroydon [GH-142]

    • -iface flag can be used to bind to interfaces [GH-145]

    ๐Ÿ› BUG FIXES:

    • -config-dir would cause protocol to be set to 0 if there are no configuration files in the directory [GH-129]

    • Event handlers can filter on 'member-update'

    • User event handler appends new line, this was being omitted

  • v0.4.1 Changes

    February 03, 2014


    • mDNS service uses the advertise address instead of bind address
  • v0.4.0 Changes

    January 31, 2014

    ๐Ÿ”‹ FEATURES:

    • Static role has been replaced with dynamic tags. Each agent can have multiple key/value tags associated using -tag. Tags can be updated using a SIGHUP and are advertised to the cluster, causing the member-update event to be triggered. [GH-111] [GH-98]

    • Serf can automatically discover peers uing mDNS when provided the -discover flag. In network environments supporting multicast, no explicit join is needed to find peers. [GH-53]

    • Serf collects telemetry information and simple runtime profiling. Stats can be dumped to stderr by sending a USR1 signal to Serf. Windows users must use the BREAK signal instead. [GH-103]

    • advertise flag can be used to set an advertise address different from the bind address. Used for NAT traversal. Thanks to @benagricola [GH-93]

    • members command now takes -format flag to specify either text or JSON output. Fixed by @ryanuber [GH-97]


    • User payload always appends a newline when invoking a shell script

    • Severity of "Potential blocking operation" reduced to debug to prevent spurious messages on slow or busy machines.

    ๐Ÿ› BUG FIXES:

    • If an agent is restarted with the same bind address but new name, it will not respond to the old name, causing the old name to enter the failed state, instead of having duplicate entries in the alive state.

    • leave_on_interrupt set to false when not specified, if any config file is provided. This flag is deprecated for skip_leave_on_interrupt instead. [GH-94]


    • -role configuration has been deprecated in favor of -tag role=foo. The flag is still supported but will generate warnings.

    • Support for protocol version 0 (Serf 0.1) has been removed. Serf 0.4 cannot join a cluster that has members running version 0.1.

  • v0.3.0 Changes

    December 05, 2013

    ๐Ÿ”‹ FEATURES:

    • Dynamic port support, cluster wide consistent config not necessary
    • Snapshots to automaticaly rejoin cluster after failure and prevent replays [GH-84] [GH-71]
    • Adding profile config to agent, to support WAN, LAN, and Local modes
    • MsgPack over TCP RPC protocol which can be used to control Serf, send events, and receive events with low latency.
    • New leave CLI command and RPC endpoint to control graceful leaves
    • Signal handling is controlable, graceful leave behavior on SIGINT/SIGTERM can be specified
    • SIGHUP can be used to reload configuration


    • Event handler provides lamport time of user events via SERF_USER_LTIME [GH-68]
    • Memberlist encryption overhead has been reduced
    • Filter output of members using regular expressions on role and status
    • replay_on_join parameter to control replay with start_join
    • monitor works even if the client is behind a NAT
    • Serf generates warning if binding to public IP without encryption

    ๐Ÿ› BUG FIXES:

    • Prevent unbounded transmit queues [GH-78]
    • IPv6 addresses can be bound to [GH-72]
    • Serf join won't hang on a slow/dead node [GH-70]
    • Serf Leave won't block Shutdown [GH-1]
  • v0.2.1 Changes

    November 06, 2013

    ๐Ÿ› BUG FIXES:

    • Member role and address not updated on re-join [GH-58]
  • v0.2.0 Changes

    November 01, 2013

    ๐Ÿ”‹ FEATURES:

    • Protocol versioning features so that upgrades can be done safely. See the website on upgrading Serf for more info.
    • Can now configure Serf with files or directories of files by specifying the -config-file and/or -config-dir flags to the agent.
    • New command serf force-leave can be used to force a "failed" node to the "left" state.
    • Serf now supports message encryption and verification so that it can be used on untrusted networks [GH-25]
    • The -join flag on serf agent can be used to join a cluster when starting an agent. [GH-42]


    • Random staggering of periodic routines to avoid cluster-wide synchronization
    • Push/Pull timer automatically slows down as cluster grows to avoid congestion
    • Messages are compressed to reduce bandwidth utilization
    • serf members now provides node roles in output
    • Joining a cluster will no longer replay all the old events by default, but it can using the -replay flag.
    • User events are coalesced by default, meaning duplicate events (by name) within a short period of time are merged. [GH-8]

    ๐Ÿ› BUG FIXES:

    • Event handlers work on Windows now by executing commands through cmd /C [GH-37]
    • Nodes that previously left and rejoin won't get stuck in 'leaving' state. [GH-18]
    • Fixing alignment issues on i386 for atomic operations [GH-20]
    • "trace" log level works [GH-31]
  • v0.1.1 Changes

    October 23, 2013

    ๐Ÿ› BUG FIXES:

    • Default node name is outputted when "serf agent" is called with no args.
    • Remove node from reap list after join so a fast re-join doesn't lose the member.
  • v0.1.0 Changes

    October 23, 2013
    • ๐ŸŽ‰ Initial release