3.4.8
        Fri,  6 Jun 2014 12:05:59 +0200

        This is the seventh bug-fix release for the 3.4.x series, with
        a set of important fixes over 3.4.7 released last December.
        Upgrading to this release is highly recommended.

        Features
        ========

        * Support for tzif3 format timezone files (used by recent
          releases of the tzdata package) was implemented.

        * SDATA enterprise IDs are now handled correctly when using
          value-pairs, they will not be needlessly split up into
          smaller chunks.

        Bugfixes
        ========

        * Drivers using value-pairs() (mongodb, format-json, etc) were
          made more robust, and will not behave strangely anymore when
          using higher compiler optimisation levels.

        * The DATE macro in most value-pairs() scopes will now always
          contain the stamp time, as opposed to sometimes the received
          or the stamp time.

        * The syslog-proto (rfc5424) scope of value-pairs() now
          includes SDATA too.

        * The $SEQNUM macro is now correctly handled by the
          $(format-json) template function.

        * Drivers using value-pairs() will now work correctly when a
          macro is specified in a key() statement.

        * When using the same json-parser() in multiple log paths,
          syslog-ng no longer crashes when no marker was set.

        * When a GeoIP lookup fails, handle it gracefully, avoiding an
          annoying glib warning.

        * When running in a FreeBSD jail, the system() source will not
          use /dev/klog.

        * Various memory leaks were plugged (related to internal
          locking, and value-pairs).

        * When building from Git, the grammar files are now build-able
          with bison 3+. Builds from tarballs are unaffected.

        Miscellaneous changes
        =====================

        * The host() and port() options of the MongoDB destination
          driver have been labelled as deprecated. They already were,
          just not marked so.

        * The username() and password() options of the AMQP driver
          were made mandatory.

        Credits
        =======

        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Andras Mitzki <micek@balabit.hu>
        Balazs Scheidler <bazsi@balabit.hu>
        Daniel Gados <gdani@balabit.hu>
        Fabien Wernli
        Gergely Nagy <algernon@balabit.hu>
        Igor Ippolitov <iippolitov@gmail.com>
        Laszlo Meszaros <lmesz@balabit.hu>
        Nick Alcock <nix@esperi.org.uk>
        Peter Czanik <czanik@balabit.hu>
        Tibor Benke <btibi@balabit.hu>
        Viktor Tusa <tusa@balabit.hu>
        Xufeng Zhang <xufeng.zhang@windriver.com>

3.4.7
        Tue, 24 Dec 2013 21:07:34 +0100

        This is the sixth bug-fix release for the 3.4.x series, with a
        number of important fixes over the 3.4.6 release. Upgrading to
        this release is highly recommended.

        Bugfixes
        ========

        * Node flag propagation has been fixed, so flags(final) works
          the same as it did in 3.3, when embedded log statements are
          used too.

        * Using the value-pairs() framework, either via the
          $(format-json) template function or any of the destinations
          that make use of it, will now correctly skip and ignore
          empty values, even in SDATA.

        * A file descriptor and memory leak has been fixed in the
          syslog() destination.

        * The pdbtool program will warn in test mode when a test
          message has no program attribute. [BugZilla #263]

        * If the PID property is overwritten, syslog-ng will now stop
          using the cached MSGHDR value, and therefore, use the newly
          set PID instead, as it was supposed to.

        * The localport() option of various network destinations has
          been restored, and will work correctly now. [BugZilla #266]

        * The upstart service file in contrib has been updated to use
          a different process mode (background), as we do not need a
          supervisor when running under upstart. This also means that
          upstart will be far less confused.

        Credits
        =======

        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Andras Mitzki <micek@balabit.hu>
        Balazs Scheidler <bazsi@balabit.hu>
        Chris Johnson <chris.johnson3@hp.com>
        Fabien Wernli <cpan@faxm0dem.org>
        Gergely Nagy <algernon@balabit.hu>
        Lucas McLane <lucas@clicksecurity.com>
        Peter Czanik <czanik@balabit.hu>
        Sebastiaan Hoogeveen <zebaz@xs4all.nl>
        Tobias Schwab <tobias.schwab@dynport.de>

3.4.6
        Wed, 27 Nov 2013 16:21:47 +0100

        This is the fifth bug-fix release for the 3.4.x series, with a
        number of significant fixes over the 3.4.5 release. Upgrading
        to this release is highly recommended.

        Bugfixes
        ========

        * The system() source has been fixed on Solaris and HP-UX: it
          correctly recognises the system on Solaris, and uses
          /dev/log (and not /dev/pipe) on HP-UX.

        * The sun-streams() source has been fixed, it compiles and
          works again.

        * A very rare and short race condition has been fixed in the
          pipe() source and destination modules, which could leave the
          pipe available with elevated permissions for a short time.

        * The SQL, MongoDB and SMTP modules were fixed to not cause a
          segmentation fault when loaded before the socket module.

        * The syslog-format() module has been fixed to only set the
          PROGRAM to "kernel" if all of the previous conditions apply,
          and the message is a local message.

        Credits:
        ========

        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Alexandre Lecuyer
        Balazs Scheidler <bazsi@balabit.hu>
        Gergely Nagy <algernon@balabit.hu>
        Imre Lazar <imre@balabit.hu>
        Laszlo Budai <lbudai@balabit.hu>
        Matyas Koszik <koszik@atw.hu>
        Oscar Muñoz

3.4.5
        Mon,  4 Nov 2013 08:54:50 +0100

        This is the fourth bug-fix release for the 3.4.x series, with
        important fixes over the 3.4.4 release. Upgrading to this
        release is highly recommended.

        Bugfixes
        ========

        * A race condition in log message reference counting code that
          sometimes led to crashes was fixed. [#255]

        * An assertion that happened in certain situations when a
          subst() rewrite rule was used was fixed. [#256]

        * A use-after-free error that sometimes happened after a
          reload, and caused memory corruption was also fixed. [#253]

        * patterndb was corrected not to create a new instance on
          reload: this way, the old one is not leaked, and db-parser()
          does not forget the correlation state, nor its idea of
          current time on reload. [#257]

        * The syslog-ng.spec file does not try to install the
          long-removed ChangeLog file anymore.

        * A few harmless, but noisy compiler warnings have been
          eliminated.

        Features
        ========

        * The JSON parser now understands NULL-typed keys, and ignores
          them.

        Credits:
        ========

        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Balazs Scheidler <bazsi@balabit.hu>
        Evan Rempel <erempel@uvic.ca>
        Gergely Nagy <algernon@balabit.hu>
        Gonzalo Paniagua <gonzalo.paniagua+slng1@acquia.com>
        Jose Pedro Oliveira <jpo@di.uminho.pt>
        Michal Privoznik <miso.privoznik@gmail.com>
        Nicolas Szalay <nico@rottenbytes.info>

3.4.4
        Thu, 17 Oct 2013 12:16:40 +0200

        This is the third bug-fix release for the 3.4.x series, with
        important fixes over the 3.4.3 release. Upgrading to this
        release is highly recommended.

        Bugfixes
        ========

        * Fixed the log message reference counting in the AMQP
          destination, thus stopping it from crashing.

        * Fixed a possible crash in the AMQP destination that could be
          triggered when the AMQP server was unreachable at the time
          of a syslog-ng reload or shutdown.

        * pdbtool no longer segfaults when used with the --module
          switch [#249]

        * pdbtool test exits with a return value of 2 if the test
          value matched a different pattern than expected. [#241]

        * The inherit-properties attribute was added to the patterndb
          XSD. [#251]

        * A memory corruption was fixed in the @STRING@ parser of
          db-parser(). [#254]

        * Corrected a mistake in the afsocket module that lead to
          crashes on reload when unix-stream or unix-dgram
          destinations were in use.

        * Excludes now work properly with value-pairs(), and they do
          not get ignored if the value to exclude is in the default
          set.

        * The program() source and destination now correctly kill the
          started child on reload and shutdown.

        * The file destination does not use lseek() anymore.

        * When setting default template options, all random memory
          junk is cleared from the object first.

        * The order of header include paths was fixed in the test
          suite, so it should compile cleanly even in the presence of
          potentially conflicting headers.

        Features
        ========

        * The $(format-json) template function, and anything else that
          may use the same value-pairs command line parser now allow
          specifying multiple scopes separated by commas (as opposed
          to having to use the --scope switch multiple times) [#248]

        Credits:
        ========

        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Alexandre Biancalana <biancalana@gmail.com>
        Balazs Scheidler <bazsi@balabit.hu>
        Balint Kovacs <blint@balabit.hu>
        Evan Rempel <erempel@uvic.ca>
        Fabien Wernli <cpan@faxm0dem.org>
        Gergely Nagy <algernon@balabit.hu>
        Lucas McLane <lucas@clicksecurity.com>
        Marc Falzon <marc.falzon@cloudwatt.com>
        Michal Privoznik <miso.privoznik@gmail.com>
        Ryan Frederick
        Valentijn Sessink <valentijn@sessink.nl>

3.4.3
        Tue, 13 Aug 2013 13:00:00 +0100

        This is the second bug-fix release for the 3.4.x series,
        collecting significant fixes over the 3.4.2 release. Upgrading
        to this release is highly recommended.

        Bugfixes
        ========

        * The pacct module has been fixed, and now compiles correctly.

        * Updated the configure.in script, and a few other places to
          fix issues with recent autotools.

        * Fixed an infinite loop when template expansion resulted in a
          zero-length string.

        * A considerable number of minor issues surrounding the build
          system have been eliminated.

        * The template_escape() setting is now respected by template
          functions that create templates themselves (such as the
          conditional functions)

        * Restore support for defaultless block{} arguments. [#230]

        * RFC5424 NILVALUE is now accepted in timestamps [#238]

        * The JSON parser will throw an error when the input is not an
          object (but, for example, a string) instead of crashing.

        * The program() source has been fixed, and now does not throw
          a syntax error at config parsing time, but works correctly
          again.

        * In case resolving a hostname fails, the IP address does not
          get truncated anymore. [#240 & #242]

        * A race condition in certain filter operations have been
          eliminated.

        Features
        ========

        * The JSON parser now accepts generic parser related options,
          such as template(), so one can easily set the input for the
          parser.

        Credits:
        ========

        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Andras Tim <tia@balabit.hu>
        Anton Koldaev <koldaevav@gmail.com>
        Attila Szalay <sasa@balabit.hu>
        Balazs Scheidler <bazsi@balabit.hu>
        Gergely Nagy <algernon@balabit.hu>
        Martin <bmartin@lavabit.com>
        Michael Sterrett <mr_bones_@gentoo.org>
        Vincent Brillault <spam@lerya.net>

3.4.2
        Mon,  3 Jun 2013 16:00:00 +0100

        This is the first bug-fix release for the 3.4.x series,
        collecting significant fixes over the 3.4.1 release. Upgrading
        to this release is highly recommended.

        Bugfixes
        ========

        * loggen will bail out earily if using Unix sockets without a
          path specified.

        * Using the same filter for multiple destinations does not
          trigger a crash anymore. [#219]

        * An issue with log branch propagation has been fixed,
          restoring compatibility with the 3.3 branch (this mostly
          affected flags(final) use cases). [#220]

        * The systemd unit file now specified Restart=on-failure.
          [#222]

        * Support for empty blocks in the configuration were restored,
          syslog-ng does not crash anymore when encountering one.

        * An assertion was fixed in patterndb, that prevented one from
          overriding built-in values, such as HOST. [#225]

        * The persist state file (syslog-ng.persist) is now marked
          close-on-exec, so it does not leak through to forked
          subprocesses.

        * The system() source now treats /proc/kmsg as optional: if it
          is not readable to the user running syslog-ng, it will not
          be included.

        * Proper escape handling in backtick insertion has been
          implemented, so string arguments to block parameters are -
          again - treated correctly. [#235]

        * A rare race condition in the SQL, MongoDB, SMTP and AMQP
          destinations have been fixed.

        * A possible deadlock was fixed within the suppress() handling
          code.

        Credits
        =======

        Attila M. Magyar <athos@balabit.hu>
        Balazs Scheidler <bazsi@balabit.hu>
        Evan Rempel <erempel@uvic.ca>
        Gergely Nagy <algernon@balabit.hu>
        Paul Dann <pdgiddie+balabit@gmail.com>
        Peter Czanik <czanik@balabit.hu>
        Tamas Pal <folti@balabit.hu>

3.4.1
        Thu, 31 Jan 2013 11:00:00 +0100

        This is the first stable release in the 3.4 series adding a number
        of features compared to 3.3, a culmination of more than a
        year's worth of development.

        Major features since 3.3
        ========================

          * New plugins: AMQP & SMTP destinations, JSON parser.

            See the following links for more details about them:

            http://git.io/mgF_sA (AMQP), http://git.io/Os9qpA (SMTP)
            and http://git.io/7MerYA (JSON parser)

          * New parsers for patterndb: HOSTNAME, EMAIL, PCRE and
            LLADDR.

          * It is now possible to control what db-parser() sees as its
            input via it's new template() option. (Defaults to
            $MESSAGE)

            See http://git.io/YZHPtg for more details.

          * value-pairs() gained support for programmatically
            rewriting key names in bulk, via the rekey() method.

            See http://git.io/VylQUg for more details.

          * The network() driver is introduced, unifying and extending
            tcp(), udp(), syslog(), unix-dgram() and
            unix-stream(). The old drivers are still available, but
            migrating over to network() is encouraged.

            See http://git.io/0Xjlhg for more details.

          * Support for junctions & channels were added, which improve
            the flexibility of the syslog-ng configuration
            language. This allows combining sources with their closely
            tied processing functionality (like parser, rewrite and
            filter statements). Read this blog post for more
            information:

            http://goo.gl/T8Txa

            In the final form of the functionality the "log" keyword
            as described in the blog post above was replaced with
            "channel".

        Changes since 3.4.0rc2:
        =======================

        Bugfixes
        ========

        * PatternDB allows a wider range of characters in a class
          value now.

          Newly allowed chars are: %, :, @, +, !, ^, / and \.

        * The fsync() and flush-lines() functionality was restored in
          the file() destination, both work as expected and correctly
          now.

        * The set() and subst() rewrite operations were fixed to work
          even when referenced from multiple places (and in a number
          of different corner-cases too).

        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Balazs Scheidler <bazsi@balabit.hu>
        Evan Rempel <erempel@uvic.ca>
        Gergely Nagy <algernon@balabit.hu>
        Johnson, Chris <chris.johnson3@hp.com>

3.4.0rc2
        Wed, 17 Jan 2013 14:00:00 +0100

        Features
        ========
        * The dbparser() parser gained support for the template()
          option, which allows one to have more control (in an easy,
          and straightforward way) over what data the parser operates
          on.

        Bugfixes
        ========
        * Building the AMQP destination can now be properly disabled.

        * The bundled ivykis was upgraded from the 0.30 stable branch
          to 0.36, for platform support and other improvements.

        * Fix the test suite when --with-embedded-crypto is in use.

        * The LLADDR parser was fixed, formerly it required the exact
          number of components to be present, and had parts and count
          values backwards. [#216]

        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Balazs Scheidler <bazsi@balabit.hu>
        Ben Lentz <blentz@cswg.com>
        Evan Rempel <erempel@uvic.ca>
        Gergely Nagy <algernon@balabit.hu>
        Jose Pedro Oliveira <jpo@di.uminho.pt>
        Peter Czanik <czanik@balabit.hu>

3.4.0rc1
        Mon,  7 Jan 2013 16:00:00 +0100

        Features
        ========
        * Make it possible to link crypto stuff directly into
        libsyslog-ng, using the new --with-embedded-crypto option to
        configure.

        Bugfixes
        ========
        * DNS resolving was made thread-safe, by either using
        getnameinfo() on platforms where it is available, or
        protecting the lookups with a mutex.

        * Restored support for systems that lack GLOB_NOMAGIC.

        * The syslog() destination now correctly enforces IPv4, so
          using udp6() followed by syslog() in the same source block
          will not result in syslog() trying to use IPv6. To use the
          syslog protocol over IPv6, use the new network() statement.

        * On AIX, load modules from "a" archives instead of "so" ones.

        * The config version checking mechanism was patched, which
          fixes a crash in certain cases when running under systemd.

        * The GeoIP module can now be built even on systems that do
          not have a pkg-config file for the geoip library, by setting
          the GEOIP_LIBS environment variable prior to running
          configure.

        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

        Balint Kovacs <blint@blint.hu>
        Balazs Scheidler <bazsi@balabit.hu>
        Ben Lentz <blentz@cswg.com>
        Brian Kroth <bpkroth@gmail.com>
        Gergely Nagy <algernon@balabit.hu>
        Jan Schaumann <jschauma@netmeister.org>
        Peter Czanik <czanik@balabit.hu>
        Tamas Pal <folti@balabit.hu>
        Viktor Juhasz <jviktor@balabit.hu>

3.4.0beta1
	Sat, 15 Dec 2012 02:21:14 +0100

	Features:
	=========
	* Added support for the amqp() destination driver, which sends
	  messages to an AMQP queue.

	* Added support for a new parser named syslog-parser() that can
	  invoke the RFC3164 and RFC5424 parser outside the source driver
	  that received the message. Delaying the syslog parsing can be
	  advantageous in case some preprocessing or filtering needs to take
	  place before the actual syslog parsing.

	* Added support for dot notation in the $(format-json) template
	  function.

	* Changed the MongoDB driver to use inserts instead of upserts.

	* Added support for UNIX domain sockets in the MongoDB driver by
	  using the new path() option.

	* Added new template functions to perform various cryptographic hash
	  functions on data, like: $(md5), $(md4), $(sha1), $(sha256),
	  $(sha512)

	* Added a couple of new parsers to db-parser() pattern format:

           * @PCRE@: use this to parse using a regexp
           * @EMAIL@: to parse email addresses
	   * @HOSTNAME@: to parse host names
	   * @LLADDR@: to parse link-level addresses, like ethernet MAC
             addresses

	* Added the possibility to set TCP keepalive options for TCP based
	  transports: tcp-keepalive-time(), tcp-keepalive-probes(),
	  tcp-keepalive-intvl(). Also added the tcp-keepalive() option as
	  an alias to the earlier so-keepalive() parameter. TCP keepalive
	  became enabled by default.

	Bugfixes:
	=========
	* Updated with the bugfixes from v3.3.7

	* Fixed SQL statement formatting used to create indexes on Oracle.
	  The original query contained an apostrophe when specifying the
	  column name.

	* Fixed an incorrect validation in the file() source, which
	  caused the entire file to be resent in case syslog-ng was
	  restarted and an encoding() is specified.

	* Increased the performance when following files with the encoding()
	  option set. Previously, the code to check if the source encoding
	  is fixed size was incorrect, which in turn caused syslog-ng
	  to excercise its slow path when processing these files, instead of
	  a faster alternative.

	* Fixed a memory leak issue when encoding() is used for file
	  sources and syslog-ng was reloaded.

	* Fixed a bug in processing the encoding() option for udp() sources.
	  syslog-ng incorrectly propagated the character decoding state from
	  one frame to the next, which might have originated from different
	  senders.

	* Infinite feedback loops of internal messages triggering another
	  set of internal messages are now detected and suppressed. Earlier
	  it was not safe to enable debug/trace messages during runtime, now
	  it is.

	* Fixed a race condition in resolving IP address to hostnames, which
	  might have caused garbage in the hostname part of messages. This
	  is most likely mitigated by the DNS cache.

	Other changes:
	==============
	* Added unit test coverage for various log transport
	  implementations.

	* Reorganized the LogProto code to support plugins, the transport()
	  option for the syslog() and network() drivers can be used to
	  specify a transport protocol plugin.

        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

           Attila Nagy <bra@fsn.hu>
           Balazs Scheidler <bazsi@balabit.hu>
           Balint Kovacs <blint@balabit.hu>
           Brian Kroth <bpkroth@gmail.com>
           Conrad Hoffmann <ch@bitfehler.net>
           Csaba Major <csaba.major@balabit.com>
           Cy Schubert <cy@FreeBSD.org>
           Eun Kyung <ekyung01@googlemail.com>
           Evan Rempel <erempel@uvic.ca>
           Gergely Nagy <algernon@balabit.hu>
           Jose Oliveira <jpo@di.uminho.pt>
           Juhasz Viktor <jviktor@balabit.hu>
           Marvin Nipper <marvin.nipper@stream.com>
           Michael Hocke <michael.hocke@nyu.edu>
           Peter Czanik <czanik@balabit.hu>
           Peter Gyongyosi <gyp@balabit.hu>
           Sandor Geller <wildy@muhelybt.hu>
           Sergey <cloun-rulez@yandex.ru>
           shih dane <daneshih1125@gmail.com>
           Tamas Pal <folti@balabit.hu>
           Viktor Juhasz <jviktor@balabit.hu>

3.4.0alpha3
	Fri, 29 Jun 2012 15:32:54 +0200

	Features:
	=========
	* Added set-tag() and clear-tag() rewrite rules.

	* Added a marker() option to the json-parser(), which indicates that
	  a message is indeed has a json payload. Used to implement a
	  cee-style payload parser.

	  http://bazsi.blogs.balabit.com/2012/05/cee-prototype-and-a-show-case-for-the-new-3-4-features/

	* The system source automatically detectd systemd and defines the
	  proper log socket accordingly. Also, if the system() source is not
	  used, a workaround to use the systemd supplied log socket instead
	  of /dev/log was applied. This kicks in if syslog-ng is running
	  under systemd and its config version is 3.3 or less.

	* Support for FreeBSD's utmpx database.

	Featured ported from the Premium Edition
	========================================

	* Added 12 hour time related macros $AMPM and $HOUR12

	* Added $USEC and $MSEC macros for micro and milliseconds
          respectively.

	* Added $SYSUPTIME that expands to the time since syslog-ng started
	  in the number of 1/100th of a second (just like in the SNMP
	  sysUptime value).

	* db-parser(): added field extraction to the matching or program
	  names

	* Added support for Cisco extended timestamp format, one that
	  includes time synchronity information and sequence numbers.

	  https://github.com/bazsi/syslog-ng-3.4/commit/046f90e76137f31e61412d24b9920914ad75edc5

	* Added support for mark-mode() that allows the customization how
	  MARK messages are generated.

	  https://github.com/bazsi/syslog-ng-3.4/commit/c38d7ad9a2d40650e243ec29c6b3ee07233d31a8

	Bugfixes:
	=========
	* Fixed a possible segmentation fault in threaded mode when
	  dns-cache-hosts() is used.

	* Incorrect encoding of data caused UDP and unix-dgram() receives to
	  be erroneously closed, so no further data would be received. This
	  has been fixed.  Incorrect encoding of incoming data causes the
	  connection for connection oriented transports (like tcp() and
	  unix-stream()) to be closed, but the same condition is ignored for
	  datagram oriented transports (like udp() or unix-dgram()).

	* Accept empty source and destination object in the configuration
	  file.

	* Fixed a linking issue when using the SMTP destination.

	* Ignore SIGHUP in the supervisor process.

	* Fixed fsync() behaviour for destination files.

	* Fixed a possible NULL deref in db-parser() correllation when
	  context-scope is not defined.

	Other changes:
	==============
	* Added a --disable-smtp configure option.

	* Integrated unit test refactorization changes from the BalaBit
	  syslog-ng and SSB teams.

	* Added systemd alias "syslog" to the unit file.

        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

           Alexander Komyagin <komyagin@altell.ru>
           EgonB <egon@local.ee>
           Evan Rempel <erempel@uvic.ca>
           Imre Lazar <imre@balabit.hu>
           Jose Pedro Oliveira <jpo@di.uminho.pt>
           Mark Ulmer <mark.ulmer@apollogrp.edu>
           Patrick Hemmer
           Peter Czanik <czanik@balabit.hu>
           Attila Magyar <athos@balabit.hu>
           Attila Nagy <naat@balabit.hu>
           Balazs Scheidler <bazsi@balabit.hu>
           Gergely Nagy <algernon@balabit.hu>
           Juhasz Viktor <jviktor@balabit.hu>
           Peter Gyorko <gyorkop@balabit.hu>
           Viktor Juhasz <jviktor@balabit.hu>


3.4.0alpha2
	Tue, 01 May 2012 08:59:21 +0200

	Features:
	=========
	* Added support for globbing when including files. Now you can use
	  UNIX shell style wildcards in the names of include files and
	  syslog-ng will properly source all matching files.

	* Allow huge messages. Earlier log messages were limited to 256k in
	  size, with each name-value pair limited at 64k. These limitations
          were lifted, syslog-ng now uses a 32 bit integer field to hold the
	  size information for both the whole data structure and individual
          fields. An artificial limit of 256MB is still applied though, but
          it is trivial to change that in the future, and until then this
          should suffice.

	Other changes:
	==============

	* Flow-control logic was changed, instead of enabling flow-control
	  for all branches of a log statement when a single
	  flags(flow-control) was present, only enable it downwards.

	* Changed json-parser() to encode JSON array members as ${array[0]},
	  ${array[1]} and so on, instead of using ".index" suffixes.

	* Fixed Makefile.am files to avoid attempting to compile mongodb and
	  smtp destination drivers when they are disabled.

	* Fixed --with-json configure option parsing and added
	  --disable-json for consistency with other optional features.

	* Removed the "dummy" module, which only served as a placeholder
	  when the original "pluginization" happened in 3.2.

        Bugfixes:
        =========

        * Fixed a segmentation fault, which happened when source or
          destination objects were defined without any actual drivers.

	* Fixed a possible crash in config file parsing that happens when
	  parsing a unix-dgram() source driver and file permissions (owner,
	  group, perm) specified.

	* Fixed a possible crash (double-free) in the value-pairs command
	  line parser used in $(format-json), in case the command line
	  options have syntax errors.

	* Handle and print template compilation errors properly during
	  configuration parsing.

	* Fixed some memory leaks in the configuration compilation code
	  introduced in 3.4.

	Bugfixes backported from 3.3 (matching 3.3.5):
	==============================================

        * Fixed a significant memory leak that occurred when the receiver
          side of a syslog connection is slower than syslog-ng. The message
          which we got EAGAIN for got leaked.

        * Fixed another memory leak that caused the complete queue for
          socket based destination drivers to be leaked at reload time.

        * Fixed a memory leak related to handling TLS enabled connections.
          As connections come and go the TLS context wasn't freed.

        * Fixed a small memory leak that occurred when worker threads exit
          (and later start again).

        * Fixed a deadlock in the SQL destination that occurred when a
          COMMIT TRANSACTION command failed.

        * Fixed an abort() which occurred when the retry timer of a
          suspended destination fired.

        * Fixed a framing error in RFC5424 destinations.

        * MongoDB & SQL: fixed a race condition that caused mongodb/sql
          destinations to hang.

        * Fixed handling the ENOBUFS error in udp() destinations on FreeBSD
          and related/derived platforms. Previously ENOBUFS caused syslog-ng
          to suspend the destination for time_reopen() (which defaults to 60
          seconds), but that's excessive.  Reading the literature suggests
          that there are three ways to handle an ENOBUFS: wait for some
          undetermined amount of time until the interface buffers are
          presumably emptied, or let the packet be dropped or go back to the
          poll loop and hope that by the next time the event is dispatched
          ENOBUFS will be gone. Right now, syslog-ng will drop the affected
          packet, as the other two could cause other tasks to starve (wait
          some time) OR syslog-ng to use 100% CPU.


        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:
          Peter Czanik (BalaBit)
          Martin Grauel (BalaBit)
          Patrick Hemmer
          Hendrik Völker (Verizon)
          Gergely Nagy (BalaBit)
          Evan Rempel (University of Victoria)
          Balint Kovacs (BalaBit)
          Heiko Gerstung
          Andreas Piesk
          Matthias Runge (Fedora)

3.4.0alpha1

	Features:
	=========

	* Support for junctions & channels were added, which improve the
	  flexibility of the syslog-ng configuration language. This allows
	  combining sources with their closely tied processing functionality
	  (like parser, rewrite and filter statements). Read this blog post
	  for more information:

	    http://bazsi.blogs.balabit.com/2012/01/syslog-ng-flexibility-improvements/

	  In the final form of the functionality the "log" keyword as
	  described in the blog post above was replaced with "channel".

	* The functionality to query and manipulate sets of name-value pairs
	  (often referenced as value-pairs and used in the mongodb()
          destination driver and the $(format-json) template function).
	  got significantly improved. It is now possible to change the name
          of the keys when creating the output. See this commit for more
          information:

	    https://github.com/bazsi/syslog-ng-3.4/commit/ddc7c2539bd66fa35e8df441e4baf58e87b6708d

	* Plugins & modules are now demand-loaded automatically if the
	  "autoload-compiled-modules" global variable is set to 1, which is
	  the default. Any shared libraries found on the module search path
	  is considered for loading if the configuration file contains a
	  reference to a functionality it provides.

	  To disable this functionality simply set the referenced variable
	  to 0 with a "@define" statement and load modules explicitly via
	  "@module" statements.

	  To list the available plugins & modules, use the --module-registry
	  command line option for syslog-ng, which results in a detailed
	  listing.

	* Added a new parser named json-parser() to parse incoming JSON
	  formatted messages. See this commit for more information:

	    https://github.com/bazsi/syslog-ng-3.4/commit/e5569687bba2551c89a78faee55bcf8b4944066f

	* Added a number of template functions:

	   $(length ARG)               - length of a template expression
	   $(substr ARG START [LEN])   - substring of a string
	   $(strip ARG)                - remove white space from the start and end
           $(sanitize ARG1 ARG2)       - join args to form a filename while
	                                 removing special characters like '/'
	   $(+), $(-), $(*), $(/), $(%) - perform numeric operations

	* Added support for replicasets to the mongodb() destination driver.

            https://github.com/bazsi/syslog-ng-3.4/commit/a980b9d268efa54879d3deeb4a53fa5a281629ba

	* Added support for safe-mode() to the mongodb() destination driver
	  that ensures inserts were properly executed at the cost of some
	  performance penalties.

            https://github.com/bazsi/syslog-ng-3.4/commit/768f0c6ec8eba2ad51531f2331fb5635fe12c063

	* Added support for SMTP destination to send out emails triggered by
	  log messages.

            https://github.com/bazsi/syslog-ng-3.4/commit/404ceb959efe9715ce7437d7dcdc28ababbac590

	* Added support for generating UUIDs via the $(uuid) template
	  function.

            https://github.com/bazsi/syslog-ng-3.4/commit/a16798c653c057239236945034114d8abf320e44

	* Added the @SET@ parser to db-parser().

            https://github.com/bazsi/syslog-ng-3.4/commit/ab08c84abbeda5a200b8150a6af7b02c64d84994

	* Added support for dbd-option() in the sql() destination driver
	  that makes it possible to supply driver specific options to the
	  DBI driver.

            https://github.com/bazsi/syslog-ng-3.4/commit/9254fe9e6236746bf1f955f0cac1274634b1beda

	* Reload of the configuration can now be triggered using 
          "syslog-ng-ctl reload".

	* A new macro named $LOGHOST was added, which expands to the local
	  hostname running syslog-ng.

	* A set of time macros were added prefixed with "C_" that use the
	  current time instead of the reception time (prefixed R_) and and
	  the time that was included in the message (prefixed S_).  This
	  means that C_DATE expands to the current date, whereas R_DATE
	  would expand to the date the current message was received at.

            https://github.com/bazsi/syslog-ng-3.4/commit/c2d17009e2ce14960acb519750fe2537b05e6f46

	* Improved error reporting by including the configuration-file
	  location of the object associated with the error. This makes it
	  easier to diagnose errors even in the case of otherwise unnamed
	  objects.

	* This release also includes all fixes of the 3.3 branch, which are
	  not listed here for brevity's sake. The merged commit ID is:
	  bf742b0, which is a couple of patches ahead of "3.3.4".

        Credits:
        ========
        syslog-ng is developed as a community project, and as such it relies
        on volunteers to do the work necessarily to produce syslog-ng.

        Reporting bugs, testing changes, writing code or simply providing
        feedback are all important contributions, so please if you are a
        user of syslog-ng, contribute.

        These people have helped in this release:

          Andreas Piesk
          Balazs Scheidler (BalaBit)
          Balint Kovacs (BalaBit)
          Evan Rempel (University of Victoria)
          Gergely Nagy (BalaBit)
          Heiko Gerstung
          Hendrik Völker (Verizon)
          Jakub Jankowski (superhost.pl)
          Martin Grauel (BalaBit)
          Matthias Runge (Fedora)
          Patrick Hemmer
          Russ Milne (Seccuris)
