@@ -10,119 +10,41 @@ repository = "https://github.com/vectordotdev/vrl"
10
10
readme = " README.md"
11
11
keywords = [" vector" , " datadog" , " compiler" ]
12
12
categories = [" compilers" ]
13
- rust-version = " 1.79 " # msrv
13
+ rust-version = " 1.81 " # msrv
14
14
15
15
[workspace ]
16
- members = [" ." , " lib/cli" , " lib/tests" , " lib/fuzz" ]
16
+ members = [
17
+ " ." ,
18
+ " lib/cli" ,
19
+ " lib/tests" ,
20
+ " lib/fuzz"
21
+ ]
17
22
18
23
[workspace .dependencies ]
19
24
clap = { version = " 4" , features = [" derive" ] }
20
25
21
26
[features ]
22
- default = [
23
- " compiler" ,
24
- " value" ,
25
- " diagnostic" ,
26
- " path" ,
27
- " parser" ,
28
- " stdlib" ,
29
- " datadog" ,
30
- " core" ,
31
- ]
27
+ default = [" compiler" , " value" , " diagnostic" , " path" , " parser" , " stdlib" , " datadog" , " core" ]
32
28
33
29
# Main features (on by default)
34
- compiler = [
35
- " diagnostic" ,
36
- " path" ,
37
- " parser" ,
38
- " value" ,
39
- " dep:paste" ,
40
- " dep:chrono" ,
41
- " dep:serde" ,
42
- " dep:regex" ,
43
- " dep:bytes" ,
44
- " dep:ordered-float" ,
45
- " dep:chrono-tz" ,
46
- " dep:snafu" ,
47
- " dep:thiserror" ,
48
- " dep:dyn-clone" ,
49
- " dep:indoc" ,
50
- " dep:thiserror" ,
51
- " dep:lalrpop-util" ,
52
- ]
53
- value = [
54
- " path" ,
55
- " dep:bytes" ,
56
- " dep:regex" ,
57
- " dep:ordered-float" ,
58
- " dep:chrono" ,
59
- " dep:serde_json" ,
60
- ]
30
+ compiler = [" diagnostic" , " path" , " parser" , " value" , " dep:chrono" , " dep:serde" , " dep:regex" , " dep:bytes" , " dep:ordered-float" , " dep:chrono-tz" , " dep:snafu" , " dep:thiserror" , " dep:dyn-clone" , " dep:indoc" , " dep:thiserror" , " dep:lalrpop-util" ]
31
+ value = [" path" , " dep:bytes" , " dep:regex" , " dep:ordered-float" , " dep:chrono" , " dep:serde_json" , " dep:simdutf8" ]
61
32
diagnostic = [" dep:codespan-reporting" , " dep:termcolor" ]
62
- path = [" value" , " dep:once_cell" , " dep:serde" , " dep:snafu" , " dep:regex" ]
63
- parser = [
64
- " path" ,
65
- " diagnostic" ,
66
- " value" ,
67
- " dep:thiserror" ,
68
- " dep:ordered-float" ,
69
- " dep:lalrpop-util" ,
70
- ]
71
- parsing = [
72
- " value" ,
73
- " compiler" ,
74
- " dep:url" ,
75
- " dep:nom" ,
76
- " dep:regex" ,
77
- " dep:roxmltree" ,
78
- " dep:rust_decimal" ,
79
- ]
33
+ path = [" value" , " dep:serde" , " dep:snafu" , " dep:regex" ]
34
+ parser = [" path" , " diagnostic" , " value" , " dep:thiserror" , " dep:ordered-float" , " dep:lalrpop-util" ]
35
+ parsing = [" value" , " compiler" , " dep:url" , " dep:nom" , " dep:regex" , " dep:roxmltree" , " dep:rust_decimal" ]
80
36
core = [" value" , " dep:snafu" , " dep:nom" ]
81
37
string_path = []
82
38
83
39
# Datadog related features (on by default)
84
40
datadog = [" datadog_filter" , " datadog_grok" , " datadog_search" ]
85
41
datadog_filter = [" path" , " datadog_search" , " dep:regex" , " dep:dyn-clone" ]
86
- datadog_grok = [
87
- " value" ,
88
- " parsing" ,
89
- " dep:nom" ,
90
- " dep:peeking_take_while" ,
91
- " dep:serde_json" ,
92
- " dep:onig" ,
93
- " dep:lalrpop-util" ,
94
- " dep:thiserror" ,
95
- " dep:chrono" ,
96
- " dep:chrono-tz" ,
97
- " dep:percent-encoding" ,
98
- " dep:fancy-regex" ,
99
- ]
100
- datadog_search = [
101
- " dep:pest" ,
102
- " dep:pest_derive" ,
103
- " dep:itertools" ,
104
- " dep:once_cell" ,
105
- " dep:regex" ,
106
- " dep:serde" ,
107
- ]
42
+ datadog_grok = [" value" , " parsing" , " dep:nom" , " dep:peeking_take_while" , " dep:serde_json" , " dep:onig" , " dep:lalrpop-util" , " dep:thiserror" , " dep:chrono" , " dep:chrono-tz" , " dep:percent-encoding" , " dep:fancy-regex" ]
43
+ datadog_search = [" dep:pest" , " dep:pest_derive" , " dep:itertools" , " dep:regex" , " dep:serde" ]
108
44
109
45
# Features that aren't used as often (default off)
110
- cli = [
111
- " stdlib" ,
112
- " dep:serde_json" ,
113
- " dep:thiserror" ,
114
- " dep:clap" ,
115
- " dep:exitcode" ,
116
- " dep:webbrowser" ,
117
- " dep:rustyline" ,
118
- " dep:prettytable-rs" ,
119
- ]
120
- test_framework = [
121
- " compiler" ,
122
- " dep:prettydiff" ,
123
- " dep:serde_json" ,
124
- " dep:ansi_term" ,
125
- ]
46
+ cli = [" stdlib" , " dep:serde_json" , " dep:thiserror" , " dep:exitcode" , " dep:webbrowser" , " dep:rustyline" , " dep:prettytable-rs" ]
47
+ test_framework = [" compiler" , " dep:prettydiff" , " dep:serde_json" , " dep:ansi_term" ]
126
48
arbitrary = [" dep:quickcheck" , " dep:arbitrary" ]
127
49
lua = [" dep:mlua" ]
128
50
proptest = [" dep:proptest" , " dep:proptest-derive" ]
@@ -139,6 +61,7 @@ stdlib = [
139
61
" datadog" ,
140
62
" parsing" ,
141
63
" dep:aes" ,
64
+ " dep:aes-siv" ,
142
65
" dep:base16" ,
143
66
" dep:base62" ,
144
67
" dep:base64" ,
@@ -147,8 +70,10 @@ stdlib = [
147
70
" dep:chacha20poly1305" ,
148
71
" dep:charset" ,
149
72
" dep:convert_case" ,
73
+ " dep:ciborium" ,
150
74
" dep:cidr" ,
151
75
" dep:community-id" ,
76
+ " dep:crc" ,
152
77
" dep:crypto_secretbox" ,
153
78
" dep:csv" ,
154
79
" dep:ctr" ,
@@ -168,7 +93,7 @@ stdlib = [
168
93
" dep:md-5" ,
169
94
" dep:nom" ,
170
95
" dep:ofb" ,
171
- " dep:once_cell " ,
96
+ " dep:parse-size " ,
172
97
" dep:percent-encoding" ,
173
98
" dep:prost" ,
174
99
" dep:prost-reflect" ,
@@ -193,6 +118,7 @@ stdlib = [
193
118
" dep:uuid" ,
194
119
" dep:woothee" ,
195
120
" dep:zstd" ,
121
+ " dep:encoding_rs"
196
122
]
197
123
198
124
[dependencies ]
@@ -206,93 +132,66 @@ base62 = { version = "2.2.1", optional = true }
206
132
base64 = { version = " 0.22" , optional = true }
207
133
bytes = { version = " 1" , default-features = false , optional = true }
208
134
charset = { version = " 0.1" , optional = true }
209
- chrono = { version = " 0.4" , default-features = false , features = [
210
- " clock" ,
211
- " serde" ,
212
- " wasmbind" ,
213
- ], optional = true }
135
+ encoding_rs = { version = " 0.8.35" , optional = true }
136
+ chrono = { version = " 0.4" , default-features = false , features = [" clock" , " serde" , " wasmbind" ], optional = true }
214
137
chrono-tz = { version = " 0.10" , default-features = false , optional = true }
215
138
ciborium = { version = " 0.2.2" , default-features = false , optional = true }
216
139
cidr = { version = " 0.3" , optional = true }
217
140
csv = { version = " 1" , optional = true }
218
- clap = { version = " 4" , features = [" derive" ], optional = true }
219
- codespan-reporting = { version = " 0.11" , optional = true }
220
- convert_case = { version = " 0.6.0" , optional = true }
141
+ clap.workspace = true
142
+ codespan-reporting = { version = " 0.12" , optional = true }
143
+ convert_case = { version = " 0.7.1" , optional = true }
144
+ crc = { version = " 3.2.1" , optional = true }
221
145
data-encoding = { version = " 2" , optional = true }
222
146
digest = { version = " 0.10" , optional = true }
223
147
dyn-clone = { version = " 1" , default-features = false , optional = true }
224
148
exitcode = { version = " 1" , optional = true }
225
- flate2 = { version = " 1" , default-features = false , features = [
226
- " default" ,
227
- ], optional = true }
149
+ flate2 = { version = " 1.1.1" , default-features = false , features = [" zlib-rs" ], optional = true }
228
150
hex = { version = " 0.4" , optional = true }
229
151
hmac = { version = " 0.12" , optional = true }
230
152
iana-time-zone = { version = " 0.1" , optional = true }
231
- idna = { version = " 0.5" , optional = true }
232
- indexmap = { version = " 2" , default-features = false , features = [
233
- " std" ,
234
- ], optional = true }
153
+ idna = { version = " 1.0" , optional = true }
154
+ indexmap = { version = " 2" , default-features = false , features = [" std" ], optional = true }
235
155
influxdb-line-protocol = { version = " 2.0.0" , optional = true }
236
156
indoc = { version = " 2" , optional = true }
237
- itertools = { version = " 0.13" , default-features = false , features = [
238
- " use_std" ,
239
- ], optional = true }
240
- lalrpop-util = { version = " 0.21" , optional = true }
241
- mlua = { version = " 0.9" , default-features = false , features = [
242
- " lua54" ,
243
- " send" ,
244
- " vendored" ,
245
- ], optional = true }
246
- nom = { version = " 7" , default-features = false , features = [
247
- " std" ,
248
- ], optional = true }
249
- once_cell = { version = " 1" , default-features = false , features = [
250
- " std" ,
251
- ], optional = true }
157
+ itertools = { version = " 0.14" , default-features = false , features = [" use_std" ], optional = true }
158
+ lalrpop-util = { version = " 0.22" , optional = true }
159
+ mlua = { version = " 0.10" , default-features = false , features = [" lua54" , " send" , " vendored" ], optional = true }
160
+ nom = { version = " 7" , default-features = false , features = [" std" ], optional = true }
252
161
ordered-float = { version = " 4" , default-features = false , optional = true }
253
162
md-5 = { version = " 0.10" , optional = true }
254
- parse-size = { version = " 1.1.0" , optional = true }
163
+ parse-size = { version = " 1.1.0" , optional = true }
255
164
peeking_take_while = { version = " 1" , default-features = false , optional = true }
256
165
percent-encoding = { version = " 2" , optional = true }
257
- pest = { version = " 2" , default-features = false , optional = true , features = [
258
- " std" ,
259
- ] }
260
- pest_derive = { version = " 2" , default-features = false , optional = true , features = [
261
- " std" ,
262
- ] }
166
+ pest = { version = " 2" , default-features = false , optional = true , features = [" std" ] }
167
+ pest_derive = { version = " 2" , default-features = false , optional = true , features = [" std" ] }
263
168
proptest = { version = " 1" , optional = true }
264
- proptest-derive = { version = " 0.4 " , optional = true }
265
- prettydiff = { version = " 0.7 " , default-features = false , optional = true }
169
+ proptest-derive = { version = " 0.5 " , optional = true }
170
+ prettydiff = { version = " 0.8 " , default-features = false , optional = true }
266
171
prettytable-rs = { version = " 0.10" , default-features = false , optional = true }
267
172
quickcheck = { version = " 1" , optional = true }
268
173
quoted_printable = { version = " 0.5" , optional = true }
269
174
psl = { version = " 2" , optional = true }
270
175
psl-types = { version = " 2" , optional = true }
271
176
publicsuffix = { version = " 2" , optional = true }
272
177
rand = { version = " 0.8" , optional = true }
273
- regex = { version = " 1" , default-features = false , optional = true , features = [
274
- " std" ,
275
- " perf" ,
276
- " unicode" ,
277
- ] }
178
+ regex = { version = " 1" , default-features = false , optional = true , features = [" std" , " perf" , " unicode" ] }
278
179
roxmltree = { version = " 0.20" , optional = true }
279
180
rustyline = { version = " 15" , default-features = false , optional = true }
280
181
rust_decimal = { version = " 1" , optional = true , default-features = false }
281
182
seahash = { version = " 4" , optional = true }
282
183
serde = { version = " 1" , features = [" derive" ], optional = true }
283
- serde_json = { version = " 1" , default-features = false , optional = true , features = [
284
- " std" ,
285
- " raw_value" ,
286
- ] }
287
- fancy-regex = { version = " 0.13.0" , default-features = false , optional = true }
184
+ serde_json = { version = " 1" , default-features = false , optional = true , features = [" std" , " raw_value" ] }
185
+ simdutf8 = { version = " 0.1.5" , optional = true }
186
+ fancy-regex = { version = " 0.14.0" , default-features = false , optional = true }
288
187
sha-1 = { version = " 0.10" , optional = true }
289
188
sha-2 = { package = " sha2" , version = " 0.10" , optional = true }
290
189
sha-3 = { package = " sha3" , version = " 0.10" , optional = true }
291
190
strip-ansi-escapes = { version = " 0.2" , optional = true }
292
191
snap = { version = " 1" , optional = true }
293
- syslog_loose = { git = " https://github.com/itkovian/syslog-loose" , rev = " 7acfd39be5bd " , optional = true }
192
+ syslog_loose = { git = " https://github.com/itkovian/syslog-loose" , rev = " e221a9c647ee6822d39a423ef85caf30114e3923 " , optional = true }
294
193
termcolor = { version = " 1" , optional = true }
295
- thiserror = { version = " 1 " , optional = true }
194
+ thiserror = { version = " 2 " , optional = true }
296
195
tracing = { version = " 0.1" , default-features = false }
297
196
ua-parser = { version = " 0.2" , optional = true }
298
197
utf8-width = { version = " 0.1" , optional = true }
@@ -302,9 +201,7 @@ webbrowser = { version = "1.0", default-features = false, optional = true }
302
201
woothee = { version = " 0.13" , optional = true }
303
202
community-id = { version = " 0.2" , optional = true }
304
203
305
- zstd = { version = " 0.13" , default-features = false , features = [
306
- " wasm" ,
307
- ], optional = true }
204
+ zstd = { version = " 0.13" , default-features = false , features = [" wasm" ], optional = true }
308
205
309
206
# Cryptography
310
207
aes = { version = " 0.8" , optional = true }
@@ -319,30 +216,19 @@ cfb-mode = { version = "0.8", optional = true }
319
216
ofb = { version = " 0.6" , optional = true }
320
217
321
218
# Protobuf support.
322
- prost = { version = " 0.13" , default-features = false , optional = true , features = [
323
- " std" ,
324
- ] }
219
+ prost = { version = " 0.13" , default-features = false , optional = true , features = [" std" ] }
325
220
prost-reflect = { version = " 0.14" , default-features = false , optional = true }
221
+ unicode-segmentation = " 1.12.0"
222
+ lz4_flex = " 0.11.3"
326
223
327
224
# Dependencies used for non-WASM
328
225
[target .'cfg(not(target_arch = "wasm32"))' .dependencies ]
329
226
dns-lookup = { version = " 2" , optional = true }
330
- domain = { version = " 0.10.1" , optional = true , features = [
331
- " resolv-sync" ,
332
- " serde" ,
333
- ] }
227
+ domain = { version = " 0.10.4" , optional = true , features = [" resolv-sync" , " serde" ] }
334
228
hostname = { version = " 0.4" , optional = true }
335
229
grok = { version = " 2" , optional = true }
336
230
onig = { version = " 6" , default-features = false , optional = true }
337
- tokio = { version = " 1.38" , optional = true , features = [
338
- " io-util" ,
339
- " macros" ,
340
- " net" ,
341
- " time" ,
342
- " sync" ,
343
- " rt" ,
344
- " rt-multi-thread" ,
345
- ] }
231
+ tokio = { version = " 1.44" , optional = true , features = [" io-util" , " macros" , " net" , " time" , " sync" , " rt" , " rt-multi-thread" ] }
346
232
uuid = { version = " 1" , features = [" v4" , " v7" ], optional = true }
347
233
348
234
# Dependencies used for WASM
@@ -356,18 +242,9 @@ chrono-tz = "0.10"
356
242
serde_json = " 1"
357
243
indoc = " 2"
358
244
tracing-test = { version = " 0.2" , default-features = false }
359
- toml = { version = " 0.8" , default-features = false }
360
- mlua = { version = " 0.9" , default-features = false , features = [
361
- " lua54" ,
362
- " send" ,
363
- " vendored" ,
364
- ] }
245
+ mlua = { version = " 0.10" , default-features = false , features = [" lua54" , " send" , " vendored" ] }
365
246
quickcheck = { version = " 1" }
366
- regex = { version = " 1" , default-features = false , features = [
367
- " std" ,
368
- " perf" ,
369
- " unicode" ,
370
- ] }
247
+ regex = { version = " 1" , default-features = false , features = [" std" , " perf" , " unicode" ] }
371
248
paste = { version = " 1" , default-features = false }
372
249
proptest = { version = " 1" }
373
250
proptest-derive = { version = " 0.5" }
0 commit comments