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