forked from fluent/fluentd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
629 lines (430 loc) · 21.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
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 <include path /> 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 <secondary> tag that fallbacks to secondary output when it can't
write to primary output.
* <match> pattern supports **; matches any fragments recursively.
* <match> 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