fluentd 1.18.0 → 1.19.0

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +116 -0
  3. data/CHANGELOG.md +235 -12
  4. data/MAINTAINERS.md +8 -2
  5. data/README.md +3 -7
  6. data/Rakefile +2 -0
  7. data/SECURITY.md +5 -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/counter/store.rb +1 -1
  20. data/lib/fluent/engine.rb +1 -1
  21. data/lib/fluent/env.rb +3 -2
  22. data/lib/fluent/event.rb +7 -6
  23. data/lib/fluent/log/console_adapter.rb +5 -7
  24. data/lib/fluent/log.rb +23 -0
  25. data/lib/fluent/plugin/bare_output.rb +0 -16
  26. data/lib/fluent/plugin/base.rb +2 -2
  27. data/lib/fluent/plugin/buf_file.rb +15 -1
  28. data/lib/fluent/plugin/buf_file_single.rb +15 -1
  29. data/lib/fluent/plugin/buffer/chunk.rb +74 -10
  30. data/lib/fluent/plugin/buffer/file_chunk.rb +9 -5
  31. data/lib/fluent/plugin/buffer/file_single_chunk.rb +3 -3
  32. data/lib/fluent/plugin/buffer/memory_chunk.rb +2 -2
  33. data/lib/fluent/plugin/buffer.rb +34 -6
  34. data/lib/fluent/plugin/compressable.rb +68 -22
  35. data/lib/fluent/plugin/filter.rb +0 -8
  36. data/lib/fluent/plugin/filter_record_transformer.rb +1 -1
  37. data/lib/fluent/plugin/formatter_csv.rb +18 -4
  38. data/lib/fluent/plugin/formatter_json.rb +7 -4
  39. data/lib/fluent/plugin/formatter_out_file.rb +5 -2
  40. data/lib/fluent/plugin/in_forward.rb +9 -5
  41. data/lib/fluent/plugin/in_http.rb +9 -4
  42. data/lib/fluent/plugin/in_monitor_agent.rb +4 -8
  43. data/lib/fluent/plugin/in_tail/position_file.rb +1 -1
  44. data/lib/fluent/plugin/in_tail.rb +80 -57
  45. data/lib/fluent/plugin/in_tcp.rb +2 -2
  46. data/lib/fluent/plugin/in_udp.rb +1 -1
  47. data/lib/fluent/plugin/input.rb +0 -8
  48. data/lib/fluent/plugin/multi_output.rb +1 -17
  49. data/lib/fluent/plugin/out_exec_filter.rb +2 -2
  50. data/lib/fluent/plugin/out_file.rb +37 -30
  51. data/lib/fluent/plugin/out_forward/connection_manager.rb +2 -2
  52. data/lib/fluent/plugin/out_forward.rb +23 -13
  53. data/lib/fluent/plugin/out_http.rb +1 -1
  54. data/lib/fluent/plugin/out_secondary_file.rb +2 -2
  55. data/lib/fluent/plugin/out_stdout.rb +10 -3
  56. data/lib/fluent/plugin/out_stream.rb +3 -3
  57. data/lib/fluent/plugin/output.rb +24 -35
  58. data/lib/fluent/plugin/owned_by_mixin.rb +2 -2
  59. data/lib/fluent/plugin/parser.rb +3 -3
  60. data/lib/fluent/plugin/parser_json.rb +3 -3
  61. data/lib/fluent/plugin/sd_file.rb +2 -2
  62. data/lib/fluent/plugin/storage_local.rb +8 -4
  63. data/lib/fluent/plugin.rb +1 -1
  64. data/lib/fluent/plugin_helper/child_process.rb +2 -2
  65. data/lib/fluent/plugin_helper/http_server/request.rb +13 -2
  66. data/lib/fluent/plugin_helper/http_server/server.rb +4 -14
  67. data/lib/fluent/plugin_helper/http_server.rb +1 -8
  68. data/lib/fluent/plugin_helper/metrics.rb +7 -0
  69. data/lib/fluent/plugin_helper/server.rb +4 -1
  70. data/lib/fluent/plugin_helper/service_discovery.rb +1 -1
  71. data/lib/fluent/plugin_helper/socket_option.rb +2 -2
  72. data/lib/fluent/plugin_helper/storage.rb +1 -1
  73. data/lib/fluent/plugin_id.rb +3 -3
  74. data/lib/fluent/root_agent.rb +4 -3
  75. data/lib/fluent/static_config_analysis.rb +3 -2
  76. data/lib/fluent/supervisor.rb +51 -5
  77. data/lib/fluent/system_config.rb +13 -4
  78. data/lib/fluent/test/base.rb +1 -1
  79. data/lib/fluent/test/driver/base.rb +2 -2
  80. data/lib/fluent/test/filter_test.rb +2 -2
  81. data/lib/fluent/test/formatter_test.rb +1 -1
  82. data/lib/fluent/test/helpers.rb +4 -0
  83. data/lib/fluent/test/input_test.rb +2 -2
  84. data/lib/fluent/test/output_test.rb +4 -4
  85. data/lib/fluent/test/parser_test.rb +1 -1
  86. data/lib/fluent/tls.rb +24 -0
  87. data/lib/fluent/variable_store.rb +1 -1
  88. data/lib/fluent/version.rb +1 -1
  89. data/lib/fluent/winsvc.rb +38 -8
  90. metadata +85 -16
  91. data/lib/fluent/plugin_helper/http_server/compat/server.rb +0 -92
  92. data/lib/fluent/plugin_helper/http_server/compat/ssl_context_extractor.rb +0 -52
  93. 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: 6c15a2a165d2c506d9c97d5f370905cc1dc6a479440c3e8a01cc55900d1f0e72
4
+ data.tar.gz: ac53d407592733019e812062aa353d20d866d9dc45da1bd884e28e5545f02259
5
5
  SHA512:
6
- metadata.gz: b8ce0b4a097d2f200b13c38bfb8c0d0747d9cdaf74cc70419467e21011d7bfc12e6651f7a0cc3f381565de22d1f13d063470371e024e7a5ec404456cd9a7e270
7
- data.tar.gz: af53ab2d7a880ca70f0f86cc7d640e45aad815509c1fa91e9dbd9d09a100818adad0f8de003fd853d08e663dc2dcbc951f9ef9da43ddc4705a569afbb2cc374a
6
+ metadata.gz: e2f4558b9a9c9d6818c645ac305a63fead7b4f2ebabc0b96c2fba5b0a9226bae539740fd816e969400391de0512d29cb14ebd5cd5a262cf5bfdabbcb2d18a3cf
7
+ data.tar.gz: f68aec16ddcb80075cdc47d0eaa21c1fc8d3736c75d2a787d5fbaee478e3074e19a2f6d87d0d7dc3cac91573c967d8279b26f6145d5c5d813c86eaef2ad27a79
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,132 @@
1
+ # v1.19
2
+
3
+ ## Release v1.19.0 - 2025/07/29
4
+
5
+ ### Enhancement
6
+
7
+ New features:
8
+
9
+ * Add zstd compression support https://github.com/fluent/fluentd/pull/4657
10
+ * Buffer: add `zstd` to `compress` option.
11
+ * out_file: add `zstd` to `compress` option.
12
+ * out_forward: add `zstd` to `compress` option.
13
+ * in_forward: support `zstd` format. (Experimental)
14
+ * buffer: add feature to evacuate chunk files when retry limit
15
+ https://github.com/fluent/fluentd/pull/4986
16
+ * out_http: TLS1.3 support
17
+ https://github.com/fluent/fluentd/pull/4859
18
+ * out_stdout: support output to STDOUT independently of Fluentd logger by setting `use_logger` to `false`
19
+ https://github.com/fluent/fluentd/pull/5036
20
+ * out_file: add symlink_path_use_relative option to use relative path instead of absolute path in symlink_path
21
+ https://github.com/fluent/fluentd/pull/4904
22
+ * System configuration: Add forced_stacktrace_level to force the log level of stacktraces.
23
+ https://github.com/fluent/fluentd/pull/5008
24
+ * System configuration: support built-in config files
25
+ https://github.com/fluent/fluentd/pull/4893
26
+
27
+ Metrics:
28
+
29
+ * metrics: enable input metrics by default
30
+ https://github.com/fluent/fluentd/pull/4966
31
+ * in_tail: add "tracked_file_count" metrics to see how many log files are being tracked
32
+ https://github.com/fluent/fluentd/pull/4980
33
+ * output: add metrics for number of writing events in secondary
34
+ https://github.com/fluent/fluentd/pull/4971
35
+ * output: add metrics for dropped oldest chunk count
36
+ https://github.com/fluent/fluentd/pull/4981
37
+
38
+ Others:
39
+
40
+ * in_forward: enable skip_invalid_event by default not to process broken data
41
+ https://github.com/fluent/fluentd/pull/5003
42
+ * buf_file: reinforce buffer file corruption check
43
+ https://github.com/fluent/fluentd/pull/4998
44
+ * in_http: allow empty Origin header requests to pass CORS checks
45
+ https://github.com/fluent/fluentd/pull/4866
46
+ * in_tail: add warning for directory permission
47
+ https://github.com/fluent/fluentd/pull/4865
48
+ * Add logging for errors about loading dependencies on startup
49
+ https://github.com/fluent/fluentd/pull/4858
50
+ * Performance improvements
51
+ * https://github.com/fluent/fluentd/pull/4759
52
+ https://github.com/fluent/fluentd/pull/4760
53
+ https://github.com/fluent/fluentd/pull/4763
54
+ https://github.com/fluent/fluentd/pull/4764
55
+ https://github.com/fluent/fluentd/pull/4769
56
+ https://github.com/fluent/fluentd/pull/4813
57
+ https://github.com/fluent/fluentd/pull/4817
58
+ https://github.com/fluent/fluentd/pull/4835
59
+ https://github.com/fluent/fluentd/pull/4845
60
+ https://github.com/fluent/fluentd/pull/4881
61
+ https://github.com/fluent/fluentd/pull/4884
62
+ https://github.com/fluent/fluentd/pull/4886
63
+ https://github.com/fluent/fluentd/pull/4930
64
+ https://github.com/fluent/fluentd/pull/4931
65
+ https://github.com/fluent/fluentd/pull/4932
66
+ https://github.com/fluent/fluentd/pull/4933
67
+ https://github.com/fluent/fluentd/pull/4934
68
+ https://github.com/fluent/fluentd/pull/4995
69
+
70
+ ### Bug Fix
71
+
72
+ * in_tail: fixed where specifying only encoding parameter might cause data corruption (affects since v0.14.12).
73
+ https://github.com/fluent/fluentd/pull/5010
74
+ * formatter_csv: fix memory leak
75
+ https://github.com/fluent/fluentd/pull/4864
76
+ * server plugin helper: ensure to close all connections at shutdown
77
+ https://github.com/fluent/fluentd/pull/502
78
+ * Fixed a bug where the default `umask` was not set to `0` when using `--daemon` (td-agent, fluent-package) since v1.14.6.
79
+ https://github.com/fluent/fluentd/pull/4836
80
+ * `--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`.
81
+ https://github.com/fluent/fluentd/pull/4836
82
+ * Windows: Stop the service when the supervisor is dead
83
+ https://github.com/fluent/fluentd/pull/4909
84
+ * Windows: Fixed an issue where stopping the service immediately after startup could leave the processes.
85
+ https://github.com/fluent/fluentd/pull/4782
86
+ * Windows: Fixed an issue where stopping service sometimes can not be completed forever.
87
+ https://github.com/fluent/fluentd/pull/4782
88
+
89
+ ### Misc
90
+
91
+ * in_monitor_agent: stop using CGI.parse due to support Ruby 3.5
92
+ https://github.com/fluent/fluentd/pull/4962
93
+ * HTTP server plugin helper: stop using CGI.parse due to support Ruby 3.5
94
+ https://github.com/fluent/fluentd/pull/4962
95
+ * config: change inspect format
96
+ https://github.com/fluent/fluentd/pull/4914
97
+ * console_adapter: support console gem v1.30
98
+ https://github.com/fluent/fluentd/pull/4857
99
+ * gemspec: fix io-event and io-stream version to avoid unstable behavior on Windows
100
+ https://github.com/fluent/fluentd/pull/5042
101
+ * in_http: replace WEBrick::HTTPUtils.parse_query with URI
102
+ Note that at least, this makes it unable to use ; delimiter.
103
+ https://github.com/fluent/fluentd/pull/4900
104
+ * http_server: stop fallback to WEBrick
105
+ https://github.com/fluent/fluentd/pull/4899
106
+ * metrics: add getter method automatically
107
+ https://github.com/fluent/fluentd/pull/4978
108
+ * http_server helper: add `header` method for `Request`
109
+ https://github.com/fluent/fluentd/pull/4903
110
+ * multi_output: fix metrics name
111
+ https://github.com/fluent/fluentd/pull/4979
112
+ * plugin_id: fix typo
113
+ https://github.com/fluent/fluentd/pull/4964
114
+ * CI fixes
115
+ * https://github.com/fluent/fluentd/pull/4728
116
+ https://github.com/fluent/fluentd/pull/4730
117
+ https://github.com/fluent/fluentd/pull/4746
118
+ https://github.com/fluent/fluentd/pull/4747
119
+ https://github.com/fluent/fluentd/pull/4748
120
+ https://github.com/fluent/fluentd/pull/4750
121
+ https://github.com/fluent/fluentd/pull/4755
122
+ https://github.com/fluent/fluentd/pull/4820
123
+ https://github.com/fluent/fluentd/pull/4874
124
+ https://github.com/fluent/fluentd/pull/4877
125
+ * Fixes RuboCop's remarks
126
+ https://github.com/fluent/fluentd/pull/4928
127
+ * CI: Add benchmark scripts
128
+ https://github.com/fluent/fluentd/pull/4989
129
+
1
130
  # v1.18
2
131
 
3
132
  ## Release v1.18.0 - 2024/11/29
@@ -142,6 +271,100 @@
142
271
 
143
272
  # v1.16
144
273
 
274
+ ## Release v1.16.9 - 2025/05/14
275
+
276
+ ### Bug Fix
277
+
278
+ * winsvc: Fix bug where service accidentally stops after starting.
279
+ The previous version (v1.16.8) should not be used for Windows Service.
280
+ https://github.com/fluent/fluentd/pull/4955
281
+
282
+ ### Misc
283
+
284
+ * CI improvements
285
+ https://github.com/fluent/fluentd/pull/4956
286
+
287
+ ## Release v1.16.8 - 2025/05/01
288
+
289
+ **This version has a critical bug about Windows Service. Do not use this version.**
290
+ (https://github.com/fluent/fluentd/pull/4955)
291
+
292
+ ### Bug Fix
293
+
294
+ * winsvc: Stop the service when the supervisor is dead
295
+ https://github.com/fluent/fluentd/pull/4942
296
+ * formatter_csv: Fix memory leak
297
+ https://github.com/fluent/fluentd/pull/4920
298
+
299
+ ### Misc
300
+
301
+ * Add fiddle as dependency gem for Ruby 3.5 on Windows
302
+ https://github.com/fluent/fluentd/pull/4919
303
+ * Refactoring code
304
+ https://github.com/fluent/fluentd/pull/4921
305
+ https://github.com/fluent/fluentd/pull/4922
306
+ https://github.com/fluent/fluentd/pull/4926
307
+ https://github.com/fluent/fluentd/pull/4943
308
+ * CI improvements
309
+ https://github.com/fluent/fluentd/pull/4821
310
+ https://github.com/fluent/fluentd/pull/4850
311
+ https://github.com/fluent/fluentd/pull/4851
312
+ https://github.com/fluent/fluentd/pull/4862
313
+ https://github.com/fluent/fluentd/pull/4915
314
+ https://github.com/fluent/fluentd/pull/4923
315
+ https://github.com/fluent/fluentd/pull/4925
316
+ https://github.com/fluent/fluentd/pull/4927
317
+
318
+ ## Release v1.16.7 - 2025/01/29
319
+
320
+ ### Bug Fix
321
+
322
+ * Windows: Fix `NoMethodError` of `--daemon` option
323
+ https://github.com/fluent/fluentd/pull/4796
324
+ * Windows: Fixed an issue where stopping the service immediately after startup could leave the processes
325
+ https://github.com/fluent/fluentd/pull/4782
326
+ * Windows: Fixed an issue where stopping service sometimes can not be completed forever
327
+ https://github.com/fluent/fluentd/pull/4782
328
+
329
+ ### Misc
330
+
331
+ * Windows: Add workaround for unexpected exception
332
+ https://github.com/fluent/fluentd/pull/4747
333
+ * README: remove deprecated google analytics beacon
334
+ https://github.com/fluent/fluentd/pull/4797
335
+ * CI improvements
336
+ https://github.com/fluent/fluentd/pull/4723
337
+ https://github.com/fluent/fluentd/pull/4788
338
+ https://github.com/fluent/fluentd/pull/4789
339
+ https://github.com/fluent/fluentd/pull/4790
340
+ https://github.com/fluent/fluentd/pull/4791
341
+ https://github.com/fluent/fluentd/pull/4793
342
+ https://github.com/fluent/fluentd/pull/4794
343
+ https://github.com/fluent/fluentd/pull/4795
344
+ https://github.com/fluent/fluentd/pull/4798
345
+ https://github.com/fluent/fluentd/pull/4799
346
+ https://github.com/fluent/fluentd/pull/4800
347
+ https://github.com/fluent/fluentd/pull/4801
348
+ https://github.com/fluent/fluentd/pull/4803
349
+
350
+ ## Release v1.16.6 - 2024/08/16
351
+
352
+ ### Bug Fix
353
+
354
+ * YAML config syntax: Fix issue where `$log_level` element was not supported correctly
355
+ https://github.com/fluent/fluentd/pull/4486
356
+ * parser_json: Fix wrong LoadError warning
357
+ https://github.com/fluent/fluentd/pull/4592
358
+ * `fluentd` command: Fix `--plugin` (`-p`) option not to overwrite default value
359
+ https://github.com/fluent/fluentd/pull/4605
360
+
361
+ ### Misc
362
+
363
+ * out_file: Add warn message for symlink_path setting
364
+ https://github.com/fluent/fluentd/pull/4512
365
+ * Keep console gem v1.23 to avoid LoadError
366
+ https://github.com/fluent/fluentd/pull/4510
367
+
145
368
  ## Release v1.16.5 - 2024/03/27
146
369
 
147
370
  ### Bug Fix
@@ -831,7 +1054,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
831
1054
 
832
1055
  * Add webrick to support Ruby 3.0
833
1056
  https://github.com/fluent/fluentd/pull/3257
834
- * Suggest Discource instead of Google Groups
1057
+ * Suggest Discourse instead of Google Groups
835
1058
  https://github.com/fluent/fluentd/pull/3261
836
1059
  * Update MAINTAINERS.md
837
1060
  https://github.com/fluent/fluentd/pull/3282
@@ -920,7 +1143,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
920
1143
 
921
1144
  ### Bug fix
922
1145
 
923
- * Fix a bug that windows service isn't stopped gracefuly
1146
+ * Fix a bug that windows service isn't stopped gracefully
924
1147
  https://github.com/fluent/fluentd/pull/3156
925
1148
 
926
1149
  ## Release v1.11.4 - 2020/10/13
@@ -979,7 +1202,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
979
1202
  https://github.com/fluent/fluentd/pull/3092
980
1203
  * cert: Raise an error for broken certificate file
981
1204
  https://github.com/fluent/fluentd/pull/3086
982
- * cert: Set TLS ciphers list correcty on older OpenSSL
1205
+ * cert: Set TLS ciphers list correctly on older OpenSSL
983
1206
  https://github.com/fluent/fluentd/pull/3093
984
1207
 
985
1208
  ## Release v1.11.1 - 2020/06/22
@@ -1231,7 +1454,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1231
1454
  https://github.com/fluent/fluentd/pull/2787
1232
1455
  * in_tail: Add `path_delimiter` to split with any char
1233
1456
  https://github.com/fluent/fluentd/pull/2796
1234
- * in_tail: Remove an entry from PositionaFile when it is unwatched
1457
+ * in_tail: Remove an entry from PositionFile when it is unwatched
1235
1458
  https://github.com/fluent/fluentd/pull/2803
1236
1459
  * out_http: Add warning for `retryable_response_code`
1237
1460
  https://github.com/fluent/fluentd/pull/2809
@@ -1251,7 +1474,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1251
1474
 
1252
1475
  ### New feature
1253
1476
 
1254
- * New light-weight config reload mechanizm
1477
+ * New light-weight config reload mechanism
1255
1478
  https://github.com/fluent/fluentd/pull/2716
1256
1479
  * Drop ruby 2.1/2.2/2.3 support
1257
1480
  https://github.com/fluent/fluentd/pull/2750
@@ -1274,7 +1497,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1274
1497
 
1275
1498
  * buffer: Disable the optimization of Metadata instance comparison on Windows
1276
1499
  https://github.com/fluent/fluentd/pull/2778
1277
- * outut/buffer: Fix stage size computation
1500
+ * output/buffer: Fix stage size computation
1278
1501
  https://github.com/fluent/fluentd/pull/2734
1279
1502
  * server: Ignore Errno::EHOSTUNREACH in TLS accept to avoid fluentd restart
1280
1503
  https://github.com/fluent/fluentd/pull/2773
@@ -1321,7 +1544,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1321
1544
  https://github.com/fluent/fluentd/pull/2673
1322
1545
  * log: Deprecate top-level match for capturing fluentd logs
1323
1546
  https://github.com/fluent/fluentd/pull/2689
1324
- * in_monitor_agent: Expose Fluentd verion in REST API
1547
+ * in_monitor_agent: Expose Fluentd version in REST API
1325
1548
  https://github.com/fluent/fluentd/pull/2706
1326
1549
  * time: Accept localtime xor utc
1327
1550
  https://github.com/fluent/fluentd/pull/2720
@@ -1756,7 +1979,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
1756
1979
  https://github.com/fluent/fluentd/pull/2193
1757
1980
  * record_accessor helper: Delete top level field with bracket style
1758
1981
  https://github.com/fluent/fluentd/pull/2192
1759
- * filter_record_transformer: Keep `class` methond to avoid undefined method error
1982
+ * filter_record_transformer: Keep `class` method to avoid undefined method error
1760
1983
  https://github.com/fluent/fluentd/pull/2186
1761
1984
 
1762
1985
  ## Release v1.3.0 - 2018/11/10
@@ -2010,7 +2233,7 @@ We recommend to upgrade Fluentd to v1.14.2 or use patched version of
2010
2233
  https://github.com/fluent/fluentd/pull/1805
2011
2234
  * time: Fix the method for TimeFormatter#call
2012
2235
  https://github.com/fluent/fluentd/pull/1813
2013
-
2236
+
2014
2237
  # v1.0
2015
2238
 
2016
2239
  ## Release v1.0.2 - 2017/12/17
@@ -2129,7 +2352,7 @@ See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)
2129
2352
 
2130
2353
  * formatter_tsv: Add add_newline parameter
2131
2354
  https://github.com/fluent/fluentd/pull/1691
2132
- * out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extrace_placeholders API change
2355
+ * out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extract_placeholders API change
2133
2356
  https://github.com/fluent/fluentd/pull/1708
2134
2357
  * record_accessor: Support double quotes in bracket notation
2135
2358
  https://github.com/fluent/fluentd/pull/1716
@@ -2144,7 +2367,7 @@ See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)
2144
2367
 
2145
2368
  * parser_apache2: Delay time parser initialization
2146
2369
  https://github.com/fluent/fluentd/pull/1690
2147
- * cert_option: Improve generated certificates' conformance to X.509 specification
2370
+ * cert_option: Improve generated certificates' conformance to X.509 specification
2148
2371
  https://github.com/fluent/fluentd/pull/1714
2149
2372
  * buffer: Always lock chunks first to avoid deadlock
2150
2373
  https://github.com/fluent/fluentd/pull/1721
@@ -2280,7 +2503,7 @@ See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)
2280
2503
 
2281
2504
  ### Bug fixes
2282
2505
 
2283
- * in_http: Fix X-Forwarded-For header handling. Accpet multiple headers
2506
+ * in_http: Fix X-Forwarded-For header handling. Accept multiple headers
2284
2507
  https://github.com/fluent/fluentd/pull/1535
2285
2508
  * Fix backward compatibility with Fluent::DetachProcess and Fluent::DetachMultiProcess
2286
2509
  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
 
@@ -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
@@ -31,7 +31,7 @@ module Fluent
31
31
  @unused = unused || attrs.keys
32
32
  @v1_config = false
33
33
  @corresponding_proxies = [] # some plugins use flat parameters, e.g. in_http doesn't provide <format> section for parser.
34
- @unused_in = nil # if this element is not used in plugins, correspoing plugin name and parent element name is set, e.g. [source, plugin class].
34
+ @unused_in = nil # if this element is not used in plugins, corresponding plugin name and parent element name is set, e.g. [source, plugin class].
35
35
 
36
36
  # it's global logger, not plugin logger: deprecated message should be global warning, not plugin level.
37
37
  @logger = defined?($log) ? $log : nil
@@ -73,7 +73,7 @@ module Fluent
73
73
 
74
74
  def inspect
75
75
  attrs = super
76
- "name:#{@name}, arg:#{@arg}, " + attrs + ", " + @elements.inspect
76
+ "<name:#{@name}, arg:#{@arg}, attrs:#{attrs}, elements:#{@elements.inspect}>"
77
77
  end
78
78
 
79
79
  # Used by PP and Pry
@@ -98,11 +98,11 @@ module Fluent
98
98
  else
99
99
  return string.join
100
100
  end
101
- elsif check(/[^"]#{LINE_END_WITHOUT_SPACING_AND_COMMENT}/)
102
- if s = check(/[^\\]#{LINE_END_WITHOUT_SPACING_AND_COMMENT}/)
101
+ elsif check(/[^"]#{LINE_END_WITHOUT_SPACING_AND_COMMENT}/o)
102
+ if s = check(/[^\\]#{LINE_END_WITHOUT_SPACING_AND_COMMENT}/o)
103
103
  string << s
104
104
  end
105
- skip(/[^"]#{LINE_END_WITHOUT_SPACING_AND_COMMENT}/)
105
+ skip(/[^"]#{LINE_END_WITHOUT_SPACING_AND_COMMENT}/o)
106
106
  elsif s = scan(/\\./)
107
107
  string << eval_escape_char(s[1,1])
108
108
  elsif skip(/\#\{/)