Skip to content

Latest commit

 

History

History
2670 lines (2125 loc) · 96.5 KB

CHANGELOG.md

File metadata and controls

2670 lines (2125 loc) · 96.5 KB

v1.16

Release v1.16.1 - 2023/04/17

Enhancement

  • in_tcp: Add message_length_limit to drop large incoming data fluent#4137

Bug Fix

  • Fix NameError of SecondaryFileOutput when setting secondary other than out_secondary_file fluent#4124
  • Server helper: Suppress error of UDPServer over max_bytes on Windows fluent#4131
  • Buffer: Fix that compress setting causes unexpected error when receiving already compressed MessagePack fluent#4147

Misc

Release v1.16.0 - 2023/03/29

Enhancement

  • in_tcp: Add send_keepalive_packet option fluent#3961
  • buffer: backup broken file chunk fluent#4025
  • Add warning messages for restoring buffer with flush_at_shutdown true fluent#4027
  • Add logs for time period of restored buffer possibly broken fluent#4028

Bug Fix

  • http_server_helper: Fix format of log messages originating from Async gem fluent#3987
  • Change to not generate a sigdump file after receiving a SIGTERM signal on non-Windows fluent#4034 fluent#4043
  • out_forward: fix error of ack handling conflict on stopping with require_ack_response enabled fluent#4030
  • Fix problem that some system configs are not reflected fluent#4064 fluent#4065 fluent#4086 fluent#4090 fluent#4096
  • Fix bug that the logger outputs some initial log messages without applying some settings such as format fluent#4091
  • Windows: Fix a bug that the wrong log file is reopened with log rotate setting when flushing or graceful reloading fluent#4054
  • Fix race condition of out_secondary_file fluent#4081
  • Suppress warning using different secondary for out_secondary_file fluent#4087
  • Fix value of system_config.workers at run_configure. Change argument type of Fluent::Plugin::Base::configure() to Fluent::Config::Element only. fluent#4066
  • Fix bug that Fluentd sometimes tries to use an unavailable port and fails to start on Windows fluent#4092

Misc

v1.15

Release v1.15.3 - 2022/11/02

Bug Fix

  • Support glob for !include directive in YAML config format fluent#3917
  • Remove meaningless oj options fluent#3929
  • Fix log initializer to correctly create per-process files on Windows fluent#3939
  • out_file: Fix the multi-worker check with <worker 0-N> directive fluent#3942

Misc

Release v1.15.2 - 2022/08/22

Enhancement

  • Add a new system configuration enable_jit fluent#3857

Bug Fix

  • out_file: Fix append mode with --daemon flag fluent#3864
  • child_process: Plug file descriptor leak fluent#3844

Misc

Release v1.15.1 - 2022/07/27

Bug Fix

  • Add support for concurrent append in out_file fluent#3808

Misc

  • in_tail: Show more information on skipping update_watcher fluent#3829

Release v1.15.0 - 2022/06/29

Enhancement

  • in_tail: Add log throttling in files based on group rules fluent#3535 fluent#3771
  • Add dump command to fluent-ctl fluent#3680
  • Handle YAML configuration format on configuration file fluent#3712
  • Add restart_worker_interval parameter in <system> directive to set interval to restart workers that has stopped for some reason. fluent#3768

Bug fixes

  • out_forward: Fix to update timeout of cached sockets fluent#3711
  • in_tail: Fix a possible crash on file rotation when follow_inodes true fluent#3754
  • output: Fix a possible crash of flush thread fluent#3755
  • in_tail: Fix crash bugs on Ruby 3.1 on Windows fluent#3766
  • in_tail: Fix a bug that in_tail cannot open non-ascii path on Windows fluent#3774
  • Fix a bug that fluentd doesn't release its own log file even after rotated by external tools fluent#3782

Misc

v1.14

Release v1.14.6 - 2022/03/31

Enhancement

Bug fixes

Misc

Release v1.14.5 - 2022/02/09

Enhancement

  • Add support for "application/x-ndjson" to in_http fluent#3616
  • Add support for ucrt binary for Windows fluent#3613

Bug fixes

  • Don't retry when retry_max_times == 0 fluent#3608
  • Fix hang-up issue during TLS handshake in out_forward fluent#3601
  • Bump up required ServerEngine to v2.2.5 fluent#3599
  • Fix "invalid byte sequence is replaced" warning on Kubernetes fluent#3596
  • Fix "ArgumentError: unknown keyword: :logger" on Windows with Ruby 3.1 fluent#3592

Release v1.14.4 - 2022/01/06

Enhancement

  • in_tail: Add option to skip long lines (max_line_size) fluent#3565

Bug fix

  • Incorrect BufferChunkOverflowError when each event size is < chunk_limit_size fluent#3560
  • On macOS with Ruby 2.7/3.0, out_file fails to write events if append is true. fluent#3579
  • test: Fix unstable test cases fluent#3574 fluent#3577

Release v1.14.3 - 2021/11/26

Enhancement

  • Changed to accept http_parser.rb 0.8.0. http_parser.rb 0.8.0 is ready for Ractor. fluent#3544

Bug fix

  • in_tail: Fixed a bug that no new logs are read when enable_stat_watcher true and enable_watch_timer false is set. fluent#3541
  • in_tail: Fixed a bug that the beginning and initial lines are lost after startup when read_from_head false and path includes wildcard '*'. fluent#3542
  • Fixed a bug that processing messages were lost when BufferChunkOverflowError was thrown even though only a specific message size exceeds chunk_limit_size. fluent#3553 fluent#3562

Misc

  • Bump up required version of win32-service gem. newer version is required to implement additional fluent-ctl commands. fluent#3556

Release v1.14.2 - 2021/10/29

IMPORTANT: This release contain the fix for CVE-2021-41186 - ReDoS vulnerability in parser_apache2. This vulnerability is affected from Fluentd v0.14.14 to v1.14.1. We recommend to upgrade Fluentd to v1.14.2 or use patched version of parser_apache2 plugin.

Enhancement

  • fluent-cat: Add --event-time option to send specified event time for testing. fluent#3528

Bug fix

  • Fixed to generate correct epoch timestamp even after switching Daylight Saving Time fluent#3524
  • Fixed ReDoS vulnerability in parser_apache2. This vulnerability is caused by a certain pattern of a broken apache log.

Release v1.14.1 - 2021/09/29

Enhancement

  • in_tail: Added file related metrics. These metrics should be collected same as fluent-bit's in_tail. fluent#3504
  • out_forward: Changed to use metrics mechanism for node statistics fluent#3506

Bug fix

  • in_tail: Fixed a crash bug that it raise undefined method of eof? error. This error may happen only when read_bytes_limit_per_second was specified. fluent#3500
  • out_forward: Fixed a bug that node statistics information is not included correctly. fluent#3503 fluent#3507
  • Fixed a error when using @include directive It was occurred when http/https scheme URI is used in @include directive with Ruby 3. fluent#3517
  • out_copy: Fixed to suppress a wrong warning for ignore_if_prev_success It didn't work even if a user set it. fluent#3515
  • Fixed not to output nanoseconds field of next retry time in warning log Then, inappropriate labels in log are also fixed. (retry_time -> retry_times, next_retry_seconds -> next_retry_time) fluent#3518

Release v1.14.0 - 2021/08/30

Enhancement

  • Added enable_input_metrics, enable_size_metrics system configuration parameter This feature might need to pay higher CPU cost, so input event metrics features are disabled by default. These features are also enabled by --enable-input-metrics,--enable-size-metrics command line option. fluent#3440
  • Added reserved word @ROOT for getting root router. This is incompatible change. Do not use @ROOT for label name. fluent#3358
  • in_syslog: Added send_keepalive_packet option fluent#3474
  • in_http: Added cors_allow_credentials option. This option tells browsers whether to expose the response to frontend when the credentials mode is "include". fluent#3481 fluent#3491

Bug fix

  • in_tail: Fixed a bug that deleted paths are not removed from pos file by file compaction at start up fluent#3467
  • in_tail: Revived a warning message of retrying unaccessible file fluent#3478
  • TLSServer: Fixed a crash bug on logging peer host name errors fluent#3483

Misc

v1.13

Release v1.13.3 - 2021/07/27

Bug fix

  • in_tail: Care DeletePending state on Windows fluent#3457 fluent#3460
  • in_tail: Fix some pos_file bugs. Avoid deleting pos_file entries unexpectedly when both pos_file_compaction_interval and follow_inode are enabled. Use bytesize instead of size for path length. fluent#3459
  • in_tail: Fix detecting rotation twice on follow_inode. fluent#3466

Misc

  • Remove needless spaces in a sample config file fluent#3456

Release v1.13.2 - 2021/07/12

Enhancement

  • fluent-plugin-generate: Storage plugin was supported. fluent#3426
  • parser_json: Added support to customize configuration of oj options. Use FLUENT_OJ_OPTION_BIGDECIMAL_LOAD, FLUENT_OJ_OPTION_MAX_NESTING, FLUENT_OJ_OPTION_MODE, and FLUENT_OJ_OPTION_USE_TO_JSON environment variable to configure it. fluent#3315

Bug fix

  • binlog_reader: Fixed a crash bug by missing "fluent/env" dependency. fluent#3443
  • Fixed a crash bug on outputting log at the early stage when parsing config file. This is a regression since v1.13.0. If you use invalid '@' prefix parameter, remove it as a workaround. fluent#3451
  • in_tail: Fixed a bug that when rotation is occurred, remaining lines will be discarded if the throttling feature is enabled. fluent#3390
  • fluent-plugin-generate: Fixed a crash bug during gemspec generation. It was unexpectedly introduced by #3305, thus this bug was a regression since 1.12.3. fluent#3444

Misc

  • Fixed the runtime dependency version of http_parse.rb to 0.7.0. It was fixed because false positive detection is occurred frequently by security scanning tools. fluent#3450

Release v1.13.1 - 2021/06/25

Bug fix

  • out_forward: Fixed a race condition on handshake It's caused by using a same unpacker from multiple threads. fluent#3405 fluent#3406
  • in_tail: Fixed to remove too much verbose debugging logs It was unexpectedly introduced by #3185 log throttling feature. fluent#3418
  • Fixed not to echo back the provides path as is on a 404 error There was a potential cross-site scripting vector even though it is quite difficult to exploit. fluent#3427

Misc

  • Pretty print for Fluent::Config::Section has been supported for debugging fluent#3398
  • CI: Dropped to run CI for Ruby 2.5 fluent#3412

Release v1.13.0 - 2021/05/29

Enhancement

Bug fix

  • Fix to disable trace_instruction when RubyVM::InstructionSequence is available. It improves compatibility with truffleruby some extent. fluent#3376
  • in_tail: Safely skip files which are used by another process on Windows. It improves exception handling about ERROR_SHARING_VIOLATION on Windows. fluent#3378
  • fluent-cat: the issue resending secondary file in specific format has been fixed fluent#3368
  • in_tail: Shutdown immediately & safely even if reading huge files Note that skip_refresh_on_startup must be enabled. fluent#3380

Misc

  • example: Change a path to backup_path in counter_server correctly fluent#3359
  • README: Update link to community forum to discuss.fluentd.org fluent#3360

v1.12

Release v1.12.4 - 2021/05/26

Bug fix

  • in_tail: Fix a bug that refresh_watcher fails to handle file rotations fluent#3393

Release v1.12.3 - 2021/04/23

Enhancement

  • plugin_helper: Allow TLS to use keep-alive socket option fluent#3308

Bug fix

Misc

Release v1.12.2 - 2021/03/29

Enhancement

Bug fix

  • in_tail: Expect ENOENT during stat fluent#3275
  • out_forward: Prevent transferring duplicate logs on restart fluent#3267 fluent#3285
  • in_tail: Handle to send rotated logs when mv is used for rotating fluent#3294
  • fluent-plugin-config-format: Fill an uninitialized instance variable fluent#3297
  • Fix MessagePackEventStream issue with Enumerable methods fluent#2116

Misc

Release v1.12.1 - 2021/02/18

Enhancement

  • out_http: Add headers_from_placeholders parameter fluent#3241
  • fluent-plugin-config-format: Add --table option to use markdown table fluent#3240
  • Add --disable-shared-socket/disable_shared_socket to disable ServerEngine's shared socket setup fluent#3250

Bug fix

  • ca_generate: Fix creating TLS certification files which include broken extensions fluent#3246
  • test: Drop TLS 1.1 tests fluent#3256
  • Remove old gem constraints to support Ruby 3

Misc

Release v1.12.0 - 2021/01/05

New feature

Enhancement

Bug fix

  • output: Prevent retry.step from being called too many times in a short time fluent#3203

v1.11

Release v1.11.5 - 2020/11/06

Enhancement

  • formatter: Provide newline parameter to support CRLF fluent#3152
  • out_http: adding support for intermediate certificates fluent#3146
  • Update serverengine dependency to 2.2.2 or later

Bug fix

  • Fix a bug that windows service isn't stopped gracefuly fluent#3156

Release v1.11.4 - 2020/10/13

Enhancement

  • inject: Support unixtime_millis in time_type parameter fluent#3145

Bug fix

  • out_http: Fix broken data with json_array true fluent#3144
  • output: Fix wrong logging issue for ${chunk_id} fluent#3134

Release v1.11.3 - 2020/09/30

Enhancement

Bug fix

Release v1.11.2 - 2020/08/04

Enhancement

Bug fix

  • buffer: Fix log message for chunk_limit_records case fluent#3079
  • buffer: Fix timekey optimization for non-windows platform fluent#3092
  • cert: Raise an error for broken certificate file fluent#3086
  • cert: Set TLS ciphers list correcty on older OpenSSL fluent#3093

Release v1.11.1 - 2020/06/22

Enhancement

Bug fix

  • in_tail: Use actual path instead of based pattern for ignore list fluent#3042
  • child_process helper: Fix child process failure due to SIGPIPE if the command uses stdout fluent#3044

Release v1.11.0 - 2020/06/04

New feature

Enhancement

Bug fix

  • in_gc_stat: Add use_symbol_keys parameter to emit string key record fluent#3008

v1.10

Release v1.10.4 - 2020/05/12

Enhancement

Bug fix

  • supervisor: Call File.umask(0) for standalone worker fluent#2987
  • out_forward: Fix ZeroDivisionError issue with weight 0 fluent#2989

Release v1.10.3 - 2020/05/01

Enhancement

Bug fix

  • out_forward: Disable linger_timeout setting on Windows fluent#2959
  • out_forward: Fix warning of service discovery manager when fluentd stops fluent#2974

Release v1.10.2 - 2020/04/15

Enhancement

Bug fix

  • in_syslog: Fix octet-counting mode bug fluent#2942
  • out_forward: Create timer for purging obsolete sockets when keepalive_timeout is not set fluent#2943
  • out_forward: Need authentication when sending tcp heartbeat with keepalive fluent#2945
  • command: Fix fluent-debug start failure fluent#2948
  • command: Fix regression of supervisor's worker and --daemon combo fluent#2950

Release v1.10.1 - 2020/04/02

Enhancement

Bug fix

  • in_tail: Fix pos_file_compaction_interval parameter type fluent#2921
  • in_tail: Fix seek position update after compaction fluent#2922
  • parser_syslog: Fix regression in the with_priority and RFC5424 case fluent#2923

Misc

Release v1.10.0 - 2020/03/24

New feature

Enhancement

Bug fix

  • out_forward: windows: Permit to specify linger_timeout fluent#2868
  • parser_syslog: Fix syslog format detection fluent#2879
  • buffer: Fix available_buffer_space_ratio calculation fluent#2882
  • tls: Support CRLF based X.509 certificates fluent#2890
  • msgpack_factory mixin: Fix performance penalty for deprecation log fluent#2903

v1.9

Release v1.9.3 - 2020/03/05

Enhancement

Bug fix

Misc

Release v1.9.2 - 2020/02/13

Enhancement

  • in_tail: Add pos_file_compaction_interval parameter for auto compaction fluent#2805
  • command: Use given encoding when RUBYOPT has -E fluent#2814

Bug fix

  • command: Accept RUBYOPT with two or more options fluent#2807
  • command: Fix infinite loop bug when RUBYOPT is invalid fluent#2813
  • log: serverengine's log should be formatted with the same format of fluentd fluent#2812
  • in_http: Fix NoMethodError when OPTIONS request doesn't have 'Origin' header fluent#2823
  • parser_syslog: Improved for parsing RFC5424 structured data in parser_syslog fluent#2816

Release v1.9.1 - 2020/01/31

Enhancement

  • http_server helper: Support HTTPS fluent#2787
  • in_tail: Add path_delimiter to split with any char fluent#2796
  • in_tail: Remove an entry from PositionaFile when it is unwatched fluent#2803
  • out_http: Add warning for retryable_response_code fluent#2809
  • parser_syslog: Add multiline RFC5424 support fluent#2767
  • Add TLS module to unify TLS related code fluent#2802

Bug fix

  • output: Add EncodingError to unrecoverable errors fluent#2808
  • tls: Fix TLS version handling in secure mode fluent#2802

Release v1.9.0 - 2020/01/22

New feature

Enhancement

Bug fix

  • buffer: Disable the optimization of Metadata instance comparison on Windows fluent#2778
  • outut/buffer: Fix stage size computation fluent#2734
  • server: Ignore Errno::EHOSTUNREACH in TLS accept to avoid fluentd restart fluent#2773
  • server: Fix IPv6 dual stack mode issue for udp socket fluent#2781
  • config: Support @include/include directive for spaces included path fluent#2780

v1.8

Release v1.8.1 - 2019/12/26

Enhancement

  • in_tail: Add path_timezone parameter to format path with the specified timezone fluent#2719
  • out_copy: Add copy_mode parameter. deep_copy parameter is now deprecated. fluent#2747
  • supervisor: Add deprecated log for inline_config fluent#2746

Bug fixes

  • parser_ltsv: Prevent garbage result by checking label_delimiter fluent#2748

Release v1.8.0 - 2019/12/11

New feature

  • Add service discovery plugin and out_forward use it fluent#2541
  • config: Add strict mode and support default/nil value in ruby embedded mode fluent#2685

Enhancement

Bug fixes

v1.7

Release v1.7.4 - 2019/10/24

Enhancement

  • in_http: Add use_204_response parameter to return proper 204 response instead of 200. fluentd v2 will change this parameter to true. fluent#2640

Bug fixes

  • child_process helper: fix stderr blocking for discard case fluent#2649
  • log: Fix log rotation handling on Windows fluent#2663

Release v1.7.3 - 2019/10/01

Enhancement

  • in_syslog: Replace priority_key with severity_key fluent#2636

Bug fixes

  • out_forward: Fix nil error after purge obsoleted sockets in socket cache fluent#2635
  • fix typo in ChangeLog fluent#2633

Release v1.7.2 - 2019/09/19

Enhancement

  • in_tcp: Add security/client to restrict access fluent#2622

Bug fixes

  • buf_file/buf_file_single: fix to handle compress data during restart fluent#2620
  • plugin: Use __send__ to avoid conflict with user defined send fluent#2614
  • buffer: reject invalid timekey at configure phase fluent#2615

Release v1.7.1 - 2019/09/08

Enhancement

  • socket helper/out_forward: Support Windows certstore to load certificates fluent#2601
  • parser_syslog: Add faster parser for rfc3164 message fluent#2599

Bug fixes

  • buf_file/buf_file_single: fix to ignore placeholder based path. fluent#2594
  • server helper: Ignore ETIMEDOUT error in SSL_accept fluent#2595
  • buf_file: ensure to remove metadata after buffer creation failure fluent#2598
  • buf_file_single: fix duplicated path setting check fluent#2600
  • fix msgpack-ruby dependency to use recent feature fluent#2606

Release v1.7.0 - 2019/08/20

New feature

Enhancement

Bug fixes

v1.6

Release v1.6.3 - 2019/07/29

Enhancement

  • in_syslog: Add emit_unmatched_lines parameter fluent#2499
  • buf_file: Add path_suffix parameter fluent#2524
  • in_tail: Improve the performance of split lines fluent#2527

Bug fixes

  • http_server: Fix re-define render_json method fluent#2517

Release v1.6.2 - 2019/07/11

Bug fixes

  • http_server helper: Add title argument to support multiple servers fluent#2493

Release v1.6.1 - 2019/07/10

Enhancement

  • socket/cert: Support all private keys OpenSSL supports, not only RSA. fluent#2487
  • output/buffer: Improve statistics method performance fluent#2491

Bug fixes

  • plugin_config_formatter: update new doc URL fluent#2481
  • out_forward: Avoid zero division error when there are no available nodes fluent#2482

Release v1.6.0 - 2019/07/01

New feature

  • plugin: Add http_server helper and in_monitor_agent use it fluent#2447

Enhancement

  • in_monitor_agent: Add more metrics for buffer/output fluent#2450
  • time/plugin: Add EventTime#to_time method for fast conversion fluent#2469
  • socket helper/out_forward: Add connect_timeout parameter fluent#2467
  • command: Add --conf-encoding option fluent#2453
  • parser_none: Small performance optimization fluent#2455

Bug fixes

v1.5

Release v1.5.2 - 2019/06/13

Bug fixes

  • out_forward: Fix duplicated handshake bug in keepalive fluent#2456

Release v1.5.1 - 2019/06/05

Enhancement

Bug fixes

  • out_forward: Fix socket handling of keepalive fluent#2434
  • parser: Fix the use of name based timezone fluent#2421
  • in_monitor_agent: Fix debug parameter handling fluent#2423
  • command: Fix error handling of log rotation age option fluent#2427
  • command: Fix ERB warning for ruby 2.6 or later fluent#2430

Release v1.5.0 - 2019/05/18

New feature

Enhancement

  • in_syslog: Add delimiter parameter fluent#2378
  • in_forward: Add tag/add_tag_prefix parameters fluent#2396
  • parser_json: Add stream_buffer_size parameter for yajl fluent#2381
  • command: Add deprecated message to show-plugin-config option fluent#2401
  • storage_local: Ignore empty file. Call sync after write for XFS. fluent#2409

Bug fixes

v1.4

Release v1.4.2 - 2019/04/02

Enhancements

  • in_http: subdomain support in CORS domain fluent#2337
  • in_monitor_agent: Expose current timekey list as a buffer metrics fluent#2343
  • in_tcp/in_udp: Add source_address_key parameter fluent#2347
  • in_forward: Add send_keepalive_packet parameter to check the remote connection is available or not fluent#2352

Bug fixes

  • out_exec_filter: Fix typo of child_respawn description fluent#2341
  • in_tail: Create parent directories for symlink fluent#2353
  • in_tail: Fix encoding duplication check for non-specified case fluent#2361
  • log: Fix time format handling of plugin logger when log format is JSON fluent#2356

Release v1.4.1 - 2019/03/18

Enhancements

  • system: Add worker_id to process_name when workers is larger than 1 fluent#2321
  • parser_regexp: Check named captures. When no named captures, configuration error is raised fluent#2331

Bug fixes

  • out_forward: Make tls_client_private_key_passphrase secret fluent#2324
  • in_syslog: Check message length when read from buffer in octet counting fluent#2323

Release v1.4.0 - 2019/02/24

New features

Enhancements

  • output: Add MessagePack unpacker error to unrecoverable error list fluent#2301
  • output: Reduce flush delay when large timekey and small timekey_wait are specified fluent#2291
  • config: Support embedded ruby code in section argument. fluent#2295
  • in_tail: Improve encoding parameter handling fluent#2305
  • in_tcp/in_udp: Add section check fluent#2267

Bug fixes

  • server: Ignore IOError and related errors in UDP fluent#2310
  • server: Ignore EPIPE in TLS accept to avoid fluentd restart fluent#2253

v1.3

Release v1.3.3 - 2019/01/06

Enhancements

  • parser_syslog: Use String#squeeze for performance improvement fluent#2239
  • parser_syslog: Support RFC5424 timestamp without subseconds fluent#2240

Bug fixes

  • server: Ignore ECONNRESET in TLS accept to avoid fluentd restart fluent#2243
  • log: Fix plugin logger ignores fluentd log event setting fluent#2252

Release v1.3.2 - 2018/12/10

Enhancements

  • out_forward: Support mutual TLS fluent#2187
  • out_file: Create pos_file directory if it doesn't exist fluent#2223

Bug fixes

Release v1.3.1 - 2018/11/27

Enhancements

  • out_forward: Separate parameter names for certificate fluent#2181 fluent#2190
  • out_forward: Add verify_connection_at_startup parameter to check connection setting at startup phase fluent#2184
  • config: Check right slash position in regexp type fluent#2176
  • parser_nginx: Support multiple IPs in http_x_forwarded_for field fluent#2171

Bug fixes

  • fluent-cat: Fix retry limit handling fluent#2193
  • record_accessor helper: Delete top level field with bracket style fluent#2192
  • filter_record_transformer: Keep class methond to avoid undefined method error fluent#2186

Release v1.3.0 - 2018/11/10

New features

  • output: Change thread execution control fluent#2170
  • in_syslog: Support octet counting frame fluent#2147
  • Use flush_thread_count value for queued_chunks_limit_size when queued_chunks_limit_size is not specified fluent#2173

Enhancements

  • output: Show backtrace for unrecoverable errors fluent#2149
  • in_http: Implement support for CORS preflight requests fluent#2144

Bug fixes

  • server: Fix deadlock between on_writable and close in sockets fluent#2165
  • output: show correct error when wrong plugin is specified for secondary fluent#2169

v1.2

Release v1.2.6 - 2018/10/03

Enhancements

  • output: Add disable_chunk_backup for ignore broken chunks. fluent#2117
  • parser_syslog: Improve regexp for RFC5424 fluent#2141
  • in_http: Allow specifying the wildcard '*' as the CORS domain fluent#2139

Bug fixes

  • in_tail: Prevent thread switching in the interval between seek and read/write operations to pos_file fluent#2118
  • parser: Handle LoadError properly for oj fluent#2140

Release v1.2.5 - 2018/08/22

Bug fixes

  • in_tail: Fix resource leak by file rotation fluent#2105
  • fix typos

Release v1.2.4 - 2018/08/01

Bug fixes

  • output: Consider timezone when calculate timekey fluent#2054
  • output: Fix bug in suppress_emit_error_log_interval fluent#2069
  • server-helper: Fix connection leak by close timing issue. fluent#2087

Release v1.2.3 - 2018/07/10

Enhancements

  • in_http: Consider <parse> parameters in batch mode fluent#2055
  • in_http: Support gzip payload fluent#2060
  • output: Improve compress performance fluent#2031
  • in_monitor_agent: Add missing descriptions for configurable options fluent#2037
  • parser_syslog: update regex of pid field for conformance to RFC5424 spec fluent#2051

Bug fixes

  • in_tail: Fix to rescue Errno::ENOENT for File.mtime() fluent#2063
  • fluent-plugin-generate: Fix Parser plugin template fluent#2026
  • fluent-plugin-config-format: Fix NoMethodError for some plugins fluent#2023
  • config: Don't warn message for reserved parameters in DSL fluent#2034

Release v1.2.2 - 2018/06/12

Enhancements

  • filter_parser: Add remove_key_name_field parameter fluent#2012
  • fluent-plugin-config-format: Dump config_argument fluent#2003

Bug fixes

  • in_tail: Change pos file entry handling to avoid read conflict for other plugins fluent#1963
  • buffer: Wait for all chunks being purged before deleting @queued_num items fluent#2016

Release v1.2.1 - 2018/05/23

Enhancements

Bug fixes

  • in_tcp/in_udp: Fix source_hostname_key to set hostname correctly fluent#1976
  • in_monitor_agent: Fix buffer_total_queued_size calculation fluent#1990
  • out_file: Temporal fix for broken gzipped files with gzip and append fluent#1995
  • test: Fix unstable backup test fluent#1979
  • gemspec: Remove deprecated has_rdoc

Release v1.2.0 - 2018/04/30

New Features

Enhancements

  • parser_nginx: Support optional http-x-forwarded-for field fluent#1932
  • filter_grep: Improve the performance fluent#1940

Bug fixes

  • log: Fix unexpected implementation bug when log rotation setting is applied fluent#1957
  • server helper: Close invalid socket when ssl error happens on reading fluent#1942
  • output: Buffer chunk's unique id should be formatted as hex in the log

v1.1

Release v1.1.3 - 2018/04/03

Enhancements

  • output: Support negative index for tag placeholders fluent#1908
  • buffer: Add queued_chunks_limit_size to control the number of queued chunks fluent#1916
  • time: Make Fluent::EventTime human readable for inspect fluent#1915

Bug fixes

  • output: Delete empty queued_num field after purging chunks fluent#1919
  • fluent-debug: Fix usage message of fluent-debug command fluent#1920
  • out_forward: The node should be disabled when TLS socket for ack returns an error fluent#1925

Release v1.1.2 - 2018/03/18

Enhancements

  • filter_grep: Support pattern starts with character classes with // fluent#1887

Bug fixes

  • in_tail: Handle records in the correct order on file rotation fluent#1880
  • out_forward: Fix race condition with <security> on multi thread environment fluent#1893
  • output: Prevent flushing threads consume too much CPU when retry happens fluent#1901
  • config: Fix boolean param handling for comment without value fluent#1883
  • test: Fix random test failures in test/plugin/test_out_forward.rb fluent#1881 fluent#1890
  • command: Fix typo in binlog_reader fluent#1898

Release v1.1.1 - 2018/03/05

Enhancements

  • in_debug_agent: Support multi worker environment fluent#1869
  • in_forward: Improve SSL setup to support mutual TLS fluent#1861
  • buf_file: Skip and delete broken file chunks to avoid unsuccessful retry in resume fluent#1874
  • command: Show fluentd version for debug purpose fluent#1839

Bug fixes

  • in_forward: Do not close connection until write is complete on failed auth PONG fluent#1835
  • in_tail: Fix IO event race condition during shutdown fluent#1876
  • in_http: Emit event time instead of raw time value in batch fluent#1850
  • parser_json: Add EncodingError to rescue list for oj 3.x. fluent#1875
  • config: Fix config_param for string type with frozen string fluent#1838
  • timer: Fix a bug to leak non-repeating timer watchers fluent#1864

Release v1.1.0 - 2018/01/17

New features / Enhancements

  • config: Add hostname and worker_id short-cut fluent#1814
  • parser_ltsv: Add delimiter_pattern parameter fluent#1802
  • record_accessor helper: Support nested field deletion fluent#1800
  • record_accessor helper: Expose internal instance @keys variable fluent#1808
  • log: Improve Log#on_xxx API performance fluent#1809
  • time: Improve time formatting performance fluent#1796
  • command: Port certificates generating command from secure-forward fluent#1818

Bug fixes

  • server helper: Fix TCP + TLS degradation fluent#1805
  • time: Fix the method for TimeFormatter#call fluent#1813

v1.0

Release v1.0.2 - 2017/12/17

New features / Enhancements

  • Use dig_rb instead of ruby_dig to support dig method in more objects fluent#1794

Release v1.0.1 - 2017/12/14

New features / Enhancements

  • in_udp: Add receive_buffer_size parameter fluent#1788
  • in_tail: Add enable_stat_watcher option to disable inotify events fluent#1775
  • Relax strptime gem version

Bug fixes

  • in_tail: Properly handle moved back and truncated case fluent#1793
  • out_forward: Rebuild weight array to apply server setting properly fluent#1784
  • fluent-plugin-config-formatter: Use v1.0 for URL fluent#1781

Release v1.0.0 - 2017/12/6

See CNCF announcement :)

New features / Enhancements

  • out_copy: Support ignore_error argument in <store> fluent#1764
  • server helper: Improve resource usage of TLS transport fluent#1764
  • Disable tracepoint feature to omit unnecessary insts fluent#1764

Bug fixes

v0.14

Release v0.14.25 - 2017/11/29

New features / Enhancements

  • Disable tracepoint feature to omit unnecessary insts fluent#1764

Bug fixes

  • out_forward: Don't update retry state when failed to get ack response. fluent#1686
  • plugin: Combine before_shutdown and shutdown call in one sequence. fluent#1763

Release v0.14.24 - 2017/11/24

New features / Enhancements

  • plugin-config-formatter: Add link to plugin helper result fluent#1753
  • server helper: Refactor code fluent#1759

Bug fixes

  • supervisor: Don't call change_privilege twice fluent#1757

Release v0.14.23 - 2017/11/15

New features / Enhancements

Bug fixes

  • buffer: Lock buffers in order of metadata fluent#1722
  • in_tcp: Fix log corruption under load. fluent#1729
  • out_forward: Fix elapsed time miscalculation in tcp heartbeat fluent#1738
  • supervisor: Fix worker pid handling during worker restart fluent#1739
  • in_tail: Skip setup failed watcher to avoid resource leak and log bloat fluent#1742
  • agent: Add error location to emit error logs fluent#1746
  • command: Consider hyphen and underscore in fluent-plugin-generate arguments fluent#1751

Release v0.14.22 - 2017/11/01

New features / Enhancements

  • formatter_tsv: Add add_newline parameter fluent#1691
  • out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extrace_placeholders API change fluent#1708
  • record_accessor: Support double quotes in bracket notation fluent#1716
  • log: Show running ruby version in startup log fluent#1717
  • log: Log message when chunk is created fluent#1718
  • in_tail: Add pos_file duplication check fluent#1720

Bug fixes

  • parser_apache2: Delay time parser initialization fluent#1690
  • cert_option: Improve generated certificates' conformance to X.509 specification fluent#1714
  • buffer: Always lock chunks first to avoid deadlock fluent#1721

Release v0.14.21 - 2017/09/07

New features / Enhancements

  • filter_parser: Support record_accessor in key_name fluent#1654
  • buffer: Support record_accessor in chunk keys fluent#1662

Bug fixes

  • compat_parameters: Support all syslog parser parameters fluent#1650
  • filter_record_transformer: Don't create new keys if the original record doesn't have keep_keys keys fluent#1663
  • in_tail: Fix the error when 'tag *' is configured fluent#1664
  • supervisor: Clear previous worker pids when receive kill signals. fluent#1683

Release v0.14.20 - 2017/07/31

New features / Enhancements

  • plugin: Add record_accessor plugin helper fluent#1637
  • log: Add format and time_format parameters to <system> setting fluent#1644

Bug fixes

  • buf_file: Improve file handling to mitigate broken meta file fluent#1628
  • in_syslog: Fix the description of resolve_hostname parameter fluent#1633
  • process: Fix signal handling. Send signal to all workers fluent#1642
  • output: Fix error message typo fluent#1643

Release v0.14.19 - 2017/07/12

New features / Enhancements

  • in_syslog: More characters are available in tag part of syslog format fluent#1610
  • in_syslog: Add resolve_hostname parameter fluent#1616
  • filter_grep: Support new configuration format by config_section fluent#1611

Bug fixes

  • output: Fix race condition of retry state in flush thread fluent#1623
  • test: Fix typo in test_in_tail.rb fluent#1622

Release v0.14.18 - 2017/06/21

New features / Enhancements

  • parser: Add rfc5424 regex without priority fluent#1600

Bug fixes

  • in_tail: Fix timing issue that the excluded_path doesn't apply. fluent#1597
  • config: Fix broken UTF-8 encoded configuration file handling fluent#1592
  • out_forward: Don't stop heartbeat when error happen fluent#1602
  • Fix command name typo in plugin template fluent#1603

Release v0.14.17 - 2017/05/29

New features / Enhancements

  • in_tail: Add ignore_repeated_permission_error fluent#1574
  • server: Accept private key for TLS server without passphrase fluent#1575
  • config: Validate workers option on standalone mode fluent#1577

Bug fixes

  • config: Mask all secret parameters in worker section fluent#1580
  • out_forward: Fix ack handling fluent#1581
  • plugin-config-format: Fix markdown format generator fluent#1585

Release v0.14.16 - 2017/05/13

New features / Enhancements

  • config: Allow null byte in double-quoted string fluent#1552
  • parser: Support %iso8601 special case for time_format fluent#1562

Bug fixes

  • out_forward: Call proper method for each connection type fluent#1560
  • in_monitor_agent: check variable buffer is a Buffer instance fluent#1556
  • log: Add missing '<<' method to delegators fluent#1558
  • command: uninitialized constant Fluent::Engine in fluent-binlog-reader fluent#1568

Release v0.14.15 - 2017/04/23

New features / Enhancements

  • Add <worker N> directive fluent#1507
  • in_tail: Do not warn that directories are unreadable in the in_tail plugin fluent#1540
  • output: Add formatted_to_msgpack_binary? to Output plugin API fluent#1547
  • windows: Allow the Windows Service name Fluentd runs as to be configurable fluent#1548

Bug fixes

  • in_http: Fix X-Forwarded-For header handling. Accpet multiple headers fluent#1535
  • Fix backward compatibility with Fluent::DetachProcess and Fluent::DetachMultiProcess fluent#1522
  • fix typo fluent#1521 fluent#1523 fluent#1544
  • test: Fix out_file test with timezone fluent#1546
  • windows: Quote the file path to the Ruby bin directory when starting fluentd as a windows service fluent#1536

Release v0.14.14 - 2017/03/23

New features / Enhancements

  • in_http: Support 'application/msgpack` header fluent#1498
  • in_udp: Add message_length_limit parameter for parameter name consistency with in_syslog fluent#1515
  • in_monitor_agent: Start one HTTP server per worker on sequential port numbers fluent#1493
  • in_tail: Skip the refresh of watching list on startup fluent#1487
  • filter_parser: filter_parser: Add emit_invalid_record_to_error parameter fluent#1494
  • parser_syslog: Support RFC5424 syslog format fluent#1492
  • parser: Allow escape sequence in Apache access log fluent#1479
  • config: Add actual value in the placeholder error message fluent#1497
  • log: Add Fluent::Log#<< to support some SDKs fluent#1478

Bug fixes

  • Fix cleanup resource fluent#1483
  • config: Set encoding forcefully to avoid UndefinedConversionError fluent#1477
  • Fix Input and Output deadlock when buffer is full during startup fluent#1502
  • config: Fix log_level handling in <system> fluent#1501
  • Fix typo in root agent error log fluent#1491
  • storage: Fix a bug storage_create cannot accept hash as conf keyword argument fluent#1482

Release v0.14.13 - 2017/02/17

New features / Enhancements

  • in_tail: Add 'limit_recently_modified' to limit watch files. fluent#1474
  • configuration: Improve 'flush_interval' handling for better message and backward compatibility fluent#1442
  • command: Add 'fluent-plugin-generate' command fluent#1427
  • output: Skip record when 'Output#format' returns nil fluent#1469

Bug fixes

  • output: Secondary calculation should consider 'retry_max_times' fluent#1452
  • Fix regression of deprecated 'process' module fluent#1443
  • Fix missing parser_regex require fluent#1458 fluent#1453
  • Keep 'Fluent::BufferQueueLimitError' for existing plugins fluent#1456
  • in_tail: Untracked files should be removed from watching list to avoid memory bloat fluent#1467
  • in_tail: directories should be skipped when the ** pattern is used fluent#1464
  • record_transformer: Revert "Use BasicObject for cleanroom" for enable_ruby regression. fluent#1461
  • buf_file: handle "Too many open files" error to keep buffer and metadata pair fluent#1468

Release v0.14.12 - 2017/01/30

New features / Enhancements

  • Support multi process workers by workers option fluent#1386
  • Support TLS transport security layer by server plugin helper, and forward input/output plugins fluent#1423
  • Update internal log event handling to route log events to @FLUENT_LOG label if configured, suppress log events in startup/shutdown in default fluent#1405
  • Rename buffer plugin chunk limit parameters for consistency fluent#1412
  • Encode string values from configuration files in UTF8 fluent#1411
  • Reorder plugin load paths to load rubygem plugins earlier than built-in plugins to overwrite them fluent#1410
  • Clock API to control internal thread control fluent#1425
  • Validate config_param options to restrict unexpected specifications fluent#1437
  • formatter: Add add_newline option to get formatted lines without newlines fluent#1420
  • in_forward: Add ignore_network_errors_at_startup option for automated cluster deployment fluent#1399
  • in_forward: Close listening socket in #stop, not to accept new connection request in early stage of shutdown fluent#1401
  • out_forward: Ensure to pack values in str type of msgpack fluent#1413
  • in_tail: Add emit_unmatched_lines to capture lines which unmatch configured regular expressions fluent#1421
  • in_tail: Add open_on_every_update to read lines from files opened in exclusive mode on Windows platform fluent#1409
  • in_monitor_agent: Add with_ivars query parameter to get instance variables only for specified instance variables fluent#1393
  • storage_local: Generate file store path using usage, with root_dir configuration fluent#1438
  • Improve test stability fluent#1426

Bug fixes

  • Fix bug to ignore command line options: --rpc-endpoint, --suppress-config-dump, etc fluent#1398
  • Fix bug to block infinitely in shutdown when buffer is full and overflow_action is block fluent#1396
  • buf_file: Fix bug not to use root_dir even if configured correctly fluent#1417
  • filter_record_transformer: Fix to use BasicObject for clean room fluent#1415
  • filter_record_transformer: Fix bug that remove_keys doesn't work with renew_time_key fluent#1433
  • in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins fluent#1365

Release v0.14.11 - 2016/12/26

New features / Enhancements

  • Add "root_dir" parameter in <system> directive to configure server root directory, used for buffer/storage paths fluent#1374
  • Fix not to restart Fluentd processes when unrecoverable errors occur fluent#1359
  • Show warnings in log when output flush operation takes longer time than threshold fluent#1370
  • formatter_csv: Raise configuration error when no field names are specified fluent#1369
  • in_syslog: Update implementation to use plugin helpers fluent#1382
  • in_forward: Add a configuration parameter "source_address_key" fluent#1382
  • in_monitor_agent: Add a parameter "include_retry" to get detail retry status fluent#1387
  • Add Ruby 2.4 into supported ruby versions

Bug fixes

  • Fix to set process name of supervisor process fluent#1380
  • in_forward: Fix a bug not to handle "require_ack_response" correctly fluent#1389

Release v0.14.10 - 2016/12/14

New features / Enhancement

  • Add socket/server plugin helper to write TCP/UDP clients/servers as Fluentd plugin fluent#1312 fluent#1350 fluent#1356 fluent#1362
  • Fix to raise errors when injected hostname is also specified as chunk key fluent#1357
  • in_tail: Optimize to read lines from file fluent#1325
  • in_monitor_agent: Add new parameter "include_config"(default: true) fluent#1317
  • in_syslog: Add "priority_key" and "facility_key" options fluent#1351
  • filter_record_transformer: Remove obsoleted syntax like "${message}" and not to dump records in logs fluent#1328
  • Add an option "--time-as-integer" to fluent-cat command to send events from v0.14 fluent-cat to v0.12 fluentd fluent#1349

Bug fixes

  • Specify correct Oj options for newer versions (Oj 2.18.0 or later) fluent#1331
  • TimeSlice output plugins (in v0.12 style) raise errors when "utc" parameter is specified fluent#1319
  • Parser plugins cannot use options for regular expressions fluent#1326
  • Fix bugs not to raise errors to use logger in v0.12 plugins fluent#1344 fluent#1332
  • Fix bug about shutting down Fluentd in Windows fluent#1367
  • in_tail: Close files explicitly in tests fluent#1327
  • out_forward: Fix bug not to convert buffer configurations into v0.14 parameters fluent#1337
  • out_forward: Fix bug to raise error when "expire_dns_cache" is specified fluent#1346
  • out_file: Fix bug to raise error about buffer chunking when it's configured as secondary fluent#1338

Release v0.14.9 - 2016/11/15

New features / Enhancement

Bug fixes

  • log: Avoid name conflict between Fluent::Logger fluent#1274
  • fluent-cat: Fix fluent-cat command to send sub-second precision time fluent#1277
  • config: Fix a bug not to overwrite default value with nil fluent#1296
  • output: Fix timezone for compat timesliced output plugins fluent#1307
  • out_forward: fix not to raise error when out_forward is initialized as secondary fluent#1313
  • output: Event router for secondary output fluent#1283
  • test: fix to return the block value as expected by many rubyists fluent#1284

Release v0.14.8 - 2016/10/13

Bug fixes

  • Add msgpack_each to buffer chunks in compat-layer output plugins fluent#1273

Release v0.14.7 - 2016/10/07

New features / Enhancement

  • Support data compression in buffer plugins fluent#1172
  • in_forward: support to transfer compressed data fluent#1179
  • out_stdout: fix to show nanosecond resolution time fluent#1249
  • Add option to rotate Fluentd daemon's log fluent#1235
  • Add extract plugin helper, with symmetric time parameter support in parser/formatter and inject/extract fluent#1207
  • Add a feature to parse/format numeric time (unix time [+ subsecond value]) fluent#1254
  • Raise configuration errors for inconsistent <label> configurations fluent#1233
  • Fix to instantiate an unconfigured section even for multi: true fluent#1210
  • Add validators of placeholders for buffering key extraction fluent#1255
  • Fix to show log messages about filter optimization only when needed fluent#1227
  • Add some features to write plugins more easily fluent#1256
  • Add a tool to load dumped events from file fluent#1165

Bug fixes

  • Fix Oj's default option to encode/decode JSON in the same way with Yajl fluent#1147 fluent#1239
  • Fix to raise correct configuration errors fluent#1223
  • Fix a bug to call shutdown method (and some others) twice fluent#1242
  • Fix to enable chunk.each only when it's encoded by msgpack fluent#1263
  • Fix a bug not to stop enqueue/flush threads correctly fluent#1264
  • out_forward: fix a bug that UDP heartbeat doesn't work fluent#1238
  • out_file: fix a crash bug when v0.14 enables symlink and resumes existing buffer file chunk generated by v0.12 fluent#1234
  • in_monitor_agent: fix compatibility problem between outputs of v0.12 and v0.14 fluent#1232
  • in_tail: fix a bug to crash to read large amount logs fluent#1259 fluent#1261

Release v0.14.6 - 2016/09/07

Bug fixes

  • in_tail: Add a missing parser_multiline require fluent#1212
  • forward: Mark secret parameters of forward plugins as secret fluent#1209

Release v0.14.5 - 2016/09/06

New features / Enhancement

  • Add authentication / authorization feature to forward protocol and in/out_forward plugins fluent#1136
  • Add a new plugin to dump buffers in retries as secondary plugin fluent#1154
  • Merge out_buffered_stdout and out_buffered_null into out_stdout and out_null fluent#1200

Bug fixes

  • Raise configuration errors to clarify what's wrong when "@type" is missing fluent#1202
  • Fix the bug not to launch Fluentd when v0.12 MultiOutput plugin is configured fluent#1206

Release v0.14.4 - 2016/08/31

New features / Enhancement

  • Add a method to Filter API to update time of events fluent#1140
  • Improve performance of filter pipeline fluent#1145
  • Fix to suppress not to warn about different plugins for primary and secondary without any problems fluent#1153
  • Add deprecated/obsoleted options to config_param to show removed/warned parameters fluent#1186
  • in_forward: Add a feature source_hostname_key to inject source hostname into records fluent#807
  • in_tail: Add a feature from_encoding to specify both encoding from and to fluent#1067
  • filter_record_transformer: Fix to prevent overwriting reserved placeholder keys fluent#1176
  • Migrate some built-in plugins into v0.14 API fluent#1149 fluent#1151
  • Update dependencies fluent#1193

Bug fixes

Release 0.14.3 - 2016/08/30

  • Fix the dependency for ServerEngine 1.x

Release 0.14.2 - 2016/08/09

New features / Enhancement

Bug fixes

  • Fix bug to read non buffer-chunk files as buffer chunks when Fluentd resumed fluent#1124
  • Fix bug not to load Filter plugins which are specified in configurations fluent#1118
  • Fix bug to ignore -p option to specify directories of plugins fluent#1133
  • Fix bug to overwrite base class configuration section definitions by subclasses fluent#1119
  • Fix to stop Fluentd worker process by Ctrl-C when --no-supervisor specified fluent#1089
  • Fix regression about RPC call to reload configuration fluent#1093
  • Specify to ensure Oj JSON parser to use strict mode fluent#1147
  • Fix unexisting path handling in Windows environment fluent#1104

Release 0.14.1 - 2016/06/30

New features / Enhancement

Bug fixes

  • Fix in_monitor_agent for v0.14 plugins fluent#1003
  • Fix to call #format_stream of plugins themselves when RecordFilter mixin included fluent#1005
  • Fix shutdown sequence to wait force flush fluent#1009
  • Fix a deadlock bug in shutdown fluent#1010
  • Fix to require DetachProcessMixin in default for compat plugins fluent#1014
  • Fix to overwrite configure_proxy name only for root sections for debugging fluent#1015
  • Rename file for in_unix plugin fluent#1017
  • Fix a bug not to create pid file when daemonized fluent#1021
  • Fix wrong DEFAULT_PLUGIN_PATH fluent#1028
  • Fix a bug not to use primary plugin type for secondary in default fluent#1032
  • Add --run-worker option to distinguish to run as worker without supervisor fluent#1033
  • Fix regression of fluent-debug command fluent#1046
  • Update windows-pr dependency to 1.2.5 fluent#1065
  • Fix supervisor to pass RUBYOPT to worker processes fluent#1066

Release 0.14.0 - 2016/05/25

New features / Enhancement

This list includes changes of 0.14.0.pre.1 and release candidates.

Bug fixes

Internal fix / Refactoring

See https://github.com/fluent/fluentd/blob/v0.12/CHANGELOG.md for v0.12 changelog