Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
@ashie
Latest commit 0a6d706 Apr 13, 2023 History
Signed-off-by: Takuro Ashie <ashie@clear-code.com>
14 contributors

Users who have contributed to this file

@repeatedly @ashie @kenhys @cosmo0920 @fujimotos @eagletmt @yuxiaobo96 @trungnvfet @Trane9991 @kenden @gmile @huynq0911
2670 lines (2125 sloc) 96.5 KB

v1.16

Release v1.16.1 - 2023/04/17

Enhancement

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

Bug Fix

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

Misc

  • Update MAINTAINERS.md #4119
  • Update security policy #4123
  • Plugin template: Remove unnecessary code #4128
  • Revive issue auto closer #4116
  • Fix a link for the repository of td-agent #4145
  • in_udp: add test of message_length_limit #4117
  • Fix a typo of an argument of Fluent::EventStream#each #4148
  • Test in_tcp: Fix undesirable way to assert logs #4138

Release v1.16.0 - 2023/03/29

Enhancement

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

Bug Fix

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

Misc

v1.15

Release v1.15.3 - 2022/11/02

Bug Fix

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

Misc

Release v1.15.2 - 2022/08/22

Enhancement

  • Add a new system configuration enable_jit #3857

Bug Fix

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

Misc

  • Drop win32-api gem to support Ruby 3.2 #3849 #3866

Release v1.15.1 - 2022/07/27

Bug Fix

  • Add support for concurrent append in out_file #3808

Misc

  • in_tail: Show more information on skipping update_watcher #3829

Release v1.15.0 - 2022/06/29

Enhancement

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

Bug fixes

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

Misc

  • in_tail: Simplify TargetInfo related code #3489
  • Fix a wrong issue number in CHANGELOG #3700
  • server helper: Add comments to linger_timeout behavior about Windows #3701
  • service_discovery: Fix typo #3724
  • test: Fix unstable tests and warnings #3745 #3753 #3767 #3783 #3784 #3785 #3787

v1.14

Release v1.14.6 - 2022/03/31

Enhancement

  • Enable server plugins to specify socket-option SO_LINGER #3644
  • Add --umask command line parameter #3671 #3679

Bug fixes

  • Fix metric name typo #3630 #3673
  • Apply modifications in pipeline to the records being passed to @ERROR label #3631
  • Fix wrong calculation of retry interval #3640 #3649 #3685 #3686
  • Support IPv6 address for rpc_endpoint in system config #3641

Misc

  • CI: Support Ruby 3.1 except Windows #3619
  • Switch to GitHub Discussions #3654
  • Fix CHANGELOG.md heading styles #3648
  • Declare null_value_pattern as regexp #3650

Release v1.14.5 - 2022/02/09

Enhancement

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

Bug fixes

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

Release v1.14.4 - 2022/01/06

Enhancement

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

Bug fix

  • Incorrect BufferChunkOverflowError when each event size is < chunk_limit_size #3560
  • On macOS with Ruby 2.7/3.0, out_file fails to write events if append is true. #3579
  • test: Fix unstable test cases #3574 #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. #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. #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 '*'. #3542
  • Fixed a bug that processing messages were lost when BufferChunkOverflowError was thrown even though only a specific message size exceeds chunk_limit_size. #3553 #3562

Misc

  • Bump up required version of win32-service gem. newer version is required to implement additional fluent-ctl commands. #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. #3528

Bug fix

  • Fixed to generate correct epoch timestamp even after switching Daylight Saving Time #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. #3504
  • out_forward: Changed to use metrics mechanism for node statistics #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. #3500
  • out_forward: Fixed a bug that node statistics information is not included correctly. #3503 #3507
  • Fixed a error when using @include directive It was occurred when http/https scheme URI is used in @include directive with Ruby 3. #3517
  • out_copy: Fixed to suppress a wrong warning for ignore_if_prev_success It didn't work even if a user set it. #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) #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. #3440
  • Added reserved word @ROOT for getting root router. This is incompatible change. Do not use @ROOT for label name. #3358
  • in_syslog: Added send_keepalive_packet option #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". #3481 #3491

Bug fix

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

Misc

  • Added metrics plugin mechanism The implementations is changed to use metrics plugin. In the future, 3rd party plugin will be able to handle these metrics. #3471 #3473 #3479 #3484

v1.13

Release v1.13.3 - 2021/07/27

Bug fix

  • in_tail: Care DeletePending state on Windows #3457 #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. #3459
  • in_tail: Fix detecting rotation twice on follow_inode. #3466

Misc

  • Remove needless spaces in a sample config file #3456

Release v1.13.2 - 2021/07/12

Enhancement

  • fluent-plugin-generate: Storage plugin was supported. #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. #3315

Bug fix

  • binlog_reader: Fixed a crash bug by missing "fluent/env" dependency. #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. #3451
  • in_tail: Fixed a bug that when rotation is occurred, remaining lines will be discarded if the throttling feature is enabled. #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. #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. #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. #3405 #3406
  • in_tail: Fixed to remove too much verbose debugging logs It was unexpectedly introduced by #3185 log throttling feature. #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. #3427

Misc

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

Release v1.13.0 - 2021/05/29

Enhancement

  • in_tail: Handle log throttling per file feature #3185 #3364 #3379
  • Extend to support service discovery manager in simpler way #3299 #3362
  • in_http: HTTP GET requests has been supported #3373
  • The log rotate settings in system configuration has been supported #3352

Bug fix

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

Misc

  • example: Change a path to backup_path in counter_server correctly #3359
  • README: Update link to community forum to discuss.fluentd.org #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 #3393

Release v1.12.3 - 2021/04/23

Enhancement

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

Bug fix

  • parser_csv, parser_syslog: Fix a naming conflict on parser_type #3302
  • in_tail: Fix incorrect error code & message on Windows #3325 #3329 #3331 #3337
  • in_tail: Fix a crash bug on catching a short-lived log #3328
  • storage_local: Fix position file corruption issue on concurrent gracefulReloads #3335
  • Fix incorrect warnings about ${chunk_id} with out_s3 #3339
  • TLS Server: Add peer information to error log message #3330

Misc

  • fluent-plugin-generate: add note about plugin name #3303
  • fluent-plugin-generate: Use same depended gem version with fluentd #3305
  • Fix some broken unit tests and improve CI's stability #3304 #3307 #3312 #3313 #3314 #3316 #3336
  • Permit to install with win32-service 2.2.0 on Windows #3343

Release v1.12.2 - 2021/03/29

Enhancement

  • out_copy: Add ignore_if_prev_successes #3190 #3287
  • Support multiple kind of timestamp format #3252
  • formatter_ltsv: suppress delimiters in output #1666 #3288 #3289

Bug fix

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

Misc

Release v1.12.1 - 2021/02/18

Enhancement

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

Bug fix

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

Misc

Release v1.12.0 - 2021/01/05

New feature

  • in_tail: Add follow_inode to support log rotation with wild card #3182
  • in_tail: Handle linux capability #3155 #3162
  • windows: Add win32 events alternative to unix signals #3131

Enhancement

  • buffer: Enable metadata comparison optimization on all platforms #3095
  • fluent-plugin-config-formatter: Handle service_discovery type #3178
  • in_http: Add add_query_params parameter to add query params to event record #3197
  • inject: Support unixtime_micros and unixtime_nanos in time_type #3220
  • Refactoring code #3167 #3170 #3180 #3196 #3213 #3222

Bug fix

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

v1.11

Release v1.11.5 - 2020/11/06

Enhancement

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

Bug fix

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

Release v1.11.4 - 2020/10/13

Enhancement

  • inject: Support unixtime_millis in time_type parameter #3145

Bug fix

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

Release v1.11.3 - 2020/09/30

Enhancement

  • in_exec: Add connect_mode parameter to read stderr #3108
  • parser_json: Improve the performance #3109
  • log: Add ignore_same_log_interval parameter #3119
  • Upgrade win32 gems #3100
  • Refactoring code #3094 #3118

Bug fix

  • buffer: Fix calculation of timekey stats #3018
  • buffer: fix binmode usage for prevent gc #3138

Release v1.11.2 - 2020/08/04

Enhancement

  • in_dummy renamed to in_sample #3065
  • Allow regular expression in filter/match directive #3071
  • Refactoring code #3051

Bug fix

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

Release v1.11.1 - 2020/06/22

Enhancement

  • in_http: Add dump_error_log parameter #3035
  • in_http: Improve time field handling #3046
  • Refactoring code #3047

Bug fix

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

Release v1.11.0 - 2020/06/04

New feature

  • in_unix: Use v1 API #2992

Enhancement

  • parser_syslog: Support any time_format for RFC3164 string parser #3014
  • parser_syslog: Add new parser for RFC5424 #3015
  • Refactoring code #3019

Bug fix

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

v1.10

Release v1.10.4 - 2020/05/12

Enhancement

  • out_http: Support single json array payload #2973
  • Refactoring #2988

Bug fix

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

Release v1.10.3 - 2020/05/01

Enhancement

Bug fix

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

Release v1.10.2 - 2020/04/15

Enhancement

  • out_copy: Add plugin_id to log message #2934
  • socket: Allow cert chains in mutual auth #2930
  • system: Add ignore_repeated_log_interval parameter #2937
  • windows: Allow to launch fluentd from whitespace included path #2920
  • Refactor code #2935 #2936 #2938 #2939 #2946

Bug fix

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

Release v1.10.1 - 2020/04/02

Enhancement

  • command: --daemon and --no-supervisor now work together #2912
  • Refactor code #2913

Bug fix

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

Misc

  • Add document for security audit #2911

Release v1.10.0 - 2020/03/24

New feature

  • sd plugin: Add SRV record plugin #2876

Enhancement

Bug fix

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

v1.9

Release v1.9.3 - 2020/03/05

Enhancement

  • in_tail: Emit buffered lines as unmatched_line at shutdown phase when emit_unmatched_lines true #2837
  • Specify directory mode explicitly #2827
  • server helper: Change SSLError log level to warn in accept #2861
  • Refactor code #2829 #2830 #2832 #2836 #2838 #2842 #2843

Bug fix

  • buffer: Add seq to metadata that it can be unique #2824 #2853
  • buffer: Use Tempfile as binmode for decompression #2847

Misc

Release v1.9.2 - 2020/02/13

Enhancement

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

Bug fix

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

Release v1.9.1 - 2020/01/31

Enhancement

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

Bug fix

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

Release v1.9.0 - 2020/01/22

New feature

  • New light-weight config reload mechanizm #2716
  • Drop ruby 2.1/2.2/2.3 support #2750

Enhancement

  • output: Show better message for secondary warning #2751
  • Use ext_monitor gem if it is installed. For ruby 2.6 or earlier #2670
  • Support Ruby's Time class in msgpack serde #2775
  • Clean up code/test #2753 #2763 #2764 #2780

Bug fix

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

v1.8

Release v1.8.1 - 2019/12/26

Enhancement

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

Bug fixes

  • parser_ltsv: Prevent garbage result by checking label_delimiter #2748

Release v1.8.0 - 2019/12/11

New feature

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

Enhancement

  • formatter_csv: Support nested fields #2643
  • record_accessor helper: Make code simple and bit faster #2660
  • Relax tzinfo dependency to accept v1 #2673
  • log: Deprecate top-level match for capturing fluentd logs #2689
  • in_monitor_agent: Expose Fluentd verion in REST API #2706
  • time: Accept localtime xor utc #2720 #2731
  • formatter_stdout: Make time_format configurable in stdout format #2721
  • supervisor: create log directory when it doesn't exists #2732
  • clean up internal classes / methods / code #2647 #2648 #2653 #2654 #2657 #2667 #2674 #2677 #2680 #2709 #2730

Bug fixes

  • output: Fix warning printed when chunk key placeholder not replaced #2523 #2733
  • Fix dry-run mode #2651
  • suppress warning #2652
  • suppress keyword argument warning for ruby2.7 #2664
  • RPC: Fix debug log text #2666
  • time: Properly show class names in error message #2671
  • Fix a potential bug that ThreadError may occur on SIGUSR1 #2678
  • server helper: Ignore ECONNREFUSED in TLS accept to avoid fluentd restart #2695
  • server helper: Fix IPv6 dual stack mode issue for tcp socket. #2697
  • supervisor: Fix inline config handling #2708
  • Fix typo #2710 #2714

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. #2640

Bug fixes

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

Release v1.7.3 - 2019/10/01

Enhancement

  • in_syslog: Replace priority_key with severity_key #2636

Bug fixes

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

Release v1.7.2 - 2019/09/19

Enhancement

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

Bug fixes

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

Release v1.7.1 - 2019/09/08

Enhancement

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

Bug fixes

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

Release v1.7.0 - 2019/08/20

New feature

  • buffer: Add file_single buffer plugin #2579
  • output: Add http output plugin #2488

Enhancement

  • buffer: Improve the performance of buffer routine #2560 #2563 #2564
  • output: Use Mutex instead of Monitor #2561
  • event: Add OneEventStrea#empty? method #2565
  • thread: Set thread name for ruby 2.3 or later #2574
  • core: Cache msgpack packer/unpacker to avoid the object allocation #2559
  • time: Use faster way to get sec and nsec #2557
  • buf_file: Reduce IO flush by removing IO#truncate #2551
  • in_tcp: Improve the performance for multiple event case #2567
  • in_syslog: support source_hostname_key and source_address_key for unmatched event #2553
  • formatter_csv: Improve the format performance. #2529
  • parser_csv: Add fast parser for typical cases #2535
  • out_forward: Refactor code #2516 #2532

Bug fixes

v1.6

Release v1.6.3 - 2019/07/29

Enhancement

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

Bug fixes

  • http_server: Fix re-define render_json method #2517

Release v1.6.2 - 2019/07/11

Bug fixes

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

Release v1.6.1 - 2019/07/10

Enhancement

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

Bug fixes

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

Release v1.6.0 - 2019/07/01

New feature

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

Enhancement

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

Bug fixes

  • cert: Fix cert match pattern #2466
  • output: Fix forget to increment rollback count #2462

v1.5

Release v1.5.2 - 2019/06/13

Bug fixes

  • out_forward: Fix duplicated handshake bug in keepalive #2456

Release v1.5.1 - 2019/06/05

Enhancement

  • in_tail: Increase read block size to reduce IO call #2418
  • in_monitor_agent: Refactor code #2422

Bug fixes

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

Release v1.5.0 - 2019/05/18

New feature

  • out_forward: Support keepalive feature #2393
  • in_http: Support TLS via server helper #2395
  • in_syslog: Support TLS via server helper #2399

Enhancement

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

Bug fixes

  • out_forward: Don't use SO_LINGER on SSL/TLS WinSock #2398
  • server helper: Fix recursive lock issue in TLSServer #2341
  • Fix typo #2369

v1.4

Release v1.4.2 - 2019/04/02

Enhancements

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

Bug fixes

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

Release v1.4.1 - 2019/03/18

Enhancements

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

Bug fixes

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

Release v1.4.0 - 2019/02/24

New features

  • multiprocess: Support syntax #2292
  • output: Work and retry_forever together #2276
  • out_file: Support placeholders in symlink_path #2254

Enhancements

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

Bug fixes

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

v1.3

Release v1.3.3 - 2019/01/06

Enhancements

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

Bug fixes

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

Release v1.3.2 - 2018/12/10

Enhancements

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

Bug fixes

  • output: Fix logs during retry #2203

Release v1.3.1 - 2018/11/27

Enhancements

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

Bug fixes

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

Release v1.3.0 - 2018/11/10

New features

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

Enhancements

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

Bug fixes

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

v1.2

Release v1.2.6 - 2018/10/03

Enhancements

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

Bug fixes

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

Release v1.2.5 - 2018/08/22

Bug fixes

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

Release v1.2.4 - 2018/08/01

Bug fixes

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

Release v1.2.3 - 2018/07/10

Enhancements

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

Bug fixes

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

Release v1.2.2 - 2018/06/12

Enhancements

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

Bug fixes

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

Release v1.2.1 - 2018/05/23

Enhancements

  • Counter: Add wait API to client #1997

Bug fixes

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

Release v1.2.0 - 2018/04/30

New Features

  • New Counter API #1857
  • output: Backup for broken chunks #1952
  • filter_grep: Support for <and> and <or> sections #1897
  • config: Support regexp type in configuration parameter #1927

Enhancements

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

Bug fixes

  • log: Fix unexpected implementation bug when log rotation setting is applied #1957
  • server helper: Close invalid socket when ssl error happens on reading #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 #1908
  • buffer: Add queued_chunks_limit_size to control the number of queued chunks #1916
  • time: Make Fluent::EventTime human readable for inspect #1915

Bug fixes

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

Release v1.1.2 - 2018/03/18

Enhancements

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

Bug fixes

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

Release v1.1.1 - 2018/03/05

Enhancements

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

Bug fixes

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

Release v1.1.0 - 2018/01/17

New features / Enhancements

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

Bug fixes

  • server helper: Fix TCP + TLS degradation #1805
  • time: Fix the method for TimeFormatter#call #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 #1794

Release v1.0.1 - 2017/12/14

New features / Enhancements

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

Bug fixes

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

Release v1.0.0 - 2017/12/6

See CNCF announcement :)

New features / Enhancements

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

Bug fixes

  • out_forward: Don't update retry state when failed to get ack response. #1686
  • plugin: Combine before_shutdown and shutdown call in one sequence. #1763
  • Add description to parsers #1776 #1777 #1778 #1779 #1780
  • filter_parser: Add parameter description #1773
  • plugin: Combine before_shutdown and shutdown call in one sequence. #1763

v0.14

Release v0.14.25 - 2017/11/29

New features / Enhancements

  • Disable tracepoint feature to omit unnecessary insts #1764

Bug fixes

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

Release v0.14.24 - 2017/11/24

New features / Enhancements

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

Bug fixes

  • supervisor: Don't call change_privilege twice #1757

Release v0.14.23 - 2017/11/15

New features / Enhancements

  • in_udp: Add remove_newline parameter #1747

Bug fixes

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

Release v0.14.22 - 2017/11/01

New features / Enhancements

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

Bug fixes

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

Release v0.14.21 - 2017/09/07

New features / Enhancements

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

Bug fixes

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

Release v0.14.20 - 2017/07/31

New features / Enhancements

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

Bug fixes

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

Release v0.14.19 - 2017/07/12

New features / Enhancements

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

Bug fixes

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

Release v0.14.18 - 2017/06/21

New features / Enhancements

  • parser: Add rfc5424 regex without priority #1600

Bug fixes

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

Release v0.14.17 - 2017/05/29

New features / Enhancements

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

Bug fixes

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

Release v0.14.16 - 2017/05/13

New features / Enhancements

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

Bug fixes

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

Release v0.14.15 - 2017/04/23

New features / Enhancements

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

Bug fixes

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

Release v0.14.14 - 2017/03/23

New features / Enhancements

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

Bug fixes

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

Release v0.14.13 - 2017/02/17

New features / Enhancements

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

Bug fixes

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

Release v0.14.12 - 2017/01/30

New features / Enhancements

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

Bug fixes

  • Fix bug to ignore command line options: --rpc-endpoint, --suppress-config-dump, etc #1398
  • Fix bug to block infinitely in shutdown when buffer is full and overflow_action is block #1396
  • buf_file: Fix bug not to use root_dir even if configured correctly #1417
  • filter_record_transformer: Fix to use BasicObject for clean room #1415
  • filter_record_transformer: Fix bug that remove_keys doesn't work with renew_time_key #1433
  • in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins #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 #1374
  • Fix not to restart Fluentd processes when unrecoverable errors occur #1359
  • Show warnings in log when output flush operation takes longer time than threshold #1370
  • formatter_csv: Raise configuration error when no field names are specified #1369
  • in_syslog: Update implementation to use plugin helpers #1382
  • in_forward: Add a configuration parameter "source_address_key" #1382
  • in_monitor_agent: Add a parameter "include_retry" to get detail retry status #1387
  • Add Ruby 2.4 into supported ruby versions

Bug fixes

  • Fix to set process name of supervisor process #1380
  • in_forward: Fix a bug not to handle "require_ack_response" correctly #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 #1312 #1350 #1356 #1362
  • Fix to raise errors when injected hostname is also specified as chunk key #1357
  • in_tail: Optimize to read lines from file #1325
  • in_monitor_agent: Add new parameter "include_config"(default: true) #1317
  • in_syslog: Add "priority_key" and "facility_key" options #1351
  • filter_record_transformer: Remove obsoleted syntax like "${message}" and not to dump records in logs #1328
  • Add an option "--time-as-integer" to fluent-cat command to send events from v0.14 fluent-cat to v0.12 fluentd #1349

Bug fixes

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

Release v0.14.9 - 2016/11/15

New features / Enhancement

  • filter_parser: Port fluent-plugin-parser into built-in plugin #1191
  • parser/formatter plugin helpers with default @type in plugin side #1267
  • parser: Reconstruct Parser related classes #1286
  • filter_record_transformer: Remove old behaviours #1311
  • Migrate some built-in plugins into v0.14 API #1257 (out_file) #1297 (out_exec, out_exec_filter) #1306 (in_forward, out_forward) #1308 (in_http)
  • test: Improve test drivers #1302 #1305

Bug fixes

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

Release v0.14.8 - 2016/10/13

Bug fixes

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

Release v0.14.7 - 2016/10/07

New features / Enhancement

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

Bug fixes

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

Release v0.14.6 - 2016/09/07

Bug fixes

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

Release v0.14.5 - 2016/09/06

New features / Enhancement

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

Bug fixes

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

Release v0.14.4 - 2016/08/31

New features / Enhancement

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

Bug fixes

  • Fix to start/stop/restart Fluentd processes correctly on Windows environment #1171 #1192
  • Fix to handle Windows events correctly in winsvc.rb #1155 #1170
  • Fix not to continue to restart workers for configuration errors #1183
  • Fix output threads to start enqueue/flush buffers until plugins' start method ends #1190
  • Fix a bug not to set umask 0 #1152
  • Fix resource leak on one-shot timers #1178
  • Fix to call plugin helper methods in configure #1184
  • Fix a bug to count event size https://github.com/fluent/fluentd/pull/1164/files
  • Fix to require missed compat modules #1168
  • Fix to start properly for plugins under MultiOutput #1167
  • Fix test drivers to set class name into plugin instances #1069
  • Fix tests not to use mocks for Time (improve test stabilization) #1194

Release 0.14.3 - 2016/08/30

  • Fix the dependency for ServerEngine 1.x

Release 0.14.2 - 2016/08/09

New features / Enhancement

  • Fix to split large event stream into some/many chunks in buffers #1062
  • Add parser and filter support in compat_parameters plugin helper #1079
  • Add a RPC call to flush buffers and stop workers #1134
  • Update forward protocol to pass the number of events in a payload #1137
  • Improve performance of some built-in formatter plugins #1082 #1086
  • Migrate some built-in plugins and plugin util modules into v0.14 API #1058 #1061 #1076 #1078 #1081 #1083 #1091
  • Register RegExpParser as a parser plugin explicitly #1094
  • Add delimiter option to CSV parser #1108
  • Add an option to receive longer udp syslog messages #1127
  • Add a option to suspend internal status in dummy plugin #900
  • Add a feature to capture filtered records in test driver for Filter plugins #1077
  • Add some utility methods to plugin test drivers #1114

Bug fixes

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

Release 0.14.1 - 2016/06/30

New features / Enhancement

  • Add plugin helpers for parsers and formatters #1023
  • Extract some mixins into compat modules #1044 #1052
  • Add utility methods for tests and test drivers #1047
  • Migrate some built-in plugins to v0.14 APIs #1049 #1057 #1060 #1064
  • Add support of X-Forwarded-For header in in_http plugin #1051
  • Warn not to create too many staged chunks at configure #1054
  • Add a plugin helper to inject tag/time/hostname #1063

Bug fixes

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

Release 0.14.0 - 2016/05/25

New features / Enhancement

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

  • Update supported Ruby version to 2.1 or later #692
  • Sub-second event time support #653
  • Windows support and supervisor improvement #674 #831 #880
  • Add New plugin API #800 #843 #866 #905 #906 #917 #928 #943 #964 #965 #972 #983
  • Add standard chunking format #914
  • Add Compatibility layer for v0.12 plugins #912 #969 #974 #992 #999
  • Add Plugin Storage API #864 #910
  • Enforce to use router.emit instead of Engine.emit #883
  • log: Show plugin name and id in logs #860
  • log: Dump configurations with v1 syntax in logs #867
  • log: Dump errors with class in logs #899
  • config: Add simplified syntax for configuration values of hash and array #875
  • config: Add 'init' option to config_section to initialize section objects #877
  • config: Support multiline string in quoted strings #929
  • config: Add optional arguments on Element#elements to select child elements #948
  • config: Show deprecated warnings for reserved parameters #971
  • config: Make the detach process forward interval configurable #982
  • in_tail: Add 'path_key' option to inject tailing path #951
  • Remove in_status plugin #690

Bug fixes

  • config: Enum list must be of symbols #821
  • config: Fix to dup values in default #827
  • config: Fix problems about overwriting subsections #844 #981
  • log: Serialize Fluent::EventTime as Integer in JSON #904
  • out_forward: Add missing error class and tests for it #922

Internal fix / Refactoring

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