# What's new

New to AxoSyslog? AxoSyslog is a binary compatible `syslog-ng` replacement, from the original creator, developed by the same team.

Same architecture, same config files, same paths. Cloud-native images, fast releases, modern observability (OTel, K8s), and powerful data processing: read more about the [differences between AxoSyslog and `syslog-ng`](<https://axoflow.com/axosyslog-vs-syslog-ng?utm_source=docs&utm_medium=banner>).

Also, it’s super easy to [install](../docs/axosyslog-core/install/index.md), and you can [upgrade from `syslog-ng` in minutes](../docs/axosyslog-core/install/upgrade-syslog-ng/index.md).

## Version 4.24 (2026-03-23)

  * You can query the list of supported metrics by running `syslog-ng --metrics-registry`. For a reference of available metrics, see [Metrics reference](../docs/axosyslog-core/chapter-log-statistics/metrics-reference/index.md).
  * The new `batch-idle-timeout()` option closes the batch if no new message is received since the last message within the `batch-idle-timeout()` period. The following destinations support `batch-idle-timeout()`: `amqp()`, `bigquery()`, `clickhouse()`, `discord()`, `elasticsearch()`, `mongodb()`, `google-pubsub()`, `http()`,`kafka-c()`, `opensearch()`,`opentelemetry()`, `redis()`, `riemann()`, `slack()`, `smtp()`, `stomp()`, `sql()`, `sumologic()`.
  * New FilterX functions to manipulate the timezone of the messages: [Handle and fix timezones and timestamps](../docs/axosyslog-core/filterx/filterx-timezone/index.md).
  * [`network-load-balancer()`](../docs/axosyslog-core/chapter-examples/load-bal-multi-dest/load-bal-multi-dest-msec-h/index.md) now supports the `failover()` option.



For a list of bugfixes, see the [GitHub release page](<https://github.com/axoflow/axosyslog/releases/tag/axosyslog-4.24.0>).

## Version 4.23 (2026-02-18)

  * The [`opentelemetry()` source](../docs/axosyslog-core/chapter-sources/opentelemetry/index.md) now supports the [`ip()`](../docs/axosyslog-core/chapter-sources/opentelemetry/index.md#ip) option to specify the bind address.

  * New [FilterX](../docs/axosyslog-core/filterx/index.md) functions:

    * [`format_isodate`](../docs/axosyslog-core/filterx/function-reference/index.md#format-isodate) formats a date as ISODATE: `%Y-%m-%dT%H:%M:%S%z`
    * [`move`](../docs/axosyslog-core/filterx/function-reference/index.md#move) moves the specified variable to its new location, instead of copying it.
  * The [`http()`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/index.md) destination option `content-compression()` sends the payload compressed only if the compressed content is smaller than the original plain-text content. This can cause problems if your destination server accepts only compressed payload. Setting [`force-content-compression(yes)`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#force-content-compression) instructs AxoSyslog to always send the compressed payload.

  * The `network()` and `syslog()` sources and destinations now support the [`extended-key-usage-verify()`](../docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/index.md#tls-options-extended-key-usage-verify) option to check that the certificate of the peer contains the appropriate value in its Extended Key Usage (EKU) field. (Clients should have Client Auth EKU values (`X509_PURPOSE_SSL_CLIENT`), while server should have Web Server Auth (`X509_PURPOSE_SSL_SERVER`).)

  * The amount of memory AxoSyslog uses to store queued messages has been significantly reduced, by up to 50%.




For a list of bugfixes, see the [GitHub release page](<https://github.com/axoflow/axosyslog/releases/tag/axosyslog-4.23.0>).

## Version 4.22 (2026-01-21)

The FilterX [list membership operators](../docs/axosyslog-core/filterx/operator-reference/index.md#list-membership-operator) now support searching the keys of dictionaries.

For a list of bugfixes, see the [GitHub release page](<https://github.com/axoflow/axosyslog/releases/tag/axosyslog-4.22.0>).

## Version 4.21 (2025-12-15)

  * A new FilterX function `format_syslog_5424` that formats messages as an RFC5424 (IETF-syslog) syslog message.
  * Syslog sources can now set `transport(nul-terminated)` to receive messages that use NUL characters instead of newline characters to separate log records.
  * Destinations that support worker partitioning (the `worker-partition-key()` option) can now set `worker-partition-autoscaling(yes)` to allow each worker to maximize its batch size.



For a list of bugfixes, see the [GitHub release page](<https://github.com/axoflow/axosyslog/releases/tag/axosyslog-4.21.0>).

## Version 4.20 (2025-11-20)

  * The `clickhouse()` destination now has a `format()` option, allowing you to send data in a [compact `JSONCompactEachRow`](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md#format) format.

  * The [`opentelemetry()`](../docs/axosyslog-core/chapter-sources/opentelemetry/index.md#keep-alive) and [`axosyslog-otlp()`](../docs/axosyslog-core/chapter-sources/source-syslog-ng-otlp/index.md#keep-alive) (formerly called `syslog-ng-otlp()`) sources now support the `keep-alive()` option, and is enabled by default.

  * The [`s3()` destination](../docs/axosyslog-core/chapter-destinations/destination-s3/index.md) has a new option:

    * You can now set a suffix for your S3 objects using the [`object-key-suffix()` option](../docs/axosyslog-core/chapter-destinations/destination-s3/index.md#object-key-suffix).
  * The `http()` and other threaded destinations now have a [`worker-partition-buckets()` option](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#worker-partition-buckets) that determines the number of worker threads used for the `worker-partition-key()`.




For a list of bugfixes, see the [GitHub release page](<https://github.com/axoflow/axosyslog/releases/tag/axosyslog-4.20.0>).

## Version 4.19 (2025-10-15)

  * The [`dict_to_pairs`](../docs/axosyslog-core/filterx/function-reference/index.md#dict-to-pairs) FilterX function can convert a dictionary to a list of pairs.
  * The [`includes`](../docs/axosyslog-core/filterx/filterx-string-search/index.md) FilterX function can limit the length of the search string.



## Version 4.18 (2025-09-30)

  * You can now use macros and templates in the [`headers()` option](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#headers) of the `http()` destination to set the headers dynamically.
  * The `parse_csv` FilterX parser now supports the [`quote-pairs`](../docs/axosyslog-core/filterx/filterx-parsing/csv/reference-parsers-csv/index.md#quote-pairs) option.
  * [`+` and `-` unary operators](../docs/axosyslog-core/filterx/operator-reference/index.md#slicing) for FilterX.



## Version 4.17 (2025-09-04)

  * The `parse_kv` FilterX function has an option ([stray_words_key](../docs/axosyslog-core/filterx/filterx-parsing/key-value-parser/kv-parser-options/index.md#stray-words-key)) to append stray words to the preceding key.
  * You can now use negative indexes when [slicing FilterX strings](../docs/axosyslog-core/filterx/operator-reference/index.md#slicing).
  * The [`dpath`](../docs/axosyslog-core/filterx/function-reference/index.md#dpath) FilterX function assigns a value to a dictionary and creates any elements of the path that don’t exist.
  * When using `parallelize()` during [Nonsequential message processing](../docs/axosyslog-core/chapter-nonsequential-processing/index.md), you set the `batch-size()` option to specify how many consecutive messages should be processed by a single `parallelize()` worker.
  * For the `clickhouse()` destination, you can now use the [`json-var()` option](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md#json-var) to send the message to the ClickHouse server in Protobuf/JSON mixed mode ([`JSONEachRow` format](<https://clickhouse.com/docs/interfaces/formats/JSONEachRow>)). In this mode, type validation is performed by the ClickHouse server itself, so no Protobuf schema is required for communication.



## Version 4.16 (2025-08-15)

  * New [`${PROTO_NAME` macro](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#proto-name).
  * New FilterX functions [`str_strip`](../docs/axosyslog-core/filterx/function-reference/index.md#str-strip), `str_lstrip`, `str_rstrip` to remove the leading and/or trailing whitespaces from a string.
  * The `batch-timeout()` option of the following destinations now defaults to `0`: [`google-pubsub()`](../docs/axosyslog-core/chapter-destinations/google-pubsub/index.md), [’logscale()’](../docs/axosyslog-core/chapter-destinations/crowdstrike-falcon/index.md), [`openobserve()`](../docs/axosyslog-core/chapter-destinations/openobserve/index.md), [`splunk()`](../docs/axosyslog-core/chapter-destinations/syslog-ng-with-splunk/index.md).



### Breaking change

The name of some fields changed in the [`parse_cef`](../docs/axosyslog-core/filterx/filterx-parsing/cef/index.md) and [`parse_leef`](../docs/axosyslog-core/filterx/filterx-parsing/leef/index.md) parsers to avoid name collisions with fields in the extensions:

For CEF:

  * `version` -> `cef_version`
  * `name` -> `event_name`



For LEEF:

  * `version` -> `leef_version`
  * `vendor` -> `vendor_name`
  * `delimiter` -> `leef_delimiter`



## Version 4.15 (2025-08-01)

  * You can exclude files in the `wildcard-file()` source using the [`exclude-pattern()`](../docs/axosyslog-core/chapter-sources/configuring-sources-wildcard-file/reference-source-wildcard-file/index.md#source-wildcard-file-exclude-pattern) option.

  * You can use templates in the [`body-prefix()` option of the `http()` destination](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#https-options-body-prefix), and in destinations based on `http()`.

  * ADC authentication now can use `service-account-key()`.

  * `gcp(service-account())` authentication can now use `scope()` instead of `audience()`.

  * New FilterX features:

    * [`str_replace`](../docs/axosyslog-core/filterx/function-reference/index.md#str-replace) function for string replacement.
    * [String slicing operator (`..`)](../docs/axosyslog-core/filterx/operator-reference/index.md#slicing).
    * [Create dict element if non-null (`:??`)](../docs/axosyslog-core/filterx/operator-reference/index.md#create-non-null) operator.



## Version 4.14 (2025-07-18)

  * New [`client-port` option for `loggen`](../docs/axosyslog-core/app-man-syslog-ng/loggen.1/index.md).
  * Starting with version 4.14, running [`syslog-ng-ctl stats`](../docs/axosyslog-core/app-man-syslog-ng/syslog-ng-ctl.1/index.md#syslog-ng-ctl-stats) automatically shows orphan counters to avoid losing information. Information loss could happen, for example, when sending messages using short-lived (few seconds long) connections, while scraping metrics in minute intervals.
  * The [`cisco-parser()`](../docs/axosyslog-core/chapter-parsers/cisco-parser/index.md) now handles the Cisco Nexus NXOS 9.3 syslog format.



## Version 4.13 (2025-07-08)

  * You can format arbitrary data as protobuf using the specified schema (proto file) using the [protobuf_message](../docs/axosyslog-core/filterx/function-reference/index.md#protobuf-message) FilterX function. Also, you can send such pre-formatted data using the `proto-var()` option of the [ClickHouse](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md#proto-var) and [Google BigQuery](../docs/axosyslog-core/chapter-destinations/google-bigquery/index.md#proto-var) destinations.

  * You can now format dictionaries as XML and Windows Event Log XML using the [`format_xml`](../docs/axosyslog-core/filterx/function-reference/index.md#format-xml) and [`format_windows_eventlog_xml`](../docs/axosyslog-core/filterx/function-reference/index.md#format-windows-eventlog-xml) FilterX functions.

  * You can now format dictionaries as CEF and LEEF messages using the [`format_cef`](../docs/axosyslog-core/filterx/function-reference/index.md#format-cef) and [`format_leef`](../docs/axosyslog-core/filterx/function-reference/index.md#format-leef) FilterX functions.

  * Changes in [CEF](../docs/axosyslog-core/filterx/filterx-parsing/cef/index.md) and [LEEF](../docs/axosyslog-core/filterx/filterx-parsing/leef/index.md):

### separate_extensions

Available in AxoSyslog 4.13 and later.

Starting with version 4.13, AxoSyslog parses fields from extensions to the same level as regular fields. In earlier versions, extensions were grouped under the `extensions` key. To keep using the `extensions` key, set `separate_extensions=true`.

Default value: `false`




## Version 4.12 (2025-06-18)

  * Starting from this version, AxoSyslog is licensed under GPL-3.0-or-later. For details, see [Product licensing](../docs/axosyslog-core/chapter-concepts/concepts-licensing/index.md) and the [AxoSyslog License Update: Moving to GPL3](<https://axoflow.com/blog/axosyslog-syslog-ng-fork-license-change-gpl3>) blog post.
  * New FilterX features: 
    * [Arithmetic operators](../docs/axosyslog-core/filterx/operator-reference/index.md#arithmetic-operators): `+` (addition), `-` (substraction), `*` (multiplication), `/` (division), and `%` (modulo)
    * [List membership operator (`in`)](../docs/axosyslog-core/filterx/operator-reference/index.md#list-membership-operator): checks if a value is present in a list.
    * [`strcasecmp`](../docs/axosyslog-core/filterx/function-reference/index.md#strcasecmp) function for case insensitive string comparison.
    * To help [troubleshooting FilterX blocks](../docs/axosyslog-core/filterx/filterx-troubleshooting/index.md), AxoSyslog now includes specific functions that allow you to track failures in FilterX code.
  * Way to propagate the type information of the data fields in the [`clickhouse()` destination](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md) using the ClickHouse format schema. For details, see [server-side-schema()](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md#server-side-schema).
  * You can enable flow-control for every log path using the [`log-flow-control()` global option](../docs/axosyslog-core/chapter-global-options/reference-options/index.md#global-option-log-flow-control).
  * `loggen` has a new `--perf` option to disable rate limiting.
  * Internal STATS messages are now [disabled by default](../docs/axosyslog-core/chapter-global-options/reference-options/index.md#global-option-stats-freq).



## Version 4.11 (2025-04-09)

  * Documentation for the [Webhook](../docs/axosyslog-core/chapter-sources/webhook/index.md).
  * New macros: [PEERIP](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-peerip) and [PEERPORT](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-peerport)
  * New gRPC option `response-action()` for the [`bigquery()`](../docs/axosyslog-core/chapter-destinations/google-bigquery/index.md#response-action), [`clickhouse()`](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md#response-action), [`google-pubsub-grpc()`](../docs/axosyslog-core/chapter-destinations/google-pubsub-grpc/index.md#response-action), [`loki()`](../docs/axosyslog-core/chapter-destinations/destination-loki/index.md#response-action), and the [`opentelemetry()`](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md#response-action) destinations.
  * New FilterX functions: [set_pri](../docs/axosyslog-core/filterx/function-reference/index.md#set-pri), [set_timestamp](../docs/axosyslog-core/filterx/function-reference/index.md#set-timestamp).
  * Updates the [Azure Monitor destination](../docs/axosyslog-core/chapter-destinations/azure-monitor/index.md).



## Version 4.10 (2025-02-13)

  * New [Google Pub/Sub gRPC](../docs/axosyslog-core/chapter-destinations/google-pubsub-grpc/index.md) destination to send logs and data to Google Pub/Sub via gRPC.

  * New destination to send logs and data to [Azure Monitor](<https://learn.microsoft.com/en-us/azure/azure-monitor/overview>) and [Microsoft Sentinel](<https://azure.microsoft.com/en-us/products/microsoft-sentinel>). For details, see [Send data to Azure Monitor and Sentinel](../docs/axosyslog-core/chapter-destinations/azure-monitor/index.md).

  * New [`$SOURCEPORT`](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-sourceport) macro which expands to the source port of the peer.

  * The `syslog()` source driver can now auto-detect RFC6587-style octet-count based framing.

  * Lots of [FilterX](../docs/axosyslog-core/filterx/index.md) updates, including a new [`=??` operator](../docs/axosyslog-core/filterx/operator-reference/index.md#assign-non-null) and several functions:

    * [keys](../docs/axosyslog-core/filterx/function-reference/index.md#keys)
    * [load_vars](../docs/axosyslog-core/filterx/function-reference/index.md#load-vars)
    * [metrics_labels](../docs/axosyslog-core/filterx/function-reference/index.md#metrics_labels)
    * [set_fields](../docs/axosyslog-core/filterx/function-reference/index.md#set-fields)
    * [strftime](../docs/axosyslog-core/filterx/function-reference/index.md#strftime)
  * [Switch-case expressions in FilterX](../docs/axosyslog-core/filterx/filterx-conditional/index.md) to better organize the code instead of using multiple `if`, `elif`, `else` blocks. Using switch-case expressions also improves performance.




## Version 4.9 (2024-11-11)

  * [ClickHouse database](../docs/axosyslog-core/chapter-destinations/clickhouse/index.md) destination.

  * Log tapping with the [`syslog-ng-ctl attach` command](../docs/axosyslog-core/app-man-syslog-ng/syslog-ng-ctl.1/index.md#attach).

  * [FilterX](../docs/axosyslog-core/filterx/index.md) data parsing and processing engine.

  * Updated lists of available options for the gRPC-based destinations ([`bigquery()`](../docs/axosyslog-core/chapter-destinations/google-bigquery/index.md), [`loki()`](../docs/axosyslog-core/chapter-destinations/destination-loki/index.md), [`opentelemetry()`](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md), [`syslog-ng-otlp()`](../docs/axosyslog-core/chapter-destinations/destination-syslog-ng-otlp/index.md)). You can now also set dynamic header values for these destinations.

  * Added the `idle-timeout()` option to [file() source options](../docs/axosyslog-core/chapter-sources/configuring-sources-file/reference-source-file/index.md), [stdin() source options](../docs/axosyslog-core/chapter-sources/configuring-sources-stdin/stdin-source-options/index.md), [systemd-syslog() source options](../docs/axosyslog-core/chapter-sources/configuring-sources-systemd-syslog/reference-source-systemd-syslog/index.md), [wildcard-file() source options](../docs/axosyslog-core/chapter-sources/configuring-sources-wildcard-file/reference-source-wildcard-file/index.md), [pipe() source options](../docs/axosyslog-core/chapter-sources/source-pipe/reference-source-pipe/index.md), [program() source options](../docs/axosyslog-core/chapter-sources/source-program/reference-source-program/index.md), [unix-stream() and unix-dgram() source options](../docs/axosyslog-core/chapter-sources/source-unixstream/reference-source-unixstream/index.md).

These sources have a new `exit-on-eof` flag that makes AxoSyslog stop when EOF is received.

  * Added the [MSGFORMAT](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-msgformat) macro.

  * Added `.tls.x509_fp` to [.tls.x509](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-tls-x509).




### Other documentation updates

  * Cloud authentication option updates for the [`http()`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#cloud-auth) and [`google-pubsub`](../docs/axosyslog-core/chapter-destinations/google-pubsub/index.md#auth) destinations.
  * [`syslog-ng-ctl list-files`](../docs/axosyslog-core/app-man-syslog-ng/syslog-ng-ctl.1/index.md#list-referenced-files) command lists files referenced in your configuration, for example, certificates or external configuration files.
  * [`lifetime()` global option](../docs/axosyslog-core/chapter-global-options/reference-options/index.md#global-option-stats-lifetime) to prune dynamic counters.



## Version 4.8 (2024-07-12)

  * [APT repository for Debian and Ubuntu](../docs/axosyslog-core/install/debian-ubuntu/index.md) based systems.
  * You can send messages and metrics to [Elasticsearch data streams](<https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html>) to store your log and metrics data as time series data using the [`elasticsearch-datastream()`](../docs/axosyslog-core/chapter-destinations/elasticsearch-data-stream/index.md) destination driver.
  * You can use the [`server-side-encryption()`](../docs/axosyslog-core/chapter-destinations/destination-s3/index.md#server-side-encryption) and [`kms-key()`](../docs/axosyslog-core/chapter-destinations/destination-s3/index.md#kms-key) options to configure encryption for [Amazon S3 destinations](../docs/axosyslog-core/chapter-destinations/destination-s3/index.md).
  * You can now set static gRPC headers in the [`bigquery()`](../docs/axosyslog-core/chapter-destinations/google-bigquery/index.md#headers), [`loki()`](../docs/axosyslog-core/chapter-destinations/destination-loki/index.md#headers), and the [`opentelemetry()`](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md#headers) destinations.
  * The `opentelemetry()` parser has a new [`set-hostname()`](../docs/axosyslog-core/chapter-parsers/opentelemetry/index.md#set-hostname) option.



## Version 4.7 (2024-04-18)

  * [Arr logs](../docs/axosyslog-core/chapter-sources/arr/index.md) source
  * [Jellyfin logs](../docs/axosyslog-core/chapter-sources/jellyfin/index.md) source
  * `channel-args()` option for gRPC-based drivers, like [`opentelemetry()`](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md#channel-args)
  * `concurrent-requests()` option for the [`opentelemetry()` source](../docs/axosyslog-core/chapter-sources/opentelemetry/index.md#concurrent-requests) and the [`syslog-ng-otlp()` source](../docs/axosyslog-core/chapter-sources/source-syslog-ng-otlp/index.md#concurrent-requests)
  * [tenant-id()](../docs/axosyslog-core/chapter-destinations/destination-loki/index.md#tenant-id) option for the Loki destination
  * [tags-head](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-template-functions/index.md#template-function-tags-head) template function
  * [MQTT_TOPIC](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-mqtt-topic) macro
  * [TRANSPORT](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-transport) macro updates



For details, see the [release announcement blog post](<https://axoflow.com/blog/axosyslog-release-4-7>).

## Version 4.6 (2024-02-01)

  * [Google BigQuery destination](../docs/axosyslog-core/chapter-destinations/google-bigquery/index.md)
  * [Windows XML Event Log (EVTX) parser](../docs/axosyslog-core/chapter-parsers/windows-eventlog-xml-parser/index.md)
  * [tag](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-template-functions/index.md#template-function-tag) template function
  * `batch-bytes()`, `compression()` and `workers()` options for the [syslog-ng-otlp()](../docs/axosyslog-core/chapter-destinations/destination-syslog-ng-otlp/index.md#compression) and [opentelemetry()](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md#compression) destinations



For details, see the [release announcement blog post](<https://axoflow.com/blog/axosyslog-release-4-6>).

### New sources

  * [New macOS sources](../docs/axosyslog-core/chapter-sources/darwin/index.md)
  * [qBittorrent logs](../docs/axosyslog-core/chapter-sources/qbittorrent/index.md)
  * [Pi-hole Faster Than Light logs](../docs/axosyslog-core/chapter-sources/pihole-ftl/index.md)



## 2023-10-20 to version 4.5 release (2024-01-05)

  * [Google Pub/Sub destination](../docs/axosyslog-core/chapter-destinations/google-pubsub/index.md)
  * [OpenObserve destination](../docs/axosyslog-core/chapter-destinations/openobserve/index.md)
  * New `http()` destination options [Templates in the url()](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#templates-in-the-url) and [worker-partition-key()](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#worker-partition-key)



### Parsers

  * New [PostgreSQL csvlog](../docs/axosyslog-core/chapter-parsers/postgresql-csvlog-parser/index.md) parser
  * Columnless mode in [csv-parser](../docs/axosyslog-core/chapter-parsers/csv-parser/index.md)



### TLS options

  * [ssl-version()](../docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/index.md#ssl-version)
  * `ignore-validity-period` option in to [ssl-options()](../docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/index.md#tls-options-ssl-options)



### Manual pages

  * `--check-startup` in [The syslog-ng manual page](../docs/axosyslog-core/app-man-syslog-ng/syslog-ng.8/index.md)
  * [secure-logging](../docs/axosyslog-core/app-man-syslog-ng/secure-logging.7/index.md), [slogencrypt](../docs/axosyslog-core/app-man-syslog-ng/slogencrypt.1/index.md), [slogkey](../docs/axosyslog-core/app-man-syslog-ng/slogkey.1/index.md), and [slogverify](../docs/axosyslog-core/app-man-syslog-ng/slogverify.1/index.md) manual pages.



### Other changes

  * New quickstart section [Sending Kubernetes logs to OpenSearch](../docs/axosyslog-core/quickstart/opensearch-helm/index.md)
  * Updates in [Install AxoSyslog with Podman](../docs/axosyslog-core/install/podman/index.md) and [Install AxoSyslog with Docker](../docs/axosyslog-core/install/docker/index.md)
  * `close_batch` and `set_transport` methods in the [python source](../docs/axosyslog-core/chapter-sources/python-source/index.md)



## 2023-08-18 to 2023-10-20

  * [syslog-ng-otlp source](../docs/axosyslog-core/chapter-sources/source-syslog-ng-otlp/index.md) and [syslog-ng-otlp destination](../docs/axosyslog-core/chapter-destinations/destination-syslog-ng-otlp/index.md)
  * [Loki destination](../docs/axosyslog-core/chapter-destinations/destination-loki/index.md)
  * [Amazon S3 destination](../docs/axosyslog-core/chapter-destinations/destination-s3/index.md)
  * [OpenSearch destination](../docs/axosyslog-core/chapter-destinations/destination-opensearch/index.md)
  * [stdout destination](../docs/axosyslog-core/chapter-destinations/destination-stdout/index.md)
  * `http` destination options: 
    * [ignore-hostname-mismatch ssl-option](../docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/index.md#ssl-options)
    * [accept-encoding()](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#accept-encoding)
    * [accept-redirects()](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#accept-redirects)
    * [content-compression()](../docs/axosyslog-core/chapter-destinations/configuring-destinations-http-nonjava/reference-destination-http-nonjava/index.md#content-compression)
  * [Dynamic labeling in the metrics-probe parser](../docs/axosyslog-core/chapter-parsers/metrics-probe/index.md#dynamic-labels)



## 2023-07-07 to 2023-08-18

### OpenTelemetry

  * [OpenTelemetry source](../docs/axosyslog-core/chapter-sources/opentelemetry/index.md)
  * [OpenTelemetry destination](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md)
  * [OpenTelemetry parser](../docs/axosyslog-core/chapter-parsers/opentelemetry/index.md)



### New sources and related changes

  * [Hypr Audit Trail and Hypr App Audit Trail](../docs/axosyslog-core/chapter-sources/hypr-audit-trail/index.md)
  * [OpenTelemetry](../docs/axosyslog-core/chapter-sources/opentelemetry/index.md)
  * [`match-boot` and `matches` options of the `syslog-journal()` source](../docs/axosyslog-core/chapter-sources/configuring-sources-journal/reference-source-journal/index.md#match-boot)



### New destinations and related changes

  * [Falcon LogScale](../docs/axosyslog-core/chapter-destinations/crowdstrike-falcon/index.md)
  * [OpenTelemetry](../docs/axosyslog-core/chapter-destinations/opentelemetry/index.md)
  * [Splunk HEC](../docs/axosyslog-core/chapter-destinations/syslog-ng-with-splunk/index.md)
  * [`dbdi-driver-dir()`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-sql/reference-destination-sql/index.md#sql-option-dbdi-driver-dir) and [`quote-char()`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-sql/reference-destination-sql/index.md#sql-option-quote-char) options of the `sql()` destination
  * [`bulk-mode()`, `bulk-bypass-validation()`, and `bulk-unordered()`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-mongodb/reference-destination-mongodb/index.md#mongodb-option-bulk-mode) and [`write-concern()`](../docs/axosyslog-core/chapter-destinations/configuring-destinations-mongodb/reference-destination-mongodb/index.md#mongodb-option-write-concern) options of the `mongodb()` destination



### New parsers and related changes

  * [group-lines](../docs/axosyslog-core/chapter-parsers/parser-group-lines/index.md)
  * [Count the messages that pass through the log path (metrics-probe)](../docs/axosyslog-core/chapter-parsers/metrics-probe/index.md)
  * [OpenTelemetry](../docs/axosyslog-core/chapter-parsers/opentelemetry/index.md)
  * [RFC5424 structured data (SDATA) parser](../docs/axosyslog-core/chapter-parsers/sdata-parser/index.md)
  * [`sdata-prefix` option for the `syslog-parser`](../docs/axosyslog-core/chapter-parsers/parser-syslog/parser-syslog-options/index.md#sdata-prefix)
  * [`escape-backslash-with-sequences` option for the `csv-parser`](../docs/axosyslog-core/chapter-parsers/csv-parser/reference-parsers-csv/index.md#csv-parser-dialect)



### Other changes

  * [Typing support (Specifying data types in value-pairs)](../docs/axosyslog-core/chapter-concepts/concepts-value-pairs/specifying-data-types/index.md)
  * [Nonsequential message processing for improved performance](../docs/axosyslog-core/chapter-nonsequential-processing/index.md)
  * [An overview of writing Python modules for syslog-ng](../docs/axosyslog-core/writing-python-modules/index.md)
  * [New syslog-ng-ctl commands](../docs/axosyslog-core/app-man-syslog-ng/syslog-ng-ctl.1/index.md)
  * [Configuration identifier](../docs/axosyslog-core/chapter-configuration-file/configuration-identifier/index.md)
  * [Named log paths](../docs/axosyslog-core/chapter-routing-filters/logpath/index.md)
  * [format-date template function](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-template-functions/index.md#template-function-format-date)
  * TLS improvements: [OCSP stapling verification](../docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/index.md#tls-options-ocsp-stapling-verify) and [SSL_CONF_cmd](../docs/axosyslog-core/chapter-encrypted-transport-tls/tlsoptions/index.md#tls-options-openssl-conf-cmds) support
  * [RAWMSG_SIZE macro](../docs/axosyslog-core/chapter-manipulating-messages/customizing-message-format/reference-macros/index.md#macro-rawmsg-size)
  * [`lower` and `upper` transformations for the rekey `value-pairs()` option](../docs/axosyslog-core/chapter-concepts/concepts-value-pairs/option-value-pairs/index.md#rekey)



### New global options

  * [log-level](../docs/axosyslog-core/chapter-global-options/reference-options/index.md#global-options-log-level)
  * [stats](../docs/axosyslog-core/chapter-global-options/reference-options/index.md#global-option-stats)



Last modified April 24, 2026: [Adds missing link to release page for 4.24 whatsnew (34dcb77)](<https://github.com/axoflow/axosyslog-core-docs/commit/34dcb7732ba1fd437b9132869daf1f8173e99701>)