]> git.proxmox.com Git - rustc.git/blame - vendor/tracing-core/CHANGELOG.md
New upstream version 1.73.0+dfsg1
[rustc.git] / vendor / tracing-core / CHANGELOG.md
CommitLineData
add651ee
FG
1# 0.1.31 (May 11, 2023)
2
3This release of `tracing-core` fixes a bug that caused threads which call
4`dispatcher::get_default` _before_ a global default subscriber is set to never
5see the global default once it is set. In addition, it includes improvements for
6instrumentation performance in some cases, especially when using a global
7default dispatcher.
8
9### Fixed
10
11- Fixed incorrect thread-local caching of `Dispatch::none` if
12 `dispatcher::get_default` is called before `dispatcher::set_global_default`
13 ([#2593])
14
15### Changed
16
17- Cloning a `Dispatch` that points at a global default subscriber no longer
18 requires an `Arc` reference count increment, improving performance
19 substantially ([#2593])
20- `dispatcher::get_default` no longer attempts to access a thread local if the
21 scoped dispatcher is not in use, improving performance when the default
22 dispatcher is global ([#2593])
23- Added `#[inline]` annotations called by the `event!` and `span!` macros to
24 reduce the size of macro-generated code and improve recording performance
25 ([#2555])
26
27Thanks to new contributor @ldm0 for contributing to this release!
28
29[#2593]: https://github.com/tokio-rs/tracing/pull/2593
30[#2555]: https://github.com/tokio-rs/tracing/pull/2555
31
2b03887a
FG
32# 0.1.30 (October 6, 2022)
33
34This release of `tracing-core` adds a new `on_register_dispatch` method to the
35`Subscriber` trait to allow the `Subscriber` to perform initialization after
36being registered as a `Dispatch`, and a `WeakDispatch` type to allow a
37`Subscriber` to store its own `Dispatch` without creating reference count
38cycles.
39
40### Added
41
42- `Subscriber::on_register_dispatch` method ([#2269])
43- `WeakDispatch` type and `Dispatch::downgrade()` function ([#2293])
44
45Thanks to @jswrenn for contributing to this release!
46
47[#2269]: https://github.com/tokio-rs/tracing/pull/2269
48[#2293]: https://github.com/tokio-rs/tracing/pull/2293
49
f2b60f7d
FG
50# 0.1.29 (July 29, 2022)
51
52This release of `tracing-core` adds `PartialEq` and `Eq` implementations for
53metadata types, and improves error messages when setting the global default
54subscriber fails.
55
56### Added
57
58- `PartialEq` and `Eq` implementations for `Metadata` ([#2229])
59- `PartialEq` and `Eq` implementations for `FieldSet` ([#2229])
60
61### Fixed
62
63- Fixed unhelpful `fmt::Debug` output for `dispatcher::SetGlobalDefaultError`
64 ([#2250])
65- Fixed compilation with `-Z minimal-versions` ([#2246])
66
67Thanks to @jswrenn and @CAD97 for contributing to this release!
68
69[#2229]: https://github.com/tokio-rs/tracing/pull/2229
70[#2246]: https://github.com/tokio-rs/tracing/pull/2246
71[#2250]: https://github.com/tokio-rs/tracing/pull/2250
72
064997fb
FG
73# 0.1.28 (June 23, 2022)
74
75This release of `tracing-core` adds new `Value` implementations, including one
76for `String`, to allow recording `&String` as a value without having to call
77`as_str()` or similar, and for 128-bit integers (`i128` and `u128`). In
78addition, it adds new methods and trait implementations for `Subscriber`s.
79
80### Added
81
82- `Value` implementation for `String` ([#2164])
83- `Value` implementation for `u128` and `i28` ([#2166])
84- `downcast_ref` and `is` methods for `dyn Subscriber + Sync`,
85 `dyn Subscriber + Send`, and `dyn Subscriber + Send + Sync` ([#2160])
86- `Subscriber::event_enabled` method to enable filtering based on `Event` field
87 values ([#2008])
88- `Subscriber` implementation for `Box<S: Subscriber + ?Sized>` and
89 `Arc<S: Subscriber + ?Sized>` ([#2161])
90
91Thanks to @jswrenn and @CAD97 for contributing to this release!
92
93[#2164]: https://github.com/tokio-rs/tracing/pull/2164
94[#2166]: https://github.com/tokio-rs/tracing/pull/2166
95[#2160]: https://github.com/tokio-rs/tracing/pull/2160
96[#2008]: https://github.com/tokio-rs/tracing/pull/2008
97[#2161]: https://github.com/tokio-rs/tracing/pull/2161
98
923072b8
FG
99# 0.1.27 (June 7, 2022)
100
101This release of `tracing-core` introduces a new `DefaultCallsite` type, which
102can be used by instrumentation crates rather than implementing their own
103callsite types. Using `DefaultCallsite` may offer reduced overhead from callsite
104registration.
105
106### Added
107
108- `DefaultCallsite`, a pre-written `Callsite` implementation for use in
109 instrumentation crates ([#2083])
110- `ValueSet::len` and `Record::len` methods returning the number of fields in a
111 `ValueSet` or `Record` ([#2152])
112
113### Changed
114
115- Replaced `lazy_static` dependency with `once_cell` ([#2147])
116
117### Documented
118
119- Added documentation to the `callsite` module ([#2088], [#2149])
120
121Thanks to new contributors @jamesmunns and @james7132 for contributing to this
122release!
123
124[#2083]: https://github.com/tokio-rs/tracing/pull/2083
125[#2152]: https://github.com/tokio-rs/tracing/pull/2152
126[#2147]: https://github.com/tokio-rs/tracing/pull/2147
127[#2088]: https://github.com/tokio-rs/tracing/pull/2088
128[#2149]: https://github.com/tokio-rs/tracing/pull/2149
129
04454e1e
FG
130# 0.1.26 (April 14, 2022)
131
132This release adds a `Value` implementation for `Box<T: Value>` to allow
133recording boxed values more conveniently. In particular, this should improve
134the ergonomics of the implementations for `dyn std::error::Error` trait objects,
923072b8 135including those added in [v0.1.25].
04454e1e
FG
136
137### Added
138
139- `Value` implementation for `Box<T> where T: Value` ([#2071])
140
141### Fixed
142
143- Broken documentation links ([#2068])
144
145Thanks to new contributor @ben0x539 for contributing to this release!
146
147
148[v0.1.25]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.25
149[#2071]: https://github.com/tokio-rs/tracing/pull/2071
150[#2068]: https://github.com/tokio-rs/tracing/pull/2068
151
152# 0.1.25 (April 12, 2022)
153
154This release adds additional `Value` implementations for `std::error::Error`
155trait objects with auto trait bounds (`Send` and `Sync`), as Rust will not
156auto-coerce trait objects. Additionally, it fixes a bug when setting scoped
157dispatchers that was introduced in the previous release ([v0.1.24]).
158
159### Added
160
161- `Value` implementations for `dyn Error + Send + 'static`, `dyn Error + Send +
162 Sync + 'static`, `dyn Error + Sync + 'static` ([#2066])
163
164### Fixed
165
166- Failure to use the global default dispatcher if a thread has set a scoped
167 default prior to setting the global default, and unset the scoped default
168 after setting the global default ([#2065])
169
170Thanks to @lilyball for contributing to this release!
171
172[v0.1.24]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.24
173[#2066]: https://github.com/tokio-rs/tracing/pull/2066
174[#2065]: https://github.com/tokio-rs/tracing/pull/2065
175
176# 0.1.24 (April 1, 2022)
177
178This release fixes a bug where setting `NoSubscriber` as the local default would
179not disable the global default subscriber locally.
180
181### Fixed
182
183- Setting `NoSubscriber` as the local default now correctly disables the global
184 default subscriber ([#2001])
185- Fixed compilation warnings with the "std" feature disabled ([#2022])
186
187### Changed
188
189- Removed unnecessary use of `write!` and `format_args!` macros ([#1988])
190
191[#1988]: https://github.com/tokio-rs/tracing/pull/1988
192[#2001]: https://github.com/tokio-rs/tracing/pull/2001
193[#2022]: https://github.com/tokio-rs/tracing/pull/2022
194
5e7ed085
FG
195# 0.1.23 (March 8, 2022)
196
197### Changed
198
04454e1e
FG
199- Removed `#[inline]` attributes from some `Dispatch` methods whose
200 callers are now inlined ([#1974])
5e7ed085
FG
201- Bumped minimum supported Rust version (MSRV) to Rust 1.49.0 ([#1913])
202
203[#1913]: https://github.com/tokio-rs/tracing/pull/1913
204[#1974]: https://github.com/tokio-rs/tracing/pull/1974
205
5099ac24
FG
206# 0.1.22 (February 3, 2022)
207
208This release adds *experimental* support for recording structured field values
209using the [`valuable`] crate. See [this blog post][post] for details on
210`valuable`.
211
212Note that `valuable` support currently requires `--cfg tracing_unstable`. See
213the documentation for details.
214
215### Added
216
217- **field**: Experimental support for recording field values using the
218 [`valuable`] crate ([#1608], [#1888], [#1887])
219- **field**: Added `ValueSet::record` method ([#1823])
220- **subscriber**: `Default` impl for `NoSubscriber` ([#1785])
221- **metadata**: New `Kind::HINT` to support the `enabled!` macro in `tracing`
222 ([#1883], [#1891])
223### Fixed
224
225- Fixed a number of documentation issues ([#1665], [#1692], [#1737])
226
227Thanks to @xd009642, @Skepfyr, @guswynn, @Folyd, and @mbergkvist for
228contributing to this release!
229
230[`valuable`]: https://crates.io/crates/valuable
231[post]: https://tokio.rs/blog/2021-05-valuable
232[#1608]: https://github.com/tokio-rs/tracing/pull/1608
233[#1888]: https://github.com/tokio-rs/tracing/pull/1888
234[#1887]: https://github.com/tokio-rs/tracing/pull/1887
235[#1823]: https://github.com/tokio-rs/tracing/pull/1823
236[#1785]: https://github.com/tokio-rs/tracing/pull/1785
237[#1883]: https://github.com/tokio-rs/tracing/pull/1883
238[#1891]: https://github.com/tokio-rs/tracing/pull/1891
239[#1665]: https://github.com/tokio-rs/tracing/pull/1665
240[#1692]: https://github.com/tokio-rs/tracing/pull/1692
241[#1737]: https://github.com/tokio-rs/tracing/pull/1737
242
c295e0f8
XL
243# 0.1.21 (October 1, 2021)
244
245This release adds support for recording `Option<T> where T: Value` as typed
246`tracing` field values.
247
248### Added
249
250- **field**: `Value` impl for `Option<T> where T: Value` ([#1585])
251
252### Fixed
253
254- Fixed deprecation warnings when building with `default-features` disabled
255 ([#1603], [#1606])
256- Documentation fixes and improvements ([#1595], [#1601])
257
258Thanks to @brianburgers, @DCjanus, and @matklad for contributing to this
259release!
260
261[#1585]: https://github.com/tokio-rs/tracing/pull/1585
262[#1595]: https://github.com/tokio-rs/tracing/pull/1595
263[#1601]: https://github.com/tokio-rs/tracing/pull/1601
264[#1603]: https://github.com/tokio-rs/tracing/pull/1603
265[#1606]: https://github.com/tokio-rs/tracing/pull/1606
266
267# 0.1.20 (September 12, 2021)
268
269This release adds support for `f64` as one of the `tracing-core`
270primitive field values, allowing floating-point values to be recorded as
271typed values rather than with `fmt::Debug`. Additionally, it adds
272`NoSubscriber`, a `Subscriber` implementation that does nothing.
273
274### Added
275
276- **subscriber**: `NoSubscriber`, a no-op `Subscriber` implementation
277 ([#1549])
278- **field**: Added `Visit::record_f64` and support for recording
279 floating-point values ([#1507])
280
281Thanks to new contributors @jsgf and @maxburke for contributing to this
282release!
283
284[#1549]: https://github.com/tokio-rs/tracing/pull/1549
285[#1507]: https://github.com/tokio-rs/tracing/pull/1507
286
287# 0.1.19 (August 17, 2021)
288### Added
289
290- `Level::as_str` ([#1413])
291- `Hash` implementation for `Level` and `LevelFilter` ([#1456])
292- `Value` implementation for `&mut T where T: Value` ([#1385])
293- Multiple documentation fixes and improvements ([#1435], [#1446])
294
295Thanks to @Folyd, @teozkr, and @dvdplm for contributing to this release!
296
297[#1413]: https://github.com/tokio-rs/tracing/pull/1413
298[#1456]: https://github.com/tokio-rs/tracing/pull/1456
299[#1385]: https://github.com/tokio-rs/tracing/pull/1385
300[#1435]: https://github.com/tokio-rs/tracing/pull/1435
301[#1446]: https://github.com/tokio-rs/tracing/pull/1446
302
04454e1e 303# 0.1.18 (April 30, 2021)
17df50a5
XL
304
305### Added
306
307- `Subscriber` impl for `Box<dyn Subscriber + Send + Sync + 'static>` ([#1358])
308- `Subscriber` impl for `Arc<dyn Subscriber + Send + Sync + 'static>` ([#1374])
309- Symmetric `From` impls for existing `Into` impls on `Current` and `Option<Id>`
310 ([#1335])
311- `Attributes::fields` accessor that returns the set of fields defined on a
312 span's `Attributes` ([#1331])
313
314
315Thanks to @Folyd for contributing to this release!
316
317[#1358]: https://github.com/tokio-rs/tracing/pull/1358
318[#1374]: https://github.com/tokio-rs/tracing/pull/1374
319[#1335]: https://github.com/tokio-rs/tracing/pull/1335
320[#1331]: https://github.com/tokio-rs/tracing/pull/1331
321
29967ef6
XL
322# 0.1.17 (September 28, 2020)
323
324### Fixed
325
326- Incorrect inlining of `Event::dispatch` and `Event::child_of`, which could
327 result in `dispatcher::get_default` being inlined at the callsite ([#994])
328
329### Added
330
331- `Copy` implementations for `Level` and `LevelFilter` ([#992])
332
333Thanks to new contributors @jyn514 and @TaKO8Ki for contributing to this
334release!
335
336[#994]: https://github.com/tokio-rs/tracing/pull/994
337[#992]: https://github.com/tokio-rs/tracing/pull/992
338
1b1a35ee
XL
339# 0.1.16 (September 8, 2020)
340
341### Fixed
342
343- Added a conversion from `Option<Level>` to `LevelFilter`. This resolves a
344 previously unreported regression where `Option<Level>` was no longer
345 a valid LevelFilter. ([#966](https://github.com/tokio-rs/tracing/pull/966))
346
347# 0.1.15 (August 22, 2020)
348
349### Fixed
350
351- When combining `Interest` from multiple subscribers, if the interests differ,
352 the current subscriber is now always asked if a callsite should be enabled
353 (#927)
354
355## Added
356
357- Internal API changes to support optimizations in the `tracing` crate (#943)
358- **docs**: Multiple fixes and improvements (#913, #941)
359
3dfed10e
XL
360# 0.1.14 (August 10, 2020)
361
362### Fixed
363
364- Incorrect calculation of global max level filter which could result in fast
365 filtering paths not being taken (#908)
366
367# 0.1.13 (August 4, 2020)
368
369### Fixed
370
371- Missing `fmt::Display` impl for `field::DisplayValue` causing a compilation
372 failure when the "log" feature is enabled (#887)
373
374Thanks to @d-e-s-o for contributing to this release!
375
376# 0.1.12 (July 31, 2020)
377
378### Added
379
380- `LevelFilter` type and `LevelFilter::current()` for returning the highest level
381 that any subscriber will enable (#853)
382- `Subscriber::max_level_hint` optional trait method, for setting the value
383 returned by `LevelFilter::current()` (#853)
384
385### Fixed
386
387- **docs**: Removed outdated reference to a Tokio API that no longer exists
388 (#857)
389
390Thanks to new contributor @dignati for contributing to this release!
391
392# 0.1.11 (June 8, 2020)
393
394### Changed
395
396- Replaced use of `inner_local_macros` with `$crate::` (#729)
397
398### Added
399
400- `must_use` warning to guards returned by `dispatcher::set_default` (#686)
401- `fmt::Debug` impl to `dyn Value`s (#696)
402- Functions to convert between `span::Id` and `NonZeroU64` (#770)
403- More obvious warnings in documentation (#769)
404
405### Fixed
406
407- Compiler error when `tracing-core/std` feature is enabled but `tracing/std` is
408 not (#760)
409- Clippy warning on vtable address comparison in `callsite::Identifier` (#749)
410- Documentation formatting issues (#715, #771)
411
412Thanks to @bkchr, @majecty, @taiki-e, @nagisa, and @nvzqz for contributing to
413this release!
414
f035d41b
XL
415# 0.1.10 (January 24, 2020)
416
417### Added
418
419- `field::Empty` type for declaring empty fields whose values will be recorded
420 later (#548)
421- `field::Value` implementations for `Wrapping` and `NonZero*` numbers (#538)
422
423### Fixed
424
425- Broken and unresolvable links in RustDoc (#595)
426
427Thanks to @oli-cosmian for contributing to this release!
428
429# 0.1.9 (January 10, 2020)
430
431### Added
432
433- API docs now show what feature flags are required to enable each item (#523)
434
435### Fixed
436
437- A panic when the current default subscriber subscriber calls
438 `dispatcher::with_default` as it is being dropped (#522)
439- Incorrect documentation for `Subscriber::drop_span` (#524)
440
441# 0.1.8 (December 20, 2019)
442
443### Added
444
445- `Default` impl for `Dispatch` (#411)
446
447### Fixed
448
449- Removed duplicate `lazy_static` dependencies (#424)
450- Fixed no-std dependencies being enabled even when `std` feature flag is set
451 (#424)
452- Broken link to `Metadata` in `Event` docs (#461)
453
454# 0.1.7 (October 18, 2019)
455
456### Added
457
458- Added `dispatcher::set_default` API which returns a drop guard (#388)
459
460### Fixed
461
462- Added missing `Value` impl for `u8` (#392)
463- Broken links in docs.
464
f035d41b
XL
465# 0.1.6 (September 12, 2019)
466
467### Added
468
469- Internal APIs to support performance optimizations (#326)
470
471### Fixed
472
473- Clarified wording in `field::display` documentation (#340)
474
04454e1e 475# 0.1.5 (August 16, 2019)
f035d41b
XL
476
477### Added
478
479- `std::error::Error` as a new primitive `Value` type (#277)
480- `Event::new` and `Event::new_child_of` to manually construct `Event`s (#281)
481
482# 0.1.4 (August 9, 2019)
483
484### Added
485
486- Support for `no-std` + `liballoc` (#256)
487
488### Fixed
489
490- Broken links in RustDoc (#259)
491
492# 0.1.3 (August 8, 2019)
493
494### Added
495
496- `std::fmt::Display` implementation for `Level` (#194)
497- `std::str::FromStr` implementation for `Level` (#195)
498
499# 0.1.2 (July 10, 2019)
500
501### Deprecated
502
503- `Subscriber::drop_span` in favor of new `Subscriber::try_close` (#168)
504
505### Added
506
507- `Into<Option<&Id>>`, `Into<Option<Id>>`, and
508 `Into<Option<&'static Metadata<'static>>>` impls for `span::Current` (#170)
509- `Subscriber::try_close` method (#153)
510- Improved documentation for `dispatcher` (#171)
511
512# 0.1.1 (July 6, 2019)
513
514### Added
515
516- `Subscriber::current_span` API to return the current span (#148).
517- `span::Current` type, representing the `Subscriber`'s view of the current
518 span (#148).
519
520### Fixed
521
522- Typos and broken links in documentation (#123, #124, #128, #154)
523
524# 0.1.0 (June 27, 2019)
525
526- Initial release