Fluentd v1.19.4 has been released

Hi users!

We have released v1.19.4 on 2026-09-29. ChangeLog is here.

This release is a maintenance release of v1.19 series.

This release will be bundled for fluent-package LTS version v6.0.5!

Security Fixes

Many vulnerabilities were fixed in this release.

In most cases, there is no problem using deployed Fluentd within a closed, trusted network. If you could not update Fluentd immediately, consider to take advised mitigation in above advisories.

Bug Fixes

Many bugs were also fixed in this release.

  • output: fix JSON::GeneratorError as unrecoverable error. (#5423)
    • Failure for content reasons (e.g. non-UTF-8 bytes, NaN/Infinity), is treated as a bad chunk.
  • Set allow_duplicate_key parameter for JSON.parse. It accept duplicate keys silently (last value wins) on every path. It keeps compatibility with older versions even though newer json gem is used. (#5430)
  • Set allow_comments parameter for JSON.parse. It accepts JSON with comments. It keeps compatibility with older versions even though newer json gem is used. (#5432)
  • Accept a bare scalar for an array option in YAML syntax (#5433)
  • parser_syslog: Optimize RFC5424 structured data parsing (#5444)
    • It avoids excessive backtracking when parsing malformed RFC5424 structured data.
  • out_forward: drop keepalive sockets with failed or mismatched acks (#5445)
    • It stops the endless "ack in response and chunk id in sent data are different" warning storm by discarding (instead of reusing) a keepalive socket.
  • buffer: fix stage_byte_size leak when a staged chunk is unstaged (#5456)
    • There was a possibility that it could eventually raise spurious BufferOverflowError. It affects plugins which implementing #format.
  • plugin base: bound the number of worker lock files by hashing the path into a fixed set of buckets. (#5471)
  • supervisor: reduce memory usage of cleanup_lock_dir with huge number of lock files (#5472)
  • config: accept empty lines in quoted strings (#5478)
  • chunk: ensure to close the Tempfile for decompressed data (#5486)
  • buffer: fix spurious BufferOverflowError caused by queue_size leaking when a chunk purge fails (#5487)
  • buffer: clamp exported buffer size metrics to non-negative values (#5488)
  • Support json gem v3.x (#5493)
  • parser_syslog: fix NameError when RFC3164 timestamp has repeated spaces (#5497)
  • parser_syslog: fix NameError when RFC5424 timestamp has repeated spaces (#5500)

Accept a bare scalar for an array option in YAML syntax

In the previous versions, a single scalar value for an array option is rejected in YAML config syntax.

Since v1.19.4, it accepts the following example.

config:
  - match:
      $tag: "**"
      $type: http
      retryable_response_codes: 503

plugin base: bound the number of worker lock files by hashing the path into a fixed set of buckets

When workers > 1, out_file (with append) and out_secondary_file take an inter-worker lock per output path, and get_lock_path derives one lock file per path: /tmp/fluentd-lock-*/fluentd-<sanitized path>.lock.

In the previous versions, a lock file is never removed while fluentd is running; the only cleanup is cleanup_lock_dir at a graceful shutdown. So the number of lock files grows with the number of unique output paths, and with a date or a tag placeholder in path that set is effectively unbounded over time.

In this release, the number of lock files is now bounded by a constant instead of by the number of unique paths. The accumulation, the mass deletion at shutdown, and the dependence on an external tmp cleaner all disappear structurally rather than being mitigated.

Enjoy logging!

Follow us on X

We have been posting information about Fluentd in Japanese on @fluentd_jp. We would appreciate it if you followed the X account.

Read More

fluent-package v6.0.5 has been released

Hi users!

We have released fluent-package v6.0.5 on 2026-09-29. Fluent Package is a stable distribution package of Fluentd. (successor of td-agent)

This is a maintenance release of v6.0.x LTS series.

Fluent Package v6.0.5

Fluent Package v6.0.5 includes the following improvements:

  • Updated bundled Fluentd to v1.19.4 which fixes some vulnerabilities
  • Updated bundled Ruby to 3.4.11
  • Updated bundled gems which fix vulnerabilities and crashes (oj, json)
  • msi: Fixed a broken link to enterprise services on the popup window of the Windows installer
  • rpm: Kept compatibility with older RHEL 9.x and 10.x
  • deb rpm: Reduced build time by disabling LTO on RHEL 10 and Ubuntu

This article explains the changes in Fluent Package v6.0.5.

Changes

Updated bundled Fluentd to v1.19.4 which fixes some vulnerabilities

In this release, some critical vulnerabilities were fixed.

The above vulnerabilities affects to older than v1.19.4, thus the following packages also will be affected.

  • fluent-package LTS v6.0.4 or earlier
  • fluent-package Standard edition v6.0.0 (NOTE: no patched version planned yet, please consider to use LTS)
  • fluent-package LTS v5.0.9 or earlier (NOTE: v5.0.x already reached EOL, no patched updates anymore)
  • fluent-package Standard edition v5.2.0 or earlier (NOTE: v5.x already reached EOL, no patched updates anymore)
  • All of td-agent (NOTE: td-agent already reached EOL, no patched updates anymore)

We recommend upgrading fluent-package to v6.0.5.

If you can't upgrade it immediately, there is a case that mitigation method is explained in above advisory. Please check each advisory and take care of it.

Fluentd v1.19.4 also contains many bug fixes. See the release announcement of Fluentd v1.19.4 for details.

Updated bundled Ruby to 3.4.11

Ruby 3.4.11 is a maintenance release. Compared to Ruby 3.4.9 which was bundled in the previous version, it includes the following security fixes in bundled gems:

For details, please see the Ruby 3.4.10 and Ruby 3.4.11 release notes.

msi: fixed a broken link to enterprise services on popup window

The link to the enterprise services page on the popup window of the Windows installer was broken. It has been fixed in this release. (#1079)

rpm: keep compatibility with older RHEL 9.x and 10.x

The packages for RHEL 9.x and 10.x were built on the latest minor version of each series. As a result, the built binaries required newer symbols such as GLIBC_2.35 or OPENSSL_3.4.0, and they did not work on older minor versions like RHEL 9.6 or RHEL 10.1.

To keep the ABI compatible in the whole 9.x and 10.x series, the build environment is now pinned to RHEL 9.2 and RHEL 10.0. (#1089, #1090)

This issue was fixed and shipped as 6.0.4-2 on above platforms which had been implemented in advance, has now been officially released.

rpm deb: disable LTO for RHEL 10 and Ubuntu

RPM 4.19 (AlmaLinux 10) and dpkg-buildflags on Ubuntu export LTO (Link Time Optimization) flags (-flto=auto -ffat-lto-objects) into the build process. These flags leaked into jemalloc, Ruby and native gem extensions, and made the build much slower. For example, the total build time on AlmaLinux 10 grew extraordinaly.

Since the bundled Ruby uses its own optimization settings, LTO gives no measurable benefit here. So we removed the LTO flags and the annobin plugin from the build environment. The hardening flags such as stack protection, control flow protection and FORTIFY_SOURCE are kept as before.

This change also means that native extensions which users build with fluent-gem install no longer inherit the LTO overhead. (#1102)

Download

Please visit the download page.

Announcement

About next LTS schedule

We plan to release the next LTS version of fluent-package v6.0.6 at Dec 2026. The content of updates are still TBD.

Follow us on X

We have been posting information about Fluentd in Japanese on @fluentd_jp. We would appreciate it if you followed the X account.

Read More

Scheduled support lifecycle announcement about Fluent Package v7

Hi users!

We had launched fluent-package v6 series last year, recently shipped v6.0.4 in LTS release channel.

In this blog article, we explain the planned next major updates - v7.0.0.

When the next LTS (Long Term Support) version available?

In short, we will ship fluent-package v7 in Aug, 2027.

We keep two release channels as follows:

  • Normal release
  • LTS (Long Term Support)

Here is the difference of these channels.

  • Normal release (7.x series)
    • Recommended for early adopters (eager to try new features of Fluentd)
    • Regular releases are not guaranteed. (planned semi-annually releases, but it may vary. In some cases, the LTS version may actually be newer.)
    • Fluentd will be upgraded occasionally
      • Minor upgrade will be applied. e.g. 1.20 => 1.21 and so on.
      • e.g. v7.0.1 (Fluentd v1.20.1), v7.0.2 (Fluentd v1.20.2), ... v7.1.0 (Fluentd v1.21.0)
    • The only latest version will be supported
  • LTS (Long Term Support, 7.0.x series)
    • Recommended for enterprise services
    • Security and bug fix release only
    • Fluentd will be upgraded only in the teeny version and will stick to 1.20.x series. (T.B.D.)
      • Thus, the version number will be 7.0.x. (7.1 series will not be shipped for LTS channel)
      • e.g. v7.0.1 (Fluentd v1.20.1), v7.0.2 (Fluentd v1.20.2), v7.0.3 (Fluentd v1.20.3) ... v7.0.x (Fluentd v1.20.x) and so on.
    • Next major version will be fluent-package v8.0.0, and will be shipped in 2029 (T.B.D.).

As for fluent-package v7,

  • fluent-package v6 LTS will be supported until Dec, 2027.
    • We expect users upgrade from v6 to v7 during the grace period.
  • Until 7.1.0 is released, normal release channel and LTS channel are the same package.
  • Upgrade from v4 or older version is not supported. Upgrade to v5 or v6 first, then upgrade it to v7.

Current releases and future plans:

Release Version Release Date End of life
v6.0.x (LTS) Aug, 2025 Dec, 2027
v7.0.0 (LTS) Aug, 2027 Dec, 2029 (T.B.D.)
v8.0.0 (LTS) Aug, 2029 (T.B.D.) T.B.D.

Happy logging!

Read More

fluent-package v6.0.4 has been released

Hi users!

We have released fluent-package v6.0.4 on 2026-06-26. Fluent Package is a stable distribution package of Fluentd. (successor of td-agent)

This is a maintenance release of v6.0.x LTS series.

Fluent Package v6.0.4

Fluent Package v6.0.4 includes the following improvements:

  • Updated bundled Fluentd to v1.19.3 which fixes some vulnerabilities.

This article explains the changes in Fluent Package v6.0.4.

Changes

Updated bundled Fluentd to v1.19.3 which fixes some vulnerabilities.

In this release, some critical vulnerabilities were fixed.

The above vulnerabilities affects to older than v1.19.3, thus the following packages also will be affected.

  • fluent-package LTS v6.0.3 or earlier
  • fluent-package Standard edition v6.0.0 (NOTE: no patched version planned yet, please consider to use LTS)
  • fluent-package LTS v5.0.9 or earlier (NOTE: v5.0.x already reached EOL, no patched updates anymore)
  • fluent-package Standard edition v5.2.0 or earlier (NOTE: v5.x already reached EOL, no patched updates anymore)
  • All of td-agent (NOTE: td-agent already reached EOL, no patched updates anymore)

We recommend upgrading fluent-package to v6.0.4.

If you can't upgrade it immediately, there is a case that mitigation method is explained in above advisory. Please check each advisory and take care of it.

Download

Please visit the download page.

Announcement

About next LTS schedule

We plan to release the next LTS version of fluent-package v6.0.5 at Sep 2026. The content of updates are still TBD.

Follow us on X

We have been posting information about Fluentd in Japanese on @fluentd_jp. We would appreciate it if you followed the X account.

Read More

Fluentd v1.19.3 has been released

Hi users!

We have released v1.19.3 on 2026-06-25. ChangeLog is here.

This release is a maintenance release of v1.19 series.

This release is bundled for fluent-package LTS version v6.0.4!

Security Fixes

Many vulnerabilities were fixed in this release.

Additionally, similar vulnerability was also fixed in the following fluentd plugins:

In most cases, there is no problem using deployed Fluentd within a closed, trusted network. If you could not update Fluentd immediately, consider to take advised mitigation in above advisories.

Bug Fixes

Many bugs were also fixed in this release.

  • in_debug_agent: accept only from local machine by default
  • buffer: resume buffer correctly even though path contains []
  • out_forward: avoid reusing closed keepalive sockets after remote
  • storage_local: fix encoding error when fix encoding error when reading non-ASCII characters

in_debug_agent: accept only from local machine by default

Historically, in_debug_agent accepts remote access by default.

This behavior is not problem because usually in_debug_agent must be explicitly enabled by users who know what you do.

But, there is an security concern which accepts external access by default even though user must enable it explicitly.

To mitigate security concern, changed that behavior a bit secure by default.

If you dare to keep previous non-secure behavior, specify 0.0.0.0 explicitly.

<source>
  @type monitor_agent
  bind 0.0.0.0   # prior to v1.19.3 default behavior
  bind 127.0.0.1 # since v1.19.3 default behavior
  ...
</source>

buffer: resume buffer correctly even though path contains []

If buffer path contains [] in tag something like "path test/${tag[0]}", when resuming buffer process can't find them without escaping bracket.

Thus buffer files remains under that directory.

In this release, that can be resumed correctly.

Note that recommended tag spec is specified in routing documentation, but it is easily shoot your legs in practical use-case if you use [] characters. so it is changed to take care of that case.

avoid reusing closed keepalive sockets after remote disconnects

In the previous versions, there was a keepalive socket reuse bug.

When a cached keepalive connection has already been closed by the remote side, out_forward could pick that socket back up and try to write to it again.

As a result, that left the flush thread spinning on a dead socket and can drive CPU usage to 100%.

storage_local: fix encoding error when fix encoding error when reading non-ASCII characters

If data containing non-latin characters are stored onto disk using the storage_local plugin, the file is properly written but cannot be read again once fluentd restarts. Now that behaviour was fixed by properly handling the file encoding.

Improvements

In this release, added some warnings for problematic use-cases.

If there are any potential issues with your configuration, Fluentd detects above cases additionally.

Enjoy logging!

Follow us on X

We have been posting information about Fluentd in Japanese on @fluentd_jp. We would appreciate it if you followed the X account.

Read More


About Fluentd

Fluentd is an open source data collector to simplify log management.

Learn

Want to learn the basics of Fluentd? Check out these pages.

Ask the Community

Couldn't find enough information? Let's ask the community!

Ask the Experts

You need commercial-grade support from Fluentd committers and experts?

Follow Us!