Version 2.1.0 Released2014-10-14

Source tarball available at: https://github.com/gdnsd/gdnsd/releases/

2.1.0 - 2014-10-14
  *** Bugfixes:
    * Fixed JSON stats output (was malformed; missing commas
      in the service state portion of the output).
    * Several relatively-benign deficiencies related to
      daemonization, logging, and/or process control were fixed
      throughout the source tree.
    * Path MTU Discovery is now properly disabled on UDPv6 sockets
    * Syslog output was not being generated if compiled using
      --with-systemd, but not actually running under systemd.
      (obviated/fixed by the changes below)

  *** Systemd build/install changes:
    * The --with-systemd configure flag no longer exists,
      there is no dependency on systemd libraries or headers,
      and all Linux builds inherently support detecting systemd
      and being compatible with it.
    * Support for systemd watchdog timers was removed as the
      gdnsd implementation served zero functional purpose
      other than to add more systemd-related code bloat.
    * A (path-templated) unit file for gdnsd is now generated
      and installed on applicable systems.  If gdnsd will be
      run as a systemd service, this unit file *must* be used!
      Some of the settings within are critical to the proper
      operation of gdnsd under systemd.  The installation
      path can be overriden from the pkg-config-based default
      via --with-systemdsystemunitdir=DIR.  Generation and
      installation can be avoided on systems which have
      systemd installed via --without-systemdsystemunitdir.

  *** syslog/stdio behavior (relevant mostly for initscripts):
    * New commandline flag "-x" suppresses syslog output completely.
      (This is intended for testsuites and linting invocations of
      checkconf and such, not for runtime use).
    * When the gdnsd binary hasn't fully daemonized yet (meaning the
      initial process has not yet exited, regardless of command/mode),
      Info- and Debug- level messages are output to stdout, while
      messages of severity Warning and higher are output to stderr
      (unless we're running under systemd, in which case we stop using
      stdio as soon as syslog is open to avoid journal duplicates).
      Everything is mirrored to syslog regardless unless the -x cmdline
      flag is used.
    * If you don't want any gdnsd command output interfering with e.g.
      your consistent ANSI-colored init system output, redirect both to
      /dev/null.  If you'd rather not have "normal" noise, but would
      still like errors and serious issues to show through to the user,
      just direct stdout to /dev/null.
    * (The previous behavior was nothing to stdout, warning+ to stderr
      and sometimes info and debug to stderr as well, but sometimes
      nothing was output to any stdio anywhere, and was inconsistent
      depending on flags/command/situation).

  *** Misc changes:
    * Documentation added for log_stats option
    * Final stats output at daemon shutdown restored; was removed during a
      refactor some time ago and I forgot to get it working again.
    * Lots of misc improvements to the build and qa stuff.  Notably the
      default build will now use aggressive security-hardening flags on
      modern GNU(-like) toolchains which support them.

  *** The canonical HTTP and git-clone URL locations for the project
      have changed to http://github.com/gdnsd/gdnsd .  The old URLs
      and git remotes will work correctly for some time, but not
      indefinitely.