<div dir="ltr"><h1 style="box-sizing:border-box;margin:0px 0px 16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji""><span style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-weight:400">Dear syslog-ng users,</span></h1><h1 style="box-sizing:border-box;margin:0px 0px 16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji""><div style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-weight:400">We are pleased to announce the 4.5.0 version of syslog-ng, which has been released and is now available on GitHub:</div><div style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-weight:400"><br></div><div style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-weight:400"><a href="https://github.com/syslog-ng/syslog-ng/releases/tag/syslog-ng-4.5.0" target="_blank">https://github.com/syslog-ng/syslog-ng/releases/tag/syslog-ng-4.5.0</a></div><div style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-weight:400"><br></div><div style="color:rgb(34,34,34);font-family:Arial,Helvetica,sans-serif;font-size:small;font-weight:400"><a href="https://github.com/syslog-ng/syslog-ng#installation-from-binaries" rel="noopener" target="_blank">Packages</a> are also available for various platforms. The AxoSyslog project provides<a href="https://axoflow.com/cloud-ready-syslog-ng-images/" rel="noopener" target="_blank"> cloud-ready container images</a>,<a href="https://axoflow.com/axosyslog-log-collection-for-kubernetes/" rel="noopener" target="_blank"> Helm charts</a>.</div></h1><h1 style="box-sizing:border-box;margin:0px 0px 16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">4.5.0</h1><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">Read Axoflow's <a href="https://axoflow.com/axosyslog-release-4-5/" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">blog post</a> for more details.<br style="box-sizing:border-box">You can read more about the new features in the AxoSyslog <a href="https://axoflow.com/docs/axosyslog-core/" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">documentation</a>.</p><h2 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Highlights</h2><h4 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:16px;line-height:1.25;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Sending log messages to OpenObserve</h4><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">The <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">openobserve-log()</code> destination feeds OpenObserve via the <a href="https://openobserve.ai/docs/api/ingestion/logs/json/" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">JSON API</a>.</p><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">Example config:</p><div style="box-sizing:border-box;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;overflow:auto"><pre style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;padding:16px;overflow:auto;line-height:1.45;border-radius:6px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0px;margin:0px;background:transparent;border-radius:6px;word-break:normal;border:0px;display:inline;overflow:visible;line-height:inherit">openobserve-log(
    url("<a href="http://openobserve-endpoint" target="_blank">http://openobserve-endpoint</a>")
    port(5080)
    stream("default")
    user("<a href="mailto:root@example.com" target="_blank">root@example.com</a>")
    password("V2tsn88GhdNTKxaS")
);
</code></pre><div style="box-sizing:border-box"><span aria-label="Copy" value="openobserve-log(
    url("http://openobserve-endpoint")
    port(5080)
    stream("default")
    user("root@example.com")
    password("V2tsn88GhdNTKxaS")
);" role="button" style="box-sizing:border-box;display:inline-block;font-size:14px;line-height:20px;vertical-align:middle;border-width:1px;border-style:solid;border-radius:6px;padding:0px"></span></div></div><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4698" style="box-sizing:border-box;background-color:transparent" target="_blank">#4698</a>)</p><h4 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:16px;line-height:1.25;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Sending messages to Google Pub/Sub</h4><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">The <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">google-pubsub()</code> destination feeds Google Pub/Sub via the <a href="https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics/publish" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">HTTP REST API</a>.</p><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">Example config:</p><div style="box-sizing:border-box;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;overflow:auto"><pre style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;padding:16px;overflow:auto;line-height:1.45;border-radius:6px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0px;margin:0px;background:transparent;border-radius:6px;word-break:normal;border:0px;display:inline;overflow:visible;line-height:inherit">google-pubsub(
  project("syslog-ng-project")
  topic("syslog-ng-topic")
  auth(
    service-account(
      key("/path/to/service-account-key.json")
    )
  )
);
</code></pre><div style="box-sizing:border-box"><span aria-label="Copy" value="google-pubsub(
  project("syslog-ng-project")
  topic("syslog-ng-topic")
  auth(
    service-account(
      key("/path/to/service-account-key.json")
    )
  )
);" role="button" style="box-sizing:border-box;display:inline-block;font-size:14px;line-height:20px;vertical-align:middle;border-width:1px;border-style:solid;border-radius:6px;padding:0px"></span></div></div><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">See the <a href="https://cloud.google.com/pubsub/docs/building-pubsub-messaging-system" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">Google Pub/Sub documentation</a> to learn more about configuring a service account.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4651" style="box-sizing:border-box;background-color:transparent" target="_blank">#4651</a>)</p><h4 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;font-size:16px;line-height:1.25;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Parsing PostgreSQL logs</h4><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">The <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">postgresql-csvlog-parser()</code>: add a new parser to process CSV log formatted by<br style="box-sizing:border-box">PostgreSQL (<a href="https://www.postgresql.org/docs/current/runtime-config-logging.html" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">https://www.postgresql.org/docs/current/runtime-config-logging.html</a>).<br style="box-sizing:border-box">The CSV format is extracted into a set of name-value pairs.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4586" style="box-sizing:border-box;background-color:transparent" target="_blank">#4586</a>)</p><h2 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Features</h2><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px"><li style="box-sizing:border-box"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">http()</code>: Added support for using templates in the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">url()</code> option.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">In syslog-ng a template can only be resolved on a single message, as the same<br style="box-sizing:border-box">template might have different resolutions on different messages. A http batch<br style="box-sizing:border-box">consists of multiple messages, so it is not trivial to decide which message should<br style="box-sizing:border-box">be used for the resolution.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">When batching is enabled and multiple workers are configured it is important to<br style="box-sizing:border-box">only batch messages which generate identical URLs. In this scenario one must set<br style="box-sizing:border-box">the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">worker-partition-key()</code> option with a template that contains all the templates<br style="box-sizing:border-box">used in the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">url()</code> option, otherwise messages will be mixed.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">For security reasons, all the templated contents in the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">url()</code> option are getting<br style="box-sizing:border-box">URL encoded automatically. Also the following parts of the url cannot be templated:</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">scheme</li><li style="box-sizing:border-box;margin-top:0.25em">host</li><li style="box-sizing:border-box;margin-top:0.25em">port</li><li style="box-sizing:border-box;margin-top:0.25em">user</li><li style="box-sizing:border-box;margin-top:0.25em">password<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4663" style="box-sizing:border-box;background-color:transparent" target="_blank">#4663</a>)</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"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">$TRANSPORT</code>: this is a new name-value pair that syslog-ng populates<br style="box-sizing:border-box">automatically. It indicates the "transport" mechanism used to<br style="box-sizing:border-box">retrieve/receive the message. It is up to the source driver to determine<br style="box-sizing:border-box">the value. Currently the following values were implemented:</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">BSD syslog drivers: <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">tcp()</code>, <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">udp()</code> & <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">network()</code></p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc3164+tls</code></li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc3164+tcp</code></li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc3164+udp</code></li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc3164+proxied-tls</code></li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc3164+<custom logproto like altp></code></li></ul><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">UNIX domain drivers: <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">unix-dgram()</code>, <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">unix-stream()</code></p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">unix-stream</code></li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">unix-dgram</code></li></ul><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">RFC5424 style syslog: <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">syslog()</code>:</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc5426</code>: syslog over udp</li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc5425</code>: syslog over tls</li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc6587</code>: syslog over tcp</li><li style="box-sizing:border-box;margin-top:0.25em"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rfc5424+<custom logproto like altp></code>: syslog over a logproto plugin</li></ul><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Other drivers:</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">otlp: <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">otel()</code> driver</li><li style="box-sizing:border-box;margin-top:0.25em">mqtt: <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">mqtt()</code> driver</li><li style="box-sizing:border-box;margin-top:0.25em">hypr-api: <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">hypr-audit-source()</code> driver</li></ul><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">$IP_PROTO</code>: indicate the IP protocol version used to retrieve/receive the<br style="box-sizing:border-box">message. Contains either "4" to indicate IPv4 and "6" to indicate IPv6.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4673" style="box-sizing:border-box;background-color:transparent" target="_blank">#4673</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">network()</code> and <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">syslog()</code> drivers: Added <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">ignore-validity-period</code> as a new flag to <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">ssl-options()</code>.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">By specifying <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">ignore-validity-period</code>, you can ignore the validity periods<br style="box-sizing:border-box">of certificates during the certificate validation process.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4642" style="box-sizing:border-box;background-color:transparent" target="_blank">#4642</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">tls()</code> in <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">udp()</code>/<code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">tcp()</code>/<code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">network()</code> and <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">syslog()</code> drivers: add support<br style="box-sizing:border-box">for a new <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">http()</code> compatible ssl-version() option. This makes the TLS<br style="box-sizing:border-box">related options for http() and other syslog-like drivers more similar. This<br style="box-sizing:border-box">requires OpenSSL 1.1.0.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4682" style="box-sizing:border-box;background-color:transparent" target="_blank">#4682</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">cloud-auth()</code>: Added a new plugin for drivers, which implements different cloud related authentications.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Currently the only supported authentication is <a href="https://cloud.google.com/iam/docs/service-account-overview" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank">GCP's Service Account</a> for the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">http()</code> destination.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Example config:</p><div style="box-sizing:border-box;overflow:auto"><pre style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;padding:16px;overflow:auto;line-height:1.45;border-radius:6px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0px;margin:0px;background:transparent;border-radius:6px;word-break:normal;border:0px;display:inline;overflow:visible;line-height:inherit">http(
  cloud-auth(
    gcp(
      service-account(
        key("/path/to/service-account-key.json")
        audience("<a href="https://pubsub.googleapis.com/google.pubsub.v1.Publisher" target="_blank">https://pubsub.googleapis.com/google.pubsub.v1.Publisher</a>")
      )
    )
  )
);
</code></pre><div style="box-sizing:border-box"><span aria-label="Copy" value="http(
  cloud-auth(
    gcp(
      service-account(
        key("/path/to/service-account-key.json")
        audience("https://pubsub.googleapis.com/google.pubsub.v1.Publisher")
      )
    )
  )
);" role="button" style="box-sizing:border-box;display:inline-block;font-size:14px;line-height:20px;vertical-align:middle;border-width:1px;border-style:solid;border-radius:6px;padding:0px"></span></div></div><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4651" style="box-sizing:border-box;background-color:transparent" target="_blank">#4651</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">csv-parser()</code>: allow parsing the extracted values into matches ($1, $2, $3 ...)<br style="box-sizing:border-box">by omitting the columns() parameter, which normally specifies the column<br style="box-sizing:border-box">names.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4678" style="box-sizing:border-box;background-color:transparent" target="_blank">#4678</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">--check-startup</code>: a new command line option for syslog-ng along with the<br style="box-sizing:border-box">existing <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">--syntax-only</code>. This new option will do a complete configuration<br style="box-sizing:border-box">initialization and then exit with exit code indicating the result. Since<br style="box-sizing:border-box">this also initializes things like network listeners, it will probably <em style="box-sizing:border-box">not</em><br style="box-sizing:border-box">work when there is another syslog-ng instance running in the background. The<br style="box-sizing:border-box">recommended use of this option is a dedicated config check container, as<br style="box-sizing:border-box">explained in <a href="https://github.com/syslog-ng/syslog-ng/issues/4592" style="box-sizing:border-box;background-color:transparent" target="_blank">#4592</a>.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4646" style="box-sizing:border-box;background-color:transparent" target="_blank">#4646</a>)</p></li></ul><h2 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Bugfixes</h2><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px"><li style="box-sizing:border-box"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">s3</code>: Fixed an ImportError.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">ImportError: cannot import name 'SharedBool' from 'syslogng.modules.s3.s3_object'</code><br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4700" style="box-sizing:border-box;background-color:transparent" target="_blank">#4700</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">loki()</code>: fixed mixing non-related label values<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4713" style="box-sizing:border-box;background-color:transparent" target="_blank">#4713</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">type hinting: Parsing and casting fractions are now done locale independently.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4702" style="box-sizing:border-box;background-color:transparent" target="_blank">#4702</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">metrics-probe()</code>: Fixed a crash.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">This crash occurred when a <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">metrics-probe()</code> instance was used in multiple source threads,<br style="box-sizing:border-box">like a <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">network()</code> source with multiple connections.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4685" style="box-sizing:border-box;background-color:transparent" target="_blank">#4685</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">flags()</code> argument to various drivers: fix a potential crash in case a flag with at least 32 characters is used.<br style="box-sizing:border-box">No such flag is defined by syslog-ng, so the only way to trigger the crash is to use an invalid configuration file.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4689" style="box-sizing:border-box;background-color:transparent" target="_blank">#4689</a>)</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 <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">$PROTO</code> value for <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">transport(tls)</code> connections, previously it was set<br style="box-sizing:border-box">to "0" while in reality these are tcp connections (e.g. "6").</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Fix how syslog-ng sets $HOST for V4-mapped addresses in case of IPv6 source<br style="box-sizing:border-box">drivers (e.g. <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">udp6()</code>/<code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">tcp6()</code> or when using <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">ip-protocol(6)</code> for <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">tcp()</code>/<code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">udp()</code>).<br style="box-sizing:border-box">Previously V4-mapped addresses would be represented as<br style="box-sizing:border-box"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">"::ffff:<ipv4 address>"</code>. This is not wrong per-se, but would potentially<br style="box-sizing:border-box">cause the same host to be represented in multiple ways. With the fix,<br style="box-sizing:border-box">syslog-ng would just use <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">"<ipv4 address>"</code> in these cases.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4673" style="box-sizing:border-box;background-color:transparent" target="_blank">#4673</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">db-parser()</code>: support nested match characters in <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">@QSTRING@</code> pattern parser<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4717" style="box-sizing:border-box;background-color:transparent" target="_blank">#4717</a>)</p></li></ul><h2 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Other changes</h2><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px"><li style="box-sizing:border-box"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">LogSource</code> and <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">LogFetcher</code>: additional documentation was added to these<br style="box-sizing:border-box">Python classes to cover explicit source-side batching functionalities (e.g.<br style="box-sizing:border-box">the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">auto_close_batch</code> attribute and the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">close_batch()</code> method).<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4673" style="box-sizing:border-box;background-color:transparent" target="_blank">#4673</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">rate-limit()</code>: Renamed the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">template()</code> option to <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">key()</code>, which better communicates the intention.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4679" style="box-sizing:border-box;background-color:transparent" target="_blank">#4679</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">templates: The <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">template-escape()</code> option now only escapes the top-level template function.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Before syslog-ng 4.5.0 if you had embedded template functions, the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">template-escape(yes)</code> setting<br style="box-sizing:border-box">escaped the output of each template function, so the parent template function received an<br style="box-sizing:border-box">already escaped string. This was never the intention of the <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">template-escape()</code> option.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">Although this is a breaking change, we do not except anyone having a config that is affected.<br style="box-sizing:border-box">If you have such a config, make sure to follow-up this change. If you need help with it, feel<br style="box-sizing:border-box">free to open an issue or discussion on GitHub, or contact us on the Axoflow Discord server.<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4666" style="box-sizing:border-box;background-color:transparent" target="_blank">#4666</a>)</p></li><li style="box-sizing:border-box;margin-top:0.25em"><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px"><code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">loki()</code>: The <code style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:13.6px;padding:0.2em 0.4em;margin:0px;border-radius:6px">timestamp()</code> option now supports quoted strings.</p><p style="box-sizing:border-box;margin-top:16px;margin-bottom:16px">The valid values are the following, with or without quotes, case insensitive:</p><ul style="box-sizing:border-box;padding-left:2em;margin-top:0px;margin-bottom:0px"><li style="box-sizing:border-box">"current"</li><li style="box-sizing:border-box;margin-top:0.25em">"received"</li><li style="box-sizing:border-box;margin-top:0.25em">"msg"<br style="box-sizing:border-box">(<a href="https://github.com/syslog-ng/syslog-ng/pull/4688" style="box-sizing:border-box;background-color:transparent" target="_blank">#4688</a>)</li></ul></li></ul><h2 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">syslog-ng Discord</h2><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">For a bit more interactive discussion, join our Discord server:</p><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px"><a href="https://discord.gg/E65kP9aZGm" rel="nofollow" style="box-sizing:border-box;background-color:transparent" target="_blank"><img src="https://camo.githubusercontent.com/a8db8f03a840d03258a04152f3e25517657c24f41b0728e08fc134d1395a9176/68747470733a2f2f646973636f72646170702e636f6d2f6170692f6775696c64732f313038323032333638363032383134383837372f7769646765742e706e673f7374796c653d62616e6e657232" alt="Axoflow Discord Server" style="box-sizing:content-box;border-style:none;max-width:100%"></a></p><h2 style="box-sizing:border-box;margin-top:24px;margin-bottom:16px;line-height:1.25;padding-bottom:0.3em;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"">Credits</h2><p style="box-sizing:border-box;margin-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size: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-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size: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-top:0px;margin-bottom:16px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px">We would like to thank the following people for their contribution:</p><p style="box-sizing:border-box;margin-top:0px;color:rgb(31,35,40);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;margin-bottom:0px">Attila Szakacs, Balazs Scheidler, Cedric Arickx, Fabrice Fontaine,<br style="box-sizing:border-box">Hofi, László Várady, Romain Tartière, Szilard Parrag, yashmathne</p></div>