1 # 0.1.22 (July 1, 2022)
3 This release fixes an issue where using the `err` or `ret` arguments to
4 `#[instrument]` along with an overridden target, such as
7 #[instrument(target = "...", err, ret)]
10 would not propagate the overridden target to the events generated for
15 - Error and return value events generated by `#[instrument(err)]` or
16 `#[instrument(ret)]` not inheriting an overridden target ([#2184])
17 - Incorrect default level in documentation ([#2119])
19 Thanks to new contributor @tbraun96 for contributing to this release!
21 [#2184]: https://github.com/tokio-rs/tracing/pull/2184
22 [#2119]: https://github.com/tokio-rs/tracing/pull/2119
24 # 0.1.21 (April 26, 2022)
26 This release adds support for setting explicit parent and follows-from spans
27 in the `#[instrument]` attribute.
31 - `#[instrument(follows_from = ...)]` argument for setting one or more
32 follows-from span ([#2093])
33 - `#[instrument(parent = ...)]` argument for overriding the generated span's
38 - Extra braces around `async` blocks in expanded code (causes a Clippy warning)
40 - Broken documentation links ([#2068], [#2077])
42 Thanks to @jarrodldavis, @ben0x539, and new contributor @jswrenn for
43 contributing to this release!
46 [#2093]: https://github.com/tokio-rs/tracing/pull/2093
47 [#2091]: https://github.com/tokio-rs/tracing/pull/2091
48 [#2090]: https://github.com/tokio-rs/tracing/pull/2090
49 [#2077]: https://github.com/tokio-rs/tracing/pull/2077
50 [#2068]: https://github.com/tokio-rs/tracing/pull/2068
52 # 0.1.20 (March 8, 2022)
56 - Compilation failure with `--minimal-versions` due to a too-permissive `syn`
61 - Bumped minimum supported Rust version (MSRV) to 1.49.0 ([#1913])
63 Thanks to new contributor @udoprog for contributing to this release!
65 [#1960]: https://github.com/tokio-rs/tracing/pull/1960
66 [#1913]: https://github.com/tokio-rs/tracing/pull/1913
68 # 0.1.19 (February 3, 2022)
70 This release introduces a new `#[instrument(ret)]` argument to emit an event
71 with the return value of an instrumented function.
75 - `#[instrument(ret)]` to record the return value of a function ([#1716])
76 - added `err(Debug)` argument to cause `#[instrument(err)]` to record errors
77 with `Debug` rather than `Display ([#1631])
81 - incorrect code generation for functions returning async blocks ([#1866])
82 - incorrect diagnostics when using `rust-analyzer` ([#1634])
84 Thanks to @Swatinem, @hkmatsumoto, @cynecx, and @ciuncan for contributing to
87 [#1716]: https://github.com/tokio-rs/tracing/pull/1716
88 [#1631]: https://github.com/tokio-rs/tracing/pull/1631
89 [#1634]: https://github.com/tokio-rs/tracing/pull/1634
90 [#1866]: https://github.com/tokio-rs/tracing/pull/1866
92 # 0.1.18 (October 5, 2021)
94 This release fixes issues introduced in v0.1.17.
98 - fixed mismatched types compiler error that may occur when using
99 `#[instrument]` on an `async fn` that returns an `impl Trait` value that
100 includes a closure ([#1616])
101 - fixed false positives for `clippy::suspicious_else_formatting` warnings due to
102 rust-lang/rust-clippy#7760 and rust-lang/rust-clippy#6249 ([#1617])
103 - fixed `clippy::let_unit_value` lints when using `#[instrument]` ([#1614])
105 [#1617]: https://github.com/tokio-rs/tracing/pull/1617
106 [#1616]: https://github.com/tokio-rs/tracing/pull/1616
107 [#1614]: https://github.com/tokio-rs/tracing/pull/1614
109 # 0.1.17 (YANKED) (October 1, 2021)
111 This release significantly improves performance when `#[instrument]`-generated
112 spans are below the maximum enabled level.
116 - improve performance when skipping `#[instrument]`-generated spans below the
117 max level ([#1600], [#1605])
119 Thanks to @oli-obk for contributing to this release!
121 [#1600]: https://github.com/tokio-rs/tracing/pull/1600
122 [#1605]: https://github.com/tokio-rs/tracing/pull/1605
124 # 0.1.16 (September 13, 2021)
126 This release adds a new `#[instrument(skip_all)]` option to skip recording *all*
127 arguments to an instrumented function as fields. Additionally, it adds support
128 for recording arguments that are `tracing` primitive types as typed values,
129 rather than as `fmt::Debug`.
133 - add `skip_all` option to `#[instrument]` ([#1548])
134 - record primitive types as primitive values rather than as `fmt::Debug`
136 - added support for `f64`s as typed values ([#1522])
138 Thanks to @Folyd and @jsgf for contributing to this release!
140 [#1548]: https://github.com/tokio-rs/tracing/pull/1548
141 [#1378]: https://github.com/tokio-rs/tracing/pull/1378
142 [#1522]: https://github.com/tokio-rs/tracing/pull/1524
144 # 0.1.15 (March 12, 2021)
148 - `#[instrument]` on functions returning `Box::pin`ned futures incorrectly
149 skipping function bodies prior to returning a future ([#1297])
151 Thanks to @nightmared for contributing to this release!
153 [#1297]: https://github.com/tokio-rs/tracing/pull/1297
155 # 0.1.14 (March 10, 2021)
159 - Compatibility between `#[instrument]` and `async-trait` v0.1.43 and newer
162 Thanks to @nightmared for lots of hard work on this fix!
164 [#1228]: https://github.com/tokio-rs/tracing/pull/1228
166 # 0.1.13 (February 17, 2021)
170 - Compiler error when using `#[instrument(err)]` on functions which return `impl
173 [#1236]: https://github.com/tokio-rs/tracing/pull/1236
175 # 0.1.12 (February 4, 2021)
179 - Compiler error when using `#[instrument(err)]` on functions with mutable
181 - Missing function visibility modifier when using `#[instrument]` with
182 `async-trait` ([#977])
183 - Multiple documentation fixes and improvements ([#965], [#981], [#1215])
187 - `tracing-futures` dependency is no longer required when using `#[instrument]`
188 on async functions ([#808])
190 Thanks to @nagisa, @Txuritan, @TaKO8Ki, and @okready for contributing to this
193 [#1167]: https://github.com/tokio-rs/tracing/pull/1167
194 [#977]: https://github.com/tokio-rs/tracing/pull/977
195 [#965]: https://github.com/tokio-rs/tracing/pull/965
196 [#981]: https://github.com/tokio-rs/tracing/pull/981
197 [#1215]: https://github.com/tokio-rs/tracing/pull/1215
198 [#808]: https://github.com/tokio-rs/tracing/pull/808
200 # 0.1.11 (August 18, 2020)
204 - Corrected wrong minimum supported Rust version note in docs (#941)
205 - Removed unused `syn` features (#928)
207 Thanks to new contributor @jhpratt for contributing to this release!
209 # 0.1.10 (August 10, 2020)
213 - Support for using `self` in field expressions when instrumenting `async-trait`
215 - Several documentation improvements (#832, #897, #911, #913)
217 Thanks to @anton-dutov and @nightmared for contributing to this release!
219 # 0.1.9 (July 8, 2020)
223 - Support for arbitrary expressions as fields in `#[instrument]` (#672)
227 - `#[instrument]` now emits a compiler warning when ignoring unrecognized
230 # 0.1.8 (May 13, 2020)
234 - Support for using `#[instrument]` on methods that are part of [`async-trait`]
235 trait implementations (#711)
236 - Optional `#[instrument(err)]` argument to automatically emit an event if an
237 instrumented function returns `Err` (#637)
239 Thanks to @ilana and @nightmared for contributing to this release!
241 [`async-trait`]: https://crates.io/crates/async-trait
243 # 0.1.7 (February 26, 2020)
247 - Support for adding arbitrary literal fields to spans generated by
248 `#[instrument]` (#569)
249 - `#[instrument]` now emits a helpful compiler error when attempting to skip a
250 function parameter (#600)
252 Thanks to @Kobzol for contributing to this release!
254 # 0.1.6 (December 20, 2019)
258 - Updated documentation (#468)
260 # 0.1.5 (October 22, 2019)
264 - Support for destructuring in arguments to `#[instrument]`ed functions (#397)
265 - Generated field for `self` parameters when `#[instrument]`ing methods (#397)
267 # 0.1.4 (September 26, 2019)
271 - Optional `skip` argument to `#[instrument]` for excluding function parameters
272 from generated spans (#359)
274 # 0.1.3 (September 12, 2019)
278 - Fixed `#[instrument]`ed async functions not compiling on `nightly-2019-09-11`
281 # 0.1.2 (August 19, 2019)
285 - Updated `syn` and `quote` dependencies to 1.0 (#292)
286 - Removed direct dependency on `proc-macro2` to avoid potential version
291 - Outdated idioms in examples (#271, #273)
293 # 0.1.1 (August 9, 2019)
297 - Using the `#[instrument]` attribute on `async fn`s no longer requires a
302 - The `#[instrument]` macro now works on generic functions (#262)
304 # 0.1.0 (August 8, 2019)