]> git.proxmox.com Git - rustc.git/blame - vendor/tracing-subscriber/CHANGELOG.md
New upstream version 1.55.0+dfsg1
[rustc.git] / vendor / tracing-subscriber / CHANGELOG.md
CommitLineData
136023e0
XL
1# 0.2.19 (June 25, 2021)
2
3### Deprecated
4
5- **registry**: `SpanRef::parents`, `SpanRef::from_root`, and `Context::scope`
6 iterators, which are replaced by new `SpanRef::scope` and `Scope::from_root`
7 iterators ([#1413])
8
9### Added
10
11- **registry**: `SpanRef::scope` method, which returns a leaf-to-root `Iterator`
12 including the leaf span ([#1413])
13- **registry**: `Scope::from_root` method, which reverses the `scope` iterator
14 to iterate root-to-leaf ([#1413])
15- **registry**: `Context::event_span` method, which looks up the parent span of
16 an event ([#1434])
17- **registry**: `Context::event_scope` method, returning a `Scope` iterator over
18 the span scope of an event ([#1434])
19- **fmt**: `MakeWriter::make_writer_for` method, which allows returning a
20 different writer based on a span or event's metadata ([#1141])
21- **fmt**: `MakeWriterExt` trait, with `with_max_level`, `with_min_level`,
22 `with_filter`, `and`, and `or_else` combinators ([#1274])
23- **fmt**: `MakeWriter` implementation for `Arc<W> where &W: io::Write`
24 ([#1274])
25
26Thanks to @teozkr and @Folyd for contributing to this release!
27
28[#1413]: https://github.com/tokio-rs/tracing/pull/1413
29[#1434]: https://github.com/tokio-rs/tracing/pull/1434
30[#1141]: https://github.com/tokio-rs/tracing/pull/1141
31[#1274]: https://github.com/tokio-rs/tracing/pull/1274
32
17df50a5
XL
33# 0.2.18 (April 30, 2021)
34
35### Deprecated
36
37- Deprecated the `CurrentSpan` type, which is inefficient and largely superseded
38 by the `registry` API ([#1321])
39
40### Fixed
41
42- **json**: Invalid JSON emitted for events in spans with no fields ([#1333])
43- **json**: Missing span data for synthesized new span, exit, and close events
44 ([#1334])
45- **fmt**: Extra space before log lines when timestamps are disabled ([#1355])
46
47### Added
48
49- **env-filter**: Support for filters on spans whose names contain any
50 characters other than `{` and `]` ([#1368])
51
52Thanks to @Folyd, and new contributors @akinnane and @aym-v for contributing to
53this release!
54
55[#1321]: https://github.com/tokio-rs/tracing/pull/1321
56[#1333]: https://github.com/tokio-rs/tracing/pull/1333
57[#1334]: https://github.com/tokio-rs/tracing/pull/1334
58[#1355]: https://github.com/tokio-rs/tracing/pull/1355
59[#1368]: https://github.com/tokio-rs/tracing/pull/1368
60
61# 0.2.17 (March 12, 2021)
cdc7bbd5
XL
62
63### Fixed
64
65- **fmt**: `Pretty` formatter now honors `with_ansi(false)` to disable ANSI
66 terminal formatting ([#1240])
67- **fmt**: Fixed extra padding when using `Pretty` formatter ([#1275])
68- **chrono**: Removed extra trailing space with `ChronoLocal` time formatter
69 ([#1103])
70
71### Added
72
73- **fmt**: Added `FmtContext::current_span()` method, returning the current span
74 ([#1290])
75- **fmt**: `FmtSpan` variants may now be combined using the `|` operator for
76 more granular control over what span events are generated ([#1277])
77
78Thanks to new contributors @cratelyn, @dignati, and @zicklag, as well as @Folyd,
79@matklad, and @najamelan, for contributing to this release!
80
81[#1240]: https://github.com/tokio-rs/tracing/pull/1240
82[#1275]: https://github.com/tokio-rs/tracing/pull/1275
83[#1103]: https://github.com/tokio-rs/tracing/pull/1103
84[#1290]: https://github.com/tokio-rs/tracing/pull/1290
85[#1277]: https://github.com/tokio-rs/tracing/pull/1277
86
17df50a5 87# 0.2.16 (February 19, 2021)
6a06907d
XL
88
89### Fixed
90
91- **env-filter**: Fixed directives where the level is in mixed case (such as
92 `Info`) failing to parse ([#1126])
93- **fmt**: Fixed `fmt::Subscriber` not providing a max-level hint ([#1251])
94- `tracing-subscriber` no longer enables `tracing` and `tracing-core`'s default
95 features ([#1144])
96
97### Changed
98
99- **chrono**: Updated `chrono` dependency to 0.4.16 ([#1189])
100- **log**: Updated `tracing-log` dependency to 0.1.2
101
102Thanks to @salewski, @taiki-e, @davidpdrsn and @markdingram for contributing to
103this release!
104
105[#1126]: https://github.com/tokio-rs/tracing/pull/1126
106[#1251]: https://github.com/tokio-rs/tracing/pull/1251
107[#1144]: https://github.com/tokio-rs/tracing/pull/1144
108[#1189]: https://github.com/tokio-rs/tracing/pull/1189
109
5869c6ff
XL
110# 0.2.15 (November 2, 2020)
111
112### Fixed
113
114- **fmt**: Fixed wrong lifetime parameters on `FormatFields` impl for
115 `FmtContext` ([#1082])
116
117### Added
118
119- **fmt**: `format::Pretty`, an aesthetically pleasing, human-readable event
120 formatter for local development and user-facing CLIs ([#1080])
121- **fmt**: `FmtContext::field_format`, which returns the subscriber's field
122 formatter ([#1082])
123
124[#1082]: https://github.com/tokio-rs/tracing/pull/1082
125[#1080]: https://github.com/tokio-rs/tracing/pull/1080
126
127# 0.2.14 (October 22, 2020)
128
129### Fixed
130
131- **registry**: Fixed `Registry::new` allocating an excessively large amount of
132 memory, most of which would never be used ([#1064])
133
134### Changed
135
136- **registry**: Improved `new_span` performance by reusing `HashMap` allocations
137 for `Extensions` ([#1064])
138- **registry**: Significantly improved the performance of `Registry::enter` and
139 `Registry::exit` ([#1058])
140
141[#1064]: https://github.com/tokio-rs/tracing/pull/1064
142[#1058]: https://github.com/tokio-rs/tracing/pull/1058
143
29967ef6
XL
144# 0.2.13 (October 7, 2020)
145
146### Changed
147
148- Updated `tracing-core` to 0.1.17 ([#992])
149
150### Added
151
152- **env-filter**: Added support for filtering on targets which contain dashes
153 ([#1014])
154- **env-filter**: Added a warning when creating an `EnvFilter` that contains
155 directives that would enable a level disabled by the `tracing` crate's
156 `static_max_level` features ([#1021])
157
158Thanks to @jyn514 and @bkchr for contributing to this release!
159
160[#992]: https://github.com/tokio-rs/tracing/pull/992
161[#1014]: https://github.com/tokio-rs/tracing/pull/1014
162[#1021]: https://github.com/tokio-rs/tracing/pull/1021
163
164# 0.2.12 (September 11, 2020)
165
166### Fixed
167
168- **env-filter**: Fixed a regression where `Option<Level>` lost its
169 `Into<LevelFilter>` impl ([#966])
170- **env-filter**: Fixed `EnvFilter` enabling spans that should not be enabled
171 when multiple subscribers are in use ([#927])
172
173### Changed
174
175- **json**: `format::Json` now outputs fields in a more readable order ([#892])
176- Updated `tracing-core` dependency to 0.1.16
177
178### Added
179
180- **fmt**: Add `BoxMakeWriter` for erasing the type of a `MakeWriter`
181 implementation ([#958])
182- **fmt**: Add `TestWriter` `MakeWriter` implementation to support libtest
183 output capturing ([#938])
184- **layer**: Add `Layer` impl for `Option<T> where T: Layer` ([#910])
185- **env-filter**: Add `From<Level>` impl for `Directive` ([#918])
186- Multiple documentation fixes and improvements
187
188Thanks to @Pothulapati, @samrg472, @bryanburgers, @keetonian, and @SriRamanujam
189for contributing to this release!
190
191[#927]: https://github.com/tokio-rs/tracing/pull/927
192[#966]: https://github.com/tokio-rs/tracing/pull/966
193[#958]: https://github.com/tokio-rs/tracing/pull/958
194[#892]: https://github.com/tokio-rs/tracing/pull/892
195[#938]: https://github.com/tokio-rs/tracing/pull/938
196[#910]: https://github.com/tokio-rs/tracing/pull/910
197[#918]: https://github.com/tokio-rs/tracing/pull/918
198
3dfed10e
XL
199# 0.2.11 (August 10, 2020)
200
201### Fixed
202
203- **env-filter**: Incorrect max level hint when filters involving span field
204 values are in use (#907)
205- **registry**: Fixed inconsistent span stacks when multiple registries are in
206 use on the same thread (#901)
207
208### Changed
209
210- **env-filter**: `regex` dependency enables fewer unused feature flags (#899)
211
212Thanks to @bdonlan and @jeromegn for contributing to this release!
213
214# 0.2.10 (July 31, 2020)
215
216### Fixed
217
218- **docs**: Incorrect formatting (#862)
219
220### Changed
221
222- **filter**: `LevelFilter` is now a re-export of the
223 `tracing_core::LevelFilter` type, it can now be used interchangably with the
224 versions in `tracing` and `tracing-core` (#853)
225- **filter**: Significant performance improvements when comparing `LevelFilter`s
226 and `Level`s (#853)
227- Updated the minimum `tracing-core` dependency to 0.1.12 (#853)
228
229### Added
230
231- **filter**: `LevelFilter` and `EnvFilter` now participate in `tracing-core`'s
232 max level hinting, improving performance significantly in some use cases where
233 levels are disabled globally (#853)
234
235# 0.2.9 (July 23, 2020)
236
237### Fixed
238
239- **fmt**: Fixed compilation failure on MSRV when the `chrono` feature is
240 disabled (#844)
241
242### Added
243
244- **fmt**: Span lookup methods defined by `layer::Context` are now also provided
245 by `FmtContext` (#834)
246
247# 0.2.8 (July 17, 2020)
248
249### Changed
250
251- **fmt**: When the `chrono` dependency is enabled, the `SystemTime` timestamp
252 formatter now emits human-readable timestamps rather than using `SystemTime`'s
253 `fmt::Debug`implementation (`chrono` is still required for customized
254 timestamp formatting) (#807)
255- **ansi**: Updated `ansi_term` dependency to 0.12 (#816)
256
257### Added
258
259- **json**: `with_span_list` method to configure the JSON formatter to include a
260 list of all spans in the current trace in formatting events (similarly to the
261 text formatter) (#741)
262- **json**: `with_current_span` method to configure the JSON formatter to include
263 a field for the _current_ span (the leaf of the trace) in formatted events
264 (#741)
265- **fmt**: `with_thread_names` and `with_thread_ids` methods to configure
266 `fmt::Subscriber`s and `fmt::Layer`s to include the thread name and/or thread ID
267 of the current thread when formatting events (#818)
268
269Thanks to new contributors @mockersf, @keetonian, and @Pothulapati for
270contributing to this release!
271
f035d41b
XL
272# 0.2.7 (July 1, 2020)
273
274### Changed
275
276- **parking_lot**: Updated the optional `parking_lot` dependency to accept the
277 latest `parking_lot` version (#774)
278
279### Fixed
280
281- **fmt**: Fixed events with explicitly overridden parent spans being formatted
282 as though they were children of the current span (#767)
283
284### Added
285
286- **fmt**: Added the option to print synthesized events when spans are created,
287 entered, exited, and closed, including span durations (#761)
288- Documentation clarification and improvement (#762, #769)
289
290Thanks to @rkuhn, @greenwoodcm, and @Ralith for contributing to this release!
291
292# 0.2.6 (June 19, 2020)
293
294### Fixed
295
296- **fmt**: Fixed an issue in the JSON formatter where using `Span::record` would
297 result in malformed spans (#709)
298
299# 0.2.5 (April 21, 2020)
300
301### Changed
302
303- **fmt**: Bump sharded-slab dependency (#679)
304
305### Fixed
306
307- **fmt**: remove trailing space in `ChronoUtc` `format_time` (#677)
308
309# 0.2.4 (April 6, 2020)
310
311This release includes several API ergonomics improvements, including shorthand
312constructors for many types, and an extension trait for initializing subscribers
313using method-chaining style. Additionally, several bugs in less commonly used
314`fmt` APIs were fixed.
315
316### Added
317
318- **fmt**: Shorthand free functions for constructing most types in `fmt`
319 (including `tracing_subscriber::fmt()` to return a `SubscriberBuilder`,
320 `tracing_subscriber::fmt::layer()` to return a format `Layer`, etc) (#660)
321- **registry**: Shorthand free function `tracing_subscriber::registry()` to
322 construct a new registry (#660)
323- Added `SubscriberInitExt` extension trait for more ergonomic subscriber
324 initialization (#660)
325
326### Changed
327
328- **fmt**: Moved `LayerBuilder` methods to `Layer` (#655)
329
330### Deprecated
331
332- **fmt**: `LayerBuilder`, as `Layer` now implements all builder methods (#655)
333
334### Fixed
335
336- **fmt**: Fixed `Compact` formatter not omitting levels with
337 `with_level(false)` (#657)
338- **fmt**: Fixed `fmt::Layer` duplicating the fields for a new span if another
339 layer has already formatted its fields (#634)
340- **fmt**: Added missing space when using `record` to add new fields to a span
341 that already has fields (#659)
342- Updated outdated documentation (#647)
343
344
345# 0.2.3 (March 5, 2020)
346
347### Fixed
348
349- **env-filter**: Regression where filter directives were selected in the order
350 they were listed, rather than most specific first (#624)
351
352# 0.2.2 (February 27, 2020)
353
354### Added
355
356- **fmt**: Added `flatten_event` to `SubscriberBuilder` (#599)
357- **fmt**: Added `with_level` to `SubscriberBuilder` (#594)
358
359# 0.2.1 (February 13, 2020)
360
361### Changed
362
363- **filter**: `EnvFilter` directive selection now behaves correctly (i.e. like
364 `env_logger`) (#583)
365
366### Fixed
367
368- **filter**: Fixed `EnvFilter` incorrectly allowing less-specific filter
369 directives to enable events that are disabled by more-specific filters (#583)
370- **filter**: Multiple significant `EnvFilter` performance improvements,
371 especially when filtering events generated by `log` records (#578, #583)
372- **filter**: Replaced `BTreeMap` with `Vec` in `DirectiveSet`, improving
373 iteration performance significantly with typical numbers of filter directives
374 (#580)
375
376A big thank-you to @samschlegel for lots of help with `EnvFilter` performance
377tuning in this release!
378
379# 0.2.0 (February 4, 2020)
380
381### Breaking Changes
382
383- **fmt**: Renamed `Context` to `FmtContext` (#420, #425)
384- **fmt**: Renamed `Builder` to `SubscriberBuilder` (#420)
385- **filter**: Removed `Filter`. Use `EnvFilter` instead (#434)
386
387### Added
388
389- **registry**: `Registry`, a `Subscriber` implementation that `Layer`s can use
390 as a high-performance, in-memory span store. (#420, #425, #432, #433, #435)
391- **registry**: Added `LookupSpan` trait, implemented by `Subscriber`s to expose
392 stored span data to `Layer`s (#420)
393- **fmt**: Added `fmt::Layer`, to allow composing log formatting with other `Layer`s
394- **fmt**: Added support for JSON field and event formatting (#377, #415)
395- **filter**: Documentation for filtering directives (#554)
396
397### Changed
398
399- **fmt**: Renamed `Context` to `FmtContext` (#420, #425) (BREAKING)
400- **fmt**: Renamed `Builder` to `SubscriberBuilder` (#420) (BREAKING)
401- **fmt**: Reimplemented `fmt::Subscriber` in terms of the `Registry`
402 and `Layer`s (#420)
403
404### Removed
405
406- **filter**: Removed `Filter`. Use `EnvFilter` instead (#434) (BREAKING)
407
408### Fixed
409
410- **fmt**: Fixed memory leaks in the slab used to store per-span data
411 (3c35048)
412- **fmt**: `fmt::SubscriberBuilder::init` not setting up `log` compatibility
413 (#489)
414- **fmt**: Spans closed by a child span closing not also closing _their_
415 parents (#514)
416- **Layer**: Fixed `Layered` subscribers failing to downcast to their own type
417 (#549)
418- **Layer**: Fixed `Layer::downcast_ref` returning invalid references (#454)
419
420# 0.2.0-alpha.6 (February 3, 2020)
421
422### Fixed
423
424- **fmt**: Fixed empty `{}` printed after spans with no fields (f079f2d)
425- **fmt**: Fixed inconsistent formatting when ANSI colors are disabled (506a482)
426- **fmt**: Fixed mis-aligned levels when ANSI colors are disabled (eba1adb)
427- Fixed warnings on nightly Rust compilers (#558)
428
429# 0.2.0-alpha.5 (January 31, 2020)
430
431### Added
432
433- **env_filter**: Documentation for filtering directives (#554)
434- **registry**, **env_filter**: Updated `smallvec` dependency to 0.1 (#543)
435
436### Fixed
437
438- **registry**: Fixed a memory leak in the slab used to store per-span data
439 (3c35048)
440- **Layer**: Fixed `Layered` subscribers failing to downcast to their own type
441 (#549)
442- **fmt**: Fixed a panic when multiple layers insert `FormattedFields`
443 extensions from the same formatter type (1c3bb70)
444- **fmt**: Fixed `fmt::Layer::on_record` inserting a new `FormattedFields` when
445 formatted fields for a span already exist (1c3bb70)
446
447# 0.2.0-alpha.4 (January 11, 2020)
448
449### Fixed
450
451- **registry**: Removed inadvertently committed `dbg!` macros (#533)
452
453# 0.2.0-alpha.3 (January 10, 2020)
454
455### Added
456
457- **fmt**: Public `FormattedFields::new` constructor (#478)
458- **fmt**: Added examples to `fmt::Layer` documentation (#510)
459- Documentation now shows what feature flags are required by each API item (#525)
460
461### Fixed
462
463- **fmt**: Missing space between timestamp and level (#480)
464- **fmt**: Incorrect formatting with `with_target(false)` (#481)
465- **fmt**: `fmt::SubscriberBuilder::init` not setting up `log` compatibility
466 (#489)
467- **registry**: Spans exited out of order not being closed properly on exit
468 (#509)
469- **registry**: Memory leak when spans are closed by a child span closing (#514)
470- **registry**: Spans closed by a child span closing not also closing _their_
471 parents (#514)
472- Compilation errors with `no-default-features` (#499, #500)
473
474# 0.2.0-alpha.2 (December 8, 2019)
475
476### Added
477
478- `LookupSpans` implementation for `Layered` (#448)
479- `SpanRef::from_root` to iterate over a span's parents from the root (#460)
480- `Context::scope`, to iterate over the current context from the root (#460)
481- `Context::lookup_current`, which returns a `SpanRef` to the current
482 span's data (#460)
483
484### Changed
485
486- Lifetimes on some new `Context` methods to be less restrictive (#460)
487
488### Fixed
489
490- `Layer::downcast_ref` returning invalid references (#454)
491- Compilation failure on 32-bit platforms (#462)
492- Compilation failure with ANSI formatters (#438)
493
494# 0.2.0-alpha.1 (November 18, 2019)
495
496### Added
497
498- `Registry`, a reusable span store that `Layer`s can use a
499 high-performance, in-memory store. (#420, #425, #432, #433, #435)
500- Reimplemented `fmt::Subscriber` in terms of the `Registry`
501 and `Layer`s (#420)
502- Add benchmarks for fmt subscriber (#421)
503- Add support for JSON field and event formatting (#377, #415)
504
505### Changed
506
507- **BREAKING**: Change `fmt::format::FormatFields` and
508 `fmt::format::FormatEvent` to accept a mandatory `FmtContext`. These
509 `FormatFields` and `FormatEvent` will likely see additional breaking
510 changes in subsequent alpha. (#420, #425)
511- **BREAKING**: Removed `Filter`. Use `EnvFilter` instead (#434)
512
513### Contributers
514
515Thanks to all the contributers to this release!
516
517- @pimeys for #377 and #415
518
519# 0.1.6 (October 29, 2019)
520
521### Added
522
523- Add `init` and `try_init` functions to `FmtSubscriber` (#385)
524- Add `ChronoUtc` and `ChronoLocal` timers, RFC 3339 support (#387)
525- Add `tracing::subscriber::set_default` which sets the default
526 subscriber and returns a drop guard. This drop guard will reset the
527 dispatch on drop (#388).
528
529### Fixed
530
531- Fix default level for `EnvFilter`. Setting `RUST_LOG=target`
532 previously only the `ERROR` level, while it should enable everything.
533 `tracing-subscriber` now defaults to `TRACE` if no level is specified
534 (#401)
535- Fix `tracing-log` feature flag for init + try_init. The feature flag
536 `tracing_log` was used instead of the correct `tracing-log`. As a
537 result, both `tracing-log` and `tracing_log` needed to be specified in
538 order to initialize the global logger. Only `tracing-log` needs to be
539 specified now (#400).
540
541### Contributers
542
543Thanks to all the contributers to this release!
544
545- @emschwartz for #385, #387, #400 and #401
546- @bIgBV for #388
547
548# 0.1.5 (October 7, 2019)
549
550### Fixed
551
552- Spans not being closed properly when `FmtSubscriber::current_span` is used
553 (#371)
554
555# 0.1.4 (September 26, 2019)
556
557### Fixed
558
559- Spans entered twice on the same thread sometimes being completely exited when
560 the more deeply-nested entry is exited (#361)
561- Setting `with_ansi(false)` on `FmtSubscriber` not disabling ANSI color
562 formatting for timestamps (#354)
563- Incorrect reference counting in `FmtSubscriber` that could cause spans to not
564 be closed when all references are dropped (#366)
565
566# 0.1.3 (September 16, 2019)
567
568### Fixed
569
570- `Layered` subscribers not properly forwarding calls to `current_span`
571 (#350)
572
573# 0.1.2 (September 12, 2019)
574
575### Fixed
576
577- `EnvFilter` ignoring directives with targets that are the same number of
578 characters (#333)
579- `EnvFilter` failing to properly apply filter directives to events generated
580 from `log` records by`tracing-log` (#344)
581
582### Changed
583
584- Renamed `Filter` to `EnvFilter`, deprecated `Filter` (#339)
585- Renamed "filter" feature flag to "env-filter", deprecated "filter" (#339)
586- `FmtSubscriber` now defaults to enabling only the `INFO` level and above when
587 a max level filter or `EnvFilter` is not set (#336)
588- Made `parking_lot` dependency an opt-in feature flag (#348)
589
590### Added
591
592- `EnvFilter::add_directive` to add new directives to filters after they are
593 constructed (#334)
594- `fmt::Builder::with_max_level` to set a global level filter for a
595 `FmtSubscriber` without requiring the use of `EnvFilter` (#336)
596- `Layer` implementation for `LevelFilter` (#336)
597- `EnvFilter` now implements `fmt::Display` (#329)
598
599### Removed
600
601- Removed dependency on `crossbeam-util` (#348)
602
603# 0.1.1 (September 4, 2019)
604
605### Fixed
606
607- Potential double panic in `CurrentSpan` (#325)
608
609# 0.1.0 (September 3, 2019)
610
611- Initial release