From 3052fed6a2da4585c4595e7a4b716ecd5b304c5e Mon Sep 17 00:00:00 2001 From: Maksym Ochenashko Date: Sat, 7 Feb 2026 20:18:30 +0200 Subject: [PATCH] Deprecate Jaeger and OT trace propagators --- .../ContextPropagatorsAutoConfigure.scala | 1 + .../context/propagation/JaegerPropagator.scala | 14 ++++++++++++++ .../context/propagation/OtTracePropagator.scala | 14 ++++++++++++++ .../propagation/JaegerPropagatorSuite.scala | 1 + .../propagation/OtTracePropagatorSuite.scala | 1 + 5 files changed, 31 insertions(+) diff --git a/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/autoconfigure/ContextPropagatorsAutoConfigure.scala b/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/autoconfigure/ContextPropagatorsAutoConfigure.scala index 75a6a553..69fddf3d 100644 --- a/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/autoconfigure/ContextPropagatorsAutoConfigure.scala +++ b/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/autoconfigure/ContextPropagatorsAutoConfigure.scala @@ -54,6 +54,7 @@ private final class ContextPropagatorsAutoConfigure[F[_]: MonadCancelThrow]( import ContextPropagatorsAutoConfigure.Const import ContextPropagatorsAutoConfigure.Default + @annotation.nowarn("cat=deprecation") private val configurers = { val default: Set[AutoConfigure.Named[F, TextMapPropagator[Context]]] = Set( AutoConfigure.Named.const("none", TextMapPropagator.noop), diff --git a/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagator.scala b/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagator.scala index e7edd566..d40457ed 100644 --- a/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagator.scala +++ b/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagator.scala @@ -38,6 +38,11 @@ import scala.util.control.NonFatal * * @see * [[https://www.jaegertracing.io/docs/client-libraries/#propagation-format]] + * + * @deprecated + * the Jaeger trace propagation format is deprecated in the OpenTelemetry specification (see + * [[https://github.com/open-telemetry/opentelemetry-specification/pull/4827]]). Please use + * [[W3CTraceContextPropagator]] instead. */ private final class JaegerPropagator extends TextMapPropagator[Context] { import JaegerPropagator.Const @@ -204,7 +209,16 @@ object JaegerPropagator { } /** Returns an instance of the JaegerPropagator. + * + * @deprecated + * the Jaeger trace propagation format is deprecated in the OpenTelemetry specification (see + * [[https://github.com/open-telemetry/opentelemetry-specification/pull/4827]]). Please use + * [[W3CTraceContextPropagator]] instead. */ + @deprecated( + "The Jaeger trace propagation format is deprecated in the OpenTelemetry specification. Please use W3CTraceContextPropagator instead.", + "0.16.1" + ) def default: TextMapPropagator[Context] = Default } diff --git a/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagator.scala b/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagator.scala index 851f633b..12cd6c62 100644 --- a/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagator.scala +++ b/sdk/trace/src/main/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagator.scala @@ -29,6 +29,11 @@ import org.typelevel.otel4s.trace.TraceFlags import org.typelevel.otel4s.trace.TraceState import scodec.bits.ByteVector +/** @deprecated + * the OT trace propagation format is deprecated in the OpenTelemetry specification (see + * [[https://github.com/open-telemetry/opentelemetry-specification/pull/4851]]). Please use + * [[W3CTraceContextPropagator]] instead. + */ private final class OtTracePropagator extends TextMapPropagator[Context] { import OtTracePropagator.Headers @@ -145,6 +150,15 @@ object OtTracePropagator { } /** Returns an instance of the OtTracePropagator. + * + * @deprecated + * the OT trace propagation format is deprecated in the OpenTelemetry specification (see + * [[https://github.com/open-telemetry/opentelemetry-specification/pull/4851]]). Please use + * [[W3CTraceContextPropagator]] instead. */ + @deprecated( + "The OT trace propagation format is deprecated in the OpenTelemetry specification. Please use W3CTraceContextPropagator instead.", + "0.16.1" + ) def default: TextMapPropagator[Context] = Default } diff --git a/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagatorSuite.scala b/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagatorSuite.scala index 05743c49..745af1ac 100644 --- a/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagatorSuite.scala +++ b/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/JaegerPropagatorSuite.scala @@ -29,6 +29,7 @@ import java.net.URLEncoder class JaegerPropagatorSuite extends ScalaCheckSuite { + @annotation.nowarn("cat=deprecation") private val propagator = JaegerPropagator.default // diff --git a/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagatorSuite.scala b/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagatorSuite.scala index 74ff8046..e7cbeaa4 100644 --- a/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagatorSuite.scala +++ b/sdk/trace/src/test/scala/org/typelevel/otel4s/sdk/trace/context/propagation/OtTracePropagatorSuite.scala @@ -30,6 +30,7 @@ import scodec.bits.ByteVector class OtTracePropagatorSuite extends ScalaCheckSuite { + @annotation.nowarn("cat=deprecation") private val propagator = OtTracePropagator.default test("fields") {