# v0.12 ## Release 0.12.25 - 2016/05/25 ### New features / Enhancement * process: Add detach_process_forward_interval parameter to control emit interval https://github.com/fluent/fluentd/pull/982 ### Bug fixes * Fix string-scrub dependency for ruby 2.0 or earlier support https://github.com/fluent/fluentd/pull/986 ## Release 0.12.24 - 2016/05/20 ### New features / Enhancement * buffer: Add drop_oldest_chunk to buffer_queue_full_action parameter https://github.com/fluent/fluentd/pull/934 * in_tail: Add "encoding" parameter https://github.com/fluent/fluentd/pull/889 * in_tail: Add "path_key" patameter https://github.com/fluent/fluentd/pull/951 * in_monitor_agent: Add emit_config parameter to emit plugin configuration together https://github.com/fluent/fluentd/pull/963 * config: Support multiline string in " quoted string https://github.com/fluent/fluentd/pull/929 ### Bug fixes * in_http: Add 'Access-Control-Allow-Origin' to response header https://github.com/fluent/fluentd/pull/882 * parser: Fix logger on Fluent::StringUtil to use $log https://github.com/fluent/fluentd/pull/926 * out_forward: Add missing error class definition https://github.com/fluent/fluentd/pull/953 ## Release 0.12.23 - 2016/05/03 ### Bug fixes * Fix string-scrub dependency on ruby > 2 https://github.com/fluent/fluentd/pull/933 * fluent-debug: Fix regression https://github.com/fluent/fluentd/pull/894 ## Release 0.12.22 - 2016/03/10 ### Bug fixes * supervisor: Require fcntl library for daemonize https://github.com/fluent/fluentd/pull/845 ## Release 0.12.21 - 2016/03/03 ### New features / Enhancement * output: Use error stream in TimeSlicedOutput#emit https://github.com/fluent/fluentd/pull/791 * in_tail: Avoid unnecessary open call https://github.com/fluent/fluentd/pull/788 * in_tail: Add enable_watch_timer option https://github.com/fluent/fluentd/pull/811 * filter_record_transformer: Relax conditions which auto_typecast is applied when enable_ruby yes https://github.com/fluent/fluentd/pull/817 * Backport v0.14 refactoring changes ### Bug fixes * in_tail: Fix input messages loss when receive_lines fail with BufferQueueLimitError https://github.com/fluent/fluentd/pull/810 * in_monitor_agent: Remove unnecessary fields from API response with debug mode https://github.com/fluent/fluentd/pull/802 * filter_record_transformer: Fix record_transformer to be thread-safe https://github.com/fluent/fluentd/pull/816 ## Release 0.12.20 - 2016/01/26 ### New features / Enhancement * in_forward: Add skip_invalid_event paramter to check and skip invalid event https://github.com/fluent/fluentd/pull/776 * in_tail: Add multiline_flush_interval parameter for periodic flush with multiline format https://github.com/fluent/fluentd/pull/775 * filter_record_transformer: Improve ruby placeholder performance and adding 'record["key"]' syntax https://github.com/fluent/fluentd/pull/766 * Add on_exit_process hook point to DetachProcessMixin https://github.com/fluent/fluentd/pull/757 * Add descriptions to BufferedOutput and TimeSlicedOutput https://github.com/fluent/fluentd/pull/759 https://github.com/fluent/fluentd/pull/760 ### Bug fixes * parser: Don't use BigDecimal in JSON parsing result with Oj https://github.com/fluent/fluentd/pull/778 * config: Fix the regression of unused parameter warning inside sub section https://github.com/fluent/fluentd/pull/765 ## Release 0.12.19 - 2015/12/21 ### New features / Enhancement * input: Standardize logging level for source configs https://github.com/fluent/fluentd/pull/743 * buffer: Add buffer_queue_full_action parameter https://github.com/fluent/fluentd/pull/745 * parser/formatter: Use 'oj' when oj is installed in json parser/formatter https://github.com/fluent/fluentd/pull/748 ### Bug fixes * fluent-cat: fix the regression of --msgpack option https://github.com/fluent/fluentd/pull/747 ## Release 0.12.18 - 2015/12/09 ### New features / Enhancement * in_exec: Stop in_exec immediately at shutdown https://github.com/fluent/fluentd/pull/526 * in_exec: Support built-in text parsers https://github.com/fluent/fluentd/pull/704 * out_forward: raises ZeroDivisionError when no is available https://github.com/fluent/fluentd/pull/707 * Add process_name parameter in system to change fluentd's process name https://github.com/fluent/fluentd/pull/708 * test: Add ParserTestDriver https://github.com/fluent/fluentd/pull/702 * test: Add FormatterTestDriver https://github.com/fluent/fluentd/pull/712 * Add parameter description to built-in plugins ### Bug fixes * fix bug not to protect in-memory-buffer for multi thread emitting / run loop https://github.com/fluent/fluentd/pull/710 * in_tail: expand_paths exclude unreadable files https://github.com/fluent/fluentd/pull/734 ## Release 0.12.17 - 2015/11/04 ### New features / Enhancement * Engine: Add Engine#msgpack_factory for v0.14 compatibility https://github.com/fluent/fluentd/pull/693 * Log shutdown plugin info to check shutdown sequence https://github.com/fluent/fluentd/pull/689 * in_monitor_agent: Emit plugin info to use existing plugins https://github.com/fluent/fluentd/pull/670 * config: Improve describing plugin parameters https://github.com/fluent/fluentd/pull/683 ### Bug fixes * Tempfile should be binary mode https://github.com/fluent/fluentd/pull/691 * filter_record_transformer: Don't use popular name to prevent field overwrite when enable_ruby is true https://github.com/fluent/fluentd/pull/687 ## Release 0.12.16 - 2015/09/30 ### New features / Enhancement * parser: Add null_value_pattern and null_empty_string option for ltsv, csv and tsv. https://github.com/fluent/fluentd/pull/657 * RPC: Implement /api/config.dump and /api/config.getDump APIs to dump in memory config https://github.com/fluent/fluentd/pull/666 * Add --show-plugin-config option https://github.com/fluent/fluentd/pull/663 ### Bug fixes * in_http: Fix add_remote_addr and add_http_headers options not working on bulk request https://github.com/fluent/fluentd/pull/673 * parser: RegexpParser#initialize should wrap only Hash configuration https://github.com/fluent/fluentd/pull/647 ## Release 0.12.15 - 2015/07/29 ### New features / Enhancement * in_status: Warn deprecation message https://github.com/fluent/fluentd/pull/635 * output: Modify TimeSlicedOutput#emit mechanizm to fit BufferedOutput#emit way https://github.com/fluent/fluentd/pull/634 ## Release 0.12.14 - 2015/07/17 ### New features / Enhancement * config: Log unused section configuration as warn level https://github.com/fluent/fluentd/pull/629 * config: Add '@' to log_level. Keep log_level for backward compatibility https://github.com/fluent/fluentd/pull/630 * parser: Add time_key option for RegexpParser https://github.com/fluent/fluentd/pull/588 ### Bug fixes * out_forward: Add 'dns_round_robin' option https://github.com/fluent/fluentd/pull/632 ## Release 0.12.13 - 2015/07/09 ### New features / Enhancement * out_stdout: Support formatter plugins in out_stdout https://github.com/fluent/fluentd/pull/617 * filter_record_transformer: Add "auto_typecast" parameter https://github.com/fluent/fluentd/pull/620 * out_forward: Support DNS round robin https://github.com/fluent/fluentd/pull/625 * out_forward: Support heartbeat_type none to disable heartbeat https://github.com/fluent/fluentd/pull/626 ### Bug fixes * config: Fix secret option to support config_section https://github.com/fluent/fluentd/pull/628 ## Release 0.12.12 - 2015/06/12 ### New features / Enhancement * in_forward: Add chunk format check https://github.com/fluent/fluentd/pull/611 ### Bug fixes * formatter: Fix SingleValueFormatter to prevent record from modified https://github.com/fluent/fluentd/pull/615 * config: configure requires Config::Element, not Hash https://github.com/fluent/fluentd/pull/616 ## Release 0.12.11 - 2015/06/01 ### New features / Enhancement * fluent-cat: Add none format https://github.com/fluent/fluentd/pull/606 * config: Add secret option https://github.com/fluent/fluentd/pull/604 ## Release 0.12.10 - 2015/05/28 ### New features / Enhancement * filter_record_transformer: add renew_time_key option to replace event time with processed field https://github.com/fluent/fluentd/pull/602 * config: add config_param `enum` type https://github.com/fluent/fluentd/pull/600 ## Release 0.12.9 - 2015/05/19 ### New features / Enhancement * in_tail: Add read_lines_limit parameter to control chunk size https://github.com/fluent/fluentd/pull/593 * filter: add filter_stdout plugin https://github.com/fluent/fluentd/pull/586 * parser: add keep_time_key option https://github.com/fluent/fluentd/pull/587 * parser: keys parameter accepts json array configuration https://github.com/fluent/fluentd/pull/592 * Implement RPC server for better instance management https://github.com/fluent/fluentd/pull/585 ### Bug fixes * out_file: Fix out_file can create directory recursively https://github.com/fluent/fluentd/pull/595 ## Release 0.12.8 - 2015/04/22 ### New features / Enhancement * output: Support millisecond for try_flush_interval and queued_chunk_flush_interval https://github.com/fluent/fluentd/pull/568 * filter_record_transformer: Support fields which start with @ https://github.com/fluent/fluentd/pull/574 * config: Add final attribute to prevent config overwritten by subclass https://github.com/fluent/fluentd/pull/583 ### Bug fixes * config: fix embedded code parsing https://github.com/fluent/fluentd/pull/564 * out_forward: Resend chunks on dropped connection when wait ACK https://github.com/fluent/fluentd/pull/580 ## Release 0.12.7 - 2015/03/22 ### New features / Enhancement * in_tail: Add exclude_path option to support exclusion of files https://github.com/fluent/fluentd/pull/561 * filter_record_transformer: Support placeholders in record keys https://github.com/fluent/fluentd/pull/558 ## Release 0.12.6 - 2015/03/03 ### Bug fixes * out_forward: Should handle ECONNREFUSED exeception on TCP heartbeat * test: BufferedOutputTestDriver must use correct buffer chunk type ## Release 0.12.5 - 2015/02/09 ### New features / Enhancement * in_tail: Enable multiline mode if format contains 'multiline' https://github.com/fluent/fluentd/pull/545 * event: Improve EventStream#to_msgpack_stream performance https://github.com/fluent/fluentd/pull/549 * engine: Add tag information emit log ### Bug fixes * Update msgpack dependency to avoid incompatible encoding problem https://github.com/fluent/fluentd/pull/550 ## Release 0.12.4 - 2015/01/23 ### New features / Enhancement * Support 64bit inode environment in in_tail https://github.com/fluent/fluentd/pull/542 ### Bug fixes * Fix ThreadError occuring on Signal.trap SIGHUP https://github.com/fluent/fluentd/pull/541 ## Release 0.12.3 - 2015/01/16 ### New features / Enhancement * parser: nginx and apache2 format can now parse access log without http-version https://github.com/fluent/fluentd/pull/535 * filter_record_transformer: Allow non-string values like array / hash https://github.com/fluent/fluentd/pull/530 * plugin: Add writable check for path related parameter https://github.com/fluent/fluentd/pull/401 * command: -g and -G now works in embedded Ruby environment like Treasure Agent https://github.com/fluent/fluentd/pull/423 ### Bug fixes * buffer: Fix to flush a buffer by USR1 signal even on retrying https://github.com/fluent/fluentd/pull/531 * buffer: Fix TimeSlicedOutput doesn't flush with SIGUSR1 https://github.com/fluent/fluentd/pull/533 * buffer: Fix broken calc_retry_wait if Integer is used for retry_wait parameter https://github.com/fluent/fluentd/pull/529 * engine: Fix SIGHUP does not reload config https://github.com/fluent/fluentd/pull/537 ## Release 0.12.2 - 2014/12/20 ### New Features / Enhancement * filter: Change filter behaviour. If filter method returns nil, its record is removed from stream. https://github.com/fluent/fluentd/pull/515 * in_monitor_agent: Render filter plugins https://github.com/fluent/fluentd/pull/514 * test: FilterTestDriver has run, emit and getting result methods https://github.com/fluent/fluentd/pull/519 ### Bug fixes * test: Support @label by TestDriver https://github.com/fluent/fluentd/pull/517 ## Release 0.12.1 - 2014/12/14 ### Bug fixes * plugin: Fix router is nil inside out_copy, out_roundrobin, and BufferedOutput secondary https://github.com/fluent/fluentd/pull/508 ## Release 0.12.0 - 2014/12/12 ### New Features / Enhancement * 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 https://github.com/fluent/fluentd/pull/495 https://github.com/fluent/fluentd/pull/497 * formatter: Add new CSV formatter https://github.com/fluent/fluentd/pull/489 * formatter: Add msgpack format to built-in Formatter to dump records https://github.com/fluent/fluentd/pull/479 * input: Add in_dummy plugin https://github.com/fluent/fluentd/pull/484 * in_http: Add respond_with_empty_img parameter to return empty gif image https://github.com/fluent/fluentd/pull/480 * in_http: Add cors_allow_origins parameter to support CORS request https://github.com/fluent/fluentd/pull/473 * output: Add relable output plugin https://github.com/fluent/fluentd/pull/417 * config: Add self.name to configure_proxy error message https://github.com/fluent/fluentd/pull/490 * log: --suppress-repeated-stacktrace is true by default https://github.com/fluent/fluentd/pull/446 * Update msgpack to v0.5 and cool.io to v1.2 ### Bug fixes * config: Fix system config using double memory https://github.com/fluent/fluentd/pull/496 * config: Fix v1 config to support multiple tag match https://github.com/fluent/fluentd/pull/478 * config: Fix Config.bool_value regression for nil value https://github.com/fluent/fluentd/pull/477 * parser: Fix blank column handling of TSVParser https://github.com/fluent/fluentd/pull/506 * buffer: Prevent an exception with large num_retries https://github.com/fluent/fluentd/pull/502 * out_file: Don't create world writable directory in daemon mode https://github.com/fluent/fluentd/pull/483 # v0.10 Release 0.10.57 - 2014/11/13 * buffer: Make `total_queued_chunk_size` thread-safe to avoid race condition with `in_monitor_agent` https://github.com/fluent/fluentd/pull/469 * Add `--no-supervisor` option to disable the supervisor for supervision tools like runit https://github.com/fluent/fluentd/pull/449 0.10.57 was a bug fix release. Release 0.10.56 - 2014/10/31 * config: Add Fluent::Config::Section#object_id to avoid NoMethodError by object dump tools https://github.com/fluent/fluentd/pull/460 * mixin: Fix SetTagKeyMixin and SetTimeKeyMixin which ignores config_set_default since 0.10.53 https://github.com/fluent/fluentd/pull/462 * input/output: Support 'timezone' configuration parameter (e.g. "+09:00" for JST) https://github.com/fluent/fluentd/pull/430 * log: Use plugin_id instead of object_id in log message for consistency with in_monitor_agent https://github.com/fluent/fluentd/pull/459 Release 0.10.55 - 2014/10/16 * config: Change v1's non-quoted string literal behaviour to v0's behaviour https://github.com/fluent/fluentd/pull/436 * config: Relax '@' handling in the plugin configuration for backward compatibility https://github.com/fluent/fluentd/pull/455 * config: Add --use-v0-config for keeping old configuration https://github.com/fluent/fluentd/pull/434 * config: Add single quoted literal in v1 configuration https://github.com/fluent/fluentd/pull/437 * config: Improve error message of Array / Hash parse error https://github.com/fluent/fluentd/pull/457 * input: Reduce shutdown time in some network related plugins when use Cool.io 1.2 https://github.com/fluent/fluentd/pull/440 * parser: Use ParserError instead of general exception classes https://github.com/fluent/fluentd/pull/453 * Remove unused zfile buffer plugin https://github.com/fluent/fluentd/pull/445 Release 0.10.54 - skipped Release 0.10.53 - 2014/08/21 * in_tail: Fix forget to detach Closer timer object * in_debug_agent: Fix config_param type of unix_path * in_syslog: Add include_source_host and source_host_Key options * config: Dump V1 escaped parameter correctly at start phase * config: Fix bug for config_param of bool value without defaults * config: Add 'alias' option to config_section and config_param * buffer: Add 'disable_retry_limit' option * engine: Reduce memory usage when retry_limit is large * parser: Add apache_error format * supervisor: Dump Fluentd version at dry run mode * test: InputTestDriver wait 'run' until input plugin emits all test data Release 0.10.52 - 2014/07/15 * in_tail: Fix typo of warning argument. lb to line * config: Fix 'uninitialized constant Fluent::Config::V1Parser::URI' error * config: Reject '@' prefix of parameter name in V1 configuration. @ is reserved prefix. * config; Accept '#' comment in array and hash types * parser: Add time_format option to SyslogParser * parser: SyslogParser now makes ':' optional after pid * process: Fix 'mutex can't lock' issue of DetachMultiProcessMixin on Ruby 2.x * Add --without-source option to ignore sections Release 0.10.51 - 2014/07/04 * in_tail: Fix rotation handling when new file not found * in_syslog: Change debug log level to warn at pattern mismatch * formatter: Use localtime by default * parser: Add SyslogParser * parser: Add "estimate_current_event" attribute to TextParsers not to set current time into parse result * config: Add section to set core parameters via configuration file * test: Support v1 configuration in TestDriver * Add udp and tcp input plugins Release 0.10.50 - 2014/06/17 * in_tail: Fix race condition at shutdown * in_tail: read_from_head now works without pos_file * in_tail: Fix multiline format parsing without format_firstline * formatter: Add add_newline option to SingleValueFormatter * parser: Add block based API to support multi-events parsing * config: Fix encoding mismatch when @include used in v1 * engine: Serialize shutdown order. Now shutdown input plugins first * Update rspec to 3.x Release 0.10.49 - 2014/06/05 * in_http: Add format option to support various input data format * in_http: Accept json / msgpack array in default format * in_tail: Print warning message when file not exist with 'read_from_head true' * out_file: Add append option to disable path increment * out_file: Add format option to support various output data format * config: Fix broken 'include' processing in V1 configuration. Now add @include * fluentd-debug: Fix undefined method 'usage' error when invalid option passed * supervisor: Fix incorrect --group option handling * Add TextFormatter module for output plugins Release 0.10.48 - 2014/05/18 * config: Add inspect method to Section for dumping the status * test: Fix the regression which forget to initialize $log in fluent/test.rb * Engine: Remove undocumented legacy plugin load mechanizm Release 0.10.47 - 2014/05/15 * in_tail: Fix typo in flush_buffer * in_forward: Add chunk_size_warn_limit and chunk_size_limit for large chunks * in_monitor_agent: Add /api/config APIs to expose Fluentd configurations * supervisor: Add Supervisor.default_options to return default Fluentd options * test: Add DummyLogDevise and improve log handling in tests * config: Allow empty string value like `tag_mapped` in v1 configuration Release 0.10.46 - 2014/04/21 * in_tail: Fix typo in rescue for dumping backtrace * in_forward: Add blocking_timeout option to avoid Cool.io loop stuck in shutdown * out_forward: Add phi_failure_detector option to disable "The Phi accrual failure detector" * buf_memory: Add flush_at_shutdown option to discard buffered event at shutdown * parser: Use Engine.now when time_key is missing in ValuesParser * parser: TextParser loads fluent/plugin/parser_xxx.rb automatically when 'xxx' format not found * Fix match cache expiration * Add new v1 configuration format and --use-v1-config option to enable v1 configuration format * Add config_section to Configurable to support nested parameters in plugins * Relax http_parser.rb gem version to support 0.6 series Release 0.10.45 - 2014/03/28 * in_tail: Merge in_tail_ex and in_tail_multiline features * in_forward: Add linger_timeout option * out_exec: Support json and msgpack format * Engine: Fix signal handling when receives SIGTERM before loop starts * Use correct out_forward option in fluent.conf with --setup option * Ignore sigdump exception on signal unsupported environment Release 0.10.44 - 2014/02/26 * in_forward: Print remote address and port in trace log * Remove several methods from fluentd-debug to call remote object method directly * Add --gemfile option to manage Fluentd and plugins using Gemfile and Bundler * Add directive to include the configuration file under the elements * Add 'ruby' keyword to call Kernel method in configuration DSL * Relax Cool.io gem version to allow 1.2.x Release 0.10.43 - 2014/02/03 * Input/Output: Add 'log_level' option to plugins * parser/in_tail: Fix RegexpParser forget to call configure method * parser/in_tail: Improve type conversion performance * in_http: Add add_http_headers option to add HTTP headers to record * Buffer: Improve submit_buffer throughput using round-robin writer selection * add sigdump gem to dump useful information via SIGCONT Release 0.10.42 - 2013/12/25 * parser/in_tail: Add 'types' and related parameters to convert record value type * in_syslog: Add 'protocol_type' option for TCP support. * Buffer: Extract 'storable?' method for hook judge mechanizm by 3rd-party buffer plugins. * Output: Add 'try_flush_interval' parameter for high frequency flush. It is undocumented because almost users never need this feature. * Change configuration unused checking to prevent memory leak when a plugin accesses configuratino keys. Release 0.10.41 - 2013/12/05 * BufferedOutput: Add 'max_retry_wait' to limit retry interval * in_exec/object_space/syslog: Improve emit error message * Log: Add --suppress-repeated-stacktrace option to prevent log size explosion Release 0.10.40 - 2013/11/08 * Dump gem version of fluent-plugin-xxx and fluent-mixin-xxx * in_http: Doesn't set REMOTE_ADDR when IO#getpeername failed * in_tail/parser: Fix RegexpParser which ignores time_format parameter * in_exec: Catch error and dumps error message in run_periodic * in_forward: Show error class in the error message * in_exec/out_exec_filter: Catch more exceptions, not only Errno::ESRCH, at shutdown * Log: Catch exception for log event handling at shutdown Release 0.10.39 - 2013/09/18 * out_file: Improve symlink handling with buf_file * out_copy: Add deep_copy parameter for actual record copy * in_tail/parser: Add none format for supporting non-parse tailing like fluent-agent-lite * in_tail/parser: Improve performance using parsed time caching * Engine: Fix signal related exception in trap context at Ruby 2.0 * buffer: Fix race condition when remove flushed chunk * add --suppress-config-dump option to disable dump configuration at start Release 0.10.38 - 2013/08/29 * Fix require related problem in running test Release 0.10.37 - 2013/08/29 * in_exec: Add format option to support tsv, json and msgpack. Default is tsv * out_stdout: Add output_type to print non-jsonable object * Engine: Skip nil record in emit * Check buffere_path duplication across buffer configurations. * Add experimental DSL to configuration format Release 0.10.36 - 2013/07/31 * Log: add class name on each error logs * out_foward: change log level of node detachment/recovering/standby-failover from info to warn * out_file: add symlink_path parameter to point to latest written file * in_forward, in_http, in_unix: add backlog parameter to change resource backlog size * add --dry-run option to check fluentd setup without actual run * Fluentd now assumes configuration file written in UTF-8 * update cool.io version to 1.1.1 Release 0.10.35 - 2013/06/12 * Log: emits fluentd's log via background thread * Log: use #inspect for non to_msgpack-able object in log event processing * FailureDetector/out_forward: fixed wrong phi calculation * in_stream: fixed unix domain connection leak when parsing json or msgpack failed * buf_file/out_file: sets 0644 permission to each created file for preventing File.umask(0) effect at daemonize mode Release 0.10.34 - 2013/06/03 * fluentd: supports --emit-error-log-interval to suppress log messages with the same message for a certain seconds * BufferedOutput: fixed warning messages so that errors with the same meaning use the same message * Log: ignores ThreadError which could happen in signal handler * Engine: prevents signal handlers from calling stop() method of plugins twice * MessagePackEventStream/in_forward: doesn't cache MessagePack::Unpacker (if it uses msgpack-0.5.5 which doesn't cause performance impact) to not cause problems with out_copy * TextParser/in_tail,in_syslog: 'json' format type removes time key from records * TextParser/in_tail,in_syslog: raises exception if time_format is set while time_key is not set * in_tail: fixed minor bugs Release 0.10.33 - 2013/03/28 * added in_monitor_agent * switched from jeweler to bundler * updated dependency for msgpack from '~> 0.4.4' to '~> 0.4.4 OR ~> 0.5.4' * added PluginId module so that in_monitor_agent can search plugins by id * BufferedOutput: added queued_chunk_flush_interval option to insert delay time before flushing queued chunks * BufferedOutput: randomize retry interval to prevent multiple servers from bursting network traffic at the same time * Configurable: sets @config instance variable Release 0.10.32 - 2013/03/04 * in_tail: fixed the nil error problem which occurs with pos_file option * TextParser/in_tail: supports 'ltsv' (Labeled Tab-Separated Values) format: http://ltsv.org * #105: TextParser/in_tail: fixed 'nginx' format * #102: show log level in log messages * Gemfile: uses https source of rubygems instead of http Release 0.10.31 - 2013/01/31 * out_forward: supports TCP heartbeat * in_tail reads rotated files from its head rather than its end when pos_file option is set * out_/in_ forward set O_NONBLOCK flag to the UDP heartbeat socket * Improved match cache expiration algorithm Release 0.10.30 - 2012/12/06 * Shows configuration file at start time * Changed ruby version dependency from ~> 1.9.2 to => 1.9.2 so that it works with ruby-2.0. * TimeSlicedOutput: overwrites default value of buffer_chunk_limit to 256m. fluent-plugin-s3 will be affected. * TextParser/in_tail: supports 'nginx' preset formats * in/out_forward and in_syslog: support IPv6 * out_forward: fixed a out of bounds bug Release 0.10.29 - 2012/11/26 * buf_file: added flush_at_shutdown option to force flush before shuttingdown * TextParser shows message in warn level if text doesn't match the pattern Release 0.10.28 - 2012/10/30 * in_http: on_request method can get headers as HTTP_* key and remote address as REMOTE_ADDR key of the params argument Release 0.10.27 - 2012/10/11 * added BufferChunk#unique_id which is an unique identifier of a buffered chunk * BufferedOutput: show 'temporarily failed' message Release 0.10.26 - 2012/09/26 * added in_debug_agent plugin and fluent-debug command which enable you to gather internal information of running Fluentd process using interactive shell * supervisor: --user commandline argument also inherits secondary groups (id -G) * out_forward: supports 'expire_dns_cache' option to set DNS expire time or disable caching. Default behavior is 'never expire' which is same as former versions * out_forward: assumes successful data transfer via TCP as a successful heartbeat. * out_forward: lazier failure detection: default phi_threshold 8 -> 10 * in_forward: uses other nodes aggressively if it couldn't send data to the first candidate to not stall during the wait time before detecting failure * in_forward: fixed shutdown procedure * in_tail: seeks to the saved position if detected log rotation actually didn't rotate the file (meaning inode doesn't change). this change enables cronolog to work with Fluentd. * in_tail: fixed a problem that it couldn't recover from uncaught exceptions caused by output plugins * fluentd command supports '-q' option to decrease log level Release 0.10.25 - 2012/07/23 * shutdown won't block * out_exec_filter supports 'child_respawn' option * in_tail doesn't remove whitespaces * out_roundrobin supports 'weight' option Release 0.10.24 - 2012/06/28 * TextParser/in_tail: supports 'tsv' and 'csv' preset formats * supervisor set FD_CLOEXEC to @wait_daemonize_pipe_w in case the child process forked during run_configure Release 0.10.23 - 2012/06/25 * out_exec_filter: show more error messages when child process unexpectedly exited * in_tail: Added 'apache2' format template which converts fields into integers or nil * TextParser creates a parser instance for each output for proper configuration * BufferedOutput: reset @flush_now flag * changed default buffer limit parameters: Fluentd core: buffer_chunk_limit 256MB -> 8MB buffer_queue_limit 128 -> 256 buf_memory: buffer_chunk_limit 32MB -> 8MB buffer_queue_limit 32 -> 64 out_file: buffer_chunk_limit -> 256MB Release 0.10.22 - 2012/05/02 * Fixed in_tail and TextParser not to raise "time_format is required" error * out_exec_filter: fixed JSONFormatter to add \n at the end of records * out_exec_filter: separated {tag_key,time_key,time_format} parameters to {in_,out_}{tag_key,time_key,time_format parameters while keeping compatibility Release 0.10.21 - 2012/05/01 * in_tail and TextParser support 'format json' * in_tail and TextParser support 'time_key' and 'time_format' parameters for 'format json' * in_tail: improved the file reader not to consume too much memory if the file is huge * out_stdout: uses logger instead of STDOUT to show records even if Fluentd is daemonized * Fixed the type of 'retry_wait' parameter of buffered output plugins from 'float' to 'time' * Fixed owner of log files for log rotation to work properly with --user and --group options Release 0.10.20 - 2012/04/27 * Fixed Config#to_s * out_exec_filter: supports 'out_format json' option * out_exec_filter: supports 'in_format json' option Release 0.10.19 - 2012/04/17 * Fixed in_syslog * in_tail: fixed "invalid byte sequence in US-ASCII" error * in_unix is not obsoleted Release 0.10.18 - 2012/04/13 * Use Yajl instead of standard json library to avoid encoding problem * buf_memory: call force_encoding('ASCII-8BIT') to avoid encoding problem Release 0.10.17 - 2012/04/02 * in_tail: don't ignore last line without LF [#44] * Added HandleTagNameMixin * Removed automake/conf style build support Maintainig automake/conf style files are complex, but no user. We've decided not to have those files anymore. Otherwise it's still used at rpm/deb packaging scripts. Release 0.10.16 - 2012/03/26 * Added in_gc plugin * Added in_object_space plugin * Changed dependency yajl-ruby from '~> 1.0.0' to '~> 1.0' Release 0.10.15 - 2012/03/09 * Added experimental in_status plugin * out_forward: normalize the phi value of the failure detector into 1sec * out_forward: improved memory efficiency * out_forward: use weighted moving average for the phi accrual failure detector Release 0.10.14 - 2012/03/05 * Show warnings if in_tcp or out_unix is used * BasicBuffer shows warnings when data.bytesize > @buffer_chunk_limit * out_forward: randomize roundrobin queue correctly * Added development dependencies to the gemspec Release 0.10.13 - 2012/02/21 * Rewrote in_tail * Fixed SIGUSR1 handler to force flush logs Release 0.10.12 - 2012/02/13 * Engine shows warnings when emitted record doesn't match any outputs * in_tail is rewritten to follow symbolic links correctly * out_forward uses independent default value as 'hard_timeout' parameter Release 0.10.11 - 2012/02/10 * out_forward supports 'standby' parameter * out_forward handles 'hard_timeout' correctly Release 0.10.10 - 2012/02/09 * in_forward and out_forward don't raise exceptions in callback handlers of cool.io not to stop Loop#run * TimeSlicedOutput ignores time_slice_wait if flush_interval is specified * in_tail follows symbolic links correctly * in_http supports "Content-Type: application/json" * TestDriver#run sleeps 0.5 seconds for the out_exec_filter plugin Release 0.10.9 - 2012/01/19 * Fixed TimeSlicedOutputTestDriver * Updated cool.io 1.0.0 -> 1.1.0 * TextParser: fixed regexp of syslog parser to work with rsyslog on CentOS * out_exec_filter: improve performance by using buffering * out_exec_filter: added num_children parameter * out_exec_filter: added remove_prefix/add_prefix parameters * out_tail: show warning if pos_file parameter is not set * out_copy: fixed problems when event stream is not repeatable Release 0.10.8 - 2011/12/03 * Added Supervisor: restart process on SIGHUP or unexpected end of process * Added -i commandline option which allows inline config * Added TimeSlicedOutputTestDriver * BufferedOutput outputs 'retry succeeded' message * Use Gem::Specification instead of Gem.searcher which is obsoleted * Added BasicBuffer#chunk_limit -> buffer_chunk_limit alias for backward compatibility * buf_file: fixed to work with keys which contains '/' Release 0.10.7 - 2011/11/16 * Supports multi-threaded on buffered output plugins ('num_threads') * Supports multi-process on input plugins ('detach_process') * Added ObjectBufferedOutput * Ensure to call 'shutdown' method of started plugins * in_tail supports 'pos_file' option that stores read position to a file Release 0.10.6 - 2011/11/11 * Fixed --group NAME cmdline argument * Run configure(conf) after changing user and group * Fixed SIGHUP handling * BasicBuffer plugin uses Configurable module * buf_file uses microseconds + 12 bits random number for unique file name Release 0.10.5 - 2011/11/08 * Added out_forward, in_forward * Added out_exec, in_exec * Added out_exec_filter Release 0.10.4 - 2011/11/07 * TestDriver uses klass.dup.module_eval instead of inheriting class to override methods * fixed encoding problem of String#[] in FileBufferChunk#<<(data) Release 0.10.3 - 2011/10/21 * Supports 'include' in config file * Supports "http://" schema * Supports wildcards Release 0.10.2 - 2011/10/18 * Fixed EventStream#to_msgpack_stream (thanks CkReal) * Added gemspec.required_ruby_version = '~> 1.9.2' (thanks sakuro) Release 0.10.1 - 2011/10/16 * SetTimeKeyMixin accepts include_time_key parameter * SetTagKeyMixin accepts include_tag_key parameter * Fixed Makefile.am * Fixed MemoryBufferChunk#msgpack_each Release 0.10.0 - 2011/10/16 * Removed Event class * def format(tag, event) -> format(time, tag, record) * def emit(tag, event) -> emit(tag, time, record) * Added plugin APIs * Added Configurable * Added TimeFormatter * Added SetTimeKeyMixin * Added SetTagKeyMixin * Added InputTestDriver * Added Gemfile, gemspec and .rvmrc files Release 0.9.20 - 2011/10/07 * Config#has_key? sets used flag not to show warning * in_tcp supports JSON * Depends on Yajl * Fixed fluentd -r option * Fixed autogen.sh to create plugins directory Release 0.9.19 - 2011/10/07 * Secondary outputs work only when error count exceededs retry_limit * Secondary outputs retry upto secondary_limit * Added Output#secondary_init * Added unit test driver for output plugins * Added Fluent::Test.test? method * Added comparision methods (<=>, ==, eql? and hash) to Event class * Added test cases for out_copy, out_roundrobin and out_file Release 0.9.18 - 2011/10/04 * Performance improvements * in_tcp uses lazy deserialization * Engine caches results of Match#match * out_file caches results of strftime * Fixed TextParser.register_template Release 0.9.17 - 2011/10/03 * TimeSlicedOutput caches results of strftime() for performance * Fixed TextParser.register_template (thanks eiichiroi) * Fixed fluent-cat --port argument to work Release 0.9.16 - 2011/10/01 * Fixed it can't use relative path for --plugin command line argument * Fixed out_copy to work with non-repeatable event streams Release 0.9.15 - 2011/09/21 * Set default encoding to ASCII-8BIT * Fixed thread issues in BasicBuffer * Performance improvements Release 0.9.14 - 2011/09/21 * Fixed to write unexpected error to log files * Plugin loader uses GemSpec if it is available to load newer plugin * Added Config.bool_value method for plugins Release 0.9.13 - 2011/09/21 * Updated out_file plugin * Uses localtime by default * Uses \t to separate time, tag and JSON. * Uses ISO-8601 for the time format Release 0.9.12 - 2011/09/20 * Updated out_file plugin * Supports log compression * Slices log files every day by default Release 0.9.11 - 2011/09/19 * Added out_null plugin * Added out_roundrobin plugin * in_http supports keep-alive * in_tcp and in_unix detect network failure Release 0.9.10 - 2011/09/07 * Periodic timer enqueues buffer chunks only when queue is empty Release 0.9.9 - 2011/09/06 * in_tail strips \n at the end of log line * Uses newer one if multiple plugins are found Release 0.9.8 - 2011/08/16 * in_http plugin supports 'Expect: 100-continue' header * Added --user and --group command line arguments to change privilege * Changed default retry_limit parameter from 8 to 17 * Changed default buffer_chunk_limit parameter from 1m to 16m * Changed default buffer_queue_limit parameter from 100 to 64 Release 0.9.7 - 2011/08/06 * Load plugins named fluent_plugin.rb installed by RubyGems * Load plugins located on fluent/plugin/{buf,in,out}_{type} installed by RubyGems * Removed out_tdlog plugin to fluent-plugin-td gem Release 0.9.6 - 2011/08/06 * Force flush buffered events on SIGUSR1 * out_tdlog uses event tag for the database and table name * Fluent can log Fluent logs * Colorize Fluent logs on console * Changed default unix domain socket path to /var/run/fluent/fluent.sock * Makefile.am and configure.in aware fakeroot Release 0.9.5 - 2011/07/23 * Added tag that fallbacks to secondary output when it can't write to primary output. * pattern supports **; matches any fragments recursively. * pattern supports {x,y,...}; matches any of the inner patterns. Release 0.9.4 - 2011/07/22 * Switched EventMachine to Cool.io * in_tail continues to follow file if it is deleted on Linux * Added fluentd --setup option that installs sample configuration file * Added out_tdlog plugin Release 0.9.3 - 2011/07/05 * Disable EventMachine.epoll because it doesn't work correctly on Ruby 1.9 with threads * in_tcp and in_unix uses EventMachine instead of threads * Set BasicSocket.do_not_reverse_lookup = true Release 0.9.2 - 2011/07/03 * Added TimeSlicedOutput that splits buffer chunk exactly based on the time * Changed structure of buffers from queue to map + queue * Show waring if configuration parameters are not used * Added out_time_file plugin Release 0.9.1 - 2011/06/26 * Added in_tail plugin * Added in_syslog plugin * Added out_stdout plugin * Added out_tcp plugin * Added out_unix plugin * Improved performance of in_http plugin by replacing WEBrick + thread with EventMachine Release 0.9.0 - 2011/06/20 * First release