11 KiB
11 KiB
0.1.21 (September 28, 2020)
Fixed
- Incorrect inlining of
Span::new,Span::new_root, andSpan::new_child_of, which could result indispatcher::get_defaultbeing inlined at the callsite (#994) - Regression where using a struct field as a span or event field when other fields on that struct are borrowed mutably would fail to compile (#987)
Changed
- Updated
tracing-coreto 0.1.17 (#992)
Added
Instrumenttrait andInstrumentedtype for attaching aSpanto aFuture(#808)Copyimplementations forLevelandLevelFilter(#992)- Multiple documentation fixes and improvements (#964, #980, #981)
Thanks to @nagisa, and new contributors @SecurityInsanity, @froydnj, @jyn514 and @TaKO8Ki for contributing to this release!
0.1.20 (August 24, 2020)
Changed
- Significantly reduced assembly generated by macro invocations (#943)
- Updated
tracing-coreto 0.1.15 (#943)
Added
- Documented minimum supported Rust version policy (#941)
0.1.19 (August 10, 2020)
Fixed
- Updated
tracing-coreto fix incorrect calculation of the global max level filter (#908)
Added
- attributes: Support for using
selfin field expressions when instrumentingasync-traitfunctions (#875) - Several documentation improvements (#832, #881, #896, #897, #911, #913)
Thanks to @anton-dutov, @nightmared, @mystor, and @toshokan for contributing to this release!
0.1.18 (July 31, 2020)
Fixed
- Fixed a bug where
LevelFilter::OFF(and thus also thestatic_max_level_offfeature flag) would enable all traces, rather than none (#853) - log: Fixed
tracingmacros andSpans not checkinglog::max_levelbefore emittinglogrecords (#870)
Changed
- macros: Macros now check the global max level (
LevelFilter::current) before the per-callsite cache when determining if a span or event is enabled. This significantly improves performance in some use cases (#853) - macros: Simplified the code generated by macro expansion significantly,
which may improve compile times and/or
rustcoptimizatation of surrounding code (#869, #869) - macros: Macros now check the static max level before checking any runtime
filtering, improving performance when a span or event is disabled by a
static_max_level_XXXfeature flag (#868) LevelFilteris now a re-export of thetracing_core::LevelFiltertype, it can now be used interchangeably with the versions intracing-coreandtracing-subscriber(#853)- Significant performance improvements when comparing
LevelFilters andLevels (#853) - Updated the minimum
tracing-coredependency to 0.1.12 (#853)
Added
- macros: Quoted string literals may now be used as field names, to allow fields whose names are not valid Rust identifiers (#790)
- docs: Several documentation improvements (#850, #857, #841)
LevelFilter::current()function, which returns the highest level that any subscriber will enable (#853)Subscriber::max_level_hintoptional trait method, for setting the value returned byLevelFilter::current()(#853)
Thanks to new contributors @cuviper, @ethanboxx, @ben0x539, @dignati, @colelawrence, and @rbtcollins for helping out with this release!
0.1.17 (July 22, 2020)
Changed
- log: Moved verbose span enter/exit log records to "tracing::span::active" target, allowing them to be filtered separately (#833)
- log: All span lifecycle log records without fields now have the
Tracelog filter, to guard againstlogusers enabling them by default with blanket level filtering (#833)
Fixed
- log/macros: Fixed missing implicit imports of the
tracing::field::debugandtracing::field::displayfunctions inside the macros when the "log" feature is enabled (#835)
0.1.16 (July 8, 2020)
Added
- attributes: Support for arbitrary expressions as fields in
#[instrument](#672) - attributes:
#[instrument]now emits a compiler warning when ignoring unrecognized input (#672, #786) - Improved documentation on using
tracingin async code (#769)
Changed
- Updated
tracing-coredependency to 0.1.11
Fixed
- macros: Excessive monomorphization in macros, which could lead to longer compilation times (#787)
- log: Compiler warnings in macros when
logorlog-alwaysfeatures are enabled (#753) - Compiler error when
tracing-core/stdfeature is enabled buttracing/stdis not (#760)
Thanks to @nagisa for contributing to this release!
0.1.15 (June 2, 2020)
Changed
- macros: Replaced use of legacy
local_inner_macroswith$crate::(#740)
Added
- Docs fixes and improvements (#742, #731, #730)
Thanks to @bnjjj, @blaenk, and @LukeMathWalker for contributing to this release!
0.1.14 (May 14, 2020)
Added
- log: When using the
logcompatibility feature alongside atracingSubscriber, log records for spans now include span IDs (#613) - attributes: Support for using
#[instrument]on methods that are part ofasync-traittrait implementations (#711) - attributes: Optional
#[instrument(err)]argument to automatically emit an event if an instrumented function returnsErr(#637) - Added
#[must_use]attribute to the guard returned bysubscriber::set_default(#685)
Changed
- log: Made
logrecords emitted by spans much less noisy when span IDs are not available (#613)
Fixed
- Several typos in the documentation (#656, #710, #715)
Thanks to @FintanH, @shepmaster, @inanna-malick, @zekisharif, @bkchr, @majecty, @ilana and @nightmared for contributing to this release!
0.1.13 (February 26, 2019)
Added
- field:
field::Emptytype for declaring empty fields whose values will be recorded later (#548) - field:
field::Valueimplementations forWrappingandNonZero*numbers (#538) - attributes: Support for adding arbitrary literal fields to spans generated
by
#[instrument](#569) - attributes:
#[instrument]now emits a helpful compiler error when attempting to skip a function parameter (#600)
Changed
- attributes: The
#[instrument]attribute was placed under an on-by-default feature flag "attributes" (#603)
Fixed
- Broken and unresolvable links in RustDoc (#595)
Thanks to @oli-cosmian and @Kobzol for contributing to this release!
0.1.12 (January 11, 2019)
Added
Span::with_subscribermethod to access the subscriber that tracks aSpan(#503)- API documentation now shows which features are required by feature-flagged items (#523)
- Improved README examples (#496)
- Documentation links to related crates (#507)
0.1.11 (December 20, 2019)
Added
Span::is_nonemethod (#475)LevelFilter::into_levelmethod (#470)LevelFilter::from_levelfunction andFrom<Level>impl (#471)- Documented minimum supported Rust version (#482)
Fixed
- Incorrect parameter type to
Span::follows_fromthat made it impossible to call (#467) - Missing whitespace in
logrecords generated when enabling thelogfeature flag (#484) - Typos and missing links in documentation (#405, #423, #439)
0.1.10 (October 23, 2019)
Added
- Support for destructuring in arguments to
#[instrument]ed functions (#397) - Generated field for
selfparameters when#[instrument]ing methods (#397) - Optional
skipargument to#[instrument]for excluding function parameters from generated spans (#359) - Added
dispatcher::set_defaultandsubscriber::set_defaultAPIs, which return a drop guard (#388)
Fixed
- Some minor documentation errors (#356, #370)
0.1.9 (September 13, 2019)
Fixed
- Fixed
#[instrument]ed async functions not compiling onnightly-2019-09-11or newer (#342)
Changed
- Significantly reduced performance impact of skipped spans and events when a
Subscriberis not in use (#326) - The
logfeature will now only causetracingspans and events to emit log records when aSubscriberis not in use (#346)
Added
- Added support for overriding the name of the span generated by
#[instrument](#330) log-alwaysfeature flag to emit log records even when aSubscriberis set (#346)
0.1.8 (September 3, 2019)
Changed
- Reorganized and improved API documentation (#317)
Removed
- Dev-dependencies on
ansi_termandhumantimecrates, which were used only for examples (#316)
0.1.7 (August 30, 2019)
Changed
- New (curly-brace free) event message syntax to place the message in the first field rather than the last (#309)
Fixed
- Fixed a regression causing macro stack exhaustion when the
logfeature flag is enabled (#304)
0.1.6 (August 20, 2019)
Added
std::error::Erroras a new primitive type (#277)- Support for mixing key-value fields and
format_argsmessages without curly braces as delimiters (#288)
Changed
tracing-coredependency to 0.1.5 (#294)tracing-attributesdependency to 0.1.2 (#297)
0.1.5 (August 9, 2019)
Added
- Support for
no-std+liballoc(#263)
Changed
- Using the
#[instrument]attribute onasync fns no longer requires a feature flag (#258)
Fixed
- The
#[instrument]macro now works on generic functions (#262)
0.1.4 (August 8, 2019)
Added
#[instrument]attribute for automatically adding spans to functions (#253)
0.1.3 (July 11, 2019)
Added
- Log messages when a subscriber indicates that a span has closed, when the
logfeature flag is enabled (#180).
Changed
tracing-coreminimum dependency version to 0.1.2 (#174).
Fixed
- Fixed an issue where event macro invocations with a single field, using local variable shorthand, would recur infinitely (#166).
- Fixed uses of deprecated
tracing-coreAPIs (#174).
0.1.2 (July 6, 2019)
Added
Span::none()constructor, which does not require metadata and returns a completely empty span (#147).Span::current()function, returning the current span if it is known to the subscriber (#148).
Fixed
- Broken macro imports when used prefixed with
tracing::(#152).
0.1.1 (July 3, 2019)
Changed
cfg_ifdependency to 0.1.9.
Fixed
- Compilation errors when the
logfeature is enabled (#131). - Unclear wording and typos in documentation (#124, #128, #142).
0.1.0 (June 27, 2019)
- Initial release