From 5b1528a45c81c20e8f2742feb5b2829c5c16cae6 Mon Sep 17 00:00:00 2001 From: Luca Muscat Date: Mon, 15 Sep 2025 16:14:38 +0200 Subject: [PATCH 1/2] fix: Add `std` feature to serde to fix linting issues With a recent breaking update in serde (PR #2976), the `Deserialize` derive attribute now requires `std` support in order to compile due to some internal logic inside of serde now being moved behind a feature gate. --- opentelemetry-proto/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentelemetry-proto/Cargo.toml b/opentelemetry-proto/Cargo.toml index eed20c1906..5c29c7d548 100644 --- a/opentelemetry-proto/Cargo.toml +++ b/opentelemetry-proto/Cargo.toml @@ -58,7 +58,7 @@ prost = { workspace = true, optional = true } opentelemetry = { workspace = true } opentelemetry_sdk = { workspace = true } schemars = { workspace = true, optional = true } -serde = { workspace = true, optional = true, features = ["serde_derive"] } +serde = { workspace = true, optional = true, features = ["serde_derive", "std"] } serde_json = { workspace = true, optional = true } const-hex = { workspace = true, optional = true } base64 = { workspace = true, optional = true } From 3e9c6bb1aa3a717a4e7edeb428fd54e6bb1afca8 Mon Sep 17 00:00:00 2001 From: Luca Muscat Date: Mon, 15 Sep 2025 17:08:42 +0200 Subject: [PATCH 2/2] fix: Add `serde_core::{de, ser}::{Deserialize, Serialize}` to `allowed-external-types.toml` following the recent breaking changes introduced in serde --- opentelemetry-otlp/allowed-external-types.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/opentelemetry-otlp/allowed-external-types.toml b/opentelemetry-otlp/allowed-external-types.toml index 7995873ee8..435221a5cb 100644 --- a/opentelemetry-otlp/allowed-external-types.toml +++ b/opentelemetry-otlp/allowed-external-types.toml @@ -8,6 +8,9 @@ allowed_external_types = [ # serde "serde::de::Deserialize", "serde::ser::Serialize", + ## serde: Required for serde version 1.0.222 or greater. + "serde_core::de::Deserialize", + "serde_core::ser::Serialize", # tonic is a pre 1.0 crate "tonic::metadata::map::MetadataMap", "tonic::transport::channel::tls::ClientTlsConfig",