3.1.4
        Sun, 02 Jan 2011 13:06:13 +0100

        Bugfixes:
        * Fixed hostname resolution in case normalize_hostnames() is
          enabled. In this case syslog-ng didn't properly NUL terminate the
	  string causing binary characters to be emitted in log messages.
        * Fixed a possible security issue on FreeBSD and on
          platforms where mode_t is an unsigned 16 bit value. On these
          platforms syslog-ng may be using 0xFFFF as the permission bits
          causing log files to be world readable/writable/executable/setuid.
        * Fixed handling the port() options for SQL destinations.
        * Fixed a possible segmentation fault when the port number is
          changed for a TCP source, the configuration is reloaded and there
          were open connections for the old port, which send messages after
          the SIGHUP. This behaviour has been broken since 3.0.1.
        * The configure script has been changed to properly honour the value
          of ${exec_prefix} in case the env wrapper is enabled
          (--enable-env-wrapper). Configurations not using the env wrapper
          or using the same value for exec_prefix & prefix should not be
          affected.

        Other Changes:
        * Added explicit patterndb version check, in order to inform the
          user that a patterndb file is meant to be used by a newer
          syslog-ng version.
	* Increase YYMAXDEPTH value to make it possible to process larger
	  configuration files.
	* Clarified the message on the deprecated use of use_time_recvd()

	Credits:

        Paul Krizak, Mukarram Syed, Philippe LEBRETON, Zhengxiang Pan,
        Matthew Hall, Craig Bell, Gergely Nagy, Laszlo Boszormenyi, Peter
        Czanik and Steven Chamberlain for reporting the bugs fixed in this
        release.

        Patches were authored by by Attila Nagy (BalaBit) and Balazs
        Scheidler (BalaBit).


3.1.3
	Thu, 18 Nov 2010 07:50:42 +0100

        Bugfixes:
        * csv-parser() defaults to "escape-none" mode even if it is not
          specified.
        * Fixed a possible CPU spinning in case mark_freq() is changed from
          a non-zero value to zero and syslog-ng is reloaded.
        * Fixed a flow control problem for the internal() source possibly
          causing an assertion to fail, e.g. syslog-ng to crash voluntarily.
        * Make it possible to use a literal '$' character by using two of
          them.
        * Make it possible to use binary characters within strings in
          configuration files by using a C-like \xHH, \oOOO syntax.
        * Attempt to flush the messages sitting in output queues a bit
          harder at shutdown.
        * Handle ESTALE errors in the file source for NFS file systems,
          which might cause a spin on the CPU otherwise.
        * Fixed a possible use-after-free problem potentially causing
          crashes or misbehaviour. No concrete errors were reported though.
	* The SQL driver didn't honour the port() option, this was fixed.
	* Fixed program_override() option, previously it overrode the
	  hostname instead because of a typo.
	* Accept 3.1 as configuration version, previously it only accepted
	  3.0.
	* Fixed internal() message loop detection in case an error happened
	  on the log writer flush path.

3.1.2
	Mon, 02 Aug 2010 17:06:28 +0200

	INCOMPATIBLE CHANGES:
	* This release changes the default for 'store-legacy-msghdr' flag
	  for log sources.  In previous releases this had to be enabled
	  explicitly, because of the performance penalties, which do not
          apply to 3.1. The original behaviour can be restored by explicitly
	  specifying 'dont-store-legacy-msghdr'.

	Bugfixes:
        * When syslog-ng is reloaded, the local hostname value was not
          refreshed, causing syslog-ng to remember the hostname until the
          next restart. This may not play nice with DHCP configured
          hostnames, which may change dynamically.
        * When several SIGHUP signals are received in quick succession, the
          last one may have been dropped. This problem is fixed.
        * Make sure that numbers never get resolved using getpwnam/getgrnam
          (e.g.  libnss functions), because this may cause deadlocks if the
          NSS provider is LDAP and the LDAP server is trying to log a
          message to syslog about invalid usernames.
        * Fixed flush_timeout() handling in for non-file destinations.
          Enabling flush_lines()/flush_timeout() for a non-file destination,
          either using a global option, or a per-destination option could
          cause excess CPU usage as long as the destination wasn't writable.
	* In case patterndb has a syntax error when reloading the file,
	  syslog-ng automatically reverts to the old version instead of
	  dropping pattern matching altogether.
	* Fixed pdbtool to properly handle accented characters in the
	  command line.
        * Fixed the use of the greedy and drop-invalid flags for csv-parser.
        * Fixed a possible but rare memory leak in the handling of message
          suppression.

	Other changes:
	* Added "update-patterndb" command that merges patterndb files from
	  ${sysconfdir}/patterndb.d and produces ${localstatedir}/patterndb.xml,
          the default file of the db-parser().
	* Make it possible to specify the path to the syslog-ng control
	  socket using a command line option in order to make it easier to
	  launch multiple syslog-ng instances.
        * Introduced a new, cleaner syntax to specify that the permissions
          of a file are not to be changed. Use owner/group/perm options of a
          file without any parameters instead of "-1". The old mechanism had
          the problem that both per-file and global settings had to use "-1"
          to effectively stop syslog-ng from changing the uid/gid/perm
          values. The new syntax will make it possible to specify defaults
          in
          the global options section and customize those on a per-file
          basis.
        * syslog-ng will not go into the background if either the
          --syntax-only or --debug options are specified.

	Loggen:
	* Added SSL support.
	* Added the ability to read from a sample file


3.1.1
        Sun, 11 Apr 2010 10:26:57 +0200

        Bugfixes:
        * Solaris 10 SMF script now checks if the pid file refers to an
          actual instance of syslog-ng to make sure that syslog-ng is
          started even after a system crash.
        * The System V init script used on Solaris 8/9 gave ugly error messages
          if the dump device doesn't exist (which happens in a chroot/zone
          environment), this was fixed.
        * Fixed a 100% CPU usage if the configuration file uses the pipe
          driver on a regular file or a file driver on a named pipe.
        * Fixed a daylight saving problem in the transition window when
          receiving a BSD timestamp.
        * syslog-ng CSV format statistics (reachable via syslog-ng-ctl) is
          now properly escaped.

        Other changes:
        * Added "TAGS" macro which expands to a list of comma separated
          message tags.

3.1.0
        Tue, 16 Mar 2010 17:15:40 +0100

        Bugfixes:
        * Fixed Solaris 10 SMF script to properly handle svcadm refresh
          requests.
        * Fixed a possible segmentation fault for unix-dgram/unix-stream
          destinations on some (non-Linux) platforms.
        * Fixed processing empty log entries when using the syslog() protocol.
        * Fixed processing partially received syslog messages.

        Other changes:
        * Decrease the frequency of gettimeofday() calls during syslog-ng
          operation, as gettimeofday() is expensive to call on some
          platforms.
        * The SQL destination will only attempt to INSERT a given log
          message 3 times, and after that it gives up, instead of trying
          indefinitely.
        * Tru64 portability fixes.
        * The functional test program was improved to check the new RFC5424
          syslog protocol.

3.1beta2
        Fri, 18 Dec 2009 09:19:39 +0100

        Bugfixes:
        * Fixed two major memory leaks, one on input messages, one in
          patterndb.
        * Fixed escaped structured data processing.
        * Fixed expanding SDATA references in templates which have multiple
          dots in its name (e.g. when an OID is present in the name of the
          SD param or SD-ID.
        * pdbtool now correctly zero pads month and day fields in publish
          date of the merged patterndb file.
        * pdbtool won't link to unnecessary libraries, which fixes a
          compilation problem on Solaris with flex installed.


3.1beta1
        Sun, 29 Nov 2009 16:25:18 +0100

        This is the first public release of syslog-ng Open Source Edition 3.1.

        syslog-ng 3.1 is the first so called "feature release" of syslog-ng,
        as such its support period ends when either the next feature (named
        3.2) or the next stable (named 4.0) version is published.

        New features:
        * Support for patterndb v2 and v3 format, along with a bunch of new
          parsers: ANYSTRING, IPv6, IPvANY and FLOAT.

        * Added a new "pdbtool" utility to manage patterndb files: convert
          them from v1 or v2 format, merge mulitple patterndb files into one
          and look up matching patterns given a specific message.

        * Support for message tags: tags can be assigned to log messages as
          they enter syslog-ng: either by the source driver or via patterndb.
          Later it these tags can be used for efficient filtering.

        * Added support for rewriting structured data.

        * Macros and name-value pairs got a little tighter integration,
          in filters where syslog-ng 3.0 was limited to only use name-value
          pairs, with 3.1 you can also use macros.

        * Enhanced dynamic name-value performance by a factor of three.

        * Some parsers got additional features: NUMBER is now able to parse
          hexadecimal numbers, ESTRING is now able to search for multiple
          characters as the end of the string.

        * Added non-standard and non-portable facility codes (range 10-15),
          decouple syslog-ng facility name information from the system used
          to compile syslog-ng on.
