| # 0.1.27 (October 13, 2023) | |
| ### Changed | |
| - Bump minimum version of proc-macro2 to 1.0.60 ([#2732]) | |
| - Generate less dead code for async block return type hint ([#2709]) | |
| ### Fixed | |
| - Fix a compilation error in `#[instrument]` when the `"log"` feature is enabled ([#2599]) | |
| [#2732]: https://github.com/tokio-rs/tracing/pull/2732 | |
| [#2709]: https://github.com/tokio-rs/tracing/pull/2709 | |
| [#2599]: https://github.com/tokio-rs/tracing/pull/2599 | |
| # 0.1.26 (June 21th, 2023) | |
| This release of `tracing-attributes` fixes warnings due to `allow` attributes in | |
| generated code that allow lints which may not exist on earlier versions of rustc. | |
| ### Fixed | |
| - Allow `unknown_lints` in macro-generated code ([#2626]) | |
| Thanks to @mladedav for contributing to this release! | |
| # 0.1.25 (June 19th, 2023) | |
| This release of `tracing-attributes` fixes the Clippy lint | |
| [`let_with_type_underscore`] in code generated by the `#[instrument]` | |
| attribute in Rust 1.70+. | |
| ### Fixed | |
| - Allow [`clippy::let_with_type_underscore`] in macro-generated code ([#2609]) | |
| Thanks to @coolreader19 for contributing to this release! | |
| [#2609]: https://github.com/tokio-rs/tracing/pull/2609 | |
| [`let_with_type_underscore`]: http://rust-lang.github.io/rust-clippy/rust-1.70.0/index.html#let_with_type_underscore | |
| # 0.1.24 (April 24th, 2023) | |
| This release of `tracing-attributes` adds support for passing an optional | |
| `level` to the `err` and `ret` arguments to `#[instrument]`, allowing the level | |
| of the generated return-value event to be overridden. For example, | |
| ```rust | |
| #[instrument(err(level = "info"))] | |
| fn my_great_function() -> Result<(), &'static str> { | |
| // ... | |
| } | |
| ``` | |
| will emit an `INFO`-level event if the function returns an `Err`. | |
| In addition, this release updates the [`syn`] dependency to v2.x.x. | |
| ### Added | |
| - `level` argument to `err` and `ret` to override the level of the generated | |
| return value event ([#2335]) | |
| - Improved compiler error message when `#[instrument]` is added to a `const fn` | |
| ([#2418]) | |
| ### Changed | |
| - Updated `syn` dependency to 2.0 ([#2516]) | |
| ### Fixed | |
| - Fix `clippy::unreachable` warnings in `#[instrument]`-generated code ([#2356]) | |
| - Removed unused "visit" feature flag from `syn` dependency ([#2530]) | |
| ### Documented | |
| - Documented default level for `err` ([#2433]) | |
| - Improved documentation for levels in `#[instrument]` ([#2350]) | |
| Thanks to @nitnelave, @jsgf, @Abhicodes-crypto, @LukeMathWalker, @andrewpollack, | |
| @quad, @klensy, @davidpdrsn, and @dbidwell94 for contributign to this release! | |
| [`syn`]: https://crates.io/crates/syn | |
| [#2335]: https://github.com/tokio-rs/tracing/pull/2335 | |
| [#2418]: https://github.com/tokio-rs/tracing/pull/2418 | |
| [#2516]: https://github.com/tokio-rs/tracing/pull/2516 | |
| [#2356]: https://github.com/tokio-rs/tracing/pull/2356 | |
| [#2530]: https://github.com/tokio-rs/tracing/pull/2530 | |
| [#2433]: https://github.com/tokio-rs/tracing/pull/2433 | |
| [#2350]: https://github.com/tokio-rs/tracing/pull/2350 | |
| # 0.1.23 (October 6, 2022) | |
| This release of `tracing-attributes` fixes a bug where compiler diagnostic spans | |
| for type errors in `#[instrument]`ed `async fn`s have the location of the | |
| `#[instrument]` attribute rather than the location of the actual error, and a | |
| bug where inner attributes in `#[instrument]`ed functions would cause a compiler | |
| error. | |
| ### Fixed | |
| - Fix incorrect handling of inner attributes in `#[instrument]`ed functions ([#2307]) | |
| - Add fake return to improve spans generated for type errors in `async fn`s ([#2270]) | |
| - Updated `syn` dependency to fix compilation with `-Z minimal-versions` | |
| ([#2246]) | |
| Thanks to new contributors @compiler-errors and @e-nomem, as well as @CAD97, for | |
| contributing to this release! | |
| [#2307]: https://github.com/tokio-rs/tracing/pull/2307 | |
| [#2270]: https://github.com/tokio-rs/tracing/pull/2270 | |
| [#2246]: https://github.com/tokio-rs/tracing/pull/2246 | |
| # 0.1.22 (July 1, 2022) | |
| This release fixes an issue where using the `err` or `ret` arguments to | |
| `#[instrument]` along with an overridden target, such as | |
| ```rust | |
| #[instrument(target = "...", err, ret)] | |
| ``` | |
| would not propagate the overridden target to the events generated for | |
| errors/return values. | |
| ### Fixed | |
| - Error and return value events generated by `#[instrument(err)]` or | |
| `#[instrument(ret)]` not inheriting an overridden target ([#2184]) | |
| - Incorrect default level in documentation ([#2119]) | |
| Thanks to new contributor @tbraun96 for contributing to this release! | |
| [#2184]: https://github.com/tokio-rs/tracing/pull/2184 | |
| [#2119]: https://github.com/tokio-rs/tracing/pull/2119 | |
| # 0.1.21 (April 26, 2022) | |
| This release adds support for setting explicit parent and follows-from spans | |
| in the `#[instrument]` attribute. | |
| ### Added | |
| - `#[instrument(follows_from = ...)]` argument for setting one or more | |
| follows-from span ([#2093]) | |
| - `#[instrument(parent = ...)]` argument for overriding the generated span's | |
| parent ([#2091]) | |
| ### Fixed | |
| - Extra braces around `async` blocks in expanded code (causes a Clippy warning) | |
| ([#2090]) | |
| - Broken documentation links ([#2068], [#2077]) | |
| Thanks to @jarrodldavis, @ben0x539, and new contributor @jswrenn for | |
| contributing to this release! | |
| [#2093]: https://github.com/tokio-rs/tracing/pull/2093 | |
| [#2091]: https://github.com/tokio-rs/tracing/pull/2091 | |
| [#2090]: https://github.com/tokio-rs/tracing/pull/2090 | |
| [#2077]: https://github.com/tokio-rs/tracing/pull/2077 | |
| [#2068]: https://github.com/tokio-rs/tracing/pull/2068 | |
| # 0.1.20 (March 8, 2022) | |
| ### Fixed | |
| - Compilation failure with `--minimal-versions` due to a too-permissive `syn` | |
| dependency ([#1960]) | |
| ### Changed | |
| - Bumped minimum supported Rust version (MSRV) to 1.49.0 ([#1913]) | |
| Thanks to new contributor @udoprog for contributing to this release! | |
| [#1960]: https://github.com/tokio-rs/tracing/pull/1960 | |
| [#1913]: https://github.com/tokio-rs/tracing/pull/1913 | |
| # 0.1.19 (February 3, 2022) | |
| This release introduces a new `#[instrument(ret)]` argument to emit an event | |
| with the return value of an instrumented function. | |
| ### Added | |
| - `#[instrument(ret)]` to record the return value of a function ([#1716]) | |
| - added `err(Debug)` argument to cause `#[instrument(err)]` to record errors | |
| with `Debug` rather than `Display ([#1631]) | |
| ### Fixed | |
| - incorrect code generation for functions returning async blocks ([#1866]) | |
| - incorrect diagnostics when using `rust-analyzer` ([#1634]) | |
| Thanks to @Swatinem, @hkmatsumoto, @cynecx, and @ciuncan for contributing to | |
| this release! | |
| [#1716]: https://github.com/tokio-rs/tracing/pull/1716 | |
| [#1631]: https://github.com/tokio-rs/tracing/pull/1631 | |
| [#1634]: https://github.com/tokio-rs/tracing/pull/1634 | |
| [#1866]: https://github.com/tokio-rs/tracing/pull/1866 | |
| # 0.1.18 (October 5, 2021) | |
| This release fixes issues introduced in v0.1.17. | |
| ### Fixed | |
| - fixed mismatched types compiler error that may occur when using | |
| `#[instrument]` on an `async fn` that returns an `impl Trait` value that | |
| includes a closure ([#1616]) | |
| - fixed false positives for `clippy::suspicious_else_formatting` warnings due to | |
| rust-lang/rust-clippy#7760 and rust-lang/rust-clippy#6249 ([#1617]) | |
| - fixed `clippy::let_unit_value` lints when using `#[instrument]` ([#1614]) | |
| [#1617]: https://github.com/tokio-rs/tracing/pull/1617 | |
| [#1616]: https://github.com/tokio-rs/tracing/pull/1616 | |
| [#1614]: https://github.com/tokio-rs/tracing/pull/1614 | |
| # 0.1.17 (YANKED) (October 1, 2021) | |
| This release significantly improves performance when `#[instrument]`-generated | |
| spans are below the maximum enabled level. | |
| ### Added | |
| - improve performance when skipping `#[instrument]`-generated spans below the | |
| max level ([#1600], [#1605]) | |
| Thanks to @oli-obk for contributing to this release! | |
| [#1600]: https://github.com/tokio-rs/tracing/pull/1600 | |
| [#1605]: https://github.com/tokio-rs/tracing/pull/1605 | |
| # 0.1.16 (September 13, 2021) | |
| This release adds a new `#[instrument(skip_all)]` option to skip recording *all* | |
| arguments to an instrumented function as fields. Additionally, it adds support | |
| for recording arguments that are `tracing` primitive types as typed values, | |
| rather than as `fmt::Debug`. | |
| ### Added | |
| - add `skip_all` option to `#[instrument]` ([#1548]) | |
| - record primitive types as primitive values rather than as `fmt::Debug` | |
| ([#1378]) | |
| - added support for `f64`s as typed values ([#1522]) | |
| Thanks to @Folyd and @jsgf for contributing to this release! | |
| [#1548]: https://github.com/tokio-rs/tracing/pull/1548 | |
| [#1378]: https://github.com/tokio-rs/tracing/pull/1378 | |
| [#1522]: https://github.com/tokio-rs/tracing/pull/1524 | |
| # 0.1.15 (March 12, 2021) | |
| ### Fixed | |
| - `#[instrument]` on functions returning `Box::pin`ned futures incorrectly | |
| skipping function bodies prior to returning a future ([#1297]) | |
| Thanks to @nightmared for contributing to this release! | |
| [#1297]: https://github.com/tokio-rs/tracing/pull/1297 | |
| # 0.1.14 (March 10, 2021) | |
| ### Fixed | |
| - Compatibility between `#[instrument]` and `async-trait` v0.1.43 and newer | |
| ([#1228]) | |
| Thanks to @nightmared for lots of hard work on this fix! | |
| [#1228]: https://github.com/tokio-rs/tracing/pull/1228 | |
| # 0.1.13 (February 17, 2021) | |
| ### Fixed | |
| - Compiler error when using `#[instrument(err)]` on functions which return `impl | |
| Trait` ([#1236]) | |
| [#1236]: https://github.com/tokio-rs/tracing/pull/1236 | |
| # 0.1.12 (February 4, 2021) | |
| ### Fixed | |
| - Compiler error when using `#[instrument(err)]` on functions with mutable | |
| parameters ([#1167]) | |
| - Missing function visibility modifier when using `#[instrument]` with | |
| `async-trait` ([#977]) | |
| - Multiple documentation fixes and improvements ([#965], [#981], [#1215]) | |
| ### Changed | |
| - `tracing-futures` dependency is no longer required when using `#[instrument]` | |
| on async functions ([#808]) | |
| Thanks to @nagisa, @Txuritan, @TaKO8Ki, and @okready for contributing to this | |
| release! | |
| [#1167]: https://github.com/tokio-rs/tracing/pull/1167 | |
| [#977]: https://github.com/tokio-rs/tracing/pull/977 | |
| [#965]: https://github.com/tokio-rs/tracing/pull/965 | |
| [#981]: https://github.com/tokio-rs/tracing/pull/981 | |
| [#1215]: https://github.com/tokio-rs/tracing/pull/1215 | |
| [#808]: https://github.com/tokio-rs/tracing/pull/808 | |
| # 0.1.11 (August 18, 2020) | |
| ### Fixed | |
| - Corrected wrong minimum supported Rust version note in docs (#941) | |
| - Removed unused `syn` features (#928) | |
| Thanks to new contributor @jhpratt for contributing to this release! | |
| # 0.1.10 (August 10, 2020) | |
| ### Added | |
| - Support for using `self` in field expressions when instrumenting `async-trait` | |
| functions (#875) | |
| - Several documentation improvements (#832, #897, #911, #913) | |
| Thanks to @anton-dutov and @nightmared for contributing to this release! | |
| # 0.1.9 (July 8, 2020) | |
| ### Added | |
| - Support for arbitrary expressions as fields in `#[instrument]` (#672) | |
| ### Changed | |
| - `#[instrument]` now emits a compiler warning when ignoring unrecognized | |
| input (#672, #786) | |
| # 0.1.8 (May 13, 2020) | |
| ### Added | |
| - Support for using `#[instrument]` on methods that are part of [`async-trait`] | |
| trait implementations (#711) | |
| - Optional `#[instrument(err)]` argument to automatically emit an event if an | |
| instrumented function returns `Err` (#637) | |
| Thanks to @ilana and @nightmared for contributing to this release! | |
| [`async-trait`]: https://crates.io/crates/async-trait | |
| # 0.1.7 (February 26, 2020) | |
| ### Added | |
| - Support for adding arbitrary literal fields to spans generated by | |
| `#[instrument]` (#569) | |
| - `#[instrument]` now emits a helpful compiler error when attempting to skip a | |
| function parameter (#600) | |
| Thanks to @Kobzol for contributing to this release! | |
| # 0.1.6 (December 20, 2019) | |
| ### Added | |
| - Updated documentation (#468) | |
| # 0.1.5 (October 22, 2019) | |
| ### Added | |
| - Support for destructuring in arguments to `#[instrument]`ed functions (#397) | |
| - Generated field for `self` parameters when `#[instrument]`ing methods (#397) | |
| # 0.1.4 (September 26, 2019) | |
| ### Added | |
| - Optional `skip` argument to `#[instrument]` for excluding function parameters | |
| from generated spans (#359) | |
| # 0.1.3 (September 12, 2019) | |
| ### Fixed | |
| - Fixed `#[instrument]`ed async functions not compiling on `nightly-2019-09-11` | |
| or newer (#342) | |
| # 0.1.2 (August 19, 2019) | |
| ### Changed | |
| - Updated `syn` and `quote` dependencies to 1.0 (#292) | |
| - Removed direct dependency on `proc-macro2` to avoid potential version | |
| conflicts (#296) | |
| ### Fixed | |
| - Outdated idioms in examples (#271, #273) | |
| # 0.1.1 (August 9, 2019) | |
| ### Changed | |
| - Using the `#[instrument]` attribute on `async fn`s no longer requires a | |
| feature flag (#258) | |
| ### Fixed | |
| - The `#[instrument]` macro now works on generic functions (#262) | |
| # 0.1.0 (August 8, 2019) | |
| - Initial release |