fluentd 1.18.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +116 -0
  3. data/CHANGELOG.md +270 -12
  4. data/MAINTAINERS.md +8 -2
  5. data/README.md +3 -7
  6. data/Rakefile +2 -0
  7. data/SECURITY.md +11 -3
  8. data/lib/fluent/command/cap_ctl.rb +2 -2
  9. data/lib/fluent/command/fluentd.rb +6 -2
  10. data/lib/fluent/compat/formatter.rb +6 -0
  11. data/lib/fluent/compat/socket_util.rb +2 -2
  12. data/lib/fluent/config/configure_proxy.rb +1 -1
  13. data/lib/fluent/config/element.rb +2 -2
  14. data/lib/fluent/config/literal_parser.rb +3 -3
  15. data/lib/fluent/config/parser.rb +15 -3
  16. data/lib/fluent/config/section.rb +2 -2
  17. data/lib/fluent/config/types.rb +1 -1
  18. data/lib/fluent/config/v1_parser.rb +3 -3
  19. data/lib/fluent/config/yaml_parser/parser.rb +10 -2
  20. data/lib/fluent/counter/store.rb +1 -1
  21. data/lib/fluent/engine.rb +1 -1
  22. data/lib/fluent/env.rb +3 -2
  23. data/lib/fluent/event.rb +7 -6
  24. data/lib/fluent/log/console_adapter.rb +5 -7
  25. data/lib/fluent/log.rb +23 -0
  26. data/lib/fluent/plugin/bare_output.rb +0 -16
  27. data/lib/fluent/plugin/base.rb +2 -2
  28. data/lib/fluent/plugin/buf_file.rb +15 -1
  29. data/lib/fluent/plugin/buf_file_single.rb +15 -1
  30. data/lib/fluent/plugin/buffer/chunk.rb +74 -10
  31. data/lib/fluent/plugin/buffer/file_chunk.rb +9 -5
  32. data/lib/fluent/plugin/buffer/file_single_chunk.rb +3 -3
  33. data/lib/fluent/plugin/buffer/memory_chunk.rb +2 -2
  34. data/lib/fluent/plugin/buffer.rb +34 -6
  35. data/lib/fluent/plugin/compressable.rb +68 -22
  36. data/lib/fluent/plugin/filter.rb +0 -8
  37. data/lib/fluent/plugin/filter_record_transformer.rb +1 -1
  38. data/lib/fluent/plugin/formatter_csv.rb +18 -4
  39. data/lib/fluent/plugin/formatter_json.rb +7 -4
  40. data/lib/fluent/plugin/formatter_out_file.rb +5 -2
  41. data/lib/fluent/plugin/in_forward.rb +9 -5
  42. data/lib/fluent/plugin/in_http.rb +9 -4
  43. data/lib/fluent/plugin/in_monitor_agent.rb +4 -8
  44. data/lib/fluent/plugin/in_tail/position_file.rb +1 -1
  45. data/lib/fluent/plugin/in_tail.rb +80 -57
  46. data/lib/fluent/plugin/in_tcp.rb +2 -2
  47. data/lib/fluent/plugin/in_udp.rb +1 -1
  48. data/lib/fluent/plugin/input.rb +0 -8
  49. data/lib/fluent/plugin/multi_output.rb +1 -17
  50. data/lib/fluent/plugin/out_exec_filter.rb +2 -2
  51. data/lib/fluent/plugin/out_file.rb +37 -30
  52. data/lib/fluent/plugin/out_forward/connection_manager.rb +2 -2
  53. data/lib/fluent/plugin/out_forward.rb +23 -13
  54. data/lib/fluent/plugin/out_http.rb +1 -1
  55. data/lib/fluent/plugin/out_secondary_file.rb +2 -2
  56. data/lib/fluent/plugin/out_stdout.rb +10 -3
  57. data/lib/fluent/plugin/out_stream.rb +3 -3
  58. data/lib/fluent/plugin/output.rb +24 -35
  59. data/lib/fluent/plugin/owned_by_mixin.rb +2 -2
  60. data/lib/fluent/plugin/parser.rb +3 -3
  61. data/lib/fluent/plugin/parser_json.rb +3 -3
  62. data/lib/fluent/plugin/sd_file.rb +2 -2
  63. data/lib/fluent/plugin/storage_local.rb +8 -4
  64. data/lib/fluent/plugin.rb +1 -1
  65. data/lib/fluent/plugin_helper/child_process.rb +2 -2
  66. data/lib/fluent/plugin_helper/http_server/request.rb +13 -2
  67. data/lib/fluent/plugin_helper/http_server/server.rb +4 -14
  68. data/lib/fluent/plugin_helper/http_server.rb +1 -8
  69. data/lib/fluent/plugin_helper/metrics.rb +7 -0
  70. data/lib/fluent/plugin_helper/server.rb +4 -1
  71. data/lib/fluent/plugin_helper/service_discovery.rb +1 -1
  72. data/lib/fluent/plugin_helper/socket_option.rb +2 -2
  73. data/lib/fluent/plugin_helper/storage.rb +1 -1
  74. data/lib/fluent/plugin_id.rb +3 -3
  75. data/lib/fluent/root_agent.rb +4 -3
  76. data/lib/fluent/static_config_analysis.rb +3 -2
  77. data/lib/fluent/supervisor.rb +51 -5
  78. data/lib/fluent/system_config.rb +13 -4
  79. data/lib/fluent/test/base.rb +1 -1
  80. data/lib/fluent/test/driver/base.rb +2 -2
  81. data/lib/fluent/test/filter_test.rb +2 -2
  82. data/lib/fluent/test/formatter_test.rb +1 -1
  83. data/lib/fluent/test/helpers.rb +4 -0
  84. data/lib/fluent/test/input_test.rb +2 -2
  85. data/lib/fluent/test/output_test.rb +4 -4
  86. data/lib/fluent/test/parser_test.rb +1 -1
  87. data/lib/fluent/test.rb +5 -2
  88. data/lib/fluent/tls.rb +24 -0
  89. data/lib/fluent/variable_store.rb +1 -1
  90. data/lib/fluent/version.rb +1 -1
  91. data/lib/fluent/winsvc.rb +38 -8
  92. metadata +63 -16
  93. data/lib/fluent/plugin_helper/http_server/compat/server.rb +0 -92
  94. data/lib/fluent/plugin_helper/http_server/compat/ssl_context_extractor.rb +0 -52
  95. data/lib/fluent/plugin_helper/http_server/compat/webrick_handler.rb +0 -58
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a1989dbb2f29908c7e3b04e7cbc99ef04f982becf62a572b043a2600983af75
4
- data.tar.gz: b0a4fbfe760f1e6cab76a6d10576d96ff0f5e6c872b5ad870fbc156629a81166
3
+ metadata.gz: f7d0597141166c9db2f30b7ea1761610ec6dc2e3c5b8443f3ff980530c4afd33
4
+ data.tar.gz: eb02d36ab94976985da49b0abe845dfe17056806f02e99cb8fa38a88addb79be
5
5
  SHA512:
6
- metadata.gz: b8ce0b4a097d2f200b13c38bfb8c0d0747d9cdaf74cc70419467e21011d7bfc12e6651f7a0cc3f381565de22d1f13d063470371e024e7a5ec404456cd9a7e270
7
- data.tar.gz: af53ab2d7a880ca70f0f86cc7d640e45aad815509c1fa91e9dbd9d09a100818adad0f8de003fd853d08e663dc2dcbc951f9ef9da43ddc4705a569afbb2cc374a
6
+ metadata.gz: cd04fb1ed5a9407cae8d150fdb5875cac15d5e906356ba76232e82cb4c28053199f9b09fa403fad5733623b758ec713defb205d8bcc6058e067a71f01c0ec30c
7
+ data.tar.gz: eba375ae694bf113a9a70bce6c77575ed42e6d8f14d5c463890ae570c14dfe48576eb7eecd90fb401480ebfd910ecd45fdfed1130f909b8c541440bdf7a3c407
data/.rubocop.yml ADDED
@@ -0,0 +1,116 @@
1
+ plugins:
2
+ - rubocop-performance
3
+
4
+ AllCops:
5
+ Exclude:
6
+ - 'vendor/**/*'
7
+ NewCops: enable
8
+ SuggestExtensions: false
9
+ TargetRubyVersion: 3.4
10
+
11
+ #
12
+ # Policy: Check Security & Performance in primary use-cases
13
+ # (Disable most of cosmetic rules)
14
+ #
15
+
16
+ Lint:
17
+ Enabled: false
18
+
19
+ Style:
20
+ Enabled: false
21
+
22
+ Gemspec:
23
+ Enabled: false
24
+
25
+ Naming:
26
+ Enabled: false
27
+
28
+ Layout:
29
+ Enabled: false
30
+
31
+ Metrics:
32
+ Enabled: false
33
+
34
+ Security:
35
+ Enabled: true
36
+
37
+ Performance:
38
+ Enabled: true
39
+
40
+ #
41
+ # False positive or exceptional cases
42
+ #
43
+
44
+ # False positive because it's intentional
45
+ Security/Open:
46
+ Exclude:
47
+ - lib/fluent/plugin/buffer/chunk.rb
48
+ Enabled: true
49
+
50
+ # False positive because it's intentional
51
+ Security/Eval:
52
+ Exclude:
53
+ - lib/fluent/config/dsl.rb
54
+ - lib/fluent/plugin.rb
55
+ - lib/fluent/plugin/in_debug_agent.rb
56
+ Enabled: true
57
+
58
+ # False positive because send method must accept literals.
59
+ Performance/StringIdentifierArgument:
60
+ Exclude:
61
+ - test/plugin/test_in_tcp.rb
62
+ - test/plugin/test_in_udp.rb
63
+ - test/counter/test_server.rb
64
+ - test/plugin/test_out_forward.rb
65
+ - lib/fluent/plugin/out_forward.rb
66
+ Enabled: true
67
+
68
+ Performance/StringInclude:
69
+ Exclude:
70
+ - 'test/**/*'
71
+ # It was not improved with String#include?
72
+ - lib/fluent/command/plugin_config_formatter.rb
73
+ Enabled: true
74
+
75
+ # False positive for include? against constant ranges.
76
+ # Almost same between include? and cover?.
77
+ # See https://github.com/rubocop/rubocop-jp/issues/20
78
+ Performance/RangeInclude:
79
+ Exclude:
80
+ - lib/fluent/plugin/parser_multiline.rb
81
+ Enabled: true
82
+
83
+ # Allow using &method(:func)
84
+ Performance/MethodObjectAsBlock:
85
+ Exclude:
86
+ - 'test/**/*'
87
+ Enabled: false
88
+
89
+ # Allow block.call
90
+ Performance/RedundantBlockCall:
91
+ Exclude:
92
+ - 'test/**/*'
93
+ - 'lib/fluent/plugin_helper/*.rb'
94
+ - 'lib/fluent/plugin/*.rb'
95
+ - 'lib/fluent/compat/*.rb'
96
+ - 'lib/fluent/config/*.rb'
97
+ - 'lib/fluent/*.rb'
98
+ Enabled: true
99
+
100
+ #
101
+ # TODO: low priority to be fixed
102
+ #
103
+ Performance/ConstantRegexp:
104
+ Exclude:
105
+ - 'test/**/*'
106
+ Enabled: true
107
+
108
+ Performance/Sum:
109
+ Exclude:
110
+ - 'test/**/*'
111
+ Enabled: true
112
+
113
+ Performance/CollectionLiteralInLoop:
114
+ Exclude:
115
+ - 'test/**/*'
116
+ Enabled: true
data/CHANGELOG.md CHANGED
@@ -1,3 +1,151 @@
1
+ # v1.19
2
+
3
+ ## Release v1.19.1 - 2025/11/06
4
+
5
+ ### Bug Fix
6
+
7
+ * YAML config: Supports parsing array format https://github.com/fluent/fluentd/pull/5139
8
+
9
+ ### Misc
10
+
11
+ * gem: fix uri gem version to keep IPv6 tests https://github.com/fluent/fluentd/pull/5144
12
+ * CI fixes
13
+ * https://github.com/fluent/fluentd/pull/5055
14
+ * https://github.com/fluent/fluentd/pull/5057
15
+ * https://github.com/fluent/fluentd/pull/5063
16
+ * https://github.com/fluent/fluentd/pull/5064
17
+ * https://github.com/fluent/fluentd/pull/5077
18
+ * https://github.com/fluent/fluentd/pull/5078
19
+ * https://github.com/fluent/fluentd/pull/5136
20
+ * https://github.com/fluent/fluentd/pull/5140
21
+
22
+ ## Release v1.19.0 - 2025/07/30
23
+
24
+ ### Enhancement
25
+
26
+ New features:
27
+
28
+ * Add zstd compression support https://github.com/fluent/fluentd/pull/4657
29
+ * Buffer: add `zstd` to `compress` option.
30
+ * out_file: add `zstd` to `compress` option.
31
+ * out_forward: add `zstd` to `compress` option. (Experimental)
32
+ * in_forward: support `zstd` format.
33
+ * buffer: add feature to evacuate chunk files when retry limit
34
+ https://github.com/fluent/fluentd/pull/4986
35
+ * out_http: TLS1.3 support
36
+ https://github.com/fluent/fluentd/pull/4859
37
+ * out_stdout: support output to STDOUT independently of Fluentd logger by setting `use_logger` to `false`
38
+ https://github.com/fluent/fluentd/pull/5036
39
+ * out_file: add symlink_path_use_relative option to use relative path instead of absolute path in symlink_path
40
+ https://github.com/fluent/fluentd/pull/4904
41
+ * System configuration: Add forced_stacktrace_level to force the log level of stacktraces.
42
+ https://github.com/fluent/fluentd/pull/5008
43
+ * System configuration: support built-in config files
44
+ https://github.com/fluent/fluentd/pull/4893
45
+
46
+ Metrics:
47
+
48
+ * metrics: enable input metrics by default
49
+ https://github.com/fluent/fluentd/pull/4966
50
+ * in_tail: add "tracked_file_count" metrics to see how many log files are being tracked
51
+ https://github.com/fluent/fluentd/pull/4980
52
+ * output: add metrics for number of writing events in secondary
53
+ https://github.com/fluent/fluentd/pull/4971
54
+ * output: add metrics for dropped oldest chunk count
55
+ https://github.com/fluent/fluentd/pull/4981
56
+
57
+ Others:
58
+
59
+ * in_forward: enable skip_invalid_event by default not to process broken data
60
+ https://github.com/fluent/fluentd/pull/5003
61
+ * buf_file: reinforce buffer file corruption check
62
+ https://github.com/fluent/fluentd/pull/4998
63
+ * in_http: allow empty Origin header requests to pass CORS checks
64
+ https://github.com/fluent/fluentd/pull/4866
65
+ * in_tail: add warning for directory permission
66
+ https://github.com/fluent/fluentd/pull/4865
67
+ * Add logging for errors about loading dependencies on startup
68
+ https://github.com/fluent/fluentd/pull/4858
69
+ * Performance improvements
70
+ * https://github.com/fluent/fluentd/pull/4759
71
+ https://github.com/fluent/fluentd/pull/4760
72
+ https://github.com/fluent/fluentd/pull/4763
73
+ https://github.com/fluent/fluentd/pull/4764
74
+ https://github.com/fluent/fluentd/pull/4769
75
+ https://github.com/fluent/fluentd/pull/4813
76
+ https://github.com/fluent/fluentd/pull/4817
77
+ https://github.com/fluent/fluentd/pull/4835
78
+ https://github.com/fluent/fluentd/pull/4845
79
+ https://github.com/fluent/fluentd/pull/4881
80
+ https://github.com/fluent/fluentd/pull/4884
81
+ https://github.com/fluent/fluentd/pull/4886
82
+ https://github.com/fluent/fluentd/pull/4930
83
+ https://github.com/fluent/fluentd/pull/4931
84
+ https://github.com/fluent/fluentd/pull/4932
85
+ https://github.com/fluent/fluentd/pull/4933
86
+ https://github.com/fluent/fluentd/pull/4934
87
+ https://github.com/fluent/fluentd/pull/4995
88
+
89
+ ### Bug Fix
90
+
91
+ * in_tail: fixed where specifying only encoding parameter might cause data corruption (affects since v0.14.12).
92
+ https://github.com/fluent/fluentd/pull/5010
93
+ * formatter_csv: fix memory leak
94
+ https://github.com/fluent/fluentd/pull/4864
95
+ * server plugin helper: ensure to close all connections at shutdown
96
+ https://github.com/fluent/fluentd/pull/5026
97
+ * Fixed a bug where the default `umask` was not set to `0` when using `--daemon` (td-agent, fluent-package) since v1.14.6.
98
+ https://github.com/fluent/fluentd/pull/4836
99
+ * `--umask` command line option: Fixed so that it is applied when Fluentd runs with `--daemon` (fluent-package) as well as when Fluentd runs with `--no-supervisor`.
100
+ https://github.com/fluent/fluentd/pull/4836
101
+ * Windows: Stop the service when the supervisor is dead
102
+ https://github.com/fluent/fluentd/pull/4909
103
+ * Windows: Fixed an issue where stopping the service immediately after startup could leave the processes.
104
+ https://github.com/fluent/fluentd/pull/4782
105
+ * Windows: Fixed an issue where stopping service sometimes can not be completed forever.
106
+ https://github.com/fluent/fluentd/pull/4782
107
+
108
+ ### Misc
109
+
110
+ * in_monitor_agent: stop using CGI.parse due to support Ruby 3.5
111
+ https://github.com/fluent/fluentd/pull/4962
112
+ * HTTP server plugin helper: stop using CGI.parse due to support Ruby 3.5
113
+ https://github.com/fluent/fluentd/pull/4962
114
+ * config: change inspect format
115
+ https://github.com/fluent/fluentd/pull/4914
116
+ * console_adapter: support console gem v1.30
117
+ https://github.com/fluent/fluentd/pull/4857
118
+ * gemspec: fix io-event and io-stream version to avoid unstable behavior on Windows
119
+ https://github.com/fluent/fluentd/pull/5042
120
+ * in_http: replace WEBrick::HTTPUtils.parse_query with URI
121
+ Note that at least, this makes it unable to use ; delimiter.
122
+ https://github.com/fluent/fluentd/pull/4900
123
+ * http_server: stop fallback to WEBrick
124
+ https://github.com/fluent/fluentd/pull/4899
125
+ * metrics: add getter method automatically
126
+ https://github.com/fluent/fluentd/pull/4978
127
+ * http_server helper: add `header` method for `Request`
128
+ https://github.com/fluent/fluentd/pull/4903
129
+ * multi_output: fix metrics name
130
+ https://github.com/fluent/fluentd/pull/4979
131
+ * plugin_id: fix typo
132
+ https://github.com/fluent/fluentd/pull/4964
133
+ * CI fixes
134
+ * https://github.com/fluent/fluentd/pull/4728
135
+ https://github.com/fluent/fluentd/pull/4730
136
+ https://github.com/fluent/fluentd/pull/4746
137
+ https://github.com/fluent/fluentd/pull/4747
138
+ https://github.com/fluent/fluentd/pull/4748
139
+ https://github.com/fluent/fluentd/pull/4750
140
+ https://github.com/fluent/fluentd/pull/4755
141
+ https://github.com/fluent/fluentd/pull/4820
142
+ https://github.com/fluent/fluentd/pull/4874
143
+ https://github.com/fluent/fluentd/pull/4877
144
+ * Fixes RuboCop's remarks
145
+ https://github.com/fluent/fluentd/pull/4928
146
+ * CI: Add benchmark scripts
147
+ https://github.com/fluent/fluentd/pull/4989
148
+
1
149
  # v1.18
2
150
 
3
151
  ## Release v1.18.0 - 2024/11/29
@@ -142,6 +290,116 @@
142
290
 
143
291
  # v1.16
144
292
 
293
+ ## Release v1.16.10 - 2025/09/12
294
+
295
+ ### Bug Fix
296
+
297
+ * server plugin helper: ensure to close all connections at shutdown
298
+ https://github.com/fluent/fluentd/pull/5088
299
+
300
+ ### Misc
301
+
302
+ * CI improvemnts
303
+ https://github.com/fluent/fluentd/pull/5083
304
+ https://github.com/fluent/fluentd/pull/5085
305
+ https://github.com/fluent/fluentd/pull/5086
306
+ https://github.com/fluent/fluentd/pull/5091
307
+ https://github.com/fluent/fluentd/pull/5092
308
+
309
+ ## Release v1.16.9 - 2025/05/14
310
+
311
+ ### Bug Fix
312
+
313
+ * winsvc: Fix bug where service accidentally stops after starting.
314
+ The previous version (v1.16.8) should not be used for Windows Service.
315
+ https://github.com/fluent/fluentd/pull/4955
316
+
317
+ ### Misc
318
+
319
+ * CI improvements
320
+ https://github.com/fluent/fluentd/pull/4956
321
+
322
+ ## Release v1.16.8 - 2025/05/01
323
+
324
+ **This version has a critical bug about Windows Service. Do not use this version.**
325
+ (https://github.com/fluent/fluentd/pull/4955)
326
+
327
+ ### Bug Fix
328
+
329
+ * winsvc: Stop the service when the supervisor is dead
330
+ https://github.com/fluent/fluentd/pull/4942
331
+ * formatter_csv: Fix memory leak
332
+ https://github.com/fluent/fluentd/pull/4920
333
+
334
+ ### Misc
335
+
336
+ * Add fiddle as dependency gem for Ruby 3.5 on Windows
337
+ https://github.com/fluent/fluentd/pull/4919
338
+ * Refactoring code
339
+ https://github.com/fluent/fluentd/pull/4921
340
+ https://github.com/fluent/fluentd/pull/4922
341
+ https://github.com/fluent/fluentd/pull/4926
342
+ https://github.com/fluent/fluentd/pull/4943
343
+ * CI improvements
344
+ https://github.com/fluent/fluentd/pull/4821
345
+ https://github.com/fluent/fluentd/pull/4850
346
+ https://github.com/fluent/fluentd/pull/4851
347
+ https://github.com/fluent/fluentd/pull/4862
348
+ https://github.com/fluent/fluentd/pull/4915
349
+ https://github.com/fluent/fluentd/pull/4923
350
+ https://github.com/fluent/fluentd/pull/4925
351
+ https://github.com/fluent/fluentd/pull/4927
352
+
353
+ ## Release v1.16.7 - 2025/01/29
354
+
355
+ ### Bug Fix
356
+
357
+ * Windows: Fix `NoMethodError` of `--daemon` option
358
+ https://github.com/fluent/fluentd/pull/4796
359
+ * Windows: Fixed an issue where stopping the service immediately after startup could leave the processes
360
+ https://github.com/fluent/fluentd/pull/4782
361
+ * Windows: Fixed an issue where stopping service sometimes can not be completed forever
362
+ https://github.com/fluent/fluentd/pull/4782
363
+
364
+ ### Misc
365
+
366
+ * Windows: Add workaround for unexpected exception
367
+ https://github.com/fluent/fluentd/pull/4747
368
+ * README: remove deprecated google analytics beacon
369
+ https://github.com/fluent/fluentd/pull/4797
370
+ * CI improvements
371
+ https://github.com/fluent/fluentd/pull/4723
372
+ https://github.com/fluent/fluentd/pull/4788
373
+ https://github.com/fluent/fluentd/pull/4789
374
+ https://github.com/fluent/fluentd/pull/4790
375
+ https://github.com/fluent/fluentd/pull/4791
376
+ https://github.com/fluent/fluentd/pull/4793
377
+ https://github.com/fluent/fluentd/pull/4794
378
+ https://github.com/fluent/fluentd/pull/4795
379
+ https://github.com/fluent/fluentd/pull/4798
380
+ https://github.com/fluent/fluentd/pull/4799
381
+ https://github.com/fluent/fluentd/pull/4800
382
+ https://github.com/fluent/fluentd/pull/4801
383
+ https://github.com/fluent/fluentd/pull/4803
384
+
385
+ ## Release v1.16.6 - 2024/08/16
386
+
387
+ ### Bug Fix
388
+
389
+ * YAML config syntax: Fix issue where `$log_level` element was not supported correctly
390
+ https://github.com/fluent/fluentd/pull/4486
391
+ * parser_json: Fix wrong LoadError warning
392
+ https://github.com/fluent/fluentd/pull/4592
393
+ * `fluentd` command: Fix `--plugin` (`-p`) option not to overwrite default value
394
+ https://github.com/fluent/fluentd/pull/4605
395
+
396
+ ### Misc
397
+
398
+ * out_file: Add warn message for symlink_path setting
399
+ https://github.com/fluent/fluentd/pull/4512
400
+ * Keep console gem v1.23 to avoid LoadError
401
+ https://github.com/fluent/fluentd/pull/4510
402
+
145
403
  ## Release v1.16.5 - 2024/03/27
146
404
 
147
405
  ### Bug Fix
@@ -831,7 +1089,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
831
1089
 
832
1090
  * Add webrick to support Ruby 3.0
833
1091
  https://github.com/fluent/fluentd/pull/3257
834
- * Suggest Discource instead of Google Groups
1092
+ * Suggest Discourse instead of Google Groups
835
1093
  https://github.com/fluent/fluentd/pull/3261
836
1094
  * Update MAINTAINERS.md
837
1095
  https://github.com/fluent/fluentd/pull/3282
@@ -920,7 +1178,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
920
1178
 
921
1179
  ### Bug fix
922
1180
 
923
- * Fix a bug that windows service isn't stopped gracefuly
1181
+ * Fix a bug that windows service isn't stopped gracefully
924
1182
  https://github.com/fluent/fluentd/pull/3156
925
1183
 
926
1184
  ## Release v1.11.4 - 2020/10/13
@@ -979,7 +1237,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
979
1237
  https://github.com/fluent/fluentd/pull/3092
980
1238
  * cert: Raise an error for broken certificate file
981
1239
  https://github.com/fluent/fluentd/pull/3086
982
- * cert: Set TLS ciphers list correcty on older OpenSSL
1240
+ * cert: Set TLS ciphers list correctly on older OpenSSL
983
1241
  https://github.com/fluent/fluentd/pull/3093
984
1242
 
985
1243
  ## Release v1.11.1 - 2020/06/22
@@ -1231,7 +1489,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1231
1489
  https://github.com/fluent/fluentd/pull/2787
1232
1490
  * in_tail: Add `path_delimiter` to split with any char
1233
1491
  https://github.com/fluent/fluentd/pull/2796
1234
- * in_tail: Remove an entry from PositionaFile when it is unwatched
1492
+ * in_tail: Remove an entry from PositionFile when it is unwatched
1235
1493
  https://github.com/fluent/fluentd/pull/2803
1236
1494
  * out_http: Add warning for `retryable_response_code`
1237
1495
  https://github.com/fluent/fluentd/pull/2809
@@ -1251,7 +1509,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1251
1509
 
1252
1510
  ### New feature
1253
1511
 
1254
- * New light-weight config reload mechanizm
1512
+ * New light-weight config reload mechanism
1255
1513
  https://github.com/fluent/fluentd/pull/2716
1256
1514
  * Drop ruby 2.1/2.2/2.3 support
1257
1515
  https://github.com/fluent/fluentd/pull/2750
@@ -1274,7 +1532,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1274
1532
 
1275
1533
  * buffer: Disable the optimization of Metadata instance comparison on Windows
1276
1534
  https://github.com/fluent/fluentd/pull/2778
1277
- * outut/buffer: Fix stage size computation
1535
+ * output/buffer: Fix stage size computation
1278
1536
  https://github.com/fluent/fluentd/pull/2734
1279
1537
  * server: Ignore Errno::EHOSTUNREACH in TLS accept to avoid fluentd restart
1280
1538
  https://github.com/fluent/fluentd/pull/2773
@@ -1321,7 +1579,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1321
1579
  https://github.com/fluent/fluentd/pull/2673
1322
1580
  * log: Deprecate top-level match for capturing fluentd logs
1323
1581
  https://github.com/fluent/fluentd/pull/2689
1324
- * in_monitor_agent: Expose Fluentd verion in REST API
1582
+ * in_monitor_agent: Expose Fluentd version in REST API
1325
1583
  https://github.com/fluent/fluentd/pull/2706
1326
1584
  * time: Accept localtime xor utc
1327
1585
  https://github.com/fluent/fluentd/pull/2720
@@ -1756,7 +2014,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1756
2014
  https://github.com/fluent/fluentd/pull/2193
1757
2015
  * record_accessor helper: Delete top level field with bracket style
1758
2016
  https://github.com/fluent/fluentd/pull/2192
1759
- * filter_record_transformer: Keep `class` methond to avoid undefined method error
2017
+ * filter_record_transformer: Keep `class` method to avoid undefined method error
1760
2018
  https://github.com/fluent/fluentd/pull/2186
1761
2019
 
1762
2020
  ## Release v1.3.0 - 2018/11/10
@@ -2010,7 +2268,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
2010
2268
  https://github.com/fluent/fluentd/pull/1805
2011
2269
  * time: Fix the method for TimeFormatter#call
2012
2270
  https://github.com/fluent/fluentd/pull/1813
2013
-
2271
+
2014
2272
  # v1.0
2015
2273
 
2016
2274
  ## Release v1.0.2 - 2017/12/17
@@ -2129,7 +2387,7 @@ See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)
2129
2387
 
2130
2388
  * formatter_tsv: Add add_newline parameter
2131
2389
  https://github.com/fluent/fluentd/pull/1691
2132
- * out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extrace_placeholders API change
2390
+ * out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extract_placeholders API change
2133
2391
  https://github.com/fluent/fluentd/pull/1708
2134
2392
  * record_accessor: Support double quotes in bracket notation
2135
2393
  https://github.com/fluent/fluentd/pull/1716
@@ -2144,7 +2402,7 @@ See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)
2144
2402
 
2145
2403
  * parser_apache2: Delay time parser initialization
2146
2404
  https://github.com/fluent/fluentd/pull/1690
2147
- * cert_option: Improve generated certificates' conformance to X.509 specification
2405
+ * cert_option: Improve generated certificates' conformance to X.509 specification
2148
2406
  https://github.com/fluent/fluentd/pull/1714
2149
2407
  * buffer: Always lock chunks first to avoid deadlock
2150
2408
  https://github.com/fluent/fluentd/pull/1721
@@ -2280,7 +2538,7 @@ See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)
2280
2538
 
2281
2539
  ### Bug fixes
2282
2540
 
2283
- * in_http: Fix X-Forwarded-For header handling. Accpet multiple headers
2541
+ * in_http: Fix X-Forwarded-For header handling. Accept multiple headers
2284
2542
  https://github.com/fluent/fluentd/pull/1535
2285
2543
  * Fix backward compatibility with Fluent::DetachProcess and Fluent::DetachMultiProcess
2286
2544
  https://github.com/fluent/fluentd/pull/1522
data/MAINTAINERS.md CHANGED
@@ -2,12 +2,18 @@
2
2
 
3
3
  - [Naotoshi Seo](https://github.com/sonots), [ZOZO Technologies](https://tech.zozo.com/en/)
4
4
  - [Okkez](https://github.com/okkez)
5
- - [Hiroshi Hatake](https://github.com/cosmo0920), [Calyptia](https://calyptia.com/)
5
+ - [Hiroshi Hatake](https://github.com/cosmo0920), [Chronosphere](https://chronosphere.io/)
6
6
  - [Masahiro Nakagawa](https://github.com/repeatedly)
7
7
  - [Satoshi Tagomori](https://github.com/tagomoris)
8
8
  - [Toru Takahashi](https://github.com/toru-takahashi), [Treasure Data](https://www.treasuredata.com/)
9
- - [Eduardo Silva](https://github.com/edsiper), [Calyptia](https://calyptia/)
9
+ - [Eduardo Silva](https://github.com/edsiper), [Chronosphere](https://chronosphere.io/)
10
10
  - [Fujimoto Seiji](https://github.com/fujimots)
11
11
  - [Takuro Ashie](https://github.com/ashie), [ClearCode](https://www.clear-code.com/)
12
12
  - [Kentaro Hayashi](https://github.com/kenhys), [ClearCode](https://www.clear-code.com/)
13
13
  - [Daijiro Fukuda](https://github.com/daipom), [ClearCode](https://www.clear-code.com/)
14
+
15
+ ## Sub Projects: Fluent Bit
16
+
17
+ Fluent Bit maintainers list can be found here:
18
+
19
+ - https://github.com/fluent/fluent-bit/blob/master/MAINTAINERS.md
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  Fluentd: Open-Source Log Collector
2
2
  ===================================
3
3
 
4
- [![Testing on Ubuntu](https://github.com/fluent/fluentd/actions/workflows/linux-test.yaml/badge.svg?branch=master)](https://github.com/fluent/fluentd/actions/workflows/linux-test.yaml)
5
- [![Testing on Windows](https://github.com/fluent/fluentd/actions/workflows/windows-test.yaml/badge.svg?branch=master)](https://github.com/fluent/fluentd/actions/workflows/windows-test.yaml)
6
- [![Testing on macOS](https://github.com/fluent/fluentd/actions/workflows/macos-test.yaml/badge.svg?branch=master)](https://github.com/fluent/fluentd/actions/workflows/macos-test.yaml)
7
- [![Code Climate](https://codeclimate.com/github/fluent/fluentd/badges/gpa.svg)](https://codeclimate.com/github/fluent/fluentd)
4
+ [![Test](https://github.com/fluent/fluentd/actions/workflows/test.yml/badge.svg)](https://github.com/fluent/fluentd/actions/workflows/test.yml)
5
+ [![Test with Ruby head](https://github.com/fluent/fluentd/actions/workflows/test-ruby-head.yml/badge.svg)](https://github.com/fluent/fluentd/actions/workflows/test-ruby-head.yml)
8
6
  [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1189/badge)](https://bestpractices.coreinfrastructure.org/projects/1189)
9
7
  [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/fluent/fluentd/badge)](https://scorecard.dev/viewer/?uri=github.com/fluent/fluentd)
10
8
 
@@ -30,7 +28,7 @@ Fluentd: Open-Source Log Collector
30
28
 
31
29
  ### Prerequisites
32
30
 
33
- - Ruby 2.7 or later
31
+ - Ruby 3.2 or later
34
32
  - git
35
33
 
36
34
  `git` should be in `PATH`. On Windows, you can use `Github for Windows` and `GitShell` for easy setup.
@@ -72,5 +70,3 @@ See [SECURITY](SECURITY.md) to contact us about vulnerability.
72
70
  ## Contributors:
73
71
 
74
72
  Patches contributed by [great developers](https://github.com/fluent/fluentd/contributors).
75
-
76
- [<img src="https://ga-beacon.appspot.com/UA-24890265-6/fluent/fluentd" />](https://github.com/fluent/fluentd)
data/Rakefile CHANGED
@@ -5,6 +5,8 @@ require 'fileutils'
5
5
  require 'rake/testtask'
6
6
  require 'rake/clean'
7
7
 
8
+ require_relative 'tasks/benchmark'
9
+
8
10
  task test: [:base_test]
9
11
 
10
12
  # 1. update ChangeLog and lib/fluent/version.rb
data/SECURITY.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  ## Supported Versions
4
4
 
5
- | Version | Supported |
6
- | ------- | ------------------ |
7
- | 1.17.x | :white_check_mark: |
5
+ | Version | Supported |
6
+ |-----------|--------------------|
7
+ | 1.19.x | :white_check_mark: |
8
+ | 1.18.x | :x: |
9
+ | 1.17.x | :x: |
8
10
  | 1.16.x | :white_check_mark: |
9
11
  | <= 1.15.x | :x: |
10
12
 
@@ -12,3 +14,9 @@
12
14
 
13
15
  Please post your vulnerability report from the following page:
14
16
  https://github.com/fluent/fluentd/security/advisories
17
+
18
+ > [!NOTE]
19
+ > If you use fluent-package, please check [fluent-package-builder](https://github.com/fluent/fluent-package-builder/blob/master/SECURITY.md) and report it there.
20
+
21
+ > [!NOTE]
22
+ > If you use a Docker image of Fluentd, please check [Fluentd Docker Image](https://github.com/fluent/fluentd-docker-image/blob/master/SECURITY.md) and report it there.
@@ -28,11 +28,11 @@ module Fluent
28
28
  @opts[:clear_capabilities] = true
29
29
  }
30
30
 
31
- @op.on('--add [CAPABILITITY1,CAPABILITY2, ...]', "Add capabilities into Fluentd Ruby") {|s|
31
+ @op.on('--add [CAPABILITY1,CAPABILITY2, ...]', "Add capabilities into Fluentd Ruby") {|s|
32
32
  @opts[:add_capabilities] = s
33
33
  }
34
34
 
35
- @op.on('--drop [CAPABILITITY1,CAPABILITY2, ...]', "Drop capabilities from Fluentd Ruby") {|s|
35
+ @op.on('--drop [CAPABILITY1,CAPABILITY2, ...]', "Drop capabilities from Fluentd Ruby") {|s|
36
36
  @opts[:drop_capabilities] = s
37
37
  }
38
38
 
@@ -133,7 +133,7 @@ unless Fluent.windows?
133
133
  }
134
134
  end
135
135
 
136
- op.on('--config-file-type VALU', 'guessing file type of fluentd configuration. yaml/yml or guess') { |s|
136
+ op.on('--config-file-type VALUE', 'guessing file type of fluentd configuration. yaml/yml or guess') { |s|
137
137
  if (s == 'yaml') || (s == 'yml')
138
138
  cmd_opts[:config_file_type] = s.to_sym
139
139
  elsif (s == 'guess')
@@ -155,7 +155,11 @@ op.on('--strict-config-value', "Parse config values strictly", TrueClass) {|b|
155
155
  cmd_opts[:strict_config_value] = b
156
156
  }
157
157
 
158
- op.on('--enable-input-metrics', "Enable input plugin metrics on fluentd", TrueClass) {|b|
158
+ op.on('--enable-input-metrics', "[DEPRECATED] Enable input plugin metrics on fluentd", TrueClass) {|b|
159
+ cmd_opts[:enable_input_metrics] = b
160
+ }
161
+
162
+ op.on('--disable-input-metrics', "Disable input plugin metrics on fluentd", FalseClass) {|b|
159
163
  cmd_opts[:enable_input_metrics] = b
160
164
  }
161
165
 
@@ -101,6 +101,12 @@ module Fluent
101
101
 
102
102
  class CsvFormatter < Fluent::Plugin::CsvFormatter
103
103
  # TODO: warn when deprecated
104
+
105
+ # Do not cache because it is hard to consider the thread key correctly.
106
+ # (We can try, but it would be low priority.)
107
+ def csv_cacheable?
108
+ false
109
+ end
104
110
  end
105
111
 
106
112
  class SingleValueFormatter < Fluent::Plugin::SingleValueFormatter
@@ -129,7 +129,7 @@ module Fluent
129
129
 
130
130
  def shutdown
131
131
  @loop.watchers.each { |w| w.detach }
132
- @loop.stop if @loop.instance_variable_get("@running")
132
+ @loop.stop if @loop.instance_variable_get(:@running)
133
133
  @handler.close
134
134
  @thread.join
135
135
 
@@ -148,7 +148,7 @@ module Fluent
148
148
  def on_message(msg, addr)
149
149
  @parser.parse(msg) { |time, record|
150
150
  unless time && record
151
- log.warn "pattern not matched: #{msg.inspect}"
151
+ log.warn { "pattern not matched: #{msg.inspect}" }
152
152
  return
153
153
  end
154
154
 
@@ -47,7 +47,7 @@ module Fluent
47
47
  # should override "@name".
48
48
  @root_section = root
49
49
 
50
- @param_name = param_name && param_name.to_sym
50
+ @param_name = param_name&.to_sym
51
51
  @init = init
52
52
  @required = required
53
53
  @multi = multi