# v0.14 ## Release v0.14.22 - 2017/11/01 ### New features / Enhancements * formatter_tsv: Add add_newline parameter https://github.com/fluent/fluentd/pull/1691 * out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extrace_placeholders API change https://github.com/fluent/fluentd/pull/1708 * record_accessor: Support double quotes in bracket notation https://github.com/fluent/fluentd/pull/1716 * log: Show running ruby version in startup log https://github.com/fluent/fluentd/pull/1717 * log: Log message when chunk is created https://github.com/fluent/fluentd/pull/1718 * in_tail: Add pos_file duplication check https://github.com/fluent/fluentd/pull/1720 ### Bug fixes * parser_apache2: Delay time parser initialization https://github.com/fluent/fluentd/pull/1690 * cert_option: Improve generated certificates' conformance to X.509 specification https://github.com/fluent/fluentd/pull/1714 * buffer: Always lock chunks first to avoid deadlock https://github.com/fluent/fluentd/pull/1721 ## Release v0.14.21 - 2017/09/07 ### New features / Enhancements * filter_parser: Support record_accessor in key_name https://github.com/fluent/fluentd/pull/1654 * buffer: Support record_accessor in chunk keys https://github.com/fluent/fluentd/pull/1662 ### Bug fixes * compat_parameters: Support all syslog parser parameters https://github.com/fluent/fluentd/pull/1650 * filter_record_transformer: Don't create new keys if the original record doesn't have `keep_keys` keys https://github.com/fluent/fluentd/pull/1663 * in_tail: Fix the error when 'tag *' is configured https://github.com/fluent/fluentd/pull/1664 * supervisor: Clear previous worker pids when receive kill signals. https://github.com/fluent/fluentd/pull/1683 ## Release v0.14.20 - 2017/07/31 ### New features / Enhancements * plugin: Add record_accessor plugin helper https://github.com/fluent/fluentd/pull/1637 * log: Add format and time_format parameters to setting https://github.com/fluent/fluentd/pull/1644 ### Bug fixes * buf_file: Improve file handling to mitigate broken meta file https://github.com/fluent/fluentd/pull/1628 * in_syslog: Fix the description of resolve_hostname parameter https://github.com/fluent/fluentd/pull/1633 * process: Fix signal handling. Send signal to all workers https://github.com/fluent/fluentd/pull/1642 * output: Fix error message typo https://github.com/fluent/fluentd/pull/1643 ## Release v0.14.19 - 2017/07/12 ### New features / Enhancements * in_syslog: More characters are available in tag part of syslog format https://github.com/fluent/fluentd/pull/1610 * in_syslog: Add resolve_hostname parameter https://github.com/fluent/fluentd/pull/1616 * filter_grep: Support new configuration format by config_section https://github.com/fluent/fluentd/pull/1611 ### Bug fixes * output: Fix race condition of retry state in flush thread https://github.com/fluent/fluentd/pull/1623 * test: Fix typo in test_in_tail.rb https://github.com/fluent/fluentd/pull/1622 ## Release v0.14.18 - 2017/06/21 ### New features / Enhancements * parser: Add rfc5424 regex without priority https://github.com/fluent/fluentd/pull/1600 ### Bug fixes * in_tail: Fix timing issue that the excluded_path doesn't apply. https://github.com/fluent/fluentd/pull/1597 * config: Fix broken UTF-8 encoded configuration file handling https://github.com/fluent/fluentd/pull/1592 * out_forward: Don't stop heartbeat when error happen https://github.com/fluent/fluentd/pull/1602 * Fix command name typo in plugin template https://github.com/fluent/fluentd/pull/1603 ## Release v0.14.17 - 2017/05/29 ### New features / Enhancements * in_tail: Add ignore_repeated_permission_error https://github.com/fluent/fluentd/pull/1574 * server: Accept private key for TLS server without passphrase https://github.com/fluent/fluentd/pull/1575 * config: Validate workers option on standalone mode https://github.com/fluent/fluentd/pull/1577 ### Bug fixes * config: Mask all secret parameters in worker section https://github.com/fluent/fluentd/pull/1580 * out_forward: Fix ack handling https://github.com/fluent/fluentd/pull/1581 * plugin-config-format: Fix markdown format generator https://github.com/fluent/fluentd/pull/1585 ## Release v0.14.16 - 2017/05/13 ### New features / Enhancements * config: Allow null byte in double-quoted string https://github.com/fluent/fluentd/pull/1552 * parser: Support %iso8601 special case for time_format https://github.com/fluent/fluentd/pull/1562 ### Bug fixes * out_forward: Call proper method for each connection type https://github.com/fluent/fluentd/pull/1560 * in_monitor_agent: check variable buffer is a Buffer instance https://github.com/fluent/fluentd/pull/1556 * log: Add missing '<<' method to delegators https://github.com/fluent/fluentd/pull/1558 * command: uninitialized constant Fluent::Engine in fluent-binlog-reader https://github.com/fluent/fluentd/pull/1568 ## Release v0.14.15 - 2017/04/23 ### New features / Enhancements * Add directive https://github.com/fluent/fluentd/pull/1507 * in_tail: Do not warn that directories are unreadable in the in_tail plugin https://github.com/fluent/fluentd/pull/1540 * output: Add formatted_to_msgpack_binary? to Output plugin API https://github.com/fluent/fluentd/pull/1547 * windows: Allow the Windows Service name Fluentd runs as to be configurable https://github.com/fluent/fluentd/pull/1548 ### Bug fixes * in_http: Fix X-Forwarded-For header handling. Accpet multiple headers https://github.com/fluent/fluentd/pull/1535 * Fix backward compatibility with Fluent::DetachProcess and Fluent::DetachMultiProcess https://github.com/fluent/fluentd/pull/1522 * fix typo https://github.com/fluent/fluentd/pull/1521 https://github.com/fluent/fluentd/pull/1523 https://github.com/fluent/fluentd/pull/1544 * test: Fix out_file test with timezone https://github.com/fluent/fluentd/pull/1546 * windows: Quote the file path to the Ruby bin directory when starting fluentd as a windows service https://github.com/fluent/fluentd/pull/1536 ## Release v0.14.14 - 2017/03/23 ### New features / Enhancements * in_http: Support 'application/msgpack` header https://github.com/fluent/fluentd/pull/1498 * in_udp: Add message_length_limit parameter for parameter name consistency with in_syslog https://github.com/fluent/fluentd/pull/1515 * in_monitor_agent: Start one HTTP server per worker on sequential port numbers https://github.com/fluent/fluentd/pull/1493 * in_tail: Skip the refresh of watching list on startup https://github.com/fluent/fluentd/pull/1487 * filter_parser: filter_parser: Add emit_invalid_record_to_error parameter https://github.com/fluent/fluentd/pull/1494 * parser_syslog: Support RFC5424 syslog format https://github.com/fluent/fluentd/pull/1492 * parser: Allow escape sequence in Apache access log https://github.com/fluent/fluentd/pull/1479 * config: Add actual value in the placholder error message https://github.com/fluent/fluentd/pull/1497 * log: Add Fluent::Log#<< to support some SDKs https://github.com/fluent/fluentd/pull/1478 ### Bug fixes * Fix cleanup resource https://github.com/fluent/fluentd/pull/1483 * config: Set encoding forcefully to avoid UndefinedConversionError https://github.com/fluent/fluentd/pull/1477 * Fix Input and Output deadlock when buffer is full during startup https://github.com/fluent/fluentd/pull/1502 * config: Fix log_level handling in https://github.com/fluent/fluentd/pull/1501 * Fix typo in root agent error log https://github.com/fluent/fluentd/pull/1491 * storage: Fix a bug storage_create cannot accept hash as `conf` keyword argument https://github.com/fluent/fluentd/pull/1482 ## Release v0.14.13 - 2017/02/17 ### New features / Enhancements * in_tail: Add 'limit_recently_modified' to limit watch files. https://github.com/fluent/fluentd/pull/1474 * configuration: Improve 'flush_interval' handling for better message and backward compatibility https://github.com/fluent/fluentd/pull/1442 * command: Add 'fluent-plugin-generate' command https://github.com/fluent/fluentd/pull/1427 * output: Skip record when 'Output#format' returns nil https://github.com/fluent/fluentd/pull/1469 ### Bug fixes * output: Secondary calculation should consider 'retry_max_times' https://github.com/fluent/fluentd/pull/1452 * Fix regression of deprecatd 'process' module https://github.com/fluent/fluentd/pull/1443 * Fix missing parser_regex require https://github.com/fluent/fluentd/issues/1458 https://github.com/fluent/fluentd/pull/1453 * Keep 'Fluent::BufferQueueLimitError' for exsting plugins https://github.com/fluent/fluentd/pull/1456 * in_tail: Untracked files should be removed from watching list to avoid memory bloat https://github.com/fluent/fluentd/pull/1467 * in_tail: directories should be skipped when the ** pattern is used https://github.com/fluent/fluentd/pull/1464 * record_transformer: Revert "Use BasicObject for cleanroom" for `enable_ruby` regression. https://github.com/fluent/fluentd/pull/1461 * buf_file: handle "Too many open files" error to keep buffer and metadata pair https://github.com/fluent/fluentd/pull/1468 ## Release v0.14.12 - 2017/01/30 ### New features / Enhancements * Support multi process workers by `workers` option https://github.com/fluent/fluentd/pull/1386 * Support TLS transport security layer by server plugin helper, and forward input/output plugins https://github.com/fluent/fluentd/pull/1423 * Update internal log event handling to route log events to `@FLUENT_LOG` label if configured, suppress log events in startup/shutdown in default https://github.com/fluent/fluentd/pull/1405 * Rename buffer plugin chunk limit parameters for consistency https://github.com/fluent/fluentd/pull/1412 * Encode string values from configuration files in UTF8 https://github.com/fluent/fluentd/pull/1411 * Reorder plugin load paths to load rubygem plugins earlier than built-in plugins to overwrite them https://github.com/fluent/fluentd/pull/1410 * Clock API to control internal thread control https://github.com/fluent/fluentd/pull/1425 * Validate `config_param` options to restrict unexpected specifications https://github.com/fluent/fluentd/pull/1437 * formatter: Add `add_newline` option to get formatted lines without newlines https://github.com/fluent/fluentd/pull/1420 * in_forward: Add `ignore_network_errors_at_startup` option for automated cluster deployment https://github.com/fluent/fluentd/pull/1399 * in_forward: Close listening socket in #stop, not to accept new connection request in early stage of shutdown https://github.com/fluent/fluentd/pull/1401 * out_forward: Ensure to pack values in `str` type of msgpack https://github.com/fluent/fluentd/pull/1413 * in_tail: Add `emit_unmatched_lines` to capture lines which unmatch configured regular expressions https://github.com/fluent/fluentd/pull/1421 * in_tail: Add `open_on_every_update` to read lines from files opened in exclusive mode on Windows platform https://github.com/fluent/fluentd/pull/1409 * in_monitor_agent: Add `with_ivars` query parameter to get instance variables only for specified instance variables https://github.com/fluent/fluentd/pull/1393 * storage_local: Generate file store path using `usage`, with `root_dir` configuration https://github.com/fluent/fluentd/pull/1438 * Improve test stability https://github.com/fluent/fluentd/pull/1426 ### Bug fixes * Fix bug to ignore command line options: `--rpc-endpoint`, `--suppress-config-dump`, etc https://github.com/fluent/fluentd/pull/1398 * Fix bug to block infinitely in shutdown when buffer is full and `overflow_action` is `block` https://github.com/fluent/fluentd/pull/1396 * buf_file: Fix bug not to use `root_dir` even if configured correctly https://github.com/fluent/fluentd/pull/1417 * filter_record_transformer: Fix to use BasicObject for clean room https://github.com/fluent/fluentd/pull/1415 * filter_record_transformer: Fix bug that `remove_keys` doesn't work with `renew_time_key` https://github.com/fluent/fluentd/pull/1433 * in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins https://github.com/fluent/fluentd/pull/1365 ## Release v0.14.11 - 2016/12/26 ### New features / Enhancements * Add "root_dir" parameter in directive to configure server root directory, used for buffer/storage paths https://github.com/fluent/fluentd/pull/1374 * Fix not to restart Fluentd processes when unrecoverable errors occur https://github.com/fluent/fluentd/pull/1359 * Show warnings in log when output flush operation takes longer time than threshold https://github.com/fluent/fluentd/pull/1370 * formatter_csv: Raise configuration error when no field names are specified https://github.com/fluent/fluentd/pull/1369 * in_syslog: Update implementation to use plugin helpers https://github.com/fluent/fluentd/pull/1382 * in_forward: Add a configuration parameter "source_address_key" https://github.com/fluent/fluentd/pull/1382 * in_monitor_agent: Add a parameter "include_retry" to get detail retry status https://github.com/fluent/fluentd/pull/1387 * Add Ruby 2.4 into supported ruby versions ### Bug fixes * Fix to set process name of supervisor process https://github.com/fluent/fluentd/pull/1380 * in_forward: Fix a bug not to handle "require_ack_response" correctly https://github.com/fluent/fluentd/pull/1389 ## Release v0.14.10 - 2016/12/14 ### New features / Enhancement * Add socket/server plugin helper to write TCP/UDP clients/servers as Fluentd plugin https://github.com/fluent/fluentd/pull/1312 https://github.com/fluent/fluentd/pull/1350 https://github.com/fluent/fluentd/pull/1356 https://github.com/fluent/fluentd/pull/1362 * Fix to raise errors when injected hostname is also specified as chunk key https://github.com/fluent/fluentd/pull/1357 * in_tail: Optimize to read lines from file https://github.com/fluent/fluentd/pull/1325 * in_monitor_agent: Add new parameter "include_config"(default: true) https://github.com/fluent/fluentd/pull/1317 * in_syslog: Add "priority_key" and "facility_key" options https://github.com/fluent/fluentd/pull/1351 * filter_record_transformer: Remove obsoleted syntax like "${message}" and not to dump records in logs https://github.com/fluent/fluentd/pull/1328 * Add an option "--time-as-integer" to fluent-cat command to send events from v0.14 fluent-cat to v0.12 fluentd https://github.com/fluent/fluentd/pull/1349 ### Bug fixes * Specify correct Oj options for newer versions (Oj 2.18.0 or later) https://github.com/fluent/fluentd/pull/1331 * TimeSlice output plugins (in v0.12 style) raise errors when "utc" parameter is specified https://github.com/fluent/fluentd/pull/1319 * Parser plugins cannot use options for regular expressions https://github.com/fluent/fluentd/pull/1326 * Fix bugs not to raise errors to use logger in v0.12 plugins https://github.com/fluent/fluentd/pull/1344 https://github.com/fluent/fluentd/pull/1332 * Fix bug about shutting down Fluentd in Windows https://github.com/fluent/fluentd/pull/1367 * in_tail: Close files explicitly in tests https://github.com/fluent/fluentd/pull/1327 * out_forward: Fix bug not to convert buffer configurations into v0.14 parameters https://github.com/fluent/fluentd/pull/1337 * out_forward: Fix bug to raise error when "expire_dns_cache" is specified https://github.com/fluent/fluentd/pull/1346 * out_file: Fix bug to raise error about buffer chunking when it's configured as secondary https://github.com/fluent/fluentd/pull/1338 ## Release v0.14.9 - 2016/11/15 ### New features / Enhancement * filter_parser: Port fluent-plugin-parser into built-in plugin https://github.com/fluent/fluentd/pull/1191 * parser/formatter plugin helpers with default @type in plugin side https://github.com/fluent/fluentd/pull/1267 * parser: Reconstruct Parser related classes https://github.com/fluent/fluentd/pull/1286 * filter_record_transformer: Remove old behaviours https://github.com/fluent/fluentd/pull/1311 * Migrate some built-in plugins into v0.14 API https://github.com/fluent/fluentd/pull/1257 (out_file) https://github.com/fluent/fluentd/pull/1297 (out_exec, out_exec_filter) https://github.com/fluent/fluentd/pull/1306 (in_forward, out_forward) https://github.com/fluent/fluentd/pull/1308 (in_http) * test: Improve test drivers https://github.com/fluent/fluentd/pull/1302 https://github.com/fluent/fluentd/pull/1305 ### Bug fixes * log: Avoid name conflict between Fluent::Logger https://github.com/fluent/fluentd/pull/1274 * fluent-cat: Fix fluent-cat command to send sub-second precision time https://github.com/fluent/fluentd/pull/1277 * config: Fix a bug not to overwrite default value with nil https://github.com/fluent/fluentd/pull/1296 * output: Fix timezone for compat timesliced output plugins https://github.com/fluent/fluentd/pull/1307 * out_forward: fix not to raise error when out_forward is initialized as secondary https://github.com/fluent/fluentd/pull/1313 * output: Event router for secondary output https://github.com/fluent/fluentd/pull/1283 * test: fix to return the block value as expected by many rubyists https://github.com/fluent/fluentd/pull/1284 ## Release v0.14.8 - 2016/10/13 ### Bug fixes * Add msgpack_each to buffer chunks in compat-layer output plugins https://github.com/fluent/fluentd/pull/1273 ## Release v0.14.7 - 2016/10/07 ### New features / Enhancement * Support data compression in buffer plugins https://github.com/fluent/fluentd/pull/1172 * in_forward: support to transfer compressed data https://github.com/fluent/fluentd/pull/1179 * out_stdout: fix to show nanosecond resolution time https://github.com/fluent/fluentd/pull/1249 * Add option to rotate Fluentd daemon's log https://github.com/fluent/fluentd/pull/1235 * Add extract plugin helper, with symmetric time parameter support in parser/formatter and inject/extract https://github.com/fluent/fluentd/pull/1207 * Add a feature to parse/format numeric time (unix time [+ subsecond value]) https://github.com/fluent/fluentd/pull/1254 * Raise configuration errors for inconsistent