-
Notifications
You must be signed in to change notification settings - Fork 716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
subscriber: set smallvec minimum version to 1.2.0 #1890
Conversation
tracing-subscriber depends on smallvec version "1". When using minimal versions this resolves to version "1.0.0". However, tracing-subscriber does not compile with smallvec 1.0.0. Instead, the minimum working version is "1.2.0", which this change now specifies exactly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the fix!
we should probably also consider introducing some form of minimal version checking to our CI runs, to help catch issues involving minimal version selection. is that something you'd also be interested in working on?
@hawkw Thank you. Absolutely, this is something that could be checked in CI. I am not familiar with the GitHub CI and cannot look into it for now. That is why I took this manual and hopefully minimal approach. |
# 0.3.8 (Feb 4, 2022) This release adds *experimental* support for recording structured field values using the [`valuable`] crate to the `format::Json` formatter. In particular, user-defined types which are recorded using their [`valuable::Valuable`] implementations will be serialized as JSON objects, rather than using their `fmt::Debug` representation. See [this blog post][post] for details on `valuable`. Note that `valuable` support currently requires `--cfg tracing_unstable`. See the documentation for details. Additionally, this release includes a number of other smaller API improvements. ### Added - **json**: Experimental support for recording [`valuable`] values as structured JSON ([#1862], [#1901]) - **filter**: `Targets::would_enable` method for testing if a `Targets` filter would enable a given target ([#1903]) - **fmt**: `map_event_format`, `map_fmt_fields`, and `map_writer` methods to `fmt::Layer` and `fmt::SubscriberBuilder` ([#1871]) ### Changed - `tracing-core`: updated to [0.1.22][core-0.1.22] ### Fixed - Set `smallvec` minimal version to 1.2.0, to fix compilation errors with `-Z minimal-versions` ([#1890]) - Minor documentation fixes ([#1902], [#1893]) Thanks to @guswynn, @glts, and @lilyball for contributing to this release! [`valuable`]: https://crates.io/crates/valuable [`valuable::Valuable`]: https://docs.rs/valuable/latest/valuable/trait.Valuable.html [post]: https://tokio.rs/blog/2021-05-valuable [core-0.1.22]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.22 [#1862]: #1862 [#1901]: #1901 [#1903]: #1903 [#1871]: #1871 [#1890]: #1890 [#1902]: #1902 [#1893]: #1893
# 0.3.8 (Feb 4, 2022) This release adds *experimental* support for recording structured field values using the [`valuable`] crate to the `format::Json` formatter. In particular, user-defined types which are recorded using their [`valuable::Valuable`] implementations will be serialized as JSON objects, rather than using their `fmt::Debug` representation. See [this blog post][post] for details on `valuable`. Note that `valuable` support currently requires `--cfg tracing_unstable`. See the documentation for details. Additionally, this release includes a number of other smaller API improvements. ### Added - **json**: Experimental support for recording [`valuable`] values as structured JSON ([#1862], [#1901]) - **filter**: `Targets::would_enable` method for testing if a `Targets` filter would enable a given target ([#1903]) - **fmt**: `map_event_format`, `map_fmt_fields`, and `map_writer` methods to `fmt::Layer` and `fmt::SubscriberBuilder` ([#1871]) ### Changed - `tracing-core`: updated to [0.1.22][core-0.1.22] ### Fixed - Set `smallvec` minimal version to 1.2.0, to fix compilation errors with `-Z minimal-versions` ([#1890]) - Minor documentation fixes ([#1902], [#1893]) Thanks to @guswynn, @glts, and @lilyball for contributing to this release! [`valuable`]: https://crates.io/crates/valuable [`valuable::Valuable`]: https://docs.rs/valuable/latest/valuable/trait.Valuable.html [post]: https://tokio.rs/blog/2021-05-valuable [core-0.1.22]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.22 [#1862]: #1862 [#1901]: #1901 [#1903]: #1903 [#1871]: #1871 [#1890]: #1890 [#1902]: #1902 [#1893]: #1893
* Update tiny_http requirement from 0.9 to 0.12 Updates the requirements on [tiny_http](https://github.com/tiny-http/tiny-http) to permit the latest version. - [Release notes](https://github.com/tiny-http/tiny-http/releases) - [Changelog](https://github.com/tiny-http/tiny-http/blob/master/CHANGELOG.md) - [Commits](tiny-http/tiny-http@0.9.0...0.12.0) --- updated-dependencies: - dependency-name: tiny_http dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * Account for API change * Fix old build of num sneaking in to minimal versions * Bump tracing-subscriber to address tokio-rs/tracing#1890 Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stephen M. Coakley <me@stephencoakley.com>
# 0.3.8 (Feb 4, 2022) This release adds *experimental* support for recording structured field values using the [`valuable`] crate to the `format::Json` formatter. In particular, user-defined types which are recorded using their [`valuable::Valuable`] implementations will be serialized as JSON objects, rather than using their `fmt::Debug` representation. See [this blog post][post] for details on `valuable`. Note that `valuable` support currently requires `--cfg tracing_unstable`. See the documentation for details. Additionally, this release includes a number of other smaller API improvements. ### Added - **json**: Experimental support for recording [`valuable`] values as structured JSON ([tokio-rs#1862], [tokio-rs#1901]) - **filter**: `Targets::would_enable` method for testing if a `Targets` filter would enable a given target ([tokio-rs#1903]) - **fmt**: `map_event_format`, `map_fmt_fields`, and `map_writer` methods to `fmt::Layer` and `fmt::SubscriberBuilder` ([tokio-rs#1871]) ### Changed - `tracing-core`: updated to [0.1.22][core-0.1.22] ### Fixed - Set `smallvec` minimal version to 1.2.0, to fix compilation errors with `-Z minimal-versions` ([tokio-rs#1890]) - Minor documentation fixes ([tokio-rs#1902], [tokio-rs#1893]) Thanks to @guswynn, @glts, and @lilyball for contributing to this release! [`valuable`]: https://crates.io/crates/valuable [`valuable::Valuable`]: https://docs.rs/valuable/latest/valuable/trait.Valuable.html [post]: https://tokio.rs/blog/2021-05-valuable [core-0.1.22]: https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.22 [tokio-rs#1862]: tokio-rs#1862 [tokio-rs#1901]: tokio-rs#1901 [tokio-rs#1903]: tokio-rs#1903 [tokio-rs#1871]: tokio-rs#1871 [tokio-rs#1890]: tokio-rs#1890 [tokio-rs#1902]: tokio-rs#1902 [tokio-rs#1893]: tokio-rs#1893
tracing-subscriber depends on smallvec version
1
. When using minimal versions this resolves to version1.0.0
. However, tracing-subscriber does not compile with smallvec 1.0.0. Instead, the actual minimum working version is1.2.0
.You can verify this by creating an app with
cargo new
that depends on tracing-subscriber, then set the versions to the minimum versions with commandcargo +nightly update -Z minimal-versions
. The app fails to compile.Motivation
tracing-subscriber declares a dependency on smallvec version
1
, which is incorrect. The minimum version is1.2.0
(or1.2
).Because of this, some apps depending on tracing-subscriber cannot be built or tested when using minimal dependency versions.
Solution
Set smallvec dependency version to
1.2.0
.