1552 Commits

Author SHA1 Message Date
Gabriel Goller
20f5b3d8ba
appender: Add fallback to file creation date (#3000)
When using the linux-musl target for rust, the file creation time
cannot be retrieved, as the current version does not support it yet (
This will be fixed with [0]). In the meantime, we parse the datetime
from the filename and use that as a fallback.

Fixes: #2999

[0]: https://github.com/rust-lang/rust/pull/125692
2025-08-30 13:13:06 +00:00
Gabriel Goller
c036318aa3
appender: Prune old files at startup (#2966)
The prune_old_logs function only gets called when we rollover the
appender. The problem is that at startup we create an initial log file
without rolling over, if e.g., the executable then exits before rolling
over for the first time, we never call prune_old_logs.

E.g.: If we have a tracing-appender that rolls over every minute and we
have a max_files parameter of 2. Running the program (which prints a
single log line and exits) every minute, will result in a new log file
everytime without deleting the old ones.

Fixes: #2937

Co-authored-by: Nick Fagerlund <nick@hashicorp.com>
2025-08-30 14:48:13 +02:00
Carl Lerche
4c52ca5266
fmt: fix ANSI escape sequence injection vulnerability (#3368)
Fixes a security vulnerability where ANSI escape sequences in user input
could be injected into terminal output, potentially allowing attackers to
manipulate terminal behavior through log messages and error displays.

The vulnerability occurred when user-controlled content was formatted using
Display (`{}`) instead of Debug (`{:?}`) formatting, allowing raw ANSI
sequences to pass through unescaped.

Changes:
- Add streaming ANSI escape wrapper to avoid string allocations
- Escape message content in default and pretty formatters
- Escape error Display content in all error formatting paths
- Add comprehensive integration tests for all formatter types

The fix specifically targets untrusted user input while preserving the
ability for applications to deliberately include formatting in trusted
contexts like thread names.

Security impact: Prevents terminal injection attacks such as title bar
manipulation, screen clearing, and other malicious terminal control
sequences that could be injected through log messages.
tracing-subscriber-0.3.20
2025-08-29 19:08:48 +00:00
Olivia Lee
f71cebe41e
subscriber: impl Clone for EnvFilter (#3360)
This is useful when using `EnvFilter` for multiple identical per-layer
filters, as well as with clap and similar libraries that have `Clone`
bounds.

We generally expect users to be cloning an `EnvFilter` before attaching it
to a subscriber, rather than cloning `EnvFilters` that are already
attached. Because of this, we reset all the accumulated dynamic state
when cloning. This means that some spans and callsites might be missed
when an already-attached `EnvFilter` is cloned, but the presence of the
dynamic state mean that detaching and attaching `EnvFilter`s to existing
subscribers (e.g. with `reload`) already doesn't work very well. This
isn't a new class of problem.

There was a previous implementation of this in #2398, that shared the
dynamic state between all cloned filters behind an `Arc`. I chose
not do go for that approach because it causes inconsistencies if the
cloned filters are attached to different subscribers.

Fixes: #2360
2025-08-15 11:39:17 +02:00
Jonas Platte
3a1f571102
Fix CI (#3361)
* Implement PartialOrd for MatchPattern, MatchDebug in terms of Ord
* Fix missing link to supported regex syntax
* Update expected trybuild output
* Fix tracing_subscriber::Layer links
2025-08-15 14:40:42 +09:00
Hayden Stainsby
e63ef57f3d
chore: prepare tracing-attributes 0.1.30 (#3316)
# 0.1.30 (June 17, 2025)

### Fixed

- Fix `tracing::instrument` regression around shadowing ([#3311])

[#3311]: https://github.com/tokio-rs/tracing/pull/3311
tracing-attributes-0.1.30
2025-06-17 17:25:57 +02:00
Jonas Platte
6e59a13b1a
attributes: fix tracing::instrument regression around shadowing (#3311)
The change to allow the `dead_code` lint to work on the
`#[instrument]` attribute (#3108) introduced a shadowing
problem which caused compilation failure in certain cases,
as reported in #3306.

The body of the original function was not given its own scope
and `use` statements made there could leak out into the
code inserted by the `#[instrument]`.

This change fixes this problem by explicitly re-introducing the
parenthesis to give the original function body its own scope.

Closes #3306
2025-06-13 12:05:56 +02:00
Hayden Stainsby
e4df761275
tracing: update core to 0.1.34 and attributes to 0.1.29 (#3305)
Updates the main `tracing` crate with the newly released versions of
`tracing-core` and `tracing-attributes`.
2025-06-06 13:54:55 +02:00
Hayden Stainsby
643f392ebb
chore: prepare tracing-attributes 0.1.29 (#3304)
# 0.1.29 (June 6, 2025)

### Changed

- Bump MSRV to 1.65 ([#3033])

### Fixed

- Let `dead_code` lint work on `#[instrument]`ed functions ([#3108])
- Globally qualify attribute paths ([#3126])

[#3033]: https://github.com/tokio-rs/tracing/pull/3033
[#3108]: https://github.com/tokio-rs/tracing/pull/3108
[#3126]: https://github.com/tokio-rs/tracing/pull/3126
tracing-attributes-0.1.29
2025-06-06 12:30:22 +02:00
Hayden Stainsby
d08e7a6eea
chore: prepare tracing-core 0.1.34 (#3302)
# 0.1.34 (June 6, 2025)

### Changed

- Bump MSRV to 1.65 ([#3033])

### Fixed

- Do not compare references to pointers to compare pointers ([#3236])

[#3033]: https://github.com/tokio-rs/tracing/pull/3033
[#3236]: https://github.com/tokio-rs/tracing/pull/3236
tracing-core-0.1.34
2025-06-06 12:02:35 +02:00
David Mládek
6e70c571d3 tracing-subscriber: count numbers of enters in Timings (#2944) 2025-06-06 11:03:43 +02:00
Hayden Stainsby
c01d4fd9de
fix docs and enable CI on main branch (#3295)
## Motivation

The new `main` branch is forked from the `v0.1.x` branch. It will be
made the default branch and going forward we will merge PRs to this
branch first (and then forward port to a new `v0.2.x` branch forked from
`master`).

It looks like Netlify jobs weren't running on the `v0.1.x` branch, and so
there were quite a few errors in the docs on that branch (which isn't great
because those are the ones that get published to docs.rs).

## Solution

Separate to this PR, we've enabled Netlify on the `main` branch, and this
change fixes all the errors that were present in the docs.

This change sets the GitHub actions to run on the `main` branch instead
of `v0.1.x`. It also adds some text in the root README.md which
describes the branch set-up.

Refs: #3294
2025-06-05 10:15:18 +02:00
Mododo
cdc32121ba
tracing: fix "name / parent" variant of event! (#2983)
## Motivation

In the case of an event with a name and a parent, the change in #2083
to use a free function instead of a method for `is_enabled` was not
applied. This particular variant was also not covered by any tests,
which is how this error slipped through CI.

## Solution

This change fixes the `is_enabled` call and adds additional test
coverage for this macros case.

Co-authored-by: Hayden Stainsby <hds@caffeineconcepts.com>
2025-06-03 11:04:27 +02:00
Nick Caplinger
656a7c909f appender: introduce weekly rotation (#3218)
## Motivation

While configuring tracing-appender, I wanted to specify a weekly log
rotation interval. I was unable to do so, as the largest rotation
interval was daily.

## Solution

Before my introduction of weekly log rotation, rounding the current
`OffsetDateTime` was straightforward: we could simply keep the current
date and truncate part or all of the time component. However, we cannot
simply truncate the time with weekly rotation; the date must now be
modified.

To round the date, we roll logs at 00:00 UTC on Sunday. This gives us
consistent date-times that only change weekly.
2025-06-03 09:47:35 +02:00
Samuel Tardieu
c46c613adb fix: Do not compare references to pointers to compare pointers (#3236)
`self` and `other` are references, and the `ptr::eq()` call intends to
determine if they designate the same object. Putting them behind another
level of reference will always return `false`, as those short-lived
references will be compared instead.
2025-06-03 09:47:35 +02:00
Rebecca Turner
09b70e265c Let dead_code lint work on #[instrument]ed functions (#3108)
Closes #1366
2025-06-03 09:47:35 +02:00
Hayden Stainsby
92fa6ce273 chore: fix doc issues (#3292)
There are a few warnings when building the docs causing failures on CI.

This change fixes those and adds `unsound_local_offset` as an unexpeced cfg.
2025-06-03 09:47:35 +02:00
Heath Stewart
4deba4aaea attributes: Globally qualify attribute paths (#3126)
Avoid ambiguities with any user-defined `tracing` modules by globally qualifying types used in the attribute-generated code e.g., `::tracing::Level`.
2025-06-03 09:47:35 +02:00
Chris Denton
2931b6f426 Update nu-ansi-term to 0.50 (#3049) 2025-06-03 09:47:35 +02:00
Paolo Barbolini
5775eae813 chore: Bump thiserror to v2 (#3172) 2025-06-03 09:47:35 +02:00
Gabriel Goller
94046ffbba Fix typos in subscriber docs (#2831) 2025-06-03 09:47:35 +02:00
Marios
e616f30a45 Fix typo in README.md (#3062) 2025-06-03 09:47:35 +02:00
Daniel Müller
87b2884b4a subscriber: enable TestWriter to write to stderr (#3187)
It can be useful to have a TestWriter that does not log to stdout but
stderr instead. For example, that allows for potentially easier
filtering of tracing output (because the remaining output of, say, cargo
test goes to stdout) or to mirror behavior of env_logger, which by
default logs to stderr.
Introduce the TestWriter::with_stderr() constructor to enable such
usage. The default is left unchanged.

Co-authored-by: David Barsky <me@davidbarsky.com>
2025-06-03 09:47:35 +02:00
Oscar Gustafsson
b3aa9de4c5 subscriber: update matchers to 0.2 (#3033)
Update the version of the `matchers` crate to 0.2. This requires also
adding a direct dependency on `regex-automata` to enable the `std`
feature.
2025-06-03 09:47:35 +02:00
Josh McKinney
d40552ca69 examples: add env-filter-explorer example (#3233)
This example demonstrates how to use the `tracing-subscriber` crate's
`EnvFilter` type to filter log messages based on their metadata. The
example provides a text area where users can input an environment filter
string, and displays the log messages that would be captured by that
filter.
2025-06-03 09:47:35 +02:00
David Tolnay
6f1ac9d791 macros: Remove 'r#' prefix from raw identifiers in field names (#3130)
* macros: Add test involving raw identifier

* macros: Remove 'r#' prefix from raw identifiers in field names
2025-06-03 09:47:35 +02:00
Dirkjan Ochtman
cffdc830d6 subscriber: use state machine to parse EnvFilter directives (#3243)
There is a report in #3174 that even in release mode, building the regex
used to parse `EnvFilter` directives can take a relatively large amount
of time (600us).

This change replaces the `regex` based parsing of the directives with a
state machine implementation that is faster and also easier to reason
about.

Fixes: #3174
2025-06-03 09:47:35 +02:00
Hayden Stainsby
ba1a0e0611 subscriber: increase EnvFilter test coverage (#3262) 2025-06-03 09:47:35 +02:00
Matilda Smeds
0a5dc8e950 tracing: add record_all! macro for recording multiple values in one call (#3227)
## Motivation

Currently, Span.record_all() is part of the public API and accepts
ValueSet as a parameter. However, constructing a ValueSet is both
verbose and undocumented, making it not so practical.

## Solution

To make recording multiple values easier, we introduce a new macro:
record_all!, which wraps the Span.record_all() function.
As we don't intend anyone to call Span.record_all() directly, we hide
it from the documentation. We reference the new macro from Span.record()
doc comment instead.

The new record_all! macro supports optional formatting sigils % and ?,
ensuring a consistent DevEx with the other value-recording macros.

Co-authored-by: Hayden Stainsby <hds@caffeineconcepts.com>
2025-06-03 09:47:35 +02:00
George Pollard
37caa910ac subscriber: skip padding when skipping log.* fields in DefaultVisitor (#2980)
## Motivation

The current behaviour of `DefaultVisitor` is that it will write
padding even if it is going to skip writing a value, which results
in extraneous padding being added when values are skipped
by the `tracing-log` integration.

## Solution

With this change, `DefaultVisitor` will only insert padding if it is
actually going to write a value.

Closes: #2979
2025-06-03 09:47:35 +02:00
porkbrain
1128f59b91 docs: add link to a stream recording by @jonhoo (#3106)
@jonhoo recorded a great resource about the crate's inner
workings and included practical suggestions about patterns
to follow when annotating one's code.

I added the link to the YouTube video under the "Talks" header
as that seemed appropriate enough.
2025-06-03 09:47:35 +02:00
ilsubyeega
d3fdb5224b chore: corrected typos in the example readme (#2718)
## Motivation

I was checking the example from `/examples/` and saw that
some of the module names were incorrect in README, so I
fixed them.

## Solution

Changed the incorrect name to the correct name.
2025-06-03 09:47:35 +02:00
Rustin
3c07b083a6 chore: remove outdated release instructions (#3154)
The outdated release instructions have been removed.

Follow up of #2384.

Signed-off-by: Rustin170506 <tech@rustin.me>
2025-06-03 09:47:35 +02:00
John Vandenberg
4ada2bd794 fix: Update incorrect tracing-futures feature docs (#2802)
Co-authored-by: David Barsky <me@davidbarsky.com>
Co-authored-by: Hayden Stainsby <hds@caffeineconcepts.com>
2025-06-03 09:47:35 +02:00
Gabriel Goller
841965bede Update README.md docs link (#3145)
Fixes:  #3140

Co-authored-by: Hayden Stainsby <hds@caffeineconcepts.com>
2025-06-03 09:47:35 +02:00
Hayden Stainsby
f006df25b4 chore: fix Rust 1.86.0 lints (#3253)
There was a single case of the new
[`clippy::double_ended_iterator_last`] lint which was triggered in
`tracing-attributes` and needed to be fixed.

There were also a number of cases of incorrectly indented lines, caught
in [`clippy::doc_overindented_list_items`].

[`clippy::double_ended_iterator_last`]: https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last
[`clippy::doc_overindented_list_items`]: https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
2025-06-03 09:47:35 +02:00
Hayden Stainsby
f341d53190 chore: fix Rust 1.85.0 lints and errors (#3240)
We had some broken link formatting in the `tracing-journald` docs which
clippy picked up (the text looked like a link definition, but wasn't
meant to be).

The incorrect links have now been corrected. They have to link to the
`tracing-core` crate because `tracing-journald` doesn't depend on
`tracing` directly.

Fixes for a broken link in the `tracing-subscriber` main page and
correcting the link to `Collect` from `tracing-log` (which also doesn't
depend on `tracing` directly) were also included.
2025-06-03 09:47:35 +02:00
Hayden Stainsby
bfca5460e1
subscriber: update tracing-core to v0.1.33 (#3201)
The change #2954 was released in 0.3.19 (#3162).

Notably, it relied on features from tracing-core 0.1.33, however, the
version was never bumped. Users of the `tracing` feature of
`tracing-subscriber` would have no issue since it pulls in the higher
version transitively.

The specific feature used was implementing trait method `record_bytes`
from the `field::Visit` trait on `JsonVisitor` from the
tracing-subscriber json format module. (see linked #2945, or [ `impl
field::Visit for
JsonVisitor<'_>`](https://github.com/tokio-rs/tracing/blame/master/tracing-subscriber/src/fmt/format/json.rs#L491))

I believe this dependency mismatch requires users to manually select the
higher tracing-core version or suffer compilation failure.

This probably reflects some failure in how the tests utilize features
and intra-workspace dependencies, but, a resolution for that is beyond
my current comprehension of the project.
2025-01-27 11:10:22 -05:00
Hayden Stainsby
6240c95518 chore: fix Rust 1.84.0 lints and errors (#3202)
There was only a single case of the new `needless_as_bytes` lint which
was triggered and needed to be fixed.

There was also a "UI" test in `tracing-attributes` that needed to be
updated because the error text has changed (it gives more details of
course).
2025-01-24 18:58:17 +01:00
Hayden Stainsby
44b9493cf4
chore: prepare tracing-mock 0.1.0-beta.1 (#3167)
# 0.1.0-beta.1 (November 29, 2024)

[ [crates.io][crate-0.1.0-beta.1] ] | [ [docs.rs][docs-0.1.0-beta.1] ]

`tracing-mock` provides tools for making assertions about what `tracing`
diagnostics are emitted by code under test.

- Initial beta release

[docs-0.1.0-beta.1]: https://docs.rs/tracing-mock/0.1.0-beta.1
[crate-0.1.0-beta.1]: https://crates.io/crates/tracing-mock/0.1.0-beta.1
tracing-mock-0.1.0-beta.1
2024-11-29 18:14:06 +01:00
Hayden Stainsby
3a792eb426
chore: prepare tracing-journald 0.3.1 (#3166)
# 0.3.1 (November 29, 2024)

[ [crates.io][crate-0.3.1] ] | [ [docs.rs][docs-0.3.1] ]

### Changed

- disable default features of tracing-subscriber ([#1476])
- allow custom journal fields ([#2708])
- Bump MSRV to 1.63 ([#2793])
- make level mappings configurable ([#2824])

[#1476]: https://github.com/tokio-rs/tracing/pull/1476
[#2708]: https://github.com/tokio-rs/tracing/pull/2708
[#2793]: https://github.com/tokio-rs/tracing/pull/2793
[#2824]: https://github.com/tokio-rs/tracing/pull/2824
[docs-0.3.1]: https://docs.rs/tracing-journald/0.3.1
[crate-0.3.1]: https://crates.io/crates/tracing-journald/0.3.1
tracing-journald-0.3.1
2024-11-29 17:56:21 +01:00
Hayden Stainsby
11487a0003
chore: prepare tracing-error 0.2.1 (#3163)
# 0.2.1 (November 29, 2024)

[ [crates.io][crate-0.2.1] ] | [ [docs.rs][docs-0.2.1] ]

### Changed

- Bump MSRV to 1.63 ([#2793])

### Documented

- Use intra-doc links instead of relative file paths ([#2068])
- More intra-doc links ([#2077])
- Add missing backtick to `prelude` docs ([#2120])

[#2068]: https://github.com/tokio-rs/tracing/pull/2068
[#2077]: https://github.com/tokio-rs/tracing/pull/2077
[#2120]: https://github.com/tokio-rs/tracing/pull/2120
[#2793]: https://github.com/tokio-rs/tracing/pull/2793
[docs-0.2.1]: https://docs.rs/tracing-error/0.2.1/tracing_error/
[crate-0.2.1]: https://crates.io/crates/tracing-error/0.2.1
tracing-error-0.2.1
2024-11-29 17:36:13 +01:00
Hayden Stainsby
311c313216
chore: prepare tracing-subscriber 0.3.19 (#3162)
# 0.3.19 (November 29, 2024)

[ [crates.io][crate-0.3.19] ] | [ [docs.rs][docs-0.3.19] ]

This release updates the `tracing` dependency to [v0.1.41][tracing-0.1.41] and
the `tracing-serde` dependency to [v0.2.0][tracing-serde-0.2.0].

### Added

- Add `set_span_events` to `fmt::Subscriber` ([#2962])
- **tracing**: Allow `&[u8]` to be recorded as event/span field ([#2954])

### Changed

- Set `log` max level when reloading ([#1270])
- Bump MSRV to 1.63 ([#2793])
- Use const `thread_local`s when possible ([#2838])
- Don't gate `with_ansi()` on the "ansi" feature ([#3020])
- Updated tracing-serde to 0.2.0 ([#3160])

[#1270]: https://github.com/tokio-rs/tracing/pull/1270
[#2793]: https://github.com/tokio-rs/tracing/pull/2793
[#2838]: https://github.com/tokio-rs/tracing/pull/2838
[#2954]: https://github.com/tokio-rs/tracing/pull/2954
[#2962]: https://github.com/tokio-rs/tracing/pull/2962
[#3020]: https://github.com/tokio-rs/tracing/pull/3020
[#3160]: https://github.com/tokio-rs/tracing/pull/3160
[tracing-0.1.41]:
    https://github.com/tokio-rs/tracing/releases/tag/tracing-0.1.41
[tracing-serde-0.2.0]:
    https://github.com/tokio-rs/tracing/releases/tag/tracing-serde-0.2.0
[docs-0.3.19]: https://docs.rs/tracing-subscriber/0.3.19/tracing_subscriber/
[crate-0.3.19]: https://crates.io/crates/tracing-subscriber/0.3.19
tracing-subscriber-0.3.19
2024-11-29 17:22:04 +01:00
Hayden Stainsby
35f360a192
chore: fix new Clippy lints in Rust 1.83.0 (#3165)
Most of these changes are places where lifetimes were named, but can be
elided. Then a few cases where a lifetime was elided, but actually
resolves to a named lifetime. So lots of lifetimes.

This is the `v0.1.x` branch sister PR to #3164 (for the `master`
branch), since `clippy --fix` on another branch is a much better way to
apply these changes than backporting.
2024-11-29 16:51:58 +01:00
Hayden Stainsby
c66a692e67
chore: prepare tracing-serde 0.2.0 (#3160)
# 0.2.0 (November 27, 2024)

[ [crates.io][crate-0.2.0] ] | [ [docs.rs][docs-0.2.0] ]

<a id = "0.2.0-breaking"></a>
### Breaking Changes

- Correct SerializeField definition and doc formatting ([#3040])
  `SerializeField` has gained a generic lifetime parameter.

### Fixed

- Implement `AsSerde` for `FieldSet` ([#2241])
- [**breaking**](#0.2.0-breaking) Correct SerializeField definition and doc formatting ([#3040])

### Changed

- Bump MSRV to 1.63 ([#2793])

[#2241]: https://github.com/tokio-rs/tracing/pull/2241
[#3040]: https://github.com/tokio-rs/tracing/pull/3040
[docs-0.2.0]: https://docs.rs/tracing-serde/0.2.0/tracing-serde/
[crate-0.2.0]: https://crates.io/crates/tracing-serde/0.2.0
tracing-serde-0.2.0
2024-11-27 22:20:48 +01:00
Hayden Stainsby
0ca7887081
chore: prepare tracing 0.1.41 (#3159)
# 0.1.41 (November 27, 2024)

[ [crates.io][crate-0.1.41] ] | [ [docs.rs][docs-0.1.41] ]

This release updates the `tracing-core` dependency to [v0.1.33][core-0.1.33] and
the `tracing-attributes` dependency to [v0.1.28][attrs-0.1.28].

### Added

- **core**: Add index API for `Field` ([#2820])
- **core**: Allow `&[u8]` to be recorded as event/span field ([#2954])

### Changed

- Bump MSRV to 1.63 ([#2793])
- **core**: Use const `thread_local`s when possible ([#2838])

### Fixed

- Removed core imports in macros ([#2762])
- **attributes**: Added missing RecordTypes for instrument ([#2781])
- **attributes**: Change order of async and unsafe modifier ([#2864])
- Fix missing field prefixes ([#2878])
- **attributes**: Extract match scrutinee ([#2880])
- Fix non-simple macro usage without message ([#2879])
- Fix event macros with constant field names in the first position ([#2883])
- Allow field path segments to be keywords ([#2925])
- **core**: Fix missed `register_callsite` error ([#2938])
- **attributes**: Support const values for `target` and `name` ([#2941])
- Prefix macro calls with ::core to avoid clashing with local macros ([#3024])

[#2762]: https://github.com/tokio-rs/tracing/pull/2762
[#2781]: https://github.com/tokio-rs/tracing/pull/2781
[#2793]: https://github.com/tokio-rs/tracing/pull/2793
[#2820]: https://github.com/tokio-rs/tracing/pull/2820
[#2838]: https://github.com/tokio-rs/tracing/pull/2838
[#2864]: https://github.com/tokio-rs/tracing/pull/2864
[#2878]: https://github.com/tokio-rs/tracing/pull/2878
[#2879]: https://github.com/tokio-rs/tracing/pull/2879
[#2880]: https://github.com/tokio-rs/tracing/pull/2880
[#2883]: https://github.com/tokio-rs/tracing/pull/2883
[#2925]: https://github.com/tokio-rs/tracing/pull/2925
[#2938]: https://github.com/tokio-rs/tracing/pull/2938
[#2941]: https://github.com/tokio-rs/tracing/pull/2941
[#2954]: https://github.com/tokio-rs/tracing/pull/2954
[#3024]: https://github.com/tokio-rs/tracing/pull/3024
[attrs-0.1.28]:
    https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.28
[core-0.1.33]:
    https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.33
[docs-0.1.41]: https://docs.rs/tracing/0.1.41/tracing/
[crate-0.1.41]: https://crates.io/crates/tracing/0.1.41
tracing-0.1.41
2024-11-27 18:05:09 +01:00
Hayden Stainsby
504a287abb
tracing: update core to v0.1.33 and attributes to v0.1.28 (#3156)
Updates the main `tracing` crate with the newly released versions of
`tracing-core` and `tracing-attributes`.
2024-11-26 23:30:00 +01:00
Hayden Stainsby
baa5489406
chore: prepare tracing-attributes 0.1.28 (#3155)
# 0.1.28 (November 26, 2024)

### Changed

- Bump MSRV to 1.63 ([#2793])

### Fixed

- Added missing RecordTypes for instrument ([#2781])
- Change order of async and unsafe modifier ([#2864])
- Extract match scrutinee ([#2880])
- Allow field path segments to be keywords ([#2925])
- Support const values for `target` and `name` ([#2941])

### Documented

- Fix backporting error in attributes ([#2780])

[#2780]: https://github.com/tokio-rs/tracing/pull/2780
[#2781]: https://github.com/tokio-rs/tracing/pull/2781
[#2793]: https://github.com/tokio-rs/tracing/pull/2793
[#2864]: https://github.com/tokio-rs/tracing/pull/2864
[#2880]: https://github.com/tokio-rs/tracing/pull/2880
[#2925]: https://github.com/tokio-rs/tracing/pull/2925
[#2941]: https://github.com/tokio-rs/tracing/pull/2941
tracing-attributes-0.1.28
2024-11-26 07:19:53 +01:00
Hayden Stainsby
cb0f0e71dd
chore: prepare tracing-core 0.1.33 (#3153)
# 0.1.33 (November 25, 2024)

### Added

- Add index API for `Field` ([#2820])
- allow `&[u8]` to be recorded as event/span field ([#2954])

### Changed

- Bump MSRV to 1.63 ([#2793])
- Use const `thread_local`s when possible ([#2838])

### Fixed

- Fix missed `register_callsite` error ([#2938])
- Do not add `valuable/std` feature as dependency unless `valuable` is used ([#3002])
- prefix macro calls with ::core to avoid clashing with local macros ([#3024])

### Documented

- Fix incorrect (incorrectly updated) docs for LevelFilter ([#2767])

Thanks to new contributor @maddiemort for contributing to this release!

[#2767]: https://github.com/tokio-rs/tracing/pull/2767
[#2793]: https://github.com/tokio-rs/tracing/pull/2793
[#2820]: https://github.com/tokio-rs/tracing/pull/2820
[#2838]: https://github.com/tokio-rs/tracing/pull/2838
[#2938]: https://github.com/tokio-rs/tracing/pull/2938
[#2954]: https://github.com/tokio-rs/tracing/pull/2954
[#3002]: https://github.com/tokio-rs/tracing/pull/3002
[#3024]: https://github.com/tokio-rs/tracing/pull/3024
tracing-core-0.1.33
2024-11-25 22:54:07 +01:00
Eric Seppanen
11c8273035
subscriber: don't gate with_ansi() on the "ansi" feature (#3020)
The commit 1cb523b87d3d removed this cfg gate on master. However, when
the change was backported in 1cb523b87d3d the docs were updated but the
cfg change was omitted.

This made the docs misleading, since they say "This method itself is
still available without the feature flag."
2024-11-25 22:43:30 +01:00