KNOWLEDGE BASE
Release Notes v4.0.0
Fluent Bit is a Fast and Lightweight Telemetry Agent for Linux, BSD, MacOS and Windows. We are proud to announce the availability of Fluent Bit v4.0.
Fluent Bit v4.0.0
* Copyright (C) 2015-2025 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io
______ _ _ ______ _ _ ___ _____
| ___| | | | | ___ (_) | / || _ |
| |_ | |_ _ ___ _ __ | |_ | |_/ /_| |_ __ __/ /| || |/' |
| _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / / /_| || /| |
| | | | |_| | __/ | | | |_ | |_/ / | |_ \ V /\___ |\ |_/ /
\_| |_|\__,_|\___|_| |_|\__| \____/|_|\__| \_/ |_(_)___/
[2025/03/29 11:38:51] [ info] [fluent bit] version=4.0.0, commit=5251a768cd, pid=3973606
[2025/03/29 11:38:51] [ info] [storage] ver=1.5.2, type=memory, sync=normal, checksum=off, max_chunks_up=128
[2025/03/29 11:38:51] [ info] [simd ] disabled
[2025/03/29 11:38:51] [ info] [cmetrics] version=0.9.9
[2025/03/29 11:38:51] [ info] [ctraces ] version=0.6.2
[2025/03/29 11:38:51] [ info] [sp] stream processor started
For people upgrading from previous versions you must read the Upgrading Notes section of our documentation:
https://docs.fluentbit.io/manual/4.0/installation/upgrade_notes
Introduction
Fluent Bit, a CNCF graduated project under the umbrella of Fluentd, announces the availability of v4.0.
In every release, there are many improvements and fixes, on this notes we will refer to the major changes that will make your infrastructure happier ;)
Below a list of the highlights of this release:
Processor: Conditional Processing for Logs
Introducing a powerful new capability allowing processors to conditionally modify logs based on specific field values. This enhancement provides granular control over log processing with a variety of conditional operators such as and, or, in, gt, lt, regex, and more.
|
|
Trace Sampling Processor
Introducing a new trace sampling processor with a pluggable architecture for supporting various sampling strategies and backends. This includes both head sampling (probabilistic) and tail sampling with conditions.
-
Head Sampling (probabilistic): Allows probabilistic sampling of traces based on a specified sampling percentage.
-
Tail Sampling (conditional): Supports evaluating traces based on various conditions before making a sampling decision. Available conditions include:
- Status Code
- Latency
- String Attribute
- Numeric Attribute
- Boolean Attribute
- Span Count
- Trace State
|
|
Enhanced Security Mechanisms
Fluent Bit introduces improved security and flexibility with the following features:
TLS Configuration Enhancements
Users can now configure specific TLS versions and define acceptable ciphers to strengthen communication security.
tls.min_version: Specifies the minimum allowed TLS version. Supported values include:TLSv1.1TLSv1.2TLSv1.3
tls.max_version: Specifies the maximum allowed TLS version. Supported values include:TLSv1.2TLSv1.3
tls.ciphers: Allows users to define a specific set of TLS ciphers (up toTLSv1.2). This provides greater control over which ciphers are allowed during communication.
Environment Variable File Reference
Fluent Bit now supports referencing internal variables from the file system, making it easier to securely handle sensitive data like secrets or tokens.
- This feature allows secrets or bearer tokens to be stored in files and referenced in configuration files using the
file://prefix.
example:
|
|
Experimental Features
The following experimental features, are still under active development and are not recommended for production use. However, we encourage you to try them out and provide feedback to help us improve them.
Note that experimental features are disabled by default, but can be enabled at build time.
Zig Language Support
Fluent Bit now includes experimental support for plugins written in the Zig programming language. This new capability allows developers to write high-performance plugins with Zig’s modern features and safety guarantees.
Libraries
- ctraces: upgrade to v0.6.2
- zstd: ugprade to v1.5.7
- monkey: upgrade to v1.8.2
Plugins
- OpenTelemetry (Input)
- ebpf (Input)
- core: Prepare eBPF skeletons before starting to compile properly (PR #9856)
- Calyptia_fleet (Input)
- log info about config pulled from API (PR #9892)
- Kubernetes events (Input)
- fix sqlite database cleanup (PR #9894)
- Splunk (Input)
- delete connection if memory realloc fails (PR #9970)
- HTTP (Input)
- add compression handling support for gzip and zstd (PR #9977)
- Prometheus remote write (Input)
- handle error status code when decoding metrics (PR #9970)
- Event_type (Input)
- traces: do not remove context on success (PR #10029)
- Kafka (Input)
- optimize poll timeout handling for threaded and main event loop modes (#10122) (PR #10122)
- Tail (Input)
- Add Unicode encoder support (PR #9468)
- Kubernetes (Filter)
- add owner references information into record. (PR #9719)
- Modifier (Filter)
- added missing log event encoder and decoder disposal (PR #10057)
- Sampling (Processor)
- Add new trace sampling processor (PR #10029)
- Labels (Processor)
- OpenTelemetry (Output)
- add support for zstd compression (PR #9890)
- HTTP (Output)
- Splunk (Output)
- added OTLP metadata support (PR #10035)
- Loki (Output)
- Gelf (Output)
- fix crash after missing short_message key (PR #10087)
- Exit (Output)
- add time_count (seconds) and record_count parameters for out_exit. (PR #8621)
- Azure kusto (Output)
- azure managed identity support added (#10036) (PR #10036)
- Datadog (Output)
- Fix formatting issue when setting a static hostname via dd_hostname (PR #10104)
Contributors
On every release, there are many people involved doing contributions on different areas like bug reporting, troubleshooting, documentation and coding, without these contributions from the community, the project won’t be the same and won’t be in the good shape that it is now. So THANK YOU! to everyone who takes part of this journey!
- Eduardo Silva Pereira
- Hiroshi Hatake
- Aivaras Baranauskas
- Pat
- Phillip Whelan
- Stewart Webb
- leonardo-albertovich
- Rob Skillington
- Christian Rudolph
- José Lecaros
- Jorge Niedbalski
- abhi-jha
- Anuj Singh
- pluhmen
- shuaichen
- Greg Eales
- bpetermannS11
- Wesley Pettit
- zhihonl
- Naresh Kumar Amrutham
- Ravi Gupta
- Braydon Kains
- Ryan
Join us
We want to hear about you, our community is growing and you can be part of it!, you can contact us at:
- Github: http://github.com/fluent/fluent-bit
- Slack: http://slack.fluentd.org
- Twitter: @fluentbit