Skip to content
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

Merged
merged 1 commit into from
Feb 3, 2022
Merged

subscriber: set smallvec minimum version to 1.2.0 #1890

merged 1 commit into from
Feb 3, 2022

Conversation

glts
Copy link

@glts glts commented Feb 3, 2022

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 actual minimum working version is 1.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 command cargo +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 is 1.2.0 (or 1.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.

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.
@glts glts requested review from hawkw and a team as code owners February 3, 2022 08:43
Copy link
Member

@hawkw hawkw left a 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?

@glts
Copy link
Author

glts commented Feb 3, 2022

@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.

@hawkw hawkw enabled auto-merge (squash) February 3, 2022 17:41
@hawkw hawkw disabled auto-merge February 3, 2022 17:54
@hawkw hawkw merged commit 67d4547 into tokio-rs:v0.1.x Feb 3, 2022
hawkw added a commit that referenced this pull request Feb 4, 2022
# 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
hawkw added a commit that referenced this pull request Feb 4, 2022
# 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
sagebind added a commit to sagebind/isahc that referenced this pull request Oct 10, 2022
sagebind added a commit to sagebind/isahc that referenced this pull request Oct 10, 2022
* 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>
kaffarell pushed a commit to kaffarell/tracing that referenced this pull request May 22, 2024
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants