- out_forward: Remove debug print
- Disable tracepoint feature to omit unnecessary insts #1764
- in_udp: Add receive_buffer_size parameter #1788
- in_tail: Ensure close temporaly opened IO object #1756
- in_tail: Explicitly update position to 0 when the file is truncated #1791
- in_tail: Properly handle moved back and truncated case #1793
- out_forward: Rebuild weight array to apply server setting properly #1784
- in_udp: Add remove_newline parameter #1748
- out_forward: Fix elapsed time miscalculation in tcp heartbeat #1738
- in_tail: Skip setup failed watcher to avoid resource leak and log bloat #1752
- agent: Add error location to emit error logs #1746
- filter_parser: Fix dumpped result for avoiding escape sequence injection #1733
- 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
- plugin: Fix load order to avoid file not found when plugins have own native extension #1670
- in_syslog: Add Add allow_without_priority and default_priority parameters #1608
- in_syslog: More characters are available in tag part of syslog format #1609
- in_syslog: Add resolve_hostname and source_address_key parameters #1615
- filter_grep: Support new configuration format by config_section #1627
- parser: Add rfc5424 regex without priority #1601
- in_tail: fix timing issue that the excluded_path doesn't apply. #1597
- in_tail: Detach watchers before updating watcher to avoid broken pos file #1598
- config: Allow null byte in double-quoted string #1552
- parser: Support %iso8601 special case for time_format #1562
- in_tail: Add ignore_repeated_permission_error parameter #1574
- in_monitor_agent: Enable in_monitor_agent to find plugin type from its class #1564
- Ruby 2.4 warns to forward private methods #1579
- log: Add missing '<<' method to delegators #1558
- in_http: Fix X-Forwarded-For header handling. Accpet multiple headers #1535
- in_tail: Do not warn that directories are unreadable #1540
- in_syslog/in_udp/in_tcp: Fix hostname lookup and unify parameter name to source_hostname_key #1515
- in_http: Support application/msgpack header #1506
- engine: Label's plugins should be flushed when receive signal #1508
- parser_syslog: Backport 'Support rfc5424 syslog format' #1495
- in_forward: Add source_address_key and fix source_hostname_key parameters #1490
- in_tail: Skip directories when use */ in path #1464
- in_tail: Add limit_recently_modified parameter to limit watching files #1474
- in_tail: Skip the refresh of watching list on startup #1487
- parser: Allow escape sequence in Apache access log #1479
- log: Add Fluent::Log#<< to support some SDKs #1478
- config: Set encoding forcefully to avoid UndefinedConversionError #1477
- formatter: Port add_newline parameter to v012 #1447
- record_transformer: remove_keys processing should be last #1433
- in_tail: Capture unmatched lines #1421
- in_monitor_agent: Port #1393 to v0.12 for with_ivars query paretemer #1402
- in_monitor_agent: Port #1387 to v0.12 for retry field #1387
- Allow msgpack-ruby v1
- in_exec: Ensure to sleep for prevending fork bomb #1348
- output: Add slow_flush_log_threshold parameter #1366
- formatter_csv: Change fields parameter to required. Now accepts both a,b and ["a", "b"] #1361
- in_syslog: Add "priority_key" and "facility_key" parameters #1351
- in_tail: Optimize to split lines #1325
- in_monitor_agent: Port #1317 changes #1317
- filter_parser: Add emit_invalid_record_to_error parameter #1339
- test: Add v0.14 compatible test helpers #1322
- in_tail: Add from_encoding parameter #1067
- filter: Port parser filter to v0.12 #1203
- config: New config_param options to specify deprecated/obsoleted parameters #1186
- config: fix to raise ConfigError for type missing, and its tests #1202
- filter_record_transformer: Fix to prevent overwriting reserved placeholder keys such as tag #1176
- in_forward: Add source_hostname_key parameter #807
- parser: Ensure strict mode is used for Oj parser #1147
- config: Add simplified syntax for hash and array #939
- config: Add include support for Ruby DSL #950
- in_http: Add support of X-Forwarded-For header #1051
- in_syslog: Add message_length_limit option to receive longer udp syslog messages #1128
- test: Fix test for TimeSlicedOutput #941
- example: Use
@type
in example confs #1043 - Fix regression of fluent-debug command #1046
- config: Fix wrong message for unsupported parameter #1132
- Fix regression of not require sigdump
- process: Add detach_process_forward_interval parameter to control emit interval #982
- Fix string-scrub dependency for ruby 2.0 or earlier support #986
- buffer: Add drop_oldest_chunk to buffer_queue_full_action parameter #934
- in_tail: Add "encoding" parameter #889
- in_tail: Add "path_key" patameter #951
- in_monitor_agent: Add emit_config parameter to emit plugin configuration together #963
- config: Support multiline string in " quoted string #929
- in_http: Add 'Access-Control-Allow-Origin' to response header #882
- parser: Fix logger on Fluent::StringUtil to use $log #926
- out_forward: Add missing error class definition #953
- supervisor: Require fcntl library for daemonize #845
- output: Use error stream in TimeSlicedOutput#emit #791
- in_tail: Avoid unnecessary open call #788
- in_tail: Add enable_watch_timer option #811
- filter_record_transformer: Relax conditions which auto_typecast is applied when enable_ruby yes #817
- Backport v0.14 refactoring changes
- in_tail: Fix input messages loss when receive_lines fail with BufferQueueLimitError #810
- in_monitor_agent: Remove unnecessary fields from API response with debug mode #802
- filter_record_transformer: Fix record_transformer to be thread-safe #816
- in_forward: Add skip_invalid_event paramter to check and skip invalid event #776
- in_tail: Add multiline_flush_interval parameter for periodic flush with multiline format #775
- filter_record_transformer: Improve ruby placeholder performance and adding 'record["key"]' syntax #766
- Add on_exit_process hook point to DetachProcessMixin #757
- Add descriptions to BufferedOutput and TimeSlicedOutput #759 #760
- parser: Don't use BigDecimal in JSON parsing result with Oj #778
- config: Fix the regression of unused parameter warning inside sub section #765
- input: Standardize logging level for source configs #743
- buffer: Add buffer_queue_full_action parameter #745
- parser/formatter: Use 'oj' when oj is installed in json parser/formatter #748
- fluent-cat: fix the regression of --msgpack option #747
- in_exec: Stop in_exec immediately at shutdown #526
- in_exec: Support built-in text parsers #704
- out_forward: raises ZeroDivisionError when no is available #707
- Add process_name parameter in system to change fluentd's process name #708
- test: Add ParserTestDriver #702
- test: Add FormatterTestDriver #712
- Add parameter description to built-in plugins
- fix bug not to protect in-memory-buffer for multi thread emitting / run loop #710
- in_tail: expand_paths exclude unreadable files #734
- Engine: Add Engine#msgpack_factory for v0.14 compatibility #693
- Log shutdown plugin info to check shutdown sequence #689
- in_monitor_agent: Emit plugin info to use existing plugins #670
- config: Improve describing plugin parameters #683
- Tempfile should be binary mode #691
- filter_record_transformer: Don't use popular name to prevent field overwrite when enable_ruby is true #687
- parser: Add null_value_pattern and null_empty_string option for ltsv, csv and tsv. #657
- RPC: Implement /api/config.dump and /api/config.getDump APIs to dump in memory config #666
- Add --show-plugin-config option #663
- in_http: Fix add_remote_addr and add_http_headers options not working on bulk request #673
- parser: RegexpParser#initialize should wrap only Hash configuration #647
- in_status: Warn deprecation message #635
- output: Modify TimeSlicedOutput#emit mechanizm to fit BufferedOutput#emit way #634
- config: Log unused section configuration as warn level #629
- config: Add '@' to log_level. Keep log_level for backward compatibility #630
- parser: Add time_key option for RegexpParser #588
- out_forward: Add 'dns_round_robin' option #632
- out_stdout: Support formatter plugins in out_stdout #617
- filter_record_transformer: Add "auto_typecast" parameter #620
- out_forward: Support DNS round robin #625
- out_forward: Support heartbeat_type none to disable heartbeat #626
- config: Fix secret option to support config_section #628
- in_forward: Add chunk format check #611
- formatter: Fix SingleValueFormatter to prevent record from modified #615
- config: configure requires Config::Element, not Hash #616
- filter_record_transformer: add renew_time_key option to replace event time with processed field #602
- config: add config_param
enum
type #600
- in_tail: Add read_lines_limit parameter to control chunk size #593
- filter: add filter_stdout plugin #586
- parser: add keep_time_key option #587
- parser: keys parameter accepts json array configuration #592
- Implement RPC server for better instance management #585
- out_file: Fix out_file can create directory recursively #595
- output: Support millisecond for try_flush_interval and queued_chunk_flush_interval #568
- filter_record_transformer: Support fields which start with @ #574
- config: Add final attribute to prevent config overwritten by subclass #583
- config: fix embedded code parsing #564
- out_forward: Resend chunks on dropped connection when wait ACK #580
- in_tail: Add exclude_path option to support exclusion of files #561
- filter_record_transformer: Support placeholders in record keys #558
- out_forward: Should handle ECONNREFUSED exeception on TCP heartbeat
- test: BufferedOutputTestDriver must use correct buffer chunk type
- in_tail: Enable multiline mode if format contains 'multiline' #545
- event: Improve EventStream#to_msgpack_stream performance #549
- engine: Add tag information emit log
- Update msgpack dependency to avoid incompatible encoding problem #550
- Support 64bit inode environment in in_tail #542
- Fix ThreadError occuring on Signal.trap SIGHUP #541
- parser: nginx and apache2 format can now parse access log without http-version #535
- filter_record_transformer: Allow non-string values like array / hash #530
- plugin: Add writable check for path related parameter #401
- command: -g and -G now works in embedded Ruby environment like Treasure Agent #423
- buffer: Fix to flush a buffer by USR1 signal even on retrying #531
- buffer: Fix TimeSlicedOutput doesn't flush with SIGUSR1 #533
- buffer: Fix broken calc_retry_wait if Integer is used for retry_wait parameter #529
- engine: Fix SIGHUP does not reload config #537
- filter: Change filter behaviour. If filter method returns nil, its record is removed from stream. #515
- in_monitor_agent: Render filter plugins #514
- test: FilterTestDriver has run, emit and getting result methods #519
- test: Support @label by TestDriver #517
- plugin: Fix router is nil inside out_copy, out_roundrobin, and BufferedOutput secondary #508
- config: Introduce @type and @id parameter for system parameter. type and id are still valid.
- Filter: old tag trick of "using output plugins as filter" is no longer needed v0.12.0 ships with grep and record_transformer filter plugins
- Label: grouping Filter and Output plugins to reduce the complexity of event routing @ERROR built-in label is also added to handle errors in emit Add emit_error_event API to send invalid record to @ERROR
- in_forward/out_forward: Add require_ack_response and ack_response_timeout for At-least-once semantics
Here is the announcement for above new features: http://www.fluentd.org/blog/fluentd-v0.12-is-released
- parser/formatter: Add base class and Plugin.new_xxx/Plugin.register_xxx APIs #495 #497
- formatter: Add new CSV formatter #489
- formatter: Add msgpack format to built-in Formatter to dump records #479
- input: Add in_dummy plugin #484
- in_http: Add respond_with_empty_img parameter to return empty gif image #480
- in_http: Add cors_allow_origins parameter to support CORS request #473
- output: Add relable output plugin #417
- config: Add self.name to configure_proxy error message #490
- log: --suppress-repeated-stacktrace is true by default #446
- Update msgpack to v0.5 and cool.io to v1.2
- config: Fix system config using double memory #496
- config: Fix v1 config to support multiple tag match #478
- config: Fix Config.bool_value regression for nil value #477
- parser: Fix blank column handling of TSVParser #506
- buffer: Prevent an exception with large num_retries #502
- out_file: Don't create world writable directory in daemon mode #483
See https://github.com/fluent/fluentd/blob/v0.10/ChangeLog for v0.10 changelog