Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.139.0
End User Changelog
🛑 Breaking changes 🛑
-
cmd/mdatagen: Make stability.level a required field for metrics (#14070) -
cmd/mdatagen: Replaceoptionalfield withrequirement_levelfield for attributes in metadata schema (#13913)
Theoptionalboolean field for attributes has been replaced with arequirement_levelfield that accepts enum values:required,conditionally_required,recommended, oropt_in.required: attribute is always included and cannot be excludedconditionally_required: attribute is included by default when certain conditions are met (replacesoptional: true)recommended: attribute is included by default but can be disabled via configuration (replacesoptional: false)opt_in: attribute is not included unless explicitly enabled in user config
Whenrequirement_levelis not specified, it defaults torecommended.
-
pdata/pprofile: Remove deprecatedPutAttributehelper method (#14082) -
pdata/pprofile: Remove deprecatedPutLocationhelper method (#14082)
💡 Enhancements 💡
all: Add FIPS and non-FIPS implementations for allowed TLS curves (#13990)cmd/builder: Set CGO_ENABLED=0 by default, add thecgo_enabledconfiguration to enable it. (#10028)pkg/config/configgrpc: Errors of type status.Status returned from an Authenticator extension are being propagated as is to the upstream client. (#14005)pkg/config/configoptional: Adds newconfigoptional.AddEnabledFieldfeature gate that allows users to explicitly disable aconfigoptional.Optionalthrough a newenabledfield. (#14021)pkg/exporterhelper: Replace usage of gogo proto for persistent queue metadata (#14079)pkg/pdata: Remove usage of gogo proto and generate the structs with pdatagen (#14078)
🧰 Bug fixes 🧰
exporter/debug: add queue configuration (#14101)
API Changelog
🛑 Breaking changes 🛑
-
all: Change type ofconfiggrpc.ClientConfig.Headers,confighttp.ClientConfig.Headers, andconfighttp.ServerConfig.ResponseHeaders(#13930)
configopaque.MapListis a new alternative tomap[string]configopaque.Stringwhich can unmarshal
both maps and lists of name/value pairs.For example, if
headersis a field of typeconfigopaque.MapList,
then the following YAML configs will unmarshal to the same thing:headers: "foo": "bar" headers: - name: "foo" value: "bar"
-
pdata/pprofile: UpdateSetFunctionto return the function's ID rather than update the Line (#14016, #14032) -
pdata/pprofile: UpdateSetLinkto return the link's ID rather than update the Sample (#14016, #14031) -
pdata/pprofile: UpdateSetMappingto return the mapping's ID rather than update the Location (#14016, #14030) -
pkg/otelcol: Require a telemetry factory to be injected through otelcol.Factories (#4970)
otelcol.Factories now has a required Telemetry field,
which contains the telemetry factory to be used by the service.
Set it to otelconftelemetry.NewFactory() for the existing behavior. -
pkg/pdata: Remove unused generated code from pprofile (#14073)
Experimental package, ok to break since not used.
💡 Enhancements 💡
pdata/pprofile: IntroduceSetStackmethod (#14007)pdata/xpdata: Add high-level Entity API for managing entities attached to resources (#14042)
IntroducesEntity,EntitySlice, andEntityAttributeMaptypes that provide a user-friendly interface
for working with resource entities. The new API ensures consistency between entity and resource attributes
by sharing the underlying attribute map, and prevents attribute conflicts between entities. This API may
eventually replace the generated protobuf-based API for better usability.
🧰 Bug fixes 🧰
cmd/mdatagen: Fix mdatagen generated_metrics for connectors (#12402)