Based on package provided by Peter Czanik in PR 56406.
Changes below are for 3.34.1 only, the other 16 releases before
that are not summarized.
3.34.1
======
## Highlights
* `regexp-parser()`: new parser that can parse messages with regular expressions
* `redis()`: `workers()` and batching support
The Redis driver now support the `workers()` option, which specifies the
number of parallel workers, and the `batch-lines()` option.
This could drastically increase the throughput of the Redis destination driver.
* `mqtt()`: TLS and WebSocket Secure support
The MQTT destination now supports TLS and WSS.
## Features
* `system()` source: added support for NetBSD
* `stats`: new statistics counter
* `mqtt()`: username/password authentication
* `mqtt()`: new option `http-proxy()` for specifying HTTP/HTTPS proxy for WebSocket connections
([#3747](https://github.com/syslog-ng/syslog-ng/pull/3747))
* `syslog-ng-ctl`: new flag for pruning statistics
* `disk-buffer()`: added a new option to reliable disk-buffer: `qout-size()`.
## Bugfixes
* `network(), syslog()`: fixed network sources on NetBSD
* `disk-buffer()`: fixed a very rare case, where the reliable disk-buffer never resumed
after triggering `flow-control`.
* `disk-buffer()`: fixed a rare memory leak that occurred when `mem-buf-length()`
or `mem-buf-size()` was configured incorrectly
* `redis()`: fixed command errors that were not detected and marked as successful delivery
Rework and clean up the package, split off various bindings
into separate packages. Add SMF support.
Major features and improvements introduced in major releases since 3.2.
3.7
- OpenSSL is now a required dependency for syslog-ng.
- Java-destination driver ported from syslog-ng-incubator.
- Python language support is ported from syslog-ng incubator.
- New Java destination drivers
- New Parsers
3.6
- PCRE is now a required dependency of syslog-ng.
- Threaded mode is now enabled by default.
3.5
- Multi-line support
- STOMP destination
- Redis destination
- Template type hinting
- Template options honored everywhere
- Support for unit suffixes in the configuration
- The Incubator project
3.4
- New plugins: AMQP & SMTP destinations, 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.
- value-pairs() gained support for programmatically
rewriting key names in bulk, via the rekey() method.
- The network() driver is introduced, unifying and extending
tcp(), udp(), syslog(), unix-dgram() and
unix-stream(). The old drivers are still available, but
- Support for junctions & channels were added, which improve
the flexibility of the syslog-ng configuration language.
3.3
- multi-core/CPU scaling: the new multi-threaded architecture allows
syslog-ng to scale into the 800k msg/sec region.
- MongoDB support: using MongoDB instead of SQL is faster and
allows better representation of log data.
- JSON support: using the $(format-json) template function it is
now possible to construct JSON (JavaScript Object Notation)
output for log messages.
- A number of enhancements all over the place: SQL, patterndb.
- The default ports have changed. syslog-ng is using the standard