From 9ea1ee77af8577264ddc21e9f1e009aa38437bf8 Mon Sep 17 00:00:00 2001 From: Zhongyang Wu Date: Thu, 1 Sep 2022 00:36:37 -0700 Subject: [PATCH] chore(common): bump MSRV to 1.56 (#866) * chore(common): bump MSRV to 1.56 * chore(common): bump edition to 2021 * fix(jaeger): clippy issue * fix: patch_depencencies.sh -> patch_dependencies.sh --- .github/workflows/ci.yml | 6 +++--- README.md | 4 ++-- examples/actix-http-tracing/Cargo.toml | 2 +- examples/actix-http/Cargo.toml | 2 +- examples/actix-hyper/Cargo.toml | 2 +- examples/actix-udp/Cargo.toml | 2 +- examples/async/Cargo.toml | 2 +- examples/aws-xray/Cargo.toml | 2 +- examples/basic-otlp-http/Cargo.toml | 2 +- examples/basic-otlp/Cargo.toml | 2 +- examples/basic/Cargo.toml | 2 +- examples/datadog/Cargo.toml | 2 +- examples/dynatrace/Cargo.toml | 2 +- examples/external-otlp-grpcio-async-std/Cargo.toml | 2 +- examples/external-otlp-tonic-tokio/Cargo.toml | 2 +- examples/grpc/Cargo.toml | 2 +- examples/http/Cargo.toml | 2 +- examples/hyper-prometheus/Cargo.toml | 2 +- examples/jaeger-remote-sampler/Cargo.toml | 2 +- examples/multiple-span-processors/Cargo.toml | 2 +- examples/tracing-grpc/Cargo.toml | 2 +- examples/zipkin/Cargo.toml | 2 +- examples/zpages/Cargo.toml | 2 +- opentelemetry-api/Cargo.toml | 5 +++-- opentelemetry-api/README.md | 2 +- opentelemetry-api/src/lib.rs | 4 ++-- opentelemetry-aws/Cargo.toml | 3 ++- opentelemetry-contrib/Cargo.toml | 3 ++- opentelemetry-datadog/Cargo.toml | 5 +++-- opentelemetry-dynatrace/Cargo.toml | 3 ++- opentelemetry-http/Cargo.toml | 3 ++- opentelemetry-http/README.md | 4 ++-- opentelemetry-jaeger/Cargo.toml | 5 +++-- opentelemetry-jaeger/README.md | 2 +- .../src/exporter/config/collector/http_client.rs | 1 - opentelemetry-jaeger/src/lib.rs | 6 +++--- opentelemetry-otlp/Cargo.toml | 3 ++- opentelemetry-prometheus/Cargo.toml | 3 ++- opentelemetry-proto/Cargo.toml | 3 ++- opentelemetry-sdk/Cargo.toml | 5 +++-- opentelemetry-sdk/README.md | 2 +- opentelemetry-semantic-conventions/Cargo.toml | 3 ++- opentelemetry-stackdriver/Cargo.toml | 2 +- opentelemetry-zipkin/Cargo.toml | 3 ++- opentelemetry-zipkin/README.md | 6 +++--- opentelemetry-zipkin/src/lib.rs | 4 ++-- opentelemetry-zpages/Cargo.toml | 3 ++- opentelemetry/Cargo.toml | 3 ++- opentelemetry/README.md | 4 ++-- opentelemetry/src/lib.rs | 4 ++-- rustfmt.toml | 2 +- scripts/patch_dependencies.sh | 6 ++++++ 52 files changed, 87 insertions(+), 67 deletions(-) create mode 100755 scripts/patch_dependencies.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 10cd130829..588f5cd542 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,10 +68,10 @@ jobs: - uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: 1.49 + toolchain: 1.56 override: true - - name: Prepare minimal package versions - run: cargo update -p serde --precise 1.0.142 + - name: Patch dependencies versions # some dependencies bump MSRV without major version bump + run: ./scripts/patch_dependencies.sh - name: Run tests run: cargo --version && cargo test --verbose --manifest-path=opentelemetry/Cargo.toml --features trace,metrics,rt-tokio,testing && diff --git a/README.md b/README.md index 5868e85757..2bdd58d371 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ analysis in order to understand your software's performance and behavior. You can export and analyze them using [Prometheus], [Jaeger], and other observability tools. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [Prometheus]: https://prometheus.io [Jaeger]: https://www.jaegertracing.io @@ -137,7 +137,7 @@ above, please let us know! We'd love to add your project to the list! ## Supported Rust Versions OpenTelemetry is built against the latest stable release. The minimum supported -version is 1.49. The current OpenTelemetry version is not guaranteed to build +version is 1.56. The current OpenTelemetry version is not guaranteed to build on Rust versions earlier than the minimum supported version. The current stable Rust compiler and the three most recent minor versions diff --git a/examples/actix-http-tracing/Cargo.toml b/examples/actix-http-tracing/Cargo.toml index 7ea1314568..22f1064af3 100644 --- a/examples/actix-http-tracing/Cargo.toml +++ b/examples/actix-http-tracing/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "actix-http-tracing" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/actix-http/Cargo.toml b/examples/actix-http/Cargo.toml index 8f36683f13..ef2e45f7a6 100644 --- a/examples/actix-http/Cargo.toml +++ b/examples/actix-http/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "actix-http-example" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/actix-hyper/Cargo.toml b/examples/actix-hyper/Cargo.toml index f988de44ed..d218658f65 100644 --- a/examples/actix-hyper/Cargo.toml +++ b/examples/actix-hyper/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "actix-hyper-example" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/actix-udp/Cargo.toml b/examples/actix-udp/Cargo.toml index a80fb405e4..832f795d9d 100644 --- a/examples/actix-udp/Cargo.toml +++ b/examples/actix-udp/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "actix-udp-example" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/async/Cargo.toml b/examples/async/Cargo.toml index d472d38b1d..5662b3adc8 100644 --- a/examples/async/Cargo.toml +++ b/examples/async/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "async" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/aws-xray/Cargo.toml b/examples/aws-xray/Cargo.toml index 529b196734..65d06acfb9 100644 --- a/examples/aws-xray/Cargo.toml +++ b/examples/aws-xray/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aws-xray" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/basic-otlp-http/Cargo.toml b/examples/basic-otlp-http/Cargo.toml index c0b616b12f..e8f6a2d354 100644 --- a/examples/basic-otlp-http/Cargo.toml +++ b/examples/basic-otlp-http/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "basic-otlp-http" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/basic-otlp/Cargo.toml b/examples/basic-otlp/Cargo.toml index 218f04872f..03cd9f4c3b 100644 --- a/examples/basic-otlp/Cargo.toml +++ b/examples/basic-otlp/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "basic-otlp" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/basic/Cargo.toml b/examples/basic/Cargo.toml index 48063294fc..0ab51091bf 100644 --- a/examples/basic/Cargo.toml +++ b/examples/basic/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "basic" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/datadog/Cargo.toml b/examples/datadog/Cargo.toml index 67c879c8bb..2491a871f2 100644 --- a/examples/datadog/Cargo.toml +++ b/examples/datadog/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "datadog" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/dynatrace/Cargo.toml b/examples/dynatrace/Cargo.toml index 90d47d32aa..6ecc129ddc 100644 --- a/examples/dynatrace/Cargo.toml +++ b/examples/dynatrace/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dynatrace" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/external-otlp-grpcio-async-std/Cargo.toml b/examples/external-otlp-grpcio-async-std/Cargo.toml index 3b70e775e6..f7a42c6c37 100644 --- a/examples/external-otlp-grpcio-async-std/Cargo.toml +++ b/examples/external-otlp-grpcio-async-std/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "external-otlp-grpcio-async-std" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/external-otlp-tonic-tokio/Cargo.toml b/examples/external-otlp-tonic-tokio/Cargo.toml index f99a2bf989..d2e9b9f94c 100644 --- a/examples/external-otlp-tonic-tokio/Cargo.toml +++ b/examples/external-otlp-tonic-tokio/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "external-otlp-tonic-tokio" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/grpc/Cargo.toml b/examples/grpc/Cargo.toml index 5eb6de7389..cd6b3182c8 100644 --- a/examples/grpc/Cargo.toml +++ b/examples/grpc/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "grpc" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [[bin]] # Bin to run the gRPC server diff --git a/examples/http/Cargo.toml b/examples/http/Cargo.toml index c4ef7d7deb..c471048d5f 100644 --- a/examples/http/Cargo.toml +++ b/examples/http/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "http" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [[bin]] # Bin to run the http server diff --git a/examples/hyper-prometheus/Cargo.toml b/examples/hyper-prometheus/Cargo.toml index 091d3b7abd..43de2676d1 100644 --- a/examples/hyper-prometheus/Cargo.toml +++ b/examples/hyper-prometheus/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "hyper-prometheus" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/examples/jaeger-remote-sampler/Cargo.toml b/examples/jaeger-remote-sampler/Cargo.toml index 9141fa08dd..dd251c076d 100644 --- a/examples/jaeger-remote-sampler/Cargo.toml +++ b/examples/jaeger-remote-sampler/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "jaeger-remote-sampler" version = "0.1.0" -edition = "2018" +edition = "2021" [dependencies] opentelemetry-sdk = { path = "../../opentelemetry-sdk", features = ["rt-tokio", "jaeger_remote_sampler"] } diff --git a/examples/multiple-span-processors/Cargo.toml b/examples/multiple-span-processors/Cargo.toml index b97f037f43..33121453dc 100644 --- a/examples/multiple-span-processors/Cargo.toml +++ b/examples/multiple-span-processors/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "multiple-span-processors" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/tracing-grpc/Cargo.toml b/examples/tracing-grpc/Cargo.toml index 56179d9f02..6bbdca3f65 100644 --- a/examples/tracing-grpc/Cargo.toml +++ b/examples/tracing-grpc/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tracing-grpc" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [[bin]] # Bin to run the gRPC server diff --git a/examples/zipkin/Cargo.toml b/examples/zipkin/Cargo.toml index f52a5c1794..ce7a73b4af 100644 --- a/examples/zipkin/Cargo.toml +++ b/examples/zipkin/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zipkin" version = "0.1.0" -edition = "2018" +edition = "2021" publish = false [dependencies] diff --git a/examples/zpages/Cargo.toml b/examples/zpages/Cargo.toml index b761888ded..bb6f825a67 100644 --- a/examples/zpages/Cargo.toml +++ b/examples/zpages/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zpages" version = "0.1.0" -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/opentelemetry-api/Cargo.toml b/opentelemetry-api/Cargo.toml index bf26664ae9..e9c3341e1a 100644 --- a/opentelemetry-api/Cargo.toml +++ b/opentelemetry-api/Cargo.toml @@ -2,13 +2,14 @@ name = "opentelemetry-api" version = "0.1.0" license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [dependencies] fnv = { version = "1.0", optional = true } futures-channel = "0.3" futures-util = { version = "0.3", default-features = false, features = ["std", "sink"] } -indexmap = "=1.8" +indexmap = "1.8" once_cell = "1.12.0" pin-project-lite = { version = "0.2", optional = true } thiserror = "1" diff --git a/opentelemetry-api/README.md b/opentelemetry-api/README.md index 0172d5e82e..9f61eb6bf7 100644 --- a/opentelemetry-api/README.md +++ b/opentelemetry-api/README.md @@ -25,7 +25,7 @@ analysis in order to understand your software's performance and behavior. You can export and analyze them using [Prometheus], [Jaeger], and other observability tools. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [Prometheus]: https://prometheus.io [Jaeger]: https://www.jaegertracing.io diff --git a/opentelemetry-api/src/lib.rs b/opentelemetry-api/src/lib.rs index 9d2a56ce0b..1fed6ee0ab 100644 --- a/opentelemetry-api/src/lib.rs +++ b/opentelemetry-api/src/lib.rs @@ -2,7 +2,7 @@ //! services to capture distributed traces and metrics from your application. You //! can analyze them using [Prometheus], [Jaeger], and other observability tools. //! -//! *Compiler support: [requires `rustc` 1.49+][msrv]* +//! *Compiler support: [requires `rustc` 1.56+][msrv]* //! //! [Prometheus]: https://prometheus.io //! [Jaeger]: https://www.jaegertracing.io @@ -11,7 +11,7 @@ //! ## Supported Rust Versions //! //! OpenTelemetry is built against the latest stable release. The minimum -//! supported version is 1.49. The current OpenTelemetry version is not +//! supported version is 1.56. The current OpenTelemetry version is not //! guaranteed to build on Rust versions earlier than the minimum supported //! version. //! diff --git a/opentelemetry-aws/Cargo.toml b/opentelemetry-aws/Cargo.toml index 2ce135f239..b2e9d52ca0 100644 --- a/opentelemetry-aws/Cargo.toml +++ b/opentelemetry-aws/Cargo.toml @@ -11,7 +11,8 @@ categories = [ ] keywords = ["opentelemetry", "tracing"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry-contrib/Cargo.toml b/opentelemetry-contrib/Cargo.toml index 879c20a30c..8db30a29ee 100644 --- a/opentelemetry-contrib/Cargo.toml +++ b/opentelemetry-contrib/Cargo.toml @@ -11,7 +11,8 @@ categories = [ ] keywords = ["opentelemetry", "tracing"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry-datadog/Cargo.toml b/opentelemetry-datadog/Cargo.toml index 1c600b8c89..a7f6151e89 100644 --- a/opentelemetry-datadog/Cargo.toml +++ b/opentelemetry-datadog/Cargo.toml @@ -11,7 +11,8 @@ categories = [ ] keywords = ["opentelemetry", "tracing"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true @@ -24,7 +25,7 @@ surf-client = ["surf", "opentelemetry-http/surf"] [dependencies] async-trait = "0.1" -indexmap = "=1.8" +indexmap = "1.8" once_cell = "1.12" opentelemetry = { version = "0.17", path = "../opentelemetry", features = ["trace"] } opentelemetry-http = { version = "0.6", path = "../opentelemetry-http" } diff --git a/opentelemetry-dynatrace/Cargo.toml b/opentelemetry-dynatrace/Cargo.toml index 4a7c9cb307..85e139dac0 100644 --- a/opentelemetry-dynatrace/Cargo.toml +++ b/opentelemetry-dynatrace/Cargo.toml @@ -12,7 +12,8 @@ categories = [ ] keywords = ["opentelemetry", "metrics", "dynatrace"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry-http/Cargo.toml b/opentelemetry-http/Cargo.toml index 980185c75a..223f7ea86c 100644 --- a/opentelemetry-http/Cargo.toml +++ b/opentelemetry-http/Cargo.toml @@ -6,7 +6,8 @@ homepage = "https://github.com/open-telemetry/opentelemetry-rust" repository = "https://github.com/open-telemetry/opentelemetry-rust" keywords = ["opentelemetry", "tracing", "metrics"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [dependencies] async-trait = "0.1" diff --git a/opentelemetry-http/README.md b/opentelemetry-http/README.md index 7dffb8e4d1..cdfcf36461 100644 --- a/opentelemetry-http/README.md +++ b/opentelemetry-http/README.md @@ -21,7 +21,7 @@ analysis in order to understand your software's performance and behavior. This crate provides a HTTP client interface for use by trace exporters, as well as helper types to inject and extract key value pairs into/from HTTP headers. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [`OpenTelemetry`]: https://crates.io/crates/opentelemetry [msrv]: #supported-rust-versions @@ -29,7 +29,7 @@ helper types to inject and extract key value pairs into/from HTTP headers. ## Supported Rust Versions OpenTelemetry is built against the latest stable release. The minimum supported -version is 1.49. The current OpenTelemetry version is not guaranteed to build +version is 1.56. The current OpenTelemetry version is not guaranteed to build on Rust versions earlier than the minimum supported version. The current stable Rust compiler and the three most recent minor versions diff --git a/opentelemetry-jaeger/Cargo.toml b/opentelemetry-jaeger/Cargo.toml index cb40455579..db1152e228 100644 --- a/opentelemetry-jaeger/Cargo.toml +++ b/opentelemetry-jaeger/Cargo.toml @@ -12,14 +12,15 @@ categories = [ ] keywords = ["opentelemetry", "jaeger", "tracing", "async"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] -async-std = { version = "= 1.10.0", optional = true } +async-std = { version = "1.10.0", optional = true } async-trait = "0.1" base64 = { version = "0.13", optional = true } futures = "0.3" diff --git a/opentelemetry-jaeger/README.md b/opentelemetry-jaeger/README.md index 1a9804a936..885443ad08 100644 --- a/opentelemetry-jaeger/README.md +++ b/opentelemetry-jaeger/README.md @@ -23,7 +23,7 @@ analysis in order to understand your software's performance and behavior. This crate provides a trace pipeline and exporter for sending span information to a Jaeger `agent` or `collector` endpoint for processing and visualization. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [`Jaeger`]: https://www.jaegertracing.io/ [`OpenTelemetry`]: https://crates.io/crates/opentelemetry diff --git a/opentelemetry-jaeger/src/exporter/config/collector/http_client.rs b/opentelemetry-jaeger/src/exporter/config/collector/http_client.rs index 06560e2bf5..c796d57ca6 100644 --- a/opentelemetry-jaeger/src/exporter/config/collector/http_client.rs +++ b/opentelemetry-jaeger/src/exporter/config/collector/http_client.rs @@ -59,7 +59,6 @@ impl CollectorHttpClient { } #[cfg(feature = "surf_collector_client")] CollectorHttpClient::Surf => { - use std::convert::TryInto; use opentelemetry_http::surf::BasicAuthMiddleware; let client: surf::Client = surf::Config::new() diff --git a/opentelemetry-jaeger/src/lib.rs b/opentelemetry-jaeger/src/lib.rs index 7aeb16dfb6..3aff071eb7 100644 --- a/opentelemetry-jaeger/src/lib.rs +++ b/opentelemetry-jaeger/src/lib.rs @@ -3,7 +3,7 @@ //! //! See the [Jaeger Docs] for details about Jaeger and deployment information. //! -//! *Compiler support: [requires `rustc` 1.49+][msrv]* +//! *Compiler support: [requires `rustc` 1.56+][msrv]* //! //! [Jaeger Docs]: https://www.jaegertracing.io/docs/ //! [msrv]: #supported-rust-versions @@ -280,13 +280,13 @@ //! # Supported Rust Versions //! //! OpenTelemetry is built against the latest stable release. The minimum -//! supported version is 1.49. The current OpenTelemetry version is not +//! supported version is 1.56. The current OpenTelemetry version is not //! guaranteed to build on Rust versions earlier than the minimum supported //! version. //! //! The current stable Rust compiler and the three most recent minor versions //! before it will always be supported. For example, if the current stable -//! compiler version is 1.49, the minimum supported version will not be +//! compiler version is 1.56, the minimum supported version will not be //! increased past 1.46, three minor versions prior. Increasing the minimum //! supported compiler version is not considered a semver breaking change as //! long as doing so complies with this policy. diff --git a/opentelemetry-otlp/Cargo.toml b/opentelemetry-otlp/Cargo.toml index a4c2d580ff..b7d095d91a 100644 --- a/opentelemetry-otlp/Cargo.toml +++ b/opentelemetry-otlp/Cargo.toml @@ -12,7 +12,8 @@ categories = [ ] keywords = ["opentelemetry", "otlp", "logging", "tracing", "metrics"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" autotests = false [lib] diff --git a/opentelemetry-prometheus/Cargo.toml b/opentelemetry-prometheus/Cargo.toml index 2c0201bed1..80f56e92f4 100644 --- a/opentelemetry-prometheus/Cargo.toml +++ b/opentelemetry-prometheus/Cargo.toml @@ -12,7 +12,8 @@ categories = [ ] keywords = ["opentelemetry", "prometheus", "metrics", "async"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry-proto/Cargo.toml b/opentelemetry-proto/Cargo.toml index 5ab488c600..2ac992326d 100644 --- a/opentelemetry-proto/Cargo.toml +++ b/opentelemetry-proto/Cargo.toml @@ -13,8 +13,9 @@ categories = [ ] keywords = ["opentelemetry", "otlp", "logging", "tracing", "metrics"] license = "Apache-2.0" -edition = "2018" +edition = "2021" build = "build.rs" +rust-version = "1.56" autotests = false [lib] diff --git a/opentelemetry-sdk/Cargo.toml b/opentelemetry-sdk/Cargo.toml index df79389dde..3cb5528655 100644 --- a/opentelemetry-sdk/Cargo.toml +++ b/opentelemetry-sdk/Cargo.toml @@ -2,7 +2,8 @@ name = "opentelemetry-sdk" version = "0.1.0" license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [dependencies] opentelemetry-api = { version = "0.1", path = "../opentelemetry-api" } @@ -10,7 +11,7 @@ opentelemetry-http = { version = "0.6.0", path = "../opentelemetry-http", option async-std = { version = "1.6", features = ["unstable"], optional = true } async-trait = { version = "0.1", optional = true } crossbeam-channel = { version = "0.5", optional = true } -dashmap = { version = "=5.1.0", optional = true } +dashmap = { version = "5.1.0", optional = true } fnv = { version = "1.0", optional = true } futures-channel = "0.3" futures-executor = "0.3" diff --git a/opentelemetry-sdk/README.md b/opentelemetry-sdk/README.md index bd1145433a..8cb9fb4ac4 100644 --- a/opentelemetry-sdk/README.md +++ b/opentelemetry-sdk/README.md @@ -25,7 +25,7 @@ analysis in order to understand your software's performance and behavior. You can export and analyze them using [Prometheus], [Jaeger], and other observability tools. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [Prometheus]: https://prometheus.io [Jaeger]: https://www.jaegertracing.io diff --git a/opentelemetry-semantic-conventions/Cargo.toml b/opentelemetry-semantic-conventions/Cargo.toml index 25c4cf8088..0dfa7cf9bb 100644 --- a/opentelemetry-semantic-conventions/Cargo.toml +++ b/opentelemetry-semantic-conventions/Cargo.toml @@ -12,7 +12,8 @@ categories = [ ] keywords = ["opentelemetry", "tracing", "async"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry-stackdriver/Cargo.toml b/opentelemetry-stackdriver/Cargo.toml index fafed2f78f..c064847b09 100644 --- a/opentelemetry-stackdriver/Cargo.toml +++ b/opentelemetry-stackdriver/Cargo.toml @@ -5,7 +5,7 @@ description = "A Rust opentelemetry exporter that uploads traces to Google Stack documentation = "https://docs.rs/opentelemetry-stackdriver/" repository = "https://github.com/open-telemetry/opentelemetry-rust" license = "Apache-2.0" -edition = "2018" +edition = "2021" exclude = ["/proto"] [dependencies] diff --git a/opentelemetry-zipkin/Cargo.toml b/opentelemetry-zipkin/Cargo.toml index bb29fdc18e..8d27af0546 100644 --- a/opentelemetry-zipkin/Cargo.toml +++ b/opentelemetry-zipkin/Cargo.toml @@ -12,7 +12,8 @@ categories = [ ] keywords = ["opentelemetry", "zipkin", "tracing", "async"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry-zipkin/README.md b/opentelemetry-zipkin/README.md index e34561647d..52e2c63641 100644 --- a/opentelemetry-zipkin/README.md +++ b/opentelemetry-zipkin/README.md @@ -23,7 +23,7 @@ analysis in order to understand your software's performance and behavior. This crate provides a trace pipeline and exporter for sending span information to a Zipkin collector for processing and visualization. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [`Zipkin`]: https://zipkin.io/ [`OpenTelemetry`]: https://crates.io/crates/opentelemetry @@ -107,12 +107,12 @@ available so be sure to match them appropriately. ## Supported Rust Versions OpenTelemetry is built against the latest stable release. The minimum supported -version is 1.49. The current OpenTelemetry version is not guaranteed to build on +version is 1.56. The current OpenTelemetry version is not guaranteed to build on Rust versions earlier than the minimum supported version. The current stable Rust compiler and the three most recent minor versions before it will always be supported. For example, if the current stable compiler version -is 1.49, the minimum supported version will not be increased past 1.46, three +is 1.56, the minimum supported version will not be increased past 1.46, three minor versions prior. Increasing the minimum supported compiler version is not considered a semver breaking change as long as doing so complies with this policy. diff --git a/opentelemetry-zipkin/src/lib.rs b/opentelemetry-zipkin/src/lib.rs index 9c08842ce9..848321a8c6 100644 --- a/opentelemetry-zipkin/src/lib.rs +++ b/opentelemetry-zipkin/src/lib.rs @@ -3,7 +3,7 @@ //! Collects OpenTelemetry spans and reports them to a given Zipkin collector //! endpoint. See the [Zipkin Docs] for details and deployment information. //! -//! *Compiler support: [requires `rustc` 1.49+][msrv]* +//! *Compiler support: [requires `rustc` 1.56+][msrv]* //! //! [Zipkin Docs]: https://zipkin.io/ //! [msrv]: #supported-rust-versions @@ -167,7 +167,7 @@ //! ## Supported Rust Versions //! //! OpenTelemetry is built against the latest stable release. The minimum -//! supported version is 1.49. The current OpenTelemetry version is not +//! supported version is 1.56. The current OpenTelemetry version is not //! guaranteed to build on Rust versions earlier than the minimum supported //! version. //! diff --git a/opentelemetry-zpages/Cargo.toml b/opentelemetry-zpages/Cargo.toml index 54f4de7ffb..7da5713fd6 100644 --- a/opentelemetry-zpages/Cargo.toml +++ b/opentelemetry-zpages/Cargo.toml @@ -12,7 +12,8 @@ categories = [ ] keywords = ["opentelemetry", "zipkin", "tracing", "async"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry/Cargo.toml b/opentelemetry/Cargo.toml index 2351658079..a94f5df59d 100644 --- a/opentelemetry/Cargo.toml +++ b/opentelemetry/Cargo.toml @@ -13,7 +13,8 @@ categories = [ ] keywords = ["opentelemetry", "logging", "tracing", "metrics", "async"] license = "Apache-2.0" -edition = "2018" +edition = "2021" +rust-version = "1.56" [package.metadata.docs.rs] all-features = true diff --git a/opentelemetry/README.md b/opentelemetry/README.md index c48c897edb..5a21f27e4b 100644 --- a/opentelemetry/README.md +++ b/opentelemetry/README.md @@ -25,7 +25,7 @@ analysis in order to understand your software's performance and behavior. You can export and analyze them using [Prometheus], [Jaeger], and other observability tools. -*Compiler support: [requires `rustc` 1.49+][msrv]* +*Compiler support: [requires `rustc` 1.56+][msrv]* [Prometheus]: https://prometheus.io [Jaeger]: https://www.jaegertracing.io @@ -130,7 +130,7 @@ above, please let us know! We'd love to add your project to the list! ## Supported Rust Versions OpenTelemetry is built against the latest stable release. The minimum supported -version is 1.49. The current OpenTelemetry version is not guaranteed to build +version is 1.56. The current OpenTelemetry version is not guaranteed to build on Rust versions earlier than the minimum supported version. The current stable Rust compiler and the three most recent minor versions diff --git a/opentelemetry/src/lib.rs b/opentelemetry/src/lib.rs index 16ff531f47..9ae7dfdafd 100644 --- a/opentelemetry/src/lib.rs +++ b/opentelemetry/src/lib.rs @@ -2,7 +2,7 @@ //! services to capture distributed traces and metrics from your application. You //! can analyze them using [Prometheus], [Jaeger], and other observability tools. //! -//! *Compiler support: [requires `rustc` 1.49+][msrv]* +//! *Compiler support: [requires `rustc` 1.56+][msrv]* //! //! [Prometheus]: https://prometheus.io //! [Jaeger]: https://www.jaegertracing.io @@ -192,7 +192,7 @@ //! ## Supported Rust Versions //! //! OpenTelemetry is built against the latest stable release. The minimum -//! supported version is 1.49. The current OpenTelemetry version is not +//! supported version is 1.56. The current OpenTelemetry version is not //! guaranteed to build on Rust versions earlier than the minimum supported //! version. //! diff --git a/rustfmt.toml b/rustfmt.toml index 32a9786fa1..3a26366d4d 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1 +1 @@ -edition = "2018" +edition = "2021" diff --git a/scripts/patch_dependencies.sh b/scripts/patch_dependencies.sh new file mode 100755 index 0000000000..b13f2efacb --- /dev/null +++ b/scripts/patch_dependencies.sh @@ -0,0 +1,6 @@ +# Dashmap 5.3.4 requires 1.59 +latest_version=$(cargo search --limit 1 dashmap | head -1 | cut -d'"' -f2) && +cargo update -p dashmap:$latest_version --precise 5.1.0 && +# We have time 0.1 and 0.3 +latest_version=$(cargo search --limit 1 time | head -1 | cut -d'"' -f2) && +cargo update -p time:$latest_version --precise 0.3.9