Fluentd v1.16.10 has been released

Hi users!

We have released v1.16.10 on 2025-09-12. ChangeLog is here.

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

This release will be bundled for upcoming fluent-package LTS version v5.0.8!

Bug Fixes

Server plugin helper: Fix bug where it may not properly close connections on Fluentd's shutdown

This issue has existed since this helper was first introduced and has affected at least Fluentd v0.14 and td-agent v3 and later.

The official plugins mainly affected are:

This bug causes the following two problems:

  • Even with flush_at_shutdown enabled, Fluentd may stop with buffer files left behind.
  • There is a risk of losing received data during Fluentd's shutdown sequence although the probability is very low.

Fluentd normally shuts down each plugin in a safe sequence, but this bug causes it to continue receiving data unexpectedly during a phase when new data should no longer be accepted.

Even if buffer files remain, they will be restored on the next start, so this is not an issue. On the other hand, when using a memory buffer, the risk of log loss becomes much higher.

Please note that this bug is unlikely to be a major problem when using a file buffer. In the first place, server-type input plugins generally cannot receive data while Fluentd is down, so unless the client has a resend mechanism, there is always a risk of log loss during Fluentd's restart. With the zero-downtime restart feature introduced in Fluentd v1.18 (fluent-package v5.2 or v6), Fluentd can now be restarted without downtime.

Ref: Fluentd#5026

Enjoy logging!

Read More

Upgrade Guide for fluent-package v6

On August 29, 2025, we released fluent-package v6 as a new series of stable packages.

What is Fluent Package v6 LTS?

Fluent Package v6 LTS is a long-term support (LTS), stable package of Fluentd.

Fluent Package v5 LTS will reach end of support at the end of 2025. As its successor, Fluent Package v6 LTS will be supported until at least the end of 2027.

For more details, see the following article:

Upgrade procedure to Fluent Package v6 LTS

As an example, you can upgrade with the following steps:

  1. Check manually installed plugins
  2. Stop the Fluentd service
  3. Back up registry settings (Windows only)
  4. Install Fluent Package v6 LTS
  5. Reinstall plugins
  6. Restart the Fluentd service

Below are details for each step.

1. Check manually installed plugins

If your current version (before upgrade) is Fluent Package v5.0.2 or later (v5.0.3 for Windows), you can use the bundled fluent-diagtool to list manually installed plugins.

Run the following command:

$ /opt/fluent/bin/fluent-diagtool -t fluentd -o /tmp
  • -t fluentd: required
  • -o /tmp: specifies the output directory for results (you can choose any directory)

The tool outputs various information to standard output. The following section shows the list of manually installed plugins:

(...)
2025-07-17 08:13:31 +0000: [Diagtool] [INFO] [Collect] fluent-package manually installed gem information is stored in /tmp/20250717081331/output/gem_local_list.output
2025-07-17 08:13:31 +0000: [Diagtool] [INFO] [Collect] fluent-package manually installed gems:
2025-07-17 08:13:31 +0000: [Diagtool] [INFO] [Collect]   * fluent-plugin-remote_syslog
(...)

In this example, the only manually installed plugin is fluent-plugin-remote_syslog. The list is also saved to a file:

  • /{output_directory}/{execution_timestamp}/output/gem_local_list.output

For the above case, the list was saved to /tmp/20250717081331/output/gem_local_list.output.

If you are using a version earlier than v5.0.2, the bundled fluent-diagtool is outdated. Please update it in advance:

$ sudo fluent-gem install fluent-diagtool

If you cannot update fluent-diagtool, obtain the list of plugins with:

$ fluent-gem list fluent-plugin

Note: On fluent-package v5.0.2 for Windows or earlier, fluent-diagtool is not available due to a known issue. Use fluent-gem list fluent-plugin instead.

2. Stop the Fluentd service

Stop any running Fluentd service(s). If multiple Fluentd services are running, stop them in the order: forwarders first, then aggregators.

3. Back up registry settings (Windows only)

On Windows, back up registry settings needed for rollback. Run the following command in PowerShell or Command Prompt as an administrator:

> reg export HKLM\System\CurrentControlSet\Services\fluentdwinsvc C:\fluent-package-5_fluentdwinsvc.reg

4. Install Fluent Package v6 LTS

Install Fluent Package v6 LTS.

Example for RPM Package (Red Hat Linux):

$ curl -fsSL https://fluentd.cdn.cncf.io/sh/install-redhat-fluent-package6-lts.sh | sh

Please refer to the official documentation for each environment:

5. Reinstall plugins

The manually installed plugins need to be reinstalled. Reinstall the plugins identified in step 1.

Example:

$ sudo fluent-gem install fluent-plugin-remote_syslog

6. Restart the Fluentd service

Restart the Fluentd service(s) you stopped in step 2. If multiple services exist, start them in the order from aggregators to forwarders.

Note: Zero-Downtime Update Settings (non-Windows)

From the next update onward, you can perform upgrades without stopping the service using the zero-downtime update feature (not supported on Windows).

You can configure how Fluentd restarts after an update:

  • auto (default): automatically performs zero-downtime restart after update
  • manual: requires manual zero-downtime restart, disabling automatic plugin reinstallation and restart

This setting can be changed anytime and does not require restarting Fluentd itself.

For details, see:

Rollback from Fluent Package v6 LTS to v5

1. Stop the Fluentd service

Stop running Fluentd services, in the order from forwarders to aggregators.

2. Install Fluent Package v5 LTS

On Linux, simply reinstall Fluent Package v5 LTS on top of v6. No need to uninstall v6 beforehand. On Windows, uninstall Fluent Package v6 LTS first, then install v5 LTS.

Manually installed plugins remain on the system, so after rollback they are still available. No reinstallation is required.

3. Restore the registry (Windows only)

On Windows, restore the registry with the following command (admin PowerShell or Command Prompt):

> reg import C:\fluent-package-5_fluentdwinsvc.reg

This restores Windows service auto-start settings and startup command-line arguments.

4. Restart the Fluentd service

Restart the stopped Fluentd services in opposite order: aggregators first, then forwarders.

Download

Please see the download page.

Announcement

End of support for td-agent v4, let's migrate to fluent-package

As it was already announced Drop schedule announcement about EOL of Treasure Agent (td-agent) 4, td-agent v4 reached EOL in Dec, 2023.

And fluent-package v5 will reach EOL in end of 2025.

We strongly recommend upgrading to fluent-package v6 LTS.

Follow us on X

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

Read More

fluent-package v6.0.0 has been released

Hi users!

We're excited to announce the release of fluent-package v6.0.0 !

This is the first release of the v6 LTS series, and it will be supported until the end of 2027.

We strongly recommend upgrading to fluent-package v6 LTS!

What is Fluent Package v6 LTS?

Fluent Package v6 LTS is a long-term support (LTS), stable package of Fluentd.

The conventional Fluentd project official package, td-agent, reached its end of support at the end of 2023. Fluent Package has been officially developed and distributed by the Fluentd project since the end of August 2023 as its successor package.

The current LTS version, Fluent Package v5 LTS, will reach end of support at the end of 2025. As the next LTS version, Fluent Package v6 LTS will be supported until at least the end of 2027.

In LTS versions, we only perform bug fixes and security fixes over a pre-announced long-term period (minimum 2 years). Therefore, there are two advantages for long-term stable operations:

  • Continuous updates are easier
    • You can continuously incorporate the latest bug fixes and security fixes
  • You can prepare systematically for the next major update
    • Since the support period is announced in advance, you know when the next major update will occur

For detailed support schedule information, please see Scheduled support lifecycle announcement about Fluent Package v6.

Major new features and improvements

This release includes many improvements for long-term stable operations. The main improvements are as follows:

  • Updated Fluentd to v1.19.0
    • Significantly improved fault tolerance and operability, including buffer evacuation.
  • Zero-downtime update / restart
    • Configuration reloads and Fluentd restarts can now be performed with zero downtime.
  • Refreshed platform support
    • Added support for modern platforms and discontinued support for older ones.
  • OpenTelemetry support
    • Support for transferring OpenTelemetry data over HTTP/HTTPS.
  • Easier updates
    • Auto-start settings and service startup command line arguments (Windows) are preserved.

Updated Fluentd to v1.19.0

While Fluent Package v5 LTS bundled Fluentd v1.16, v6 LTS moves to Fluentd v1.19. This makes the following new features available:

  • Major new features and improvements in Fluentd v1.19.0
    • Improved fault tolerance and simplified recovery
    • Buffer evacuation when retry limits are exceeded
      • Data that exceeded retry limits is automatically evacuated, making it easy to resend later.
    • Enhanced buffer corruption detection
      • If buffer files are corrupted due to forced shutdown, they are automatically evacuated, improving safe restarts.
    • Expanded metrics
      • Added several new metrics (e.g., number of tracked files in in_tail) to aid monitoring.
    • Performance improvements
    • Support for Zstandard (zstd) compression
      • Compared to gzip, this can reduce disk usage and improve transfer speed.
    • Other optimizations
      • Multiple performance improvements for faster processing and reduced memory usage.

For more detailed changes since v1.16, see:

Zero-downtime update / restart

Starting from v6 LTS, zero-downtime updates are available. This feature allows you to safely execute configuration file reloading and Fluentd restarts with zero downtime (Windows not supported).

For more details, see the following articles and try out this feature:

Refreshed platform support

Fluent Package v6 supports the following platforms:

  • Debian-based
    • Debian 12 (bookworm)
    • Debian 13 (trixie)
    • Ubuntu 22.04 (Jammy Jellyfish)
    • Ubuntu 24.04 (Noble Numbat)
  • RHEL-based
    • RHEL 8 compatible
    • RHEL 9 compatible
    • RHEL 10 compatible
    • AmazonLinux 2023
  • Windows

OpenTelemetry Support

This release supports transferring OpenTelemetry data over HTTP/HTTPS. For configuration methods and other details, please see the plugin README.

We also provide a sample for quick testing.

Easier updates

We've improved the system to preserve auto-start configuration and Windows service (fluentdwinsvc) command line options during updates. This eliminates the need for reconfiguration that was previously required during updates.

In addition, manually installed plugins still need to be reinstalled when updating an LTS version. Starting from this release, plugins will be automatically reinstalled during future updates when using the zero-downtime update feature (Windows not supported). This will make future updates easier.

Other Improvements and Fixes

  • Updated from Ruby 3.2 to Ruby 3.4
  • Migrated distribution CDN to fluentd.cdn.cncf.io
  • Included necessary gems for Linux Capability functionality
  • Disabled unnecessary linker flags (package-note-file) in RPM builds
  • Added fluent-plugin-fluent-package-update-notifier plugin
    • Outputs Fluent Package version update notifications to logs (Linux environments only).
  • Added fluent-plugin-obsolete-plugins plugin
    • Detects obsolete plugins at Fluentd startup and outputs to logs (Linux environments only).
  • Updated fluent-plugin-systemd plugin
    • Fixed SIGABORT error.

Download

Please see the download page.

Announcement

End of support for td-agent v4, let's migrate to fluent-package

As it was already announced Drop schedule announcement about EOL of Treasure Agent (td-agent) 4, td-agent v4 reached EOL in Dec, 2023.

And fluent-package v5 will reach EOL in end of 2025.

We strongly recommend upgrading to fluent-package v6 LTS.

Follow us on X

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

Read More

Fluentd v1.19.0 has been released

Hi users!

We have released v1.19.0 on 2025-07-30. ChangeLog is here.

This release is a new release of v1.19 series. This release includes many new features and bug fixes, with a particular focus on reducing operational and running costs and improving overall stability.

Major new features and improvements

Add feature to evacuate chunk files when retry limit

In this release, we added a buffer evacuation feature to the buf_file and buf_file_single plugins. This simplifies recovery after failure.

In previous versions, when an output plugin fails to deliver data by network issue, if the retry limit was exceeded and secondary output was not configured, the data would be discarded.

In this release, buffer files are automatically evacuated when the retry limit is exceeded. Once the issue is resolved, you can restore the evacuated files to the original buffer directory and restart Fluentd to resume sending the data.

You can even restart without causing downtime to input plugins like in_udp by using the zero-downtime restart feature.

Evacuated files are stored at:

${root_dir}/buffer/${plugin_id}/

Ref. Handling Successive Failures

Note: This feature is disabled when secondary outputs or retry_forever are used. To enable buffer evacuation, remove those settings.

Improved buffer corruption detection

Buffer files may become corrupted due to events like system crashes or sudden power down. In previous versions, Fluentd could fail to handle corrupted files properly, triggering errors on every restart. You had to manually identify and delete the corrupted files.

This release improves buffer corruption detection. When corruption is detected, the file is automatically moved to a backup directory, and startup errors are suppressed.

Enhanced metrics

We have improved Fluentd's observability by enhancing its metrics capabilities:

  • Input plugin metrics are now enabled by default.
    • Previously, you needed to explicitly set enable_input_metrics to true. From this release, it's collected by default. To disable, set enable_input_metrics false.
  • New metrics for in_tail:
    • tracked_file_count: Number of files currently being tailed.
  • New metrics for output plugin:
    • write_secondary_count: Cumulative count of records written to secondary output.
    • drop_oldest_chunk_count: Cumulative count of chunks dropped when drop_oldest_chunk is used for overflow_action.

Performance improvement: switch from yajl-ruby to json gem

Previously, we used yajl-ruby for high-performance JSON processing, such as writing buffer chunks and parsing with parser_json.

However, in recent years, the standard Ruby json library has improved performance significantly. So we changed to use the json gem as the default JSON processor.

Zstandard (zstd) compression support

We have added support for the Zstandard (zstd) compression format, which offers both high compression ratios and faster processing compared to gzip.

Note: To use zstd with out_forward, the destination server should support it. You cannot use it with Fluent Bit or Fluentd versions older than v1.19.0.

TLS 1.3 support

The out_http plugin now supports TLS 1.3, offering enhanced security. By default, TLS 1.2 is used. To enable TLS 1.3, set the tls_version parameter as follows:

<match tag>
  @type http
  ...
  tls_version TLSv1_3
  ...
</match>

Other useful improvements

  • in_forward plugin:
  • out_stdout plugin:
    • Added the use_logger parameter. Setting use_logger false forces output to STDOUT regardless of Fluentd's own logging configuration. This is especially useful in container environments like Kubernetes.
  • out_file plugin:
    • Added symlink_path_use_relative to allow relative paths in symlink_path.
  • System configuration:

Major bug fixes

Fixed memory leak in formatter_csv plugin

To improve performance, it introduced a caching mechanism in formatter_csv, but incorrectly cached threads. This caused memory leaks when used with in_exec, which spawns a new thread per log entry.

This fix is backported to Fluentd v1.16.8.

in_tail plugin: fixed incorrect behavior with encoding option

The in_tail plugin provides encoding and from_encoding options.

  • Expected usage:
    • Setting only encoding: Specifying encoding information.
    • Setting both encoding and from_encoding: Converting encoding.

Due to a bug since Fluentd v0.14.12 (at least from td-agent v3), when only encoding was set, unintended encoding conversion occurred, it might corrupt log data.

In previous versions, you need to specify the same encoding for both encoding and from_encoding as workaround.

Windows: fixed bug where service doesn't stop when the supervisor is dead

On Windows, if the supervisor process exited due to configuration errors, the service could continue running incorrectly. This has been fixed so the service now stops as expected, improving error detection.

This fix is backported to Fluentd v1.16.8.

Fixed --umask Bug

Fixed a bug where the --umask setting was ignored when used together with --daemon, leading to unexpected file permissions.

Enjoy logging!

Read More

fluent-package v5.0.7 has been released

Hi users!

We have released fluent-package v5.0.7. fluent-package is a stable distribution package of Fluentd. (successor of td-agent v4)

This is a maintenance release of v5.0.x LTS series. Bundled Fluentd was updated to 1.16.9.

We recommend upgrading to fluent-package v5.0.7!

Changes from fluent-package v5.0.6

Update bundled openssl gem to 3.3.0 due to support FIPS

With an old gem, it caused an exception after FIPS enabled in OpenSSL. We have updated the bundled openssl gem to 3.3.0 to solve the issue.

Fix memory leaks when exception was raised frequently with fluent-plugin-elasticsearch

There were memory leaks under conditions where exceptions frequently occurred during communication between Elasticsearch and fluent-plugin-elasticsearch. The issue was fixed in fluent-plugin-elasticsearch v5.4.4 and bundled into fluent-package v5.0.7.

Download

Please see the download page.

Announcement

About next LTS schedule

We plan to ship the next LTS version of fluent-package v5.0.8 on September, 2025. The content of updates are still in T.B.D.

End of support for td-agent v4, let's migrate to fluent-package

As it was already announced Drop schedule announcement about EOL of Treasure Agent (td-agent) 4, td-agent v4 reached EOL in Dec, 2023.

After reached EOL, td-agent v4.5.3 on Windows was released because there was a crash bug during startup on Windows. It was backported fix from fluent-package v5 as it is critical in some case. Even though this was a exceptional maintenance release, but there is no change to the fact that we already stopped maintaining td-agent v4.

We strongly recommend migrating from td-agent v4 to fluent-package v5 (LTS). See Upgrade to fluent-package v5

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.16.9 has been released

Hi users!

We have released v1.16.9 on 2025-05-14. ChangeLog is here.

This release is a maintenance release of v1.16 series. In this release, we have fixed a critical bug of the previous version, v1.16.8. Please do not use v1.16.8.

This release will be bundled for upcoming fluent-package LTS version v5.0.7!

Bug Fixes

Windows: Fix bug where the service accidentally stops after starting

In the previous version v1.16.8, the Windows service (fluentdwinsvc) accidentally stops after starting without stopping the supervisor and worker processes. This is a critical bug of v1.16.8 for users who use Fluentd as a Windows service.

In this release, we have fixed this bug.

See #4954 for more information.

Enjoy logging!

Read More

Fluentd v1.16.8 has been released

Hi users!

We have released v1.16.8 on 2025-05-01. ChangeLog is here.

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

This release will be bundled for upcoming fluent-package LTS version v5.0.7!

Bug Fixes

Windows: Stop the service correctly when the supervisor is dead

In this release, we have fixed a bug that Windows service process will continue running even if the supervisor process is dead due to config error or etc.

With fluentd#4942 fixed, it becomes easier to notice config errors and other issues.

formatter_csv: Fixed memory leak

The caching mechanism introduced for performance optimization was caching threads inappropriately in formatter_csv. The in_exec plugin creates a thread each time to emit an event. Then all threads were cached in formatter_csv, causing a memory leak.

With fluentd#4920 fixed, it becomes stable.

Misc news

Windows: Add fiddle as dependency gem for Ruby 3.5

For comming Ruby 3.5, we have added a fiddle gem as dependency.

CI stabilization

We are enforcing stabilizing CI of Fluentd. It has nothing to do with Fluentd's functionality directly, but it is very important to provide stable version of Fluentd continuously.

Enjoy logging!

Read More

Drop Alpine and switch default to Debian for Fluentd docker image

Hi users!

We have planned to change what docker image provides.

Currently, we ship Fluentd docker image for Alpine and Debian (armhf, arm64, amd64). But, Alpine image in Fluentd was already marked as deprecated, so we will make things forward.

In the near future, we will drop Alpine image. This decision affects existing Alpine image users.

Notice about existing Alpine image users

  • fluent/fluentd:edge will be changed from Alpine to Debian image
    • This is a notable incompatible change!
  • v1.19 (not released yet)
    • No more releases for Alpine images
    • Then short tag also changed to Debian images (e.g. v1.19.0-1.0, v1.19-1 should be Debian instead of Alpine)
  • v1.18 Alpine image will not be supported after v1.19 is released (T.B.D.), so recommend to migrate it!
  • v1.16 Alpine image will be supported until Dec 2025, so there is room to migrate gradually.

If you still want to use Alpine, keep v1.16 series or v1.18 series. (not recommended though)

Why not provide Alpine anymore?

It was well known that Alpine has possibility of incompatibility and performance issues in contrast to Debian images. It was a historical reason to provide Alpine images - "In the previous versions, we provided them", so there is no positive reason to continue it.

Provide shorter tags to follow internal version bump

Not only just dropping Alpine image, we will improve tagging rules:

  • Add version-specific tag which will not be affected by internal version bump

In previous versions, there was no version-specific tag which would follow internal version bump. For example, if you want to stick to Fluentd v1.18.0, you can select v1.18.0-1.0, but if internal version was bumped to v1.18.0-1.1 or something, need to update it. There is edge-debian tag, but it does not stick to a specific Fluentd version because it will automatically update when the next major/minor version is released.

For such a purpose, shorter v1.19 or v1.19.x tag will be available in the future release.

Happy logging!

Read More

fluent-package v5.0.6 has been released

Hi users!

We have released fluent-package v5.0.6. fluent-package is a stable distribution package of Fluentd. (successor of td-agent v4)

This is a maintenance release of v5.0.x LTS series. Bundled Fluentd was updated to 1.16.7.

We recommend upgrading to fluent-package v5.0.6!

Changes from fluent-package v5.0.5

In this release, known Windows issues were fixed.

  • Update bundled Fluentd to v1.16.7
  • Update bundled gems overall
  • msi: Fixed to keep some registry values with update

msi: Fixed to keep some registry values with update

In the previous versions, there had been a known issue that fluent-package could not keep some registry values when upgrading.

Thus, if you modify Fluentd service (fluentdwinsvc) related registry, you need to restore your configuration after upgrading.

Since v5.0.6, fluent-package was fixed to keep some registry values during upgrading package.

Here is the target registry which will be kept during upgrading fluent-package:

  • Start
  • DelayedAutostart
  • fluentdopt (logging path might be modified by users)

In most cases, fluent-package user might want to keep fluentdopt because it stores additional command line option parameters.

In this release, bundled Fluentd v1.16.7 also contains the fixes for Windows.

  • Windows: Fix NoMethodError of --daemon option
  • Windows: Fixed the issues which are related to start/stop Fluentd service

See Fluentd v1.16.7 has been released blog article in details.

Download

Please see the download page.

Announcement

About next LTS schedule

We plan to ship the next LTS version of fluent-package v5.0.7 on June, 2025. The content of updates are still in T.B.D.

End of support for td-agent v4, let's migrate to fluent-package

As it was already announced Drop schedule announcement about EOL of Treasure Agent (td-agent) 4, td-agent v4 reached EOL in Dec, 2023.

After reached EOL, td-agent v4.5.3 on Windows was released because there was a crash bug during startup on Windows. It was backported fix from fluent-package v5 as it is critical in some case. Even though this was a exceptional maintenance release, but there is no change to the fact that we already stopped maintaining td-agent v4.

We strongly recommend migrating from td-agent v4 to fluent-package v5 (LTS). See Upgrade to fluent-package v5

Read More

Fluentd v1.16.7 has been released

Hi users!

We have released v1.16.7 on 2025-01-29. ChangeLog is here.

This release is a maintenance release of v1.16 series. In this release, some bugs which are related on Windows were fixed with backporting from v1.18.x.

This release will be bundled for upcoming fluent-package LTS version v5.0.6!

Bug Fixes

Windows: Fix NoMethodError of --daemon option

In this release, we have fixed a bug that it will fail when --daemon option is used on Windows.

It was a regression bug since v1.16.0 on Windows, but usually running as a service is recommended way on Windows, so most of Fluentd users were not affected.

Windows: Fixed the issues which are related to start/stop Fluentd service

In this release, we have fixed the following bugs which are related to start/stop the Fluentd service.

  • Fixed an issue when stopping the service immediately after startup could leave the processes
  • Fixed an issue where stopping service sometimes can not be completed forever

These bug were caused because stop event was not handled correctly in the previous releases.

Typically, this bug will happen if you stop the Fluentd service immediately after startup. Then it could leave the processes or stopping service sometimes can not be completed forever.

Misc news

We also enforcing stabilizing CI of Fluentd. It has nothing to do with Fluentd's functionality directly, but it is very important to provide stable version of Fluentd continuously.

Not only Windows: Add workaround for unexpected exception #4747, many CI improvements was merged into master, then backported to v1.16 branch, too.

Enjoy logging!

Read More