]>
Commit | Line | Data |
---|---|---|
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 | ||
49 | Thanks 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 | ||
79 | Thanks to @Pothulapati, @samrg472, @bryanburgers, @keetonian, and @SriRamanujam | |
80 | for 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 | ||
103 | Thanks 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 | ||
160 | Thanks to new contributors @mockersf, @keetonian, and @Pothulapati for | |
161 | contributing 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 | ||
181 | Thanks 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 | ||
202 | This release includes several API ergonomics improvements, including shorthand | |
203 | constructors for many types, and an extension trait for initializing subscribers | |
204 | using 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 | ||
267 | A big thank-you to @samschlegel for lots of help with `EnvFilter` performance | |
268 | tuning 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 | ||
406 | Thanks 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 | ||
434 | Thanks 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 |