<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p></p>
<div class="release-header" style="box-sizing: border-box; color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 14px;">
<h1 class="release-title" style="box-sizing: border-box; font-size: 32px; margin: 0px 60px 0px 0px;">
<a href="https://github.com/balabit/syslog-ng/releases/tag/syslog-ng-3.10.1" style="box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); text-decoration-line: none;">syslog-ng-3.10.1</a></h1>
<p class="release-authorship" style="box-sizing: border-box; margin-top: 5px; margin-bottom: 20px; color: rgb(88, 96, 105);">
<span style="color: rgb(36, 41, 46); font-size: 16px;"><br>
</span></p>
<p class="release-authorship" style="box-sizing: border-box; margin-top: 5px; margin-bottom: 20px; color: rgb(88, 96, 105);">
<span style="color: rgb(36, 41, 46); font-size: 16px;">Features</span><br>
</p>
</div>
<div class="markdown-body" style="box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; line-height: 1.5; word-wrap: break-word; color: rgb(36, 41, 46);">
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px;">
<li style="box-sizing: border-box;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Support https in http (curl) module</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Docker support : from now Dockerfile for CentOS7, Ubuntu Zesty and for<br style="box-sizing: border-box;">
Debian Jessie is part of our upstream</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add --database parameter for geoip template function</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Metric improvements</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">add discarded messages for parsers</li><li style="box-sizing: border-box; margin-top: 0.25em;">add matched/not matched counter for filters</li><li style="box-sizing: border-box; margin-top: 0.25em;">add memory_usage counter to logqueue</li><li style="box-sizing: border-box; margin-top: 0.25em;">add written counter
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">Written is a calculated counter which return the written messages<br style="box-sizing: border-box;">
by destinations. Written message is which was processed but not<br style="box-sizing: border-box;">
queued and not dropped. (written = processed - queued - dropped)</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">stats-counters: rename stored counter to queued</li><li style="box-sizing: border-box; margin-top: 0.25em;">add global_allocated_logmsg_size counter for tracking memory logmsg<br style="box-sizing: border-box;">
related allocations</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add snmp-parser (v1, v2)</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">parses snmptrapd log</li><li style="box-sizing: border-box; margin-top: 0.25em;">The parsed information is available as key-value pairs, which can be<br style="box-sizing: border-box;">
used/serialized (macros, format-json, etc.) in the log path.<br style="box-sizing: border-box;">
If you want to send the message in a structured way, you can disable the<br style="box-sizing: border-box;">
default message generation with the <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0px; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;">generate-message(no)</code> option.</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add snmp-soure</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">available as an SCL block that containing a filesource and an SNMP parser<br style="box-sizing: border-box;">
modules: add snmptrapd parser</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add osquery source</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">available as an SCL block</li><li style="box-sizing: border-box; margin-top: 0.25em;">It reads the osquery log file and parses with the JSON parser,<br style="box-sizing: border-box;">
creating name-vaule pairs with an .osquery. prefix by default.</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add cisco-parser</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">available as an SCL block</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add wildcard filesource</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add startdate template function</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add $(basename) and $(dirname) template functions</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add Kerberos support for HDFS destination</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add AUTH support for redis destination</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add map-value-pairs() parser</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">it can be used to map existing name-value pairs to a different set during<br style="box-sizing: border-box;">
processing, in bulk. Normal value-pairs expressions can be used, just<br style="box-sizing: border-box;">
like with value-pairs based destinations.</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Extend Python language binding by Python parser</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add support for extract-stray-words() option in kv-parser()</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">stray words: those words that happen to be between key-value pairs and<br style="box-sizing: border-box;">
are otherwise not recognized either as keys nor as values.</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add $(context-values) template function</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add $(context-lookup) function</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add list related template functions</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">$(list-head list ...) returns the first element (unquoted)</li><li style="box-sizing: border-box; margin-top: 0.25em;">$(list-nth NDX list ...) returns the specific element (unquoted)</li><li style="box-sizing: border-box; margin-top: 0.25em;">$(list-concat list1 list2 ...) returns a list containing the concatenated<br style="box-sizing: border-box;">
list</li><li style="box-sizing: border-box; margin-top: 0.25em;">$(list-append list elem1 elem2 ...) returns a list, appending elem1,<br style="box-sizing: border-box;">
elem2 ...</li><li style="box-sizing: border-box; margin-top: 0.25em;">$(list-tail list ...) returns a list containing everything except<br style="box-sizing: border-box;">
for the first element</li><li style="box-sizing: border-box; margin-top: 0.25em;">$(list-slice FROM:TO list ...) returns a list containing the slice<br style="box-sizing: border-box;">
[FROM:TO), Python style slice<br style="box-sizing: border-box;">
boundaries are supported (e.g. negative)</li><li style="box-sizing: border-box; margin-top: 0.25em;">$(list-count ...) returns the number of elements in list</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add add query commands to syslog-ng-ctl</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">query list List names of counters which match the filter</li><li style="box-sizing: border-box; margin-top: 0.25em;">query get Get names and values of counters which match the<br style="box-sizing: border-box;">
filter</li><li style="box-sizing: border-box; margin-top: 0.25em;">query get --sum Get the sum of values of counters which match the<br style="box-sizing: border-box;">
filter</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Support multiple servers in elasticsearch2-http destination</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Implements elastic-v2 https in http mode</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add getent module (ported from incubator)</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">This module adds $(getent) that allows one to look up various NSS based<br style="box-sizing: border-box;">
databases, such as passwd, services or protocols.</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add support for IP_FREEBIND</p>
</li></ul>
<h1 style="box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239);">
Bugfixes</h1>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px;">
<li style="box-sizing: border-box;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a libnet detection check error that caused problem configuring<br style="box-sizing: border-box;">
enable-spoof-source.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Avoid warnings about _DEFAULT_SOURCE on recent glibc versions<br style="box-sizing: border-box;">
With the glibc on zesty, using _GNU_SOURCE and not defining _DEFAULT_SOURCE<br style="box-sizing: border-box;">
results in a warning, avoid that by defining _DEFAULT_SOURCE as well.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix invalid database warning for geoip parser</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix prefix() default in systemd-journal for new config versions</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a potential message loss in Riemann destination</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a potential crash in the Riemann destination when the client is not<br style="box-sizing: border-box;">
connected to the Riemann server.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a possible add-contextual-data() related data loss in case of multiple<br style="box-sizing: border-box;">
reference to the same add-contextual-data parser in several logpaths.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix dbparser deadlock</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix Python destination</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">open() was not called in every time_reopen()</li><li style="box-sizing: border-box; margin-top: 0.25em;">python destination is not defined in stats output</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix processed stats counter for afsocket</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix stats source for pipes</p>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 0px;">
<li style="box-sizing: border-box;">Previously pipe source is shown as file</li></ul>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix csv-parser multithreaded support<br style="box-sizing: border-box;">
In some cases (when csv-parser attached to network source), the parser<br style="box-sizing: border-box;">
randomly filled the column macros with garbage.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a message loss in case of filesource when syslog-ng was restarted and<br style="box-sizing: border-box;">
the log_msg_size > file size.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a potential crash in cryptofuncs</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a potential crash in syslog-ng-ctl when no command line parameters was<br style="box-sizing: border-box;">
set.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix token duplication in the output of '--preprocess-into'</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix UTF-8 support in syslog-ng-ctl</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a potential crash during X.509 certificate validation.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a segfault in Python module startup</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix a possible endless reading loop issue in case of multi-line filesource.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Fix soname for the http module from "curl" to "http"</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Avoid openssl 1.1.0 deprecated APIs<br style="box-sizing: border-box;">
When openssl is built with <code style="box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; padding: 0.2em 0px; margin: 0px; background-color: rgba(27, 31, 35, 0.05); border-radius: 3px;">--api=1.1
 disable-deprecated</code>, use of deprecated<br style="box-sizing: border-box;">
APIs results in build failure.</p>
</li></ul>
<h1 style="box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239);">
Other changes</h1>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px;">
<li style="box-sizing: border-box;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Increase processed counter by queued counter after reload or restart when<br style="box-sizing: border-box;">
diskqueue is used otherwise the newly added written counter would underflow.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Set the default time-zone to UTC for elasticsearch2<br style="box-sizing: border-box;">
Elasticsearch and Kibana use UTC internally.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add retries support for python destination</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Prefer server side cipher suite order</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Always include librabbitmq in the dist tarball</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Always include ivykis in the dist tarball</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Marking parse error locations with >@<.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Default log_msg_size is increased to 64Kbyte from 8Kb</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Tons of syslog-debun improvements</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Exit with 0 return code when --help is specified for syslog-ng-ctl</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">syslog-ng: make '--preprocess-into' foreground only</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add debug messages on log_msg_set_value()</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Add more detail to filter evaluation related debug messages</p>
</li></ul>
<h1 style="box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239);">
Notes to the Developers</h1>
<ul style="box-sizing: border-box; padding-left: 2em; margin-top: 0px; margin-bottom: 16px;">
<li style="box-sizing: border-box;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Extract template perf test function to testlib</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Print a debug message when logmsg passed to the Python side</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Allow http module (curl) to be build with cmake</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">astylerc: allow continuation lines to start until column 60</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Move kv-scanner under syslog-ng/lib</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">scratch-buffers2: implement an alternative to current scratch buffers<br style="box-sizing: border-box;">
This new API is aimed a bit easier to use in situations where a throw away<br style="box-sizing: border-box;">
buffer is needed that will automatically be freed at the next message.<br style="box-sizing: border-box;">
It also gets does away with GTrashStack that is deprecated in recent glib<br style="box-sizing: border-box;">
versions.</p>
</li><li style="box-sizing: border-box; margin-top: 0.25em;">
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;">Several refactors in stats module.</p>
</li></ul>
<h1 style="box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239);">
Credits</h1>
<p style="box-sizing: border-box; margin-bottom: 16px;">syslog-ng is developed as a community project, and as such it relies<br style="box-sizing: border-box;">
on volunteers, to do the work necessarily to produce syslog-ng.</p>
<p style="box-sizing: border-box; margin-bottom: 16px;">Reporting bugs, testing changes, writing code or simply providing<br style="box-sizing: border-box;">
feedback are all important contributions, so please if you are a user<br style="box-sizing: border-box;">
of syslog-ng, contribute.</p>
<p style="box-sizing: border-box; margin-bottom: 16px;">We would like to thank the following people for their contribution:</p>
<p style="box-sizing: border-box;">Andras Mitzki, Antal Nemes, Balazs Scheidler, eroen, Fabien Wernli, Gabor Nagy,<br style="box-sizing: border-box;">
Gergely Nagy, Jason Hensley, Laszlo Varady, Laszlo Budai, Mate Farkas,<br style="box-sizing: border-box;">
Noemi Vanyi, Peter Czanik, Peter Gervai, Todd C. Miller, Philip Prindeville,<br style="box-sizing: border-box;">
Zoltan Pallagi</p>
</div>
<br>
<p></p>
<p><a href="https://github.com/balabit/syslog-ng/releases/tag/syslog-ng-3.10.1" class="OWAAutoLink" id="LPlnk892050" previewremoved="true">https://github.com/balabit/syslog-ng/releases/tag/syslog-ng-3.10.1</a></p>
<p><br>
</p>
</div>
</body>
</html>