# Tenzir Node v4.31.0

## 🚀 Features

### Implement `write_syslog`

Mar 31, 2025 · [@raxyte](https://github.com/raxyte) · [#5083](https://github.com/tenzir/tenzir/pull/5083)

We added a new `write_syslog` operator to format events as syslog messages.

### Implement `from_opensearch`

Mar 31, 2025 · [@raxyte](https://github.com/raxyte) · [#5075](https://github.com/tenzir/tenzir/pull/5075)

We added a `from_opensearch` operator that presents a OpenSearch-compatible REST API to enable easy interop with tools that can send data to OpenSearch or Elasticsearch, e.g. Filebeat, Winlogbeat etc.

### Implement `if … else` expressions and short-circuiting for `and` / `or`

Mar 28, 2025 · [@dominiklohmann](https://github.com/dominiklohmann) · [#5085](https://github.com/tenzir/tenzir/pull/5085)

Tenzir now supports inline `if … else` expressions in the form `foo if pred`, which returns `foo` if `pred` evaluates to `true`, or `null` otherwise, and `foo if pred else bar`, which instead of falling back to `null` falls back to `bar`.

## 🐞 Bug Fixes

### Implement `if … else` expressions and short-circuiting for `and` / `or`

Mar 28, 2025 · [@dominiklohmann](https://github.com/dominiklohmann) · [#5085](https://github.com/tenzir/tenzir/pull/5085)

The binary operators `and` and `or` now skip evaluating their right-hand side when not necessary. For example, `where this.has("foo") and foo == 42` now avoids emitting a warning when `foo` does not exist.

### Hardcode the fluent-bit page size to 24576

Mar 27, 2025 · [@tobim](https://github.com/tobim) · [#5084](https://github.com/tenzir/tenzir/pull/5084)

The `from_fluent_bit` and `to_fluent_bit` operators no longer crash when trying to handle very large payloads.

[ Download on GitHub ](https://github.com/tenzir/tenzir/releases/tag/v4.31.0)

[Get the release artifacts and source code.](https://github.com/tenzir/tenzir/releases/tag/v4.31.0)