v1.1.0-beta.10
Pre-release
Pre-release
·
44 commits
to main
since this release
Fixed
W3CBaggagePropagator.extractno longer discards the incoming
context when thebaggageheader is absent (#87). It returned a
fresh context instead of the passed one, so in the spec-default
composite (tracecontext, then baggage) any request carrying
traceparentbut nobaggageheader lost its just-extracted span
context — breaking traces at every service boundary unless callers
hand-ordered extraction. Per the Propagators API spec, extract now
returns the passed context unchanged when there is nothing to extract.- OTLP endpoint schemes now determine TLS per the OTLP spec (#88).
http://endpoints connect insecure andhttps://secure;
OTEL_EXPORTER_OTLP_INSECURE(and per-signal variants) applies only
to scheme-less endpoints, and an explicit programmaticsecurestill
wins. PreviouslyOTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317
attempted TLS and failed with a HandshakeException unless the
insecure flag was also set. Resolution is shared across all three
signals viaOTelEnv.resolveOtlpSecure; metrics additionally now
honorOTEL_EXPORTER_OTLP_METRICS_INSECURE, which was parsed but
ignored.
Fixed
- OTLP/JSON enum fields are now encoded as integers per the OTLP spec,
not proto3-JSON's default enum names: spankind, statuscode, log
severityNumber, metricaggregationTemporality. Same origin story as
the 1.1.0-beta.7 hex-id fix —toProto3Json()'s defaults deviate from
the OTLP spec, lenient receivers masked it, and a strict
cross-implementation check (the Dartastic engine wire-parity harness)
caught it. Conversion is field-keyed and prefix-guarded, so attribute
string values that merely resemble enum names are never touched.
Added
- Public
MetricTransformer.transformMetricsone-shot — the metrics
analogue ofOtlpLogRecordTransformer.transformLogRecords: converts a
wholeMetricDatabatch to a ready-to-serialize OTLP
ExportMetricsServiceRequest(transformMetrics(data).writeToBuffer()),
so alternative exporters and sinks can reuse the transform instead of
re-implementing the per-metric mapping. Both bundled OTLP metric
exporters (HTTP and gRPC) now build their requests through it, removing
two hand-rolled copies of the same assembly; wire output is unchanged
(same instrumentation-scope constant, sameOTel.resource(null)
fallback, resolved by the caller so the transformer stays a pure leaf).