At the end of August, we have released two versions of Fluentd v0.14. Earlier one, v0.14.3, is just to fix dependency problem, without any other fixes. And then, v0.14.4 was released with many bug fixes and improvements, including very important fixes for Windows environment.
Here are major changes (full ChangeLog is available here):
Core: Improved process management on Windows
The previous versions of Fluentd v0.14 had some known issues about process management on Windows environment. Fluentd did unix-like signal based process control, but it doesn't work well enough on Windows environment.
To solve this problem, we introduced a new process control method using pipes in ServerEngine, and fixed Fluentd to depend on it.
On this release, we fixed all known issues about Windows environment!
Core: Filter API improvements
We added a new method for Filter plugins, so now Filter plugin has two methods to filter each records.
#filter(tag, time, record) => record: This method is expected to return (updated) record, or
nil to drop that record
#filter_with_time(tag, time, record) => time, record: This method is expected to return
record to update time, in addition to record
Core: deprecated/obsoleted options for configuration parameter
Two new options for
config_param has been introduced. These options are to show specified parameter is deprecated or obsoleted to users in logs explicitly. These options make it easy to update plugins for plugin authors.
config_param :myparam0, :string, obsoleted: "This parameter was removed at v0.8.9. Use myparam2 instead."
config_param :myparam1, :string, deprecated: "This parameter will be removed at next major version. Use myparam2 instead."
Parameters marked as obsoleted are outdated, and raise errors if users configure Fluentd to use these parameters. On the other hand, deprecated parameter can be used, but it's not recommended to use it. Fluentd shows warning for the use of deprecated parameters.
If you want to remove any configuration parameters, release a version with
deprecated options on the parameters to be removed. And then, update options to use
obsoleted on that parameters in following release. Users can know which parameters are not good to use, and plugin authors can make guides for users how to migrate their configurations.
in_forward: Adding source hostname into records
The new parameter
source_hostname_key has been introduced in
forward input plugin. This parameter is useful when your forwarders hard to add hostname or comparing hostname for debugging, See this comment.
When this parameter is specified,
in_forward iterates / mutates incoming events and it needs additional processing resource. If your environment is very high traffic, check the performance first.
(This parameter is also introduced in Fluentd v0.12.28.)
Major bug fixes
- fix not to continue to restart worker processes for configuration errors #1183
- fix not to start output enqueue/flush threads until plugin completes to start itself #1190
- fix a bug to miss to set umask #1152
- fix to start plugin instances under MultiOutput (e.g.,
copy plugins) #1167