- Add zero-downtime-restart feature for non-Windows #4624
- Add with-source-only feature
#4661
fluentd
command: Add--with-source-only
option- System configuration: Add
with_source_only
option
- Embedded plugin: Add
out_buffer
plugin, which can be used for buffering and relabeling events #4661 - Config File Syntax: Extend Embedded Ruby Code support for Hashes and Arrays
#4580
- Example:
key {"foo":"#{1 + 1}"} => key {"foo":"2"}
- Please note that this is not backward compatible, although we assume that this will never affect to actual existing configs.
- In case the behavior changes unintentionally, you can disable this feature by surrounding the entire value with single quotes.
key '{"foo":"#{1 + 1}"}' => key {"foo":"#{1 + 1}"}
- Example:
- transport tls: Use SSL_VERIFY_NONE by default #4718
- transport tls: Add ensure_fips option to ensure FIPS compliant mode #4720
- plugin_helper/server: Add receive_buffer_size parameter in transport section #4649
- filter_parser: Now able to handle multiple parsed results #4620
- in_http: add
add_tag_prefix
option #4655 - System configuration: add
path
option inlog
section #4604
- command: fix NoMethodError of --daemon under Windows #4716
fluentd
command: fix--plugin
(-p
) option not to overwrite default value #4605
- http_server: Ready to support Async 2.0 gem #4619
- Minor code refactoring
- CI fixes
- out_http: Add
compress gzip
option #4528 - in_exec: Add
encoding
option to handle non-ascii characters #4533 - in_tail: Add throttling metrics #4578
- compat: Improve method call performance #4588
- in_sample: Add
reuse_record
parameter to reuse the sample data #4586in_sample
has changed to copy sample data by default to avoid the impact of destructive changes by subsequent plugins.- This increases the load when generating large amounts of sample data.
- You can use this new parameter to have the same performance as before.
- logger: Fix LoadError with console gem v1.25 #4492
- parser_json: Fix wrong LoadError warning #4522
- in_tail: Fix an issue where a large single line could consume a large amount of memory even though
max_line_size
is set #4530 - yaml_parser: Support $log_level element #4482
- Comment out inappropriate default configuration about out_forward #4523
- gemspec: Remove unnecessary files from released gem #4534
- plugin-generator: Update gemspec to remove unnecessary files #4535
- Suppress non-parenthesis warnings #4594
- Fix FrozenError in http_server plugin helper #4598
- Add logger gem dependency for Ruby 3.5 #4589
- out_file: Add warn message for symlink_path setting #4502
- in_http: Recognize CSP reports as JSON data #4282
- out_http: Add option to reuse connections #4330
- in_tail: Expand glob capability for square brackets and one character matcher #4401
- out_http: Support AWS Signature Version 4 authentication #4459
- Make sure
parser_json
andparser_msgpack
returnHash
. Makeparser_json
andparser_msgpack
accept onlyHash
orArray
ofHash
. #4474 - filter_parser: Add error event for multiple parsed results #4478
- Raise minimum required ruby version #4288
- Require missing dependent gems as of Ruby 3.4-dev #4411
- Minor code refactoring #4294 #4299 #4302 #4320
- CI fixes #4369 #4433 #4452 #4477
- github: unify YAML file extension to .yml #4429
- Buffer: Fix emit error of v1.16.4 sometimes failing to process large data exceeding chunk size limit #4447
- Fix to avoid processing discarded chunks in write_step_by_step.
It fixes not to raise pile of IOError when many
chunk bytes limit exceeds
errors are occurred. #4342 - in_tail: Fix tail watchers in
rotate_wait
state not being managed. #4334
- buffer: Avoid unnecessary log processing. It will improve performance. #4331
- in_tail: Fix a stall bug on !follow_inode case #4327
- in_tail: add warning for silent stop on !follow_inodes case #4339
- Buffer: Fix NoMethodError with empty unstaged chunk arrays #4303
- Fix for rotate_age where Fluentd passes as Symbol #4311
- in_tail: Fix new watcher is wrongly detached on rotation when
follow_inodes
, which causes stopping tailing the file #4208 - in_tail: Prevent wrongly unwatching when
follow_inodes
, which causes log duplication #4237 - in_tail: Fix warning log about overwriting entry when
follow_inodes
#4214 - in_tail: Ensure to discard TailWatcher with missing target when
follow_inodes
#4239 - MessagePackFactory: Make sure to reset local unpacker to prevent received broken data from affecting other receiving data #4178
- Fix failure to launch Fluentd on Windows when the log path isn't specified in the command line #4188
- logger: Prevent growing cache size of
ignore_same_log_interval
unlimitedly #4229 - Update sigdump to 0.2.5 to fix wrong value of object counts #4225
- in_tail: Check detaching inode when
follow_inodes
#4191 - in_tail: Add debug log for pos file compaction #4228
- Code improvements detected by RuboCop Performance #4201 #4210
- Add notice for unused argument
unpacker
ofChunkMessagePackEventStreamer.each
#4159
- in_tcp: Add
message_length_limit
to drop large incoming data #4137
- Fix NameError of
SecondaryFileOutput
when setting secondary other thanout_secondary_file
#4124 - Server helper: Suppress error of
UDPServer
overmax_bytes
on Windows #4131 - Buffer: Fix that
compress
setting causes unexpected error when receiving already compressed MessagePack #4147
- 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
- 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
- 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
atrun_configure
. Change argument type ofFluent::Plugin::Base::configure()
toFluent::Config::Element
only. #4066 - Fix bug that Fluentd sometimes tries to use an unavailable port and fails to start on Windows #4092
- Add method for testing
filtered_with_time
#3899 - Replace
$$
withProcess.pid
#4040 - Relax required webric gem version #4061
- CI fixes to support Ruby 3.2 #3968 #3996 #3997
- Other CI fixes #3969 #3990 #4013 #4033 #4044 #4050 #4062 #4074 #4082 #4085
- Update MAINTAINERS.md #4026 #4069
- 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
- Add a new system configuration
enable_jit
#3857
- Add support for concurrent append in out_file #3808
- in_tail: Show more information on skipping update_watcher #3829
- 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
- 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
- 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
- Enable server plugins to specify socket-option
SO_LINGER
#3644 - Add
--umask
command line parameter #3671 #3679
- 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
insystem
config #3641
- CI: Support Ruby 3.1 except Windows #3619
- Switch to GitHub Discussions #3654
- Fix CHANGELOG.md heading styles #3648
- Declare
null_value_pattern
asregexp
#3650
- Add support for "application/x-ndjson" to
in_http
#3616 - Add support for ucrt binary for Windows #3613
- 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
in_tail
: Add option to skip long lines (max_line_size
) #3565
- 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 ifappend
is true. #3579 - test: Fix unstable test cases #3574 #3577
- Changed to accept
http_parser.rb
0.8.0.http_parser.rb
0.8.0 is ready for Ractor. #3544
- in_tail: Fixed a bug that no new logs are read when
enable_stat_watcher true
andenable_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
- Bump up required version of
win32-service
gem. newer version is required to implement additionalfluent-ctl
commands. #3556
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.
- fluent-cat: Add
--event-time
option to send specified event time for testing. #3528
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
andfollow_inode
are enabled. Usebytesize
instead ofsize
for path length. #3459 - in_tail: Fix detecting rotation twice on
follow_inode
. #3466
- Remove needless spaces in a sample config file #3456
- 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
, andFLUENT_OJ_OPTION_USE_TO_JSON
environment variable to configure it. #3315
- 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
- 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
- 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
- Pretty print for Fluent::Config::Section has been supported for debugging #3398
- CI: Dropped to run CI for Ruby 2.5 #3412
- 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
- Fix to disable
trace_instruction
whenRubyVM::InstructionSequence
is available. It improves compatibility withtruffleruby
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
- example: Change a path to backup_path in counter_server correctly #3359
- README: Update link to community forum to discuss.fluentd.org #3360
- in_tail: Fix a bug that refresh_watcher fails to handle file rotations #3393
- plugin_helper: Allow TLS to use keep-alive socket option #3308
- 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
- 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
- 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
- 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
- Add webrick to support Ruby 3.0 #3257
- Suggest Discource instead of Google Groups #3261
- Update MAINTAINERS.md #3282
- Introduce DeepSource to check code quality #3286 #3259 #3291
- Migrate to GitHub Actions and stabilize tests #3266 #3268 #3281 #3283 #3290
- 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
- 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
- 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
- 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
andunixtime_nanos
intime_type
#3220 - Refactoring code #3167 #3170 #3180 #3196 #3213 #3222
- output: Prevent retry.step from being called too many times in a short time #3203
- formatter: Provide
newline
parameter to supportCRLF
#3152 - out_http: adding support for intermediate certificates #3146
- Update serverengine dependency to 2.2.2 or later
- Fix a bug that windows service isn't stopped gracefuly #3156
- inject: Support
unixtime_millis
intime_type
parameter #3145
- out_http: Fix broken data with
json_array true
#3144 - output: Fix wrong logging issue for
${chunk_id}
#3134
- 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
in_dummy
renamed toin_sample
#3065- Allow regular expression in filter/match directive #3071
- Refactoring code #3051
- 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
- in_http: Add
dump_error_log
parameter #3035 - in_http: Improve time field handling #3046
- Refactoring code #3047
- 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
- in_unix: Use v1 API #2992
- parser_syslog: Support any
time_format
for RFC3164 string parser #3014 - parser_syslog: Add new parser for RFC5424 #3015
- Refactoring code #3019
- in_gc_stat: Add
use_symbol_keys
parameter to emit string key record #3008
- supervisor: Call
File.umask(0)
for standalone worker #2987 - out_forward: Fix ZeroDivisionError issue with
weight 0
#2989
- record_accessor: Add
set
method #2977 - config: Ruby DSL format is deprecated #2958
- Refactor code #2961 #2962 #2965 #2966 #2978
- out_forward: Disable
linger_timeout
setting on Windows #2959 - out_forward: Fix warning of service discovery manager when fluentd stops #2974
- 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
- 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
- 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
- Add document for security audit #2911
- sd plugin: Add SRV record plugin #2876
- server: Add
cert_verifier
parameter for TLS transport #2888 - parser_syslog: Support customized time format #2886
- in_dummy: Delete
suspend
parameter #2897 - Refactor code #2858 #2862 #2864 #2869 #2870 #2874 #2881 #2885 #2894 #2896 #2898 #2899 #2900 #2901 #2906
- 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
- in_tail: Emit buffered lines as
unmatched_line
at shutdown phase whenemit_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
- buffer: Add seq to metadata that it can be unique #2824 #2853
- buffer: Use
Tempfile
as binmode for decompression #2847
- in_tail: Add
pos_file_compaction_interval
parameter for auto compaction #2805 - command: Use given encoding when RUBYOPT has
-E
#2814
- 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
whenOPTIONS
request doesn't have 'Origin' header #2823 - parser_syslog: Improved for parsing RFC5424 structured data in
parser_syslog
#2816
- 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
- output: Add
EncodingError
to unrecoverable errors #2808 - tls: Fix TLS version handling in secure mode #2802
- 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
- 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
- in_tail: Add
path_timezone
parameter to formatpath
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
- parser_ltsv: Prevent garbage result by checking
label_delimiter
#2748
- Add service discovery plugin and
out_forward
use it #2541 - config: Add strict mode and support
default
/nil
value in ruby embedded mode #2685
- 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
- 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
- in_http: Add
use_204_response
parameter to return proper 204 response instead of 200. fluentd v2 will change this parameter totrue
. #2640
- child_process helper: fix stderr blocking for discard case #2649
- log: Fix log rotation handling on Windows #2663
- in_syslog: Replace priority_key with severity_key #2636
- out_forward: Fix nil error after purge obsoleted sockets in socket cache #2635
- fix typo in ChangeLog #2633
- in_tcp: Add security/client to restrict access #2622
- buf_file/buf_file_single: fix to handle compress data during restart #2620
- plugin: Use
__send__
to avoid conflict with user definedsend
#2614 - buffer: reject invalid timekey at configure phase #2615
- socket helper/out_forward: Support Windows certstore to load certificates #2601
- parser_syslog: Add faster parser for rfc3164 message #2599
- 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
- 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
andsource_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
- output: fix data lost on decompression #2547
- out_exec_filter: fix non-ascii encoding issue #2539
- in_tail: Don't call parser's configure twice #2569
- Fix unused message handling for
parameters #2578 - Fix comment/message typos #2549 #2554 #2556 #2566 #2573 #2576 #2583
- in_syslog: Add
emit_unmatched_lines
parameter #2499 - buf_file: Add
path_suffix
parameter #2524 - in_tail: Improve the performance of split lines #2527
- http_server: Fix re-define render_json method #2517
- http_server helper: Add title argument to support multiple servers #2493
- socket/cert: Support all private keys OpenSSL supports, not only RSA. #2487
- output/buffer: Improve statistics method performance #2491
- plugin_config_formatter: update new doc URL #2481
- out_forward: Avoid zero division error when there are no available nodes #2482
- plugin: Add http_server helper and in_monitor_agent use it #2447
- 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
- out_forward: Fix duplicated handshake bug in keepalive #2456
- 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
- out_forward: Support keepalive feature #2393
- in_http: Support TLS via server helper #2395
- in_syslog: Support TLS via server helper #2399
- 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
- out_forward: Don't use SO_LINGER on SSL/TLS WinSock #2398
- server helper: Fix recursive lock issue in TLSServer #2341
- Fix typo #2369
- 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
- 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
- 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
- out_forward: Make tls_client_private_key_passphrase secret #2324
- in_syslog: Check message length when read from buffer in octet counting #2323
- multiprocess: Support syntax #2292
- output: Work and retry_forever together #2276
- out_file: Support placeholders in symlink_path #2254
- 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
- server: Ignore IOError and related errors in UDP #2310
- server: Ignore EPIPE in TLS accept to avoid fluentd restart #2253
- parser_syslog: Use String#squeeze for performance improvement #2239
- parser_syslog: Support RFC5424 timestamp without subseconds #2240
- server: Ignore ECONNRESET in TLS accept to avoid fluentd restart #2243
- log: Fix plugin logger ignores fluentd log event setting #2252
- output: Fix logs during retry #2203
- 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
- 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
- output: Change thread execution control #2170
- in_syslog: Support octet counting frame #2147
- Use
flush_thread_count
value forqueued_chunks_limit_size
whenqueued_chunks_limit_size
is not specified #2173
- output: Show backtrace for unrecoverable errors #2149
- in_http: Implement support for CORS preflight requests #2144
- server: Fix deadlock between on_writable and close in sockets #2165
- output: show correct error when wrong plugin is specified for secondary #2169
- 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
- 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
- in_tail: Fix resource leak by file rotation #2105
- fix typos
- 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
- 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
- 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
- filter_parser: Add remove_key_name_field parameter #2012
- fluent-plugin-config-format: Dump config_argument #2003
- 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
- Counter: Add wait API to client #1997
- 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
- 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
- parser_nginx: Support optional
http-x-forwarded-for
field #1932 - filter_grep: Improve the performance #1940
- 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
- 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
- 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
- filter_grep: Support pattern starts with character classes with // #1887
- 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
- 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
- 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
- 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
- Use dig_rb instead of ruby_dig to support dig method in more objects #1794
- in_udp: Add receive_buffer_size parameter #1788
- in_tail: Add enable_stat_watcher option to disable inotify events #1775
- Relax strptime gem version
- 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
See CNCF announcement :)
- 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
- 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
- Disable tracepoint feature to omit unnecessary insts #1764
- 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
- supervisor: Don't call change_privilege twice #1757
- in_udp: Add remove_newline parameter #1747
- 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
- 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
- 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
- filter_parser: Support record_accessor in key_name #1654
- buffer: Support record_accessor in chunk keys #1662
- 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
- plugin: Add record_accessor plugin helper #1637
- log: Add format and time_format parameters to
<system>
setting #1644
- 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
- 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
- output: Fix race condition of retry state in flush thread #1623
- test: Fix typo in test_in_tail.rb #1622
- parser: Add rfc5424 regex without priority #1600
- 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
- 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
- config: Mask all secret parameters in worker section #1580
- out_forward: Fix ack handling #1581
- plugin-config-format: Fix markdown format generator #1585
- config: Allow null byte in double-quoted string #1552
- parser: Support %iso8601 special case for time_format #1562
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
, withroot_dir
configuration #1438 - Improve test stability #1426
- 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
isblock
#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 withrenew_time_key
#1433 - in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins #1365
- 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
- Fix to set process name of supervisor process #1380
- in_forward: Fix a bug not to handle "require_ack_response" correctly #1389
- 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
- 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
- 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
- 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
- Add msgpack_each to buffer chunks in compat-layer output plugins #1273
- 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
- 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
- in_tail: Add a missing parser_multiline require #1212
- forward: Mark secret parameters of forward plugins as secret #1209
- 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
- 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
- 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
- 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
- Fix the dependency for ServerEngine 1.x
- 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
- 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
- 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
- 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
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
- 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
- Fix dependencies between files #799 #808 #823 #824 #825 #826 #828 #859 #892
- Separate PluginId from config #832
- Separate MessagePack factory from Engine #871
- Register plugins to registry #838
- Move TypeConverter mixin to mixin.rb #842
- Override default configurations by
<system>
#854 - Suppress Ruby level warnings #846 #852 #890 #946 #955 #966
See https://github.com/fluent/fluentd/blob/v0.12/CHANGELOG.md for v0.12 changelog