]> git.proxmox.com Git - rustc.git/blob - vendor/tracing/CHANGELOG.md
New upstream version 1.52.0~beta.3+dfsg1
[rustc.git] / vendor / tracing / CHANGELOG.md
1 # 0.1.25 (February 23, 2021)
2
3 ### Added
4
5 - `Span::entered` method for entering a span and moving it into a guard by value
6 rather than borrowing it ([#1252])
7
8 Thanks to @matklad for contributing to this release!
9
10 [#1252]: https://github.com/tokio-rs/tracing/pull/1252
11
12 # 0.1.24 (February 17, 2021)
13
14 ### Fixed
15
16 - **attributes**: Compiler error when using `#[instrument(err)]` on functions
17 which return `impl Trait` ([#1236])
18 - Fixed broken match arms in event macros ([#1239])
19 - Documentation improvements ([#1232])
20
21 Thanks to @bkchr and @lfranke for contributing to this release!
22
23 [#1236]: https://github.com/tokio-rs/tracing/pull/1236
24 [#1239]: https://github.com/tokio-rs/tracing/pull/1239
25 [#1232]: https://github.com/tokio-rs/tracing/pull/1232
26
27 # 0.1.23 (February 4, 2021)
28
29 ### Fixed
30
31 - **attributes**: Compiler error when using `#[instrument(err)]` on functions
32 with mutable parameters ([#1167])
33 - **attributes**: Missing function visibility modifier when using
34 `#[instrument]` with `async-trait` ([#977])
35 - **attributes** Removed unused `syn` features ([#928])
36 - **log**: Fixed an issue where the `tracing` macros would generate code for
37 events whose levels are disabled statically by the `log` crate's
38 `static_max_level_XXX` features ([#1175])
39 - Fixed deprecations and clippy lints ([#1195])
40 - Several documentation fixes and improvements ([#941], [#965], [#981], [#1146],
41 [#1215])
42
43 ### Changed
44
45 - **attributes**: `tracing-futures` dependency is no longer required when using
46 `#[instrument]` on async functions ([#808])
47 - **attributes**: Updated `tracing-attributes` minimum dependency to v0.1.12
48 ([#1222])
49
50 Thanks to @nagisa, @Txuritan, @TaKO8Ki, @okready, and @krojew for contributing
51 to this release!
52
53 [#1167]: https://github.com/tokio-rs/tracing/pull/1167
54 [#977]: https://github.com/tokio-rs/tracing/pull/977
55 [#965]: https://github.com/tokio-rs/tracing/pull/965
56 [#981]: https://github.com/tokio-rs/tracing/pull/981
57 [#1215]: https://github.com/tokio-rs/tracing/pull/1215
58 [#808]: https://github.com/tokio-rs/tracing/pull/808
59 [#941]: https://github.com/tokio-rs/tracing/pull/941
60 [#1146]: https://github.com/tokio-rs/tracing/pull/1146
61 [#1175]: https://github.com/tokio-rs/tracing/pull/1175
62 [#1195]: https://github.com/tokio-rs/tracing/pull/1195
63 [#1222]: https://github.com/tokio-rs/tracing/pull/1222
64
65 # 0.1.22 (November 23, 2020)
66
67 ### Changed
68
69 - Updated `pin-project-lite` dependency to 0.2 ([#1108])
70
71 [#1108]: https://github.com/tokio-rs/tracing/pull/1108
72
73 # 0.1.21 (September 28, 2020)
74
75 ### Fixed
76
77 - Incorrect inlining of `Span::new`, `Span::new_root`, and `Span::new_child_of`,
78 which could result in `dispatcher::get_default` being inlined at the callsite
79 ([#994])
80 - Regression where using a struct field as a span or event field when other
81 fields on that struct are borrowed mutably would fail to compile ([#987])
82
83 ### Changed
84
85 - Updated `tracing-core` to 0.1.17 ([#992])
86
87 ### Added
88
89 - `Instrument` trait and `Instrumented` type for attaching a `Span` to a
90 `Future` ([#808])
91 - `Copy` implementations for `Level` and `LevelFilter` ([#992])
92 - Multiple documentation fixes and improvements ([#964], [#980], [#981])
93
94 Thanks to @nagisa, and new contributors @SecurityInsanity, @froydnj, @jyn514 and
95 @TaKO8Ki for contributing to this release!
96
97 [#994]: https://github.com/tokio-rs/tracing/pull/994
98 [#992]: https://github.com/tokio-rs/tracing/pull/992
99 [#987]: https://github.com/tokio-rs/tracing/pull/987
100 [#980]: https://github.com/tokio-rs/tracing/pull/980
101 [#981]: https://github.com/tokio-rs/tracing/pull/981
102 [#964]: https://github.com/tokio-rs/tracing/pull/964
103 [#808]: https://github.com/tokio-rs/tracing/pull/808
104
105 # 0.1.20 (August 24, 2020)
106
107 ### Changed
108
109 - Significantly reduced assembly generated by macro invocations (#943)
110 - Updated `tracing-core` to 0.1.15 (#943)
111
112 ### Added
113
114 - Documented minimum supported Rust version policy (#941)
115
116 # 0.1.19 (August 10, 2020)
117
118 ### Fixed
119
120 - Updated `tracing-core` to fix incorrect calculation of the global max level
121 filter (#908)
122
123 ### Added
124
125 - **attributes**: Support for using `self` in field expressions when
126 instrumenting `async-trait` functions (#875)
127 - Several documentation improvements (#832, #881, #896, #897, #911, #913)
128
129 Thanks to @anton-dutov, @nightmared, @mystor, and @toshokan for contributing to
130 this release!
131
132 # 0.1.18 (July 31, 2020)
133
134 ### Fixed
135
136 - Fixed a bug where `LevelFilter::OFF` (and thus also the `static_max_level_off`
137 feature flag) would enable *all* traces, rather than *none* (#853)
138 - **log**: Fixed `tracing` macros and `Span`s not checking `log::max_level`
139 before emitting `log` records (#870)
140
141 ### Changed
142
143 - **macros**: Macros now check the global max level (`LevelFilter::current`)
144 before the per-callsite cache when determining if a span or event is enabled.
145 This significantly improves performance in some use cases (#853)
146 - **macros**: Simplified the code generated by macro expansion significantly,
147 which may improve compile times and/or `rustc` optimizatation of surrounding
148 code (#869, #869)
149 - **macros**: Macros now check the static max level before checking any runtime
150 filtering, improving performance when a span or event is disabled by a
151 `static_max_level_XXX` feature flag (#868)
152 - `LevelFilter` is now a re-export of the `tracing_core::LevelFilter` type, it
153 can now be used interchangably with the versions in `tracing-core` and
154 `tracing-subscriber` (#853)
155 - Significant performance improvements when comparing `LevelFilter`s and
156 `Level`s (#853)
157 - Updated the minimum `tracing-core` dependency to 0.1.12 (#853)
158
159 ### Added
160
161 - **macros**: Quoted string literals may now be used as field names, to allow
162 fields whose names are not valid Rust identifiers (#790)
163 - **docs**: Several documentation improvements (#850, #857, #841)
164 - `LevelFilter::current()` function, which returns the highest level that any
165 subscriber will enable (#853)
166 - `Subscriber::max_level_hint` optional trait method, for setting the value
167 returned by `LevelFilter::current()` (#853)
168
169 Thanks to new contributors @cuviper, @ethanboxx, @ben0x539, @dignati,
170 @colelawrence, and @rbtcollins for helping out with this release!
171
172 # 0.1.17 (July 22, 2020)
173
174 ### Changed
175
176 - **log**: Moved verbose span enter/exit log records to "tracing::span::active"
177 target, allowing them to be filtered separately (#833)
178 - **log**: All span lifecycle log records without fields now have the `Trace`
179 log filter, to guard against `log` users enabling them by default with blanket
180 level filtering (#833)
181
182 ### Fixed
183
184 - **log**/**macros**: Fixed missing implicit imports of the
185 `tracing::field::debug` and `tracing::field::display` functions inside the
186 macros when the "log" feature is enabled (#835)
187
188 # 0.1.16 (July 8, 2020)
189
190 ### Added
191
192 - **attributes**: Support for arbitrary expressions as fields in `#[instrument]` (#672)
193 - **attributes**: `#[instrument]` now emits a compiler warning when ignoring unrecognized
194 input (#672, #786)
195 - Improved documentation on using `tracing` in async code (#769)
196
197 ### Changed
198
199 - Updated `tracing-core` dependency to 0.1.11
200
201 ### Fixed
202
203 - **macros**: Excessive monomorphization in macros, which could lead to
204 longer compilation times (#787)
205 - **log**: Compiler warnings in macros when `log` or `log-always` features
206 are enabled (#753)
207 - Compiler error when `tracing-core/std` feature is enabled but `tracing/std` is
208 not (#760)
209
210 Thanks to @nagisa for contributing to this release!
211
212 # 0.1.15 (June 2, 2020)
213
214 ### Changed
215
216 - **macros**: Replaced use of legacy `local_inner_macros` with `$crate::` (#740)
217
218 ### Added
219
220 - Docs fixes and improvements (#742, #731, #730)
221
222 Thanks to @bnjjj, @blaenk, and @LukeMathWalker for contributing to this release!
223
224 # 0.1.14 (May 14, 2020)
225
226 ### Added
227
228 - **log**: When using the [`log`] compatibility feature alongside a `tracing`
229 `Subscriber`, log records for spans now include span IDs (#613)
230 - **attributes**: Support for using `#[instrument]` on methods that are part of
231 [`async-trait`] trait implementations (#711)
232 - **attributes**: Optional `#[instrument(err)]` argument to automatically emit
233 an event if an instrumented function returns `Err` (#637)
234 - Added `#[must_use]` attribute to the guard returned by
235 `subscriber::set_default` (#685)
236
237 ### Changed
238
239 - **log**: Made [`log`] records emitted by spans much less noisy when span IDs are
240 not available (#613)
241
242 ### Fixed
243
244 - Several typos in the documentation (#656, #710, #715)
245
246 Thanks to @FintanH, @shepmaster, @inanna-malick, @zekisharif, @bkchr, @majecty,
247 @ilana and @nightmared for contributing to this release!
248
249 [`async-trait`]: https://crates.io/crates/async-trait
250 [`log`]: https://crates.io/crates/log
251
252 # 0.1.13 (February 26, 2019)
253
254 ### Added
255
256 - **field**: `field::Empty` type for declaring empty fields whose values will be
257 recorded later (#548)
258 - **field**: `field::Value` implementations for `Wrapping` and `NonZero*`
259 numbers (#538)
260 - **attributes**: Support for adding arbitrary literal fields to spans generated
261 by `#[instrument]` (#569)
262 - **attributes**: `#[instrument]` now emits a helpful compiler error when
263 attempting to skip a function parameter (#600)
264
265 ### Changed
266
267 - **attributes**: The `#[instrument]` attribute was placed under an on-by-default
268 feature flag "attributes" (#603)
269
270 ### Fixed
271
272 - Broken and unresolvable links in RustDoc (#595)
273
274 Thanks to @oli-cosmian and @Kobzol for contributing to this release!
275
276 # 0.1.12 (January 11, 2019)
277
278 ### Added
279
280 - `Span::with_subscriber` method to access the subscriber that tracks a `Span`
281 (#503)
282 - API documentation now shows which features are required by feature-flagged
283 items (#523)
284 - Improved README examples (#496)
285 - Documentation links to related crates (#507)
286
287 # 0.1.11 (December 20, 2019)
288
289 ### Added
290
291 - `Span::is_none` method (#475)
292 - `LevelFilter::into_level` method (#470)
293 - `LevelFilter::from_level` function and `From<Level>` impl (#471)
294 - Documented minimum supported Rust version (#482)
295
296 ### Fixed
297
298 - Incorrect parameter type to `Span::follows_from` that made it impossible to
299 call (#467)
300 - Missing whitespace in `log` records generated when enabling the `log` feature
301 flag (#484)
302 - Typos and missing links in documentation (#405, #423, #439)
303
304 # 0.1.10 (October 23, 2019)
305
306 ### Added
307
308 - Support for destructuring in arguments to `#[instrument]`ed functions (#397)
309 - Generated field for `self` parameters when `#[instrument]`ing methods (#397)
310 - Optional `skip` argument to `#[instrument]` for excluding function parameters
311 from generated spans (#359)
312 - Added `dispatcher::set_default` and `subscriber::set_default` APIs, which
313 return a drop guard (#388)
314
315 ### Fixed
316
317 - Some minor documentation errors (#356, #370)
318
319 # 0.1.9 (September 13, 2019)
320
321 ### Fixed
322
323 - Fixed `#[instrument]`ed async functions not compiling on `nightly-2019-09-11`
324 or newer (#342)
325
326 ### Changed
327
328 - Significantly reduced performance impact of skipped spans and events when a
329 `Subscriber` is not in use (#326)
330 - The `log` feature will now only cause `tracing` spans and events to emit log
331 records when a `Subscriber` is not in use (#346)
332
333 ### Added
334
335 - Added support for overriding the name of the span generated by `#[instrument]`
336 (#330)
337 - `log-always` feature flag to emit log records even when a `Subscriber` is set
338 (#346)
339
340 # 0.1.8 (September 3, 2019)
341
342 ### Changed
343
344 - Reorganized and improved API documentation (#317)
345
346 ### Removed
347
348 - Dev-dependencies on `ansi_term` and `humantime` crates, which were used only
349 for examples (#316)
350
351 # 0.1.7 (August 30, 2019)
352
353 ### Changed
354
355 - New (curly-brace free) event message syntax to place the message in the first
356 field rather than the last (#309)
357
358 ### Fixed
359
360 - Fixed a regression causing macro stack exhaustion when the `log` feature flag
361 is enabled (#304)
362
363 # 0.1.6 (August 20, 2019)
364
365 ### Added
366
367 - `std::error::Error` as a new primitive type (#277)
368 - Support for mixing key-value fields and `format_args` messages without curly
369 braces as delimiters (#288)
370
371 ### Changed
372
373 - `tracing-core` dependency to 0.1.5 (#294)
374 - `tracing-attributes` dependency to 0.1.2 (#297)
375
376 # 0.1.5 (August 9, 2019)
377
378 ### Added
379
380 - Support for `no-std` + `liballoc` (#263)
381
382 ### Changed
383
384 - Using the `#[instrument]` attribute on `async fn`s no longer requires a
385 feature flag (#258)
386
387 ### Fixed
388
389 - The `#[instrument]` macro now works on generic functions (#262)
390
391 # 0.1.4 (August 8, 2019)
392
393 ### Added
394
395 - `#[instrument]` attribute for automatically adding spans to functions (#253)
396
397 # 0.1.3 (July 11, 2019)
398
399 ### Added
400
401 - Log messages when a subscriber indicates that a span has closed, when the
402 `log` feature flag is enabled (#180).
403
404 ### Changed
405
406 - `tracing-core` minimum dependency version to 0.1.2 (#174).
407
408 ### Fixed
409
410 - Fixed an issue where event macro invocations with a single field, using local
411 variable shorthand, would recur infinitely (#166).
412 - Fixed uses of deprecated `tracing-core` APIs (#174).
413
414 # 0.1.2 (July 6, 2019)
415
416 ### Added
417
418 - `Span::none()` constructor, which does not require metadata and
419 returns a completely empty span (#147).
420 - `Span::current()` function, returning the current span if it is
421 known to the subscriber (#148).
422
423 ### Fixed
424
425 - Broken macro imports when used prefixed with `tracing::` (#152).
426
427 # 0.1.1 (July 3, 2019)
428
429 ### Changed
430
431 - `cfg_if` dependency to 0.1.9.
432
433 ### Fixed
434
435 - Compilation errors when the `log` feature is enabled (#131).
436 - Unclear wording and typos in documentation (#124, #128, #142).
437
438 # 0.1.0 (June 27, 2019)
439
440 - Initial release