RATATOSKRATATOSK
Sign in

Fluentd

v1.20.0Observability
Oct 26, 2026

CHECK 2OTHER 30

A feature-rich release adds configuration and platform capabilities, updates the JIT default, and removes Ruby 3.2 support. It also fixes correctness issues across input handling, buffering, and HTTP processing.

Check if affected (2)

  • breakingThe enable_jit default changed to true

    Applies if you do not set enable_jit.

    The system configuration enable_jit now defaults to true in this release.

  • breakingRuby 3.2 support removed

    Applies if you run Ruby 3.2.

    Support for Ruby 3.2 is removed in this release.

All 30 other recorded changesfixes 15 · additions 10 · constraints 2 · removals 2 · value changes 1

fixes (15)

  • Fix IPv6 bind address support in URI construction
  • out_file: create symlinks for all chunks sharing the latest timekey
  • time: fix TimeFormatter returning nil for the Unix epoch
  • in_tail: fix log duplication when a rotated file is appended during rotate_wait with follow_inodes
  • in_tail: fix NameError raised when flushing buffered lines with emit_unmatched_lines true
  • in_tail: fix unread lines never being collected when a throttled file is removed from the watch list
  • in_tail: fix shutdown errors and timeouts caused by an ongoing watcher refresh
  • in_tail: fix closed stream error when file rotation overlaps with shutdown
  • in_tail: use a monotonic clock for multiline flush timers so that they are not affected by wall-clock adjustments
  • buffer: fix a race that could make the buffer stage_size gauge transiently negative while a write and a chunk enqueue overlap
  • buffer: fix an enqueued unstaged file chunk being re-staged and flushed twice, which caused closed stream / ENOENT errors and leaked buffer size gauges
  • parser_msgpack: fix leftover data from one parse call leaking into the next
  • http_server helper: fix HTTP endpoints never recovering after a bind failure
  • root_agent: fix emit_records and emit_size never counted for inputs with @label
  • supervisor: fix graceful config reload failing for YAML configuration

additions (10)

  • out_forward: add send_keepalive_packet option to enable TCP keepalive (SO_KEEPALIVE)
  • in_exec: add command_timeout option to limit child process execution time
  • system_config: add umask option to <system> directive
  • add opt-in enable_dir_watcher and dir_watcher_limit to discover new files earlier by watching directories×2
  • in_tail: add opt-in worker-thread parsing via num_threads to offload parsing from the event loop
  • In worker mode, monitor_agent also reports worker_pending_batch_count, worker_pending_bytes and worker_parse_error_count.
  • buffer: add evacuate_limit_size to keep evacuated chunks from filling the disk
  • gem: add aarch64-mingw-ucrt gem
  • gem: add json gem (>= 2.21) as runtime dependency and remove Refinements workaround

constraints (2)

  • parser_syslog: accept a space after RFC3164 priority
  • in_forward: accept metadata on encapsulated timestamps sent by Fluent Bit v5.0.5 or later

removals (2)

  • Replace Yajl with built-in JSON for simple cases
  • out_http: remove the Net::HTTP extra_chain_cert monkey patch

value changes (1)

  • When an input stream ends in the middle of a JSON document, Fluentd now logs a warning and discards the incomplete tail instead of raising ParseError.
Add Fluentd to your stack

A weekly email arrives when a release needs action. Like the breaking changes in this release.

Add to stack →