1# 0.1.32 (October 13, 2023) 2 3### Documented 4 5- Fix typo in `field` docs ([#2611]) 6- Remove duplicate wording ([#2674]) 7 8### Changed 9 10- Allow `ValueSet`s of any length ([#2508]) 11 12[#2611]: https://github.com/tokio-rs/tracing/pull/2611 13[#2674]: https://github.com/tokio-rs/tracing/pull/2674 14[#2508]: https://github.com/tokio-rs/tracing/pull/2508 15 16# 0.1.31 (May 11, 2023) 17 18This release of `tracing-core` fixes a bug that caused threads which call 19`dispatcher::get_default` _before_ a global default subscriber is set to never 20see the global default once it is set. In addition, it includes improvements for 21instrumentation performance in some cases, especially when using a global 22default dispatcher. 23 24### Fixed 25 26- Fixed incorrect thread-local caching of `Dispatch::none` if 27 `dispatcher::get_default` is called before `dispatcher::set_global_default` 28 ([#2593]) 29 30### Changed 31 32- Cloning a `Dispatch` that points at a global default subscriber no longer 33 requires an `Arc` reference count increment, improving performance 34 substantially ([#2593]) 35- `dispatcher::get_default` no longer attempts to access a thread local if the 36 scoped dispatcher is not in use, improving performance when the default 37 dispatcher is global ([#2593]) 38- Added `#[inline]` annotations called by the `event!` and `span!` macros to 39 reduce the size of macro-generated code and improve recording performance 40 ([#2555]) 41 42Thanks to new contributor @ldm0 for contributing to this release! 43 44[#2593]: https://github.com/tokio-rs/tracing/pull/2593 45[#2555]: https://github.com/tokio-rs/tracing/pull/2555 46 47# 0.1.30 (October 6, 2022) 48 49This release of `tracing-core` adds a new `on_register_dispatch` method to the 50`Subscriber` trait to allow the `Subscriber` to perform initialization after 51being registered as a `Dispatch`, and a `WeakDispatch` type to allow a 52`Subscriber` to store its own `Dispatch` without creating reference count 53cycles. 54 55### Added 56 57- `Subscriber::on_register_dispatch` method ([#2269]) 58- `WeakDispatch` type and `Dispatch::downgrade()` function ([#2293]) 59 60Thanks to @jswrenn for contributing to this release! 61 62[#2269]: https://github.com/tokio-rs/tracing/pull/2269 63[#2293]: https://github.com/tokio-rs/tracing/pull/2293 64 65# 0.1.29 (July 29, 2022) 66 67This release of `tracing-core` adds `PartialEq` and `Eq` implementations for 68metadata types, and improves error messages when setting the global default 69subscriber fails. 70 71### Added 72 73- `PartialEq` and `Eq` implementations for `Metadata` ([#2229]) 74- `PartialEq` and `Eq` implementations for `FieldSet` ([#2229]) 75 76### Fixed 77 78- Fixed unhelpful `fmt::Debug` output for `dispatcher::SetGlobalDefaultError` 79 ([#2250]) 80- Fixed compilation with `-Z minimal-versions` ([#2246]) 81 82Thanks to @jswrenn and @CAD97 for contributing to this release! 83 84[#2229]: https://github.com/tokio-rs/tracing/pull/2229 85[#2246]: https://github.com/tokio-rs/tracing/pull/2246 86[#2250]: https://github.com/tokio-rs/tracing/pull/2250 87 88# 0.1.28 (June 23, 2022) 89 90This release of `tracing-core` adds new `Value` implementations, including one 91for `String`, to allow recording `&String` as a value without having to call 92`as_str()` or similar, and for 128-bit integers (`i128` and `u128`). In 93addition, it adds new methods and trait implementations for `Subscriber`s. 94 95### Added 96 97- `Value` implementation for `String` ([#2164]) 98- `Value` implementation for `u128` and `i28` ([#2166]) 99- `downcast_ref` and `is` methods for `dyn Subscriber + Sync`, 100 `dyn Subscriber + Send`, and `dyn Subscriber + Send + Sync` ([#2160]) 101- `Subscriber::event_enabled` method to enable filtering based on `Event` field 102 values ([#2008]) 103- `Subscriber` implementation for `Box<S: Subscriber + ?Sized>` and 104 `Arc<S: Subscriber + ?Sized>` ([#2161]) 105 106Thanks to @jswrenn and @CAD97 for contributing to this release! 107 108[#2164]: https://github.com/tokio-rs/tracing/pull/2164 109[#2166]: https://github.com/tokio-rs/tracing/pull/2166 110[#2160]: https://github.com/tokio-rs/tracing/pull/2160 111[#2008]: https://github.com/tokio-rs/tracing/pull/2008 112[#2161]: https://github.com/tokio-rs/tracing/pull/2161 113 114# 0.1.27 (June 7, 2022) 115 116This release of `tracing-core` introduces a new `DefaultCallsite` type, which 117can be used by instrumentation crates rather than implementing their own 118callsite types. Using `DefaultCallsite` may offer reduced overhead from callsite 119registration. 120 121### Added 122 123- `DefaultCallsite`, a pre-written `Callsite` implementation for use in 124 instrumentation crates ([#2083]) 125- `ValueSet::len` and `Record::len` methods returning the number of fields in a 126 `ValueSet` or `Record` ([#2152]) 127 128### Changed 129 130- Replaced `lazy_static` dependency with `once_cell` ([#2147]) 131 132### Documented 133 134- Added documentation to the `callsite` module ([#2088], [#2149]) 135 136Thanks to new contributors @jamesmunns and @james7132 for contributing to this 137release! 138 139[#2083]: https://github.com/tokio-rs/tracing/pull/2083 140[#2152]: https://github.com/tokio-rs/tracing/pull/2152 141[#2147]: https://github.com/tokio-rs/tracing/pull/2147 142[#2088]: https://github.com/tokio-rs/tracing/pull/2088 143[#2149]: https://github.com/tokio-rs/tracing/pull/2149 144 145# 0.1.26 (April 14, 2022) 146 147This release adds a `Value` implementation for `Box<T: Value>` to allow 148recording boxed values more conveniently. In particular, this should improve 149the ergonomics of the implementations for `dyn std::error::Error` trait objects, 150including those added in [v0.1.25]. 151 152### Added 153 154- `Value` implementation for `Box<T> where T: Value` ([#2071]) 155 156### Fixed 157 158- Broken documentation links ([#2068]) 159 160Thanks to new contributor @ben0x539 for contributing to this release! 161 162 163[v0.1.25]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.25 164[#2071]: https://github.com/tokio-rs/tracing/pull/2071 165[#2068]: https://github.com/tokio-rs/tracing/pull/2068 166 167# 0.1.25 (April 12, 2022) 168 169This release adds additional `Value` implementations for `std::error::Error` 170trait objects with auto trait bounds (`Send` and `Sync`), as Rust will not 171auto-coerce trait objects. Additionally, it fixes a bug when setting scoped 172dispatchers that was introduced in the previous release ([v0.1.24]). 173 174### Added 175 176- `Value` implementations for `dyn Error + Send + 'static`, `dyn Error + Send + 177 Sync + 'static`, `dyn Error + Sync + 'static` ([#2066]) 178 179### Fixed 180 181- Failure to use the global default dispatcher if a thread has set a scoped 182 default prior to setting the global default, and unset the scoped default 183 after setting the global default ([#2065]) 184 185Thanks to @lilyball for contributing to this release! 186 187[v0.1.24]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.24 188[#2066]: https://github.com/tokio-rs/tracing/pull/2066 189[#2065]: https://github.com/tokio-rs/tracing/pull/2065 190 191# 0.1.24 (April 1, 2022) 192 193This release fixes a bug where setting `NoSubscriber` as the local default would 194not disable the global default subscriber locally. 195 196### Fixed 197 198- Setting `NoSubscriber` as the local default now correctly disables the global 199 default subscriber ([#2001]) 200- Fixed compilation warnings with the "std" feature disabled ([#2022]) 201 202### Changed 203 204- Removed unnecessary use of `write!` and `format_args!` macros ([#1988]) 205 206[#1988]: https://github.com/tokio-rs/tracing/pull/1988 207[#2001]: https://github.com/tokio-rs/tracing/pull/2001 208[#2022]: https://github.com/tokio-rs/tracing/pull/2022 209 210# 0.1.23 (March 8, 2022) 211 212### Changed 213 214- Removed `#[inline]` attributes from some `Dispatch` methods whose 215 callers are now inlined ([#1974]) 216- Bumped minimum supported Rust version (MSRV) to Rust 1.49.0 ([#1913]) 217 218[#1913]: https://github.com/tokio-rs/tracing/pull/1913 219[#1974]: https://github.com/tokio-rs/tracing/pull/1974 220 221# 0.1.22 (February 3, 2022) 222 223This release adds *experimental* support for recording structured field values 224using the [`valuable`] crate. See [this blog post][post] for details on 225`valuable`. 226 227Note that `valuable` support currently requires `--cfg tracing_unstable`. See 228the documentation for details. 229 230### Added 231 232- **field**: Experimental support for recording field values using the 233 [`valuable`] crate ([#1608], [#1888], [#1887]) 234- **field**: Added `ValueSet::record` method ([#1823]) 235- **subscriber**: `Default` impl for `NoSubscriber` ([#1785]) 236- **metadata**: New `Kind::HINT` to support the `enabled!` macro in `tracing` 237 ([#1883], [#1891]) 238### Fixed 239 240- Fixed a number of documentation issues ([#1665], [#1692], [#1737]) 241 242Thanks to @xd009642, @Skepfyr, @guswynn, @Folyd, and @mbergkvist for 243contributing to this release! 244 245[`valuable`]: https://crates.io/crates/valuable 246[post]: https://tokio.rs/blog/2021-05-valuable 247[#1608]: https://github.com/tokio-rs/tracing/pull/1608 248[#1888]: https://github.com/tokio-rs/tracing/pull/1888 249[#1887]: https://github.com/tokio-rs/tracing/pull/1887 250[#1823]: https://github.com/tokio-rs/tracing/pull/1823 251[#1785]: https://github.com/tokio-rs/tracing/pull/1785 252[#1883]: https://github.com/tokio-rs/tracing/pull/1883 253[#1891]: https://github.com/tokio-rs/tracing/pull/1891 254[#1665]: https://github.com/tokio-rs/tracing/pull/1665 255[#1692]: https://github.com/tokio-rs/tracing/pull/1692 256[#1737]: https://github.com/tokio-rs/tracing/pull/1737 257 258# 0.1.21 (October 1, 2021) 259 260This release adds support for recording `Option<T> where T: Value` as typed 261`tracing` field values. 262 263### Added 264 265- **field**: `Value` impl for `Option<T> where T: Value` ([#1585]) 266 267### Fixed 268 269- Fixed deprecation warnings when building with `default-features` disabled 270 ([#1603], [#1606]) 271- Documentation fixes and improvements ([#1595], [#1601]) 272 273Thanks to @brianburgers, @DCjanus, and @matklad for contributing to this 274release! 275 276[#1585]: https://github.com/tokio-rs/tracing/pull/1585 277[#1595]: https://github.com/tokio-rs/tracing/pull/1595 278[#1601]: https://github.com/tokio-rs/tracing/pull/1601 279[#1603]: https://github.com/tokio-rs/tracing/pull/1603 280[#1606]: https://github.com/tokio-rs/tracing/pull/1606 281 282# 0.1.20 (September 12, 2021) 283 284This release adds support for `f64` as one of the `tracing-core` 285primitive field values, allowing floating-point values to be recorded as 286typed values rather than with `fmt::Debug`. Additionally, it adds 287`NoSubscriber`, a `Subscriber` implementation that does nothing. 288 289### Added 290 291- **subscriber**: `NoSubscriber`, a no-op `Subscriber` implementation 292 ([#1549]) 293- **field**: Added `Visit::record_f64` and support for recording 294 floating-point values ([#1507]) 295 296Thanks to new contributors @jsgf and @maxburke for contributing to this 297release! 298 299[#1549]: https://github.com/tokio-rs/tracing/pull/1549 300[#1507]: https://github.com/tokio-rs/tracing/pull/1507 301 302# 0.1.19 (August 17, 2021) 303### Added 304 305- `Level::as_str` ([#1413]) 306- `Hash` implementation for `Level` and `LevelFilter` ([#1456]) 307- `Value` implementation for `&mut T where T: Value` ([#1385]) 308- Multiple documentation fixes and improvements ([#1435], [#1446]) 309 310Thanks to @Folyd, @teozkr, and @dvdplm for contributing to this release! 311 312[#1413]: https://github.com/tokio-rs/tracing/pull/1413 313[#1456]: https://github.com/tokio-rs/tracing/pull/1456 314[#1385]: https://github.com/tokio-rs/tracing/pull/1385 315[#1435]: https://github.com/tokio-rs/tracing/pull/1435 316[#1446]: https://github.com/tokio-rs/tracing/pull/1446 317 318# 0.1.18 (April 30, 2021) 319 320### Added 321 322- `Subscriber` impl for `Box<dyn Subscriber + Send + Sync + 'static>` ([#1358]) 323- `Subscriber` impl for `Arc<dyn Subscriber + Send + Sync + 'static>` ([#1374]) 324- Symmetric `From` impls for existing `Into` impls on `Current` and `Option<Id>` 325 ([#1335]) 326- `Attributes::fields` accessor that returns the set of fields defined on a 327 span's `Attributes` ([#1331]) 328 329 330Thanks to @Folyd for contributing to this release! 331 332[#1358]: https://github.com/tokio-rs/tracing/pull/1358 333[#1374]: https://github.com/tokio-rs/tracing/pull/1374 334[#1335]: https://github.com/tokio-rs/tracing/pull/1335 335[#1331]: https://github.com/tokio-rs/tracing/pull/1331 336 337# 0.1.17 (September 28, 2020) 338 339### Fixed 340 341- Incorrect inlining of `Event::dispatch` and `Event::child_of`, which could 342 result in `dispatcher::get_default` being inlined at the callsite ([#994]) 343 344### Added 345 346- `Copy` implementations for `Level` and `LevelFilter` ([#992]) 347 348Thanks to new contributors @jyn514 and @TaKO8Ki for contributing to this 349release! 350 351[#994]: https://github.com/tokio-rs/tracing/pull/994 352[#992]: https://github.com/tokio-rs/tracing/pull/992 353 354# 0.1.16 (September 8, 2020) 355 356### Fixed 357 358- Added a conversion from `Option<Level>` to `LevelFilter`. This resolves a 359 previously unreported regression where `Option<Level>` was no longer 360 a valid LevelFilter. ([#966](https://github.com/tokio-rs/tracing/pull/966)) 361 362# 0.1.15 (August 22, 2020) 363 364### Fixed 365 366- When combining `Interest` from multiple subscribers, if the interests differ, 367 the current subscriber is now always asked if a callsite should be enabled 368 (#927) 369 370## Added 371 372- Internal API changes to support optimizations in the `tracing` crate (#943) 373- **docs**: Multiple fixes and improvements (#913, #941) 374 375# 0.1.14 (August 10, 2020) 376 377### Fixed 378 379- Incorrect calculation of global max level filter which could result in fast 380 filtering paths not being taken (#908) 381 382# 0.1.13 (August 4, 2020) 383 384### Fixed 385 386- Missing `fmt::Display` impl for `field::DisplayValue` causing a compilation 387 failure when the "log" feature is enabled (#887) 388 389Thanks to @d-e-s-o for contributing to this release! 390 391# 0.1.12 (July 31, 2020) 392 393### Added 394 395- `LevelFilter` type and `LevelFilter::current()` for returning the highest level 396 that any subscriber will enable (#853) 397- `Subscriber::max_level_hint` optional trait method, for setting the value 398 returned by `LevelFilter::current()` (#853) 399 400### Fixed 401 402- **docs**: Removed outdated reference to a Tokio API that no longer exists 403 (#857) 404 405Thanks to new contributor @dignati for contributing to this release! 406 407# 0.1.11 (June 8, 2020) 408 409### Changed 410 411- Replaced use of `inner_local_macros` with `$crate::` (#729) 412 413### Added 414 415- `must_use` warning to guards returned by `dispatcher::set_default` (#686) 416- `fmt::Debug` impl to `dyn Value`s (#696) 417- Functions to convert between `span::Id` and `NonZeroU64` (#770) 418- More obvious warnings in documentation (#769) 419 420### Fixed 421 422- Compiler error when `tracing-core/std` feature is enabled but `tracing/std` is 423 not (#760) 424- Clippy warning on vtable address comparison in `callsite::Identifier` (#749) 425- Documentation formatting issues (#715, #771) 426 427Thanks to @bkchr, @majecty, @taiki-e, @nagisa, and @nvzqz for contributing to 428this release! 429 430# 0.1.10 (January 24, 2020) 431 432### Added 433 434- `field::Empty` type for declaring empty fields whose values will be recorded 435 later (#548) 436- `field::Value` implementations for `Wrapping` and `NonZero*` numbers (#538) 437 438### Fixed 439 440- Broken and unresolvable links in RustDoc (#595) 441 442Thanks to @oli-cosmian for contributing to this release! 443 444# 0.1.9 (January 10, 2020) 445 446### Added 447 448- API docs now show what feature flags are required to enable each item (#523) 449 450### Fixed 451 452- A panic when the current default subscriber subscriber calls 453 `dispatcher::with_default` as it is being dropped (#522) 454- Incorrect documentation for `Subscriber::drop_span` (#524) 455 456# 0.1.8 (December 20, 2019) 457 458### Added 459 460- `Default` impl for `Dispatch` (#411) 461 462### Fixed 463 464- Removed duplicate `lazy_static` dependencies (#424) 465- Fixed no-std dependencies being enabled even when `std` feature flag is set 466 (#424) 467- Broken link to `Metadata` in `Event` docs (#461) 468 469# 0.1.7 (October 18, 2019) 470 471### Added 472 473- Added `dispatcher::set_default` API which returns a drop guard (#388) 474 475### Fixed 476 477- Added missing `Value` impl for `u8` (#392) 478- Broken links in docs. 479 480# 0.1.6 (September 12, 2019) 481 482### Added 483 484- Internal APIs to support performance optimizations (#326) 485 486### Fixed 487 488- Clarified wording in `field::display` documentation (#340) 489 490# 0.1.5 (August 16, 2019) 491 492### Added 493 494- `std::error::Error` as a new primitive `Value` type (#277) 495- `Event::new` and `Event::new_child_of` to manually construct `Event`s (#281) 496 497# 0.1.4 (August 9, 2019) 498 499### Added 500 501- Support for `no-std` + `liballoc` (#256) 502 503### Fixed 504 505- Broken links in RustDoc (#259) 506 507# 0.1.3 (August 8, 2019) 508 509### Added 510 511- `std::fmt::Display` implementation for `Level` (#194) 512- `std::str::FromStr` implementation for `Level` (#195) 513 514# 0.1.2 (July 10, 2019) 515 516### Deprecated 517 518- `Subscriber::drop_span` in favor of new `Subscriber::try_close` (#168) 519 520### Added 521 522- `Into<Option<&Id>>`, `Into<Option<Id>>`, and 523 `Into<Option<&'static Metadata<'static>>>` impls for `span::Current` (#170) 524- `Subscriber::try_close` method (#153) 525- Improved documentation for `dispatcher` (#171) 526 527# 0.1.1 (July 6, 2019) 528 529### Added 530 531- `Subscriber::current_span` API to return the current span (#148). 532- `span::Current` type, representing the `Subscriber`'s view of the current 533 span (#148). 534 535### Fixed 536 537- Typos and broken links in documentation (#123, #124, #128, #154) 538 539# 0.1.0 (June 27, 2019) 540 541- Initial release 542