KNOWLEDGE BASE
Release Notes v2.2.0
Fluent Bit is a Fast and Lightweight Data Processor and Forwarder for Linux, BSD and OSX. We are proud to announce the availability of Fluent Bit v2.2.0.
For people upgrading from previous versions you must read the Upgrading Notes section of our documentation:
https://docs.fluentbit.io/manual/installation/upgrade_notes
Introduction
Fluent Bit v2.2 is the start of the new stable series of the project. During the last months our primary focus has been around extending support for Metrics, Traces and improving performance, among many others.
News
Fluent Bit v2.2.0 is the stable release!, new changes on this version:
-
Core
- filter: improve performance by 6x when doing multiple filters (chain)
- http_server: v2: reload: windows: Enable hot reloading (#7984)
- output: set tcp keepalive flag when desired
- output: plugin_proxy: Migrate initialization of Golang output as cb_init based
- fluent-bit: improve hot reload handler (#8041)
- input: Add ingestion_paused metrics to confirm whether an input plugin is paused or not (#8044)
- http_client: set Connection header to keepalive to fix problem with HTTP proxies.
- config: plugin_proxy: Pass whether hot-reloading state or not into Golan plugins on pre_exit callbacks
- bin: reload: filter: Provide additional validator before loading filter plugins
- bin: Fix build on non-Windows
- bin: windows: Restore Ctrl-C behavior on windows
- custom_calyptia: correctly set fleet_id for out_calyptia when fleet_name is set.
- custom_calyptia: free machine_id when it is automatically set.
- containers: add support s390x architecture (#8095)
- plugin_proxy: Plug an occurrence of garbage character on hot-reloading
- plugin_proxy: Prevent to execute flush callback on Golang side during hot-reloading
- plugin_proxy: Tell whether hot-reloading is enabled or not for Golang plugins
- plugin_proxy: Expose pause/resume callbacks for Golang input plugins
- plugin_proxy: Expose pre_run callbacks into Golang plugins
- stream processor: fix missing key names when query contains GROUP BY (#8028)
- reload: bin: Handle hot-reloading is aborted case
- reload: add missing flb_cf_destroy (#8042)
- chunk_trace: abstract out the pipeline thread into its own API.
- chunk_trace: coordinate the stopping and starting of the pipeline thread.
- config_format: flb_cf_yaml: change log level in processing. Fixes #8130
- config_format: yaml: throw an error when the array cannot be allocated.
- input_chunk: fixed a corner case when records are dropped
- input_chunk: adapted chunk filtering code to operate on a local buffer
- chunk_trace: add reporting for outputs.
- chunk_trace: use a separate thread for trace pipelines.
- utils: add code for getting the machineID on macOS. (#8096)
- utils: add code to get the machine-id on windows machines. (#7970)
-
Libs
- cmetrics: upgrade to v0.6.4
-
Plugins
- Fluentbit_Metrics (Input)
- Add missing release function on init
- Process_Exporter_Metrics (Input)
- Implement process exporter metrics (#7943)
- Dummy (Input)
- Use interval_sec/nsec instead of time_interval.
- Reducing tests maximum duration.
- Add unit tests for rate and time_interval.
- Rename time interval variables.
- Add time_interval setting.
- Calyptia_Fleet (Input)
- Get
__mkdir
to work on non-unix operating systems. (#7969)
- Free up filenames and data during collect callback.
- Free http client when retrieving fleet_id from fleet_name.
- Free fleet_url and fleet_id.
- Remove premature return which leads to a memory leak.
- Fix memory leaks when loading new configurations.
- Add missing release function on collect
- Add missing release function
- Check cfg parameter in is_old_fleet_config.
- Check return value of old_fleet_config_filename.
- Add old file name to list of valid configuration names.
- Remove info messsage using event_fd.
- Remove unused event_fd configuration property.
- Thermal (Input)
- Node_Exporter_Metrics (Input)
- Implement a more pluggable architecture for the collectors (#7944)
- Implement nvme metrics (#8049)
- Fix referencing wrong interval (#8019)
- Fix macos build (#8048)
- Implement processes metrics (#7880)
- Plug undefined value for netif name
- Support diskstats metrics on macos
- Add netdev metrics on macos
- Support meminfo metrics on macos
- Support uname metrics on macos
- Add loadavg metrics for macos
- Support cpu seconds collection on macos
- Make buildable with skeletons on macos
- Splunk (Input)
- Ensure releasing tag_from_record after procressing it
- Forward (Input)
- Extract a function for appending logs
- Handle non log types of compressed events
- Fix checking return value of cmt_decode_msgpack_create(#8000) (#8015)
- Docker (Input)
- Implement a capability for cgroups v2
- Add unit test and make configurable paths (mostly for testing)
- Lua (Filter)
- Add index to arraylength call
- Provide additional script validator before running as cb_pre_run
- Plug a memory leak on loading for an invalid lua script
- Sysinfo (Filter)
- Add filter sysinfo plugin
- Wasm (Filter)
- Provide additional validator for checking existence of the file in wasm_path
- Chronicle (Output)
- Remove redundant code (#8004)
- Syslog (Output)
- When using a message key, avoid prefixing raw messages
- Loki (Output)
- Add ability to add arbitrary http headers and adjust the uri path (#7979)
- Add new option
uri
to customize http uri endpoint
- Stackdriver (Output)
- fix: don’t overwrite ctx->client_email and ctx->private_key. (#8093)
- Forward (Output)
- Add compressed=gzip option for non log types of events
- Cloudwatch_Logs (Output)
- Enhance api error response readability
- Remove sequence tokens from api calls (#7973)
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!
Join us
We want to hear about you, our community is growing and you can be part of it!, you can contact us at: