Find file
cfa3840 Mar 24, 2017
@frsyuki @repeatedly @tagomoris @kiyoto @giwa @kzk @kenjiskywalker
594 lines (524 sloc) 26.1 KB
# v0.14
## Release v0.14.14 - 2017/03/23
### New features / Enhancements
* in_http: Support 'application/msgpack` header
* in_udp: Add message_length_limit parameter for parameter name consistency with in_syslog
* in_monitor_agent: Start one HTTP server per worker on sequential port numbers
* in_tail: Skip the refresh of watching list on startup
* filter_parser: filter_parser: Add emit_invalid_record_to_error parameter
* parser_syslog: Support RFC5424 syslog format
* parser: Allow escape sequence in Apache access log
* config: Add actual value in the placholder error message
* log: Add Fluent::Log#<< to support some SDKs
### Bug fixes
* Fix cleanup resource
* config: Set encoding forcefully to avoid UndefinedConversionError
* Fix Input and Output deadlock when buffer is full during startup
* config: Fix log_level handling in <system>
* Fix typo in root agent error log
* storage: Fix a bug storage_create cannot accept hash as `conf` keyword argument
## Release v0.14.13 - 2017/02/17
### New features / Enhancements
* in_tail: Add 'limit_recently_modified' to limit watch files.
* configuration: Improve 'flush_interval' handling for better message and backward compatibility
* command: Add 'fluent-plugin-generate' command
* output: Skip record when 'Output#format' returns nil
### Bug fixes
* output: Secondary calculation should consider 'retry_max_times'
* Fix regression of deprecatd 'process' module
* Fix missing parser_regex require
* Keep 'Fluent::BufferQueueLimitError' for exsting plugins
* in_tail: Untracked files should be removed from watching list to avoid memory bloat
* in_tail: directories should be skipped when the ** pattern is used
* record_transformer: Revert "Use BasicObject for cleanroom" for `enable_ruby` regression.
* buf_file: handle "Too many open files" error to keep buffer and metadata pair
## Release v0.14.12 - 2017/01/30
### New features / Enhancements
* Support multi process workers by `workers` option
* Support TLS transport security layer by server plugin helper, and forward input/output plugins
* Update internal log event handling to route log events to `@FLUENT_LOG` label if configured, suppress log events in startup/shutdown in default
* Rename buffer plugin chunk limit parameters for consistency
* Encode string values from configuration files in UTF8
* Reorder plugin load paths to load rubygem plugins earlier than built-in plugins to overwrite them
* Clock API to control internal thread control
* Validate `config_param` options to restrict unexpected specifications
* formatter: Add `add_newline` option to get formatted lines without newlines
* in_forward: Add `ignore_network_errors_at_startup` option for automated cluster deployment
* in_forward: Close listening socket in #stop, not to accept new connection request in early stage of shutdown
* out_forward: Ensure to pack values in `str` type of msgpack
* in_tail: Add `emit_unmatched_lines` to capture lines which unmatch configured regular expressions
* in_tail: Add `open_on_every_update` to read lines from files opened in exclusive mode on Windows platform
* in_monitor_agent: Add `with_ivars` query parameter to get instance variables only for specified instance variables
* storage_local: Generate file store path using `usage`, with `root_dir` configuration
* Improve test stability
### Bug fixes
* Fix bug to ignore command line options: `--rpc-endpoint`, `--suppress-config-dump`, etc
* Fix bug to block infinitely in shutdown when buffer is full and `overflow_action` is `block`
* buf_file: Fix bug not to use `root_dir` even if configured correctly
* filter_record_transformer: Fix to use BasicObject for clean room
* filter_record_transformer: Fix bug that `remove_keys` doesn't work with `renew_time_key`
* in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins
## Release v0.14.11 - 2016/12/26
### New features / Enhancements
* Add "root_dir" parameter in <system> directive to configure server root directory, used for buffer/storage paths
* Fix not to restart Fluentd processes when unrecoverable errors occur
* Show warnings in log when output flush operation takes longer time than threshold
* formatter_csv: Raise configuration error when no field names are specified
* in_syslog: Update implementation to use plugin helpers
* in_forward: Add a configuration parameter "source_address_key"
* in_monitor_agent: Add a parameter "include_retry" to get detail retry status
* Add Ruby 2.4 into supported ruby versions
### Bug fixes
* Fix to set process name of supervisor process
* in_forward: Fix a bug not to handle "require_ack_response" correctly
## Release v0.14.10 - 2016/12/14
### New features / Enhancement
* Add socket/server plugin helper to write TCP/UDP clients/servers as Fluentd plugin
* Fix to raise errors when injected hostname is also specified as chunk key
* in_tail: Optimize to read lines from file
* in_monitor_agent: Add new parameter "include_config"(default: true)
* in_syslog: Add "priority_key" and "facility_key" options
* filter_record_transformer: Remove obsoleted syntax like "${message}" and not to dump records in logs
* Add an option "--time-as-integer" to fluent-cat command to send events from v0.14 fluent-cat to v0.12 fluentd
### Bug fixes
* Specify correct Oj options for newer versions (Oj 2.18.0 or later)
* TimeSlice output plugins (in v0.12 style) raise errors when "utc" parameter is specified
* Parser plugins cannot use options for regular expressions
* Fix bugs not to raise errors to use logger in v0.12 plugins
* Fix bug about shutting down Fluentd in Windows
* in_tail: Close files explicitly in tests
* out_forward: Fix bug not to convert buffer configurations into v0.14 parameters
* out_forward: Fix bug to raise error when "expire_dns_cache" is specified
* out_file: Fix bug to raise error about buffer chunking when it's configured as secondary
## Release v0.14.9 - 2016/11/15
### New features / Enhancement
* filter_parser: Port fluent-plugin-parser into built-in plugin
* parser/formatter plugin helpers with default @type in plugin side
* parser: Reconstruct Parser related classes
* filter_record_transformer: Remove old behaviours
* Migrate some built-in plugins into v0.14 API (out_file) (out_exec, out_exec_filter) (in_forward, out_forward) (in_http)
* test: Improve test drivers
### Bug fixes
* log: Avoid name conflict between Fluent::Logger
* fluent-cat: Fix fluent-cat command to send sub-second precision time
* config: Fix a bug not to overwrite default value with nil
* output: Fix timezone for compat timesliced output plugins
* out_forward: fix not to raise error when out_forward is initialized as secondary
* output: Event router for secondary output
* test: fix to return the block value as expected by many rubyists
## Release v0.14.8 - 2016/10/13
### Bug fixes
* Add msgpack_each to buffer chunks in compat-layer output plugins
## Release v0.14.7 - 2016/10/07
### New features / Enhancement
* Support data compression in buffer plugins
* in_forward: support to transfer compressed data
* out_stdout: fix to show nanosecond resolution time
* Add option to rotate Fluentd daemon's log
* Add extract plugin helper, with symmetric time parameter support in parser/formatter and inject/extract
* Add a feature to parse/format numeric time (unix time [+ subsecond value])
* Raise configuration errors for inconsistent <label> configurations
* Fix to instantiate an unconfigured section even for multi: true
* Add validators of placeholders for buffering key extraction
* Fix to show log messages about filter optimization only when needed
* Add some features to write plugins more easily
* Add a tool to load dumped events from file
### Bug fixes
* Fix Oj's default option to encode/decode JSON in the same way with Yajl
* Fix to raise correct configuration errors
* Fix a bug to call `shutdown` method (and some others) twice
* Fix to enable `chunk.each` only when it's encoded by msgpack
* Fix a bug not to stop enqueue/flush threads correctly
* out_forward: fix a bug that UDP heartbeat doesn't work
* out_file: fix a crash bug when v0.14 enables symlink and resumes existing buffer file chunk generated by v0.12
* in_monitor_agent: fix compatibility problem between outputs of v0.12 and v0.14
* in_tail: fix a bug to crash to read large amount logs
## Release v0.14.6 - 2016/09/07
### Bug fixes
* in_tail: Add a missing parser_multiline require
* forward: Mark secret parameters of forward plugins as secret
## Release v0.14.5 - 2016/09/06
### New features / Enhancement
* Add authentication / authorization feature to forward protocol and in/out_forward plugins
* Add a new plugin to dump buffers in retries as secondary plugin
* Merge out_buffered_stdout and out_buffered_null into out_stdout and out_null
### Bug fixes
* Raise configuration errors to clearify what's wrong when "@type" is missing
* Fix the bug not to launch Fluentd when v0.12 MultiOutput plugin is configured
## Release v0.14.4 - 2016/08/31
### New features / Enhancement
* Add a method to Filter API to update time of events
* Improve performance of filter pipeline
* Fix to suppress not to warn about different plugins for primary and secondary without any problems
* Add deprecated/obsoleted options to config_param to show removed/warned parameters
* in_forward: Add a feature source_hostname_key to inject source hostname into records
* in_tail: Add a feature from_encoding to specify both encoding from and to
* filter_record_transformer: Fix to prevent overwriting reserved placeholder keys
* Migrate some build-in plugins into v0.14 API
* Update dependencies
### Bug fixes
* Fix to start/stop/restart Fluentd processes correctly on Windows environment
* Fix to handle Windows events correctly in winsvc.rb
* Fix not to continue to restart workers for configuration errors
* Fix output threads to start enqueue/flush buffers until plugins' start method ends
* Fix a bug not to set umask 0
* Fix resource leak on one-shot timers
* Fix to call plugin helper methods in configure
* Fix a bug to count event size
* Fix to require missed compat modules
* Fix to start properly for plugins under MultiOutput
* Fix test drivers to set class name into plugin instances
* Fix tests not to use mocks for Time (improve test stabilization)
## Release 0.14.3 - 2016/08/30
* Fix the dependency for ServerEngine 1.x
## Release 0.14.2 - 2016/08/09
### New features / Enhancement
* Fix to split large event stream into some/many chunks in buffers
* Add parser and filter support in compat_parameters plugin helper
* Add a RPC call to flush buffers and stop workers
* Update forward protocol to pass the number of events in a payload
* Improve performance of some built-in formatter plugins
* Migrate some built-in plugins and plugin util modules into v0.14 API
* Register RegExpParser as a parser plugin explicitly
* Add delimiter option to CSV parser
* Add an option to receive longer udp syslog messages
* Add a option to suspend internal status in dummy plugin
* Add a feature to capture filtered records in test driver for Filter plugins
* Add some utility methods to plugin test drivers
### Bug fixes
* Fix bug to read non buffer-chunk files as buffer chunks when Fluentd resumed
* Fix bug not to load Filter plugins which are specified in configurations
* Fix bug to ignore `-p` option to specify directories of plugins
* Fix bug to overwrite base class configuration section definitions by subclasses
* Fix to stop Fluentd worker process by Ctrl-C when --no-supervisor specified
* Fix regression about RPC call to reload configuration
* Specify to ensure Oj JSON parser to use strict mode
* Fix unexisting path handling in Windows environment
## Release 0.14.1 - 2016/06/30
### New features / Enhancement
* Add plugin helpers for parsers and formatters
* Extract some mixins into compat modules
* Add utility methods for tests and test drivers
* Migrate some built-in plugins to v0.14 APIs
* Add support of X-Forwarded-For header in in_http plugin
* Warn not to create too many staged chunks at configure
* Add a plugin helper to inject tag/time/hostname
### Bug fixes
* Fix in_monitor_agent for v0.14 plugins
* Fix to call #format_stream of plugins themselves when RecordFilter mixin included
* Fix shutdown sequence to wait force flush
* Fix a deadlock bug in shutdown
* Fix to require DetachProcessMixin in default for compat plugins
* Fix to overwrite configure_proxy name only for root sections for debugging
* Rename file for in_unix plugin
* Fix a bug not to create pid file when daemonized
* Fix a bug not to use primary plugin type for secondary in default
* Add --run-worker option to distinguish to run as worker without supervisor
* Fix regression of fluent-debug command
* Update windows-pr dependency to 1.2.5
* Fix supervisor to pass RUBYOPT to worker processes
## Release 0.14.0 - 2016/05/25
### New features / Enhancement
This list includes changes of 0.14.0.pre.1 and release candidates.
* Update supported Ruby version to 2.1 or later
* Sub-second event time support
* Windows support and supervisor improvement
* Add New plugin API
* Add standard chunking format
* Add Compatibility layer for v0.12 plugins
* Add Plugin Storage API
* Enforce to use router.emit instead of Engine.emit
* log: Show plugin name and id in logs
* log: Dump configurations with v1 syntax in logs
* log: Dump errors with class in logs
* config: Add simplified syntax for configuration values of hash and array
* config: Add 'init' option to config_section to initialize section objects
* config: Support multiline string in quoted strings
* config: Add optional arguments on Element#elements to select child elements
* config: Show deprecated warnings for reserved parameters
* config: Make the detach process forward interval configurable
* in_tail: Add 'path_key' option to inject tailing path
* Remove in_status plugin
### Bug fixes
* config: Enum list must be of symbols
* config: Fix to dup values in default
* config: Fix problems about overwriting subsections
* log: Serialize Fluent::EventTime as Integer in JSON
* out_forward: Add missing error class and tests for it
### Internal fix / Refactoring
* Fix dependencies between files
* Separate PluginId from config
* Separate MessagePack factory from Engine
* Register plugins to registry
* Move TypeConverter mixin to mixin.rb
* Override default configurations by <system>
* Suppress Ruby level warnings
See for v0.12 changelog