Ach 2.0.0
=========
* Feature: In-kernel channel backend on Linux
  - Enables multiplexing via select()/poll()
  - Experimental event loop in "ach/experimental.h"
* Feature: DNS/mDNS integration
  - mDNS and DNS lookup of channel hosts
  - Integration with Avahi to advertise channels
* Feature: Zsh completions for achtool, achd, achcop
* Deprecate: Old option flags to achtool (-C, -F, -D, -U)
  - Will be removed in the future
* Deprecate: CMake build
* Change: Accessor functions for setting attributes
* Change: C++ bindings are header-only

Ach 1.2.1
=========
* Add experimental C++ and Java bindings
* Rate limit option for achd
* Configure-time option to enable debugging

Ach 1.2.0
=========

* Feature: ach_cancel() permits interrupting readers waiting for a
  frame
* Improvement: more robust behavior when processes holding the channel
  mutex die
  - Readers who die with the mutex cause no problem
  - Writers who die with the mutex cause future calls to return
    ACH_CORRUPT
* Feature: achcop utility to background and monitor daemon processes

Ach 1.1.0
=========

* New network daemon, `achd`, supporting TCP and UDP transports
* New Python bindings, installable with pip
* Deprecate achpipe and achlog. Please switch to `achd`.

Ach 1.0.1
=========

* Add ACH_DEFAULT_CLOCK symbol, set to CLOCK_MONOTONIC if available
* Debian packaging uses debconf to configure inetd

Ach 1.0.0
=========

* Removal of deprecated alternatives to ach_get()

* Change of default condition variable clock from CLOCK_REALTIME to
  CLOCK_MONOTONIC
  - Callers can pass an absolute time value to ach_get() to limit the
    amount of time spent waiting for a new message.
  - Two values are added to ach_create_attr_t to allow setting
    alternate clocks during channel creation (including CLOCK_REALTIME
    if so desired).
  - Rationale for the change:
    + Despite the name, CLOCK_REALTIME is not suitable for Real-Time
      applications.  CLOCK_REALTIME typically gives a "Wall" time in
      UTC.  This value is discontinuous.  It may be reset by:
      - The operator
      - The NTP daemon
      - Leap seconds, where UTC is /defined/ as discontinuous (see TAI for
        a less bizarre alternative).
    + CLOCK_MONOTONIC is monotonic, advancing from an arbitrary initial
      time (e.g. system power-on).  For applications that need to do
      something periodically, CLOCK_MONOTONIC is more suitable.
    + Since Ach is intended for Real-Time control, where strict periodic
      execution is important, CLOCK_MONOTONIC seems to be a better
      default.
