Skip to content

Releases: open-telemetry/opentelemetry-collector

v1.50.0/v0.144.0

20 Jan 09:41
v0.144.0
97f66a9

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.144.0

End User Changelog

🛑 Breaking changes 🛑

  • pkg/exporterhelper: Change verbosity level for otelcol_exporter_queue_batch_send_size metric to detailed. (#14278)
  • pkg/service: Remove deprecated telemetry.disableHighCardinalityMetrics feature gate. (#14373)
  • pkg/service: Remove deprecated service.noopTracerProvider feature gate. (#14374)

🚩 Deprecations 🚩

  • exporter/otlp_grpc: Rename otlp exporter to otlp_grpc exporter and add deprecated alias otlp. (#14403)
  • exporter/otlp_http: Rename otlphttp exporter to otlp_http exporter and add deprecated alias otlphttp. (#14396)

💡 Enhancements 💡

  • cmd/builder: Avoid duplicate CLI error logging in generated collector binaries by relying on cobra's error handling. (#14317)

  • cmd/mdatagen: Add the ability to disable attributes at the metric level and re-aggregate data points based off of these new dimensions (#10726)

  • cmd/mdatagen: Add optional display_name and description fields to metadata.yaml for human-readable component names (#14114)
    The display_name field allows components to specify a human-readable name in metadata.yaml.
    When provided, this name is used as the title in generated README files.
    The description field allows components to include a brief description in generated README files.

  • cmd/mdatagen: Validate stability level for entities (#14425)

  • pkg/xexporterhelper: Reenable batching for profiles (#14313)

  • receiver/nop: add profiles signal support (#14253)

🧰 Bug fixes 🧰

  • pkg/exporterhelper: Fix reference count bug in partition batcher (#14444)

API Changelog

🛑 Breaking changes 🛑

  • pkg/config/confighttp: Replace ServerConfig.Endpoint with NetAddr confignet.AddrConfig, enabling more flexible transport configuration. (#14187, #8752)
    This change adds "transport" as a configuration option, allowing users to specify
    different transport protocols (e.g., "tcp", "unix").

🚩 Deprecations 🚩

  • pkg/scraperhelper: Deprecate the AddScraper method. (#14428)

🚀 New components 🚀

  • pkg/xscraperhelper: Add xscraperhelper for the experimental OTel profiling signal. (#14235)

💡 Enhancements 💡

  • all: Add support for deprecated component type aliases (#14208)
    To add a deprecated type alias to a component factory, use the WithDeprecatedTypeAlias option.

    return xexporter.NewFactory(
        metadata.Type,
        createDefaultConfig,
        xexporter.WithTraces(createTracesExporter, metadata.TracesStability),
        xexporter.WithDeprecatedTypeAlias("old_component_name"),
    )

    When the alias is used in configuration, a deprecation warning will be automatically logged, and the component will function normally using the original implementation.

  • cmd/mdatagen: Add the ability to disable attributes at the metric level and re-aggregate data points based off of these new dimensions (#10726)

  • extension/xextension: Add deprecated type alias support for extensions via xextension module (#14208)
    Extensions can now register deprecated type aliases using the experimental xextension.WithDeprecatedTypeAlias option.

    return xextension.NewFactory(
        metadata.Type,
        createDefaultConfig,
        createExtension,
        metadata.Stability,
        xextension.WithDeprecatedTypeAlias("old_extension_name"),
    )

    When the alias is used in configuration, a deprecation warning will be automatically logged, and the extension will function normally using the original implementation.

  • pkg/consumer/consumertest: Add ProfileCount() (#14251)

  • pkg/exporterhelper: Add support for profile samples metrics (#14423)

  • pkg/receiverhelper: Add support for profile samples metrics (#14226)

  • pkg/scraperhelper: Introduce AddMetricsScraper to be more explicit than AddScraper. (#14428)

  • receiver/otlp: Add metrics tracking the number of receiver, refused and failed profile samples (#14226)

🧰 Bug fixes 🧰

  • pkg/xconnector: Add component ID type validation to all xconnector Create methods (#14357)

v1.49.0/v0.143.0

05 Jan 20:27
v0.143.0
4ce4e37

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.143.0

End User Changelog

💡 Enhancements 💡

  • all: Update semconv import to 1.38.0 (#14305)
  • exporter/nop: Add profiles support to nop exporter (#14331)
  • pkg/pdata: Optimize the size and pointer bytes for pdata structs (#14339)
  • pkg/pdata: Avoid using interfaces/oneof like style for optional fields (#14333)

API Changelog

🛑 Breaking changes 🛑

  • pkg/xprocessor: Use pointer receivers in xprocessor factory methods for consistency with other factories. (#14348)

v1.48.0/v0.142.0

15 Dec 20:48
v0.142.0
b579eb1

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.142.0

End User Changelog

💡 Enhancements 💡

  • exporter/debug: Add logging of dropped attributes, events, and links counts in detailed verbosity (#14202)

  • extension/memory_limiter: The memorylimiter extension can be used as an HTTP/GRPC middleware. (#14081)

  • pkg/config/configgrpc: Statically validate gRPC endpoint (#10451)
    This validation was already done in the OTLP exporter. It will now be applied to any gRPC client.

  • pkg/service: Add support to disabling adding resource attributes as zap fields in internal logging (#13869)
    Note that this does not affect logs exported through OTLP.

API Changelog

🛑 Breaking changes 🛑

  • pdata/xpdata: Rename Entity.IDAttributes() to Entity.IdentifyingAttributes() and Entity.DescriptionAttributes() to Entity.DescriptiveAttributes() to align with OpenTelemetry specification terminology for attributes. (#14275)
  • pkg/exporterhelper: Use configoptional.Optional for the exporterhelper.QueueBatchConfig (#14155)
    It's recommended to change the field type in your component configuration to be configoptional.Optional[exporterhelper.QueueBatchConfig] to keep the enabled subfield. Use configoptional.Some(exporterhelper.NewDefaultQueueConfig()) to enable by default. Use configoptional.Default(exporterhelper.NewDefaultQueueConfig()) to disable by default.

🚩 Deprecations 🚩

  • pkg/service: Deprecate Settings.LoggingOptions and telemetry.LoggerSettings.ZapOptions, add telemetry.LoggerSettings.BuildZapLogger (#14002)
    BuildZapLogger provides a more flexible way to build the Zap logger,
    since the function will have access to the zap.Config. This is used
    in otelcol to install a Windows Event Log output when the zap config
    does not specify any file output.

💡 Enhancements 💡

  • pdata/pprofile: add ProfileCount() (#14239)

🧰 Bug fixes 🧰

  • pkg/confmap: Ensure that embedded structs are not overwritten after Unmarshal is called (#14213)
    This allows embedding structs which implement Unmarshal and contain a configopaque.String.

v1.47.0/v0.141.0

01 Dec 13:50
v0.141.0
43396d4

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.141.0

End User Changelog

🛑 Breaking changes 🛑

  • pkg/config/confighttp: Use configoptional.Optional for confighttp.ClientConfig.Cookies field (#14021)

💡 Enhancements 💡

  • pkg/config/confighttp: Setting compression_algorithms to an empty list now disables automatic decompression, ignoring Content-Encoding (#14131)
  • pkg/service: Update semantic conventions from internal telemetry to v1.37.0 (#14232)
  • pkg/xscraper: Implement xscraper for Profiles. (#13915)

🧰 Bug fixes 🧰

  • pkg/config/configoptional: Ensure that configoptional.None values resulting from unmarshaling are equivalent to configoptional.Optional zero value. (#14218)

API Changelog

🛑 Breaking changes 🛑

  • pkg/config/configgrpc: Replace component.Host parameter of ToServer/ToClientConn by map of extensions (#13640)
    Components must now pass the map obtained from the host's GetExtensions method
    instead of the host itself.

    Nil may be used in tests where no middleware or authentication extensions are used.

  • pkg/config/confighttp: Replace component.Host parameter of ToServer/ToClient by map of extensions (#13640)
    Components must now pass the map obtained from the host's GetExtensions method
    instead of the host itself.

    Nil may be used in tests where no middleware or authentication extensions are used.

🚩 Deprecations 🚩

  • pkg/pdata: Deprecate profile.Duration() and profile.SetDuration() (#14188)

💡 Enhancements 💡

  • pdata/pprofile: Introduce MergeTo method (#14091)
  • pkg/pdata: Add profile.DurationNano() and profile.SetDurationNano() (#14188)

v1.46.0/v0.140.0

17 Nov 15:41
v0.140.0
97fdd8b

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.140.0

End User Changelog

💡 Enhancements 💡

  • cmd/mdatagen: metadata.yaml now supports an optional entities section to organize resource attributes into logical entities with identity and description attributes (#14051)
    When entities are defined, mdatagen generates AssociateWith{EntityType}() methods on ResourceBuilder
    that associate resources with entity types using the entity refs API. The entities section is backward
    compatible - existing metadata.yaml files without entities continue to work as before.

  • cmd/mdatagen: Add semconv reference for metrics (#13920)

  • connector/forward: Add support for Profiles to Profiles (#14092)

  • exporter/debug: Disable sending queue by default (#14138)
    The recently added sending queue configuration in Debug exporter was enabled by default and had a problematic default size of 1.
    This change disables the sending queue by default.
    Users can enable and configure the sending queue if needed.

  • pkg/config/configoptional: Mark configoptional.AddEnabledField as beta (#14021)

  • pkg/otelcol: This feature has been improved and tested; secure-by-default redacts configopaque values (#12369)

🧰 Bug fixes 🧰

  • all: Ensure service service.instance.id is the same for all the signals when it is autogenerated. (#14140)

API Changelog

🛑 Breaking changes 🛑

  • pdata/pprofile: Upgrade the OTLP protobuf definitions to version 1.9.0 (#14128)

    • Drop field CommentStrindices in Profile.
    • Rename Sample to Samples in Profile.
    • Rename Line to Lines in Location.
    • Remove AggregationTemporality field in ValueType.

    See https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v1.9.0

  • pkg/otelcol: The otelcol.Factories.Telemetry field is now required (#14003)
    Previously if this field was not set, then it would default to an otelconftelemetry factory.
    Callers of the otelcol package must now set the field explicitly.

💡 Enhancements 💡

  • pkg/pdata: Upgrade the OTLP protobuf definitions to version 1.9.0 (#14128)

v1.45.0/v0.139.0

03 Nov 20:42
v0.139.0
f2bced2

Choose a tag to compare

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: Replace optional field with requirement_level field for attributes in metadata schema (#13913)
    The optional boolean field for attributes has been replaced with a requirement_level field that accepts enum values: required, conditionally_required, recommended, or opt_in.

    • required: attribute is always included and cannot be excluded
    • conditionally_required: attribute is included by default when certain conditions are met (replaces optional: true)
    • recommended: attribute is included by default but can be disabled via configuration (replaces optional: false)
    • opt_in: attribute is not included unless explicitly enabled in user config
      When requirement_level is not specified, it defaults to recommended.
  • pdata/pprofile: Remove deprecated PutAttribute helper method (#14082)

  • pdata/pprofile: Remove deprecated PutLocation helper method (#14082)

💡 Enhancements 💡

  • all: Add FIPS and non-FIPS implementations for allowed TLS curves (#13990)
  • cmd/builder: Set CGO_ENABLED=0 by default, add the cgo_enabled configuration 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 new configoptional.AddEnabledField feature gate that allows users to explicitly disable a configoptional.Optional through a new enabled field. (#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 of configgrpc.ClientConfig.Headers, confighttp.ClientConfig.Headers, and confighttp.ServerConfig.ResponseHeaders (#13930)
    configopaque.MapList is a new alternative to map[string]configopaque.String which can unmarshal
    both maps and lists of name/value pairs.

    For example, if headers is a field of type configopaque.MapList,
    then the following YAML configs will unmarshal to the same thing:

    headers:
      "foo": "bar"
    
    headers:
    - name: "foo"
      value: "bar"
  • pdata/pprofile: Update SetFunction to return the function's ID rather than update the Line (#14016, #14032)

  • pdata/pprofile: Update SetLink to return the link's ID rather than update the Sample (#14016, #14031)

  • pdata/pprofile: Update SetMapping to 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: Introduce SetStack method (#14007)
  • pdata/xpdata: Add high-level Entity API for managing entities attached to resources (#14042)
    Introduces Entity, EntitySlice, and EntityAttributeMap types 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)

v1.44.0/v0.138.0

20 Oct 17:01
v0.138.0
8b09905

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.138.0

End User Changelog

🛑 Breaking changes 🛑

  • all: Remove deprecated type TracesConfig (#14036)

  • pkg/exporterhelper: Add default values for sending_queue::batch configuration. (#13766)
    Setting sending_queue::batch to an empty value now results in the same setup as the default batch processor configuration.

  • all: Add unified print-config command with mode support (redacted, unredacted), json support (unstable), and validation support. (#11775)
    This replaces the print-initial-config command. See the service package README for more details. The original command name print-initial-config remains an alias, to be retired with the feature flag.

💡 Enhancements 💡

  • all: Add keep_alives_enabled option to ServerConfig to control HTTP keep-alives for all components that create an HTTP server. (#13783)
  • pkg/otelcol: Avoid unnecessary mutex in collector logs, replace by atomic pointer (#14008)
  • cmd/mdatagen: Add lint/ordering validation for metadata.yaml (#13781)
  • pdata/xpdata: Refactor JSON marshaling and unmarshaling to use pcommon.Value instead of AnyValue. (#13837)
  • pkg/exporterhelper: Expose MergeCtx in exporterhelper's queue batch settings` (#13742)

🧰 Bug fixes 🧰

  • all: Fix zstd decoder data corruption due to decoder pooling for all components that create an HTTP server. (#13954)
  • pkg/otelcol: Remove UB when taking internal logs and move them to the final zapcore.Core (#14009)
    This can happen because of a race on accessing logsTaken.
  • pkg/confmap: Fix a potential race condition in confmap by closing the providers first. (#14018)

API Changelog

🛑 Breaking changes 🛑

  • pkg/xexporterhelper: Remove definition of Sizer from public API and ability to configure. (#14001)
    Now that Request has both Items/Bytes sizes no need to allow custom sizers.

  • pkg/service: The service.Settings type now requires a telemetry.Factory to be provided (#4970)

🚩 Deprecations 🚩

  • pdata/pprofile: Deprecated PutAttribute helper method (#14016, #14041)
  • pdata/pprofile: Deprecated PutLocation helper method (#14019)

💡 Enhancements 💡

  • all: Add keep_alives_enabled option to ServerConfig to control HTTP keep-alives for all components that create an HTTP server. (#13783)
  • pkg/pdata: Add pcommon.Map helper to add a key to the map if does not exists (#14023)
  • pdata/pprofile: Introduce Equal method on the KeyValueAndUnit type (#14041)
  • pkg/pdata: Add RemoveIf method to primitive slice types (StringSlice, Int64Slice, UInt64Slice, Float64Slice, Int32Slice, ByteSlice) (#14027)
  • pdata/pprofile: Introduce SetAttribute helper method (#14016, #14041)
  • pdata/pprofile: Introduce SetLocation helper method (#14019)
  • pdata/pprofile: Introduce Equal method on the Stack type (#13952)

v1.43.0/v0.137.0

06 Oct 20:22
v0.137.0
3b55554

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.137.0

End User Changelog

💡 Enhancements 💡

  • cmd/mdatagen: Improve validation for resource attribute enabled field in metadata files (#12722)
    Resource attributes now require an explicit enabled field in metadata.yaml files, while regular attributes
    are prohibited from having this field. This improves validation and prevents configuration errors.

  • all: Changelog entries will now have their component field checked against a list of valid components. (#13924)
    This will ensure a more standardized changelog format which makes it easier to parse.

  • pkg/pdata: Mark featuregate pdata.useCustomProtoEncoding as stable (#13883)

API Changelog

🛑 Breaking changes 🛑

  • pkg/exporterhelper: Remove all experimental symbols in exporterhelper (#11143)
    They have all been moved to xexporterhelper

🚩 Deprecations 🚩

  • all: service/telemetry.TracesConfig is deprecated (#13904)
    This type alias has been added to otelconftelemetry.TracesConfig,
    where the otelconf-based telemetry implementation now lives.

💡 Enhancements 💡

  • all: Mark configoptional as stable (#13403)
  • all: Mark configauth module as 1.0 (#9476)
  • pkg/pdata: Mark featuregate pdata.useCustomProtoEncoding as stable (#13883)

v1.42.0/v0.136.0

22 Sep 20:08
v0.136.0
a2b837e

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.136.0

End User Changelog

💡 Enhancements 💡

  • xpdata: Add Serialization and Deserialization of AnyValue (#12826)
  • debugexporter: add support for batching (#13791)
    The default queue size is 1
  • configtls: Add early validation for TLS server configurations to fail fast when certificates are missing instead of failing at runtime. (#13130, #13245)
  • mdatagen: Expose stability level in generated metric documentation (#13748)
  • internal/tools: Add support for modernize in Makefile (#13796)

🧰 Bug fixes 🧰

  • otelcol: Fix a potential deadlock during collector shutdown. (#13740)
  • otlpexporter: fix the validation of unix socket endpoints (#13826)

API Changelog

🛑 Breaking changes 🛑

  • exporterhelper: Remove deprecated function NewRequestsSizer (#13803)
  • pdata/pprofile: Upgrade the OTLP protobuf definitions to version 1.8.0 (#13758, #13825, #13839)
  • pdata/pprofile: Remove deprecated ProfilesDictionary method (#13858)

🚩 Deprecations 🚩

  • exporterhelper: Deprecate all experimental symbols in exporterhelper and move them to xexporterhelper (#11143)

💡 Enhancements 💡

  • configoptional: Add GetOrInsertDefault method to configoptional.Optional (#13856)
    This method inserts a default or zero value into a None/Default Optional before Getting its inner value.

  • exporter: Stabilize exporter module. (#12978)
    This does not stabilize the exporterhelper module or configuration

  • pdata: Upgrade the OTLP protobuf definitions to version 1.8.0 (#13758)

v1.41.0/v0.135.0

08 Sep 18:04
a56655d

Choose a tag to compare

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.135.0

End User Changelog

💡 Enhancements 💡

  • exporterhelper: Add new exporter_queue_batch_send_size and exporter_queue_batch_send_size_bytes metrics, showing the size of telemetry batches from the exporter. (#12894)

API Changelog

🛑 Breaking changes 🛑

  • pdata/pprofile: Remove deprecated AddAttribute method (#13764)

💡 Enhancements 💡

  • configmiddleware: Stabilize configmiddleware module (#13422)
    This only stabilizes the configuration interface but does not stabilize the middlewares themselves or the way of implementing them.
  • xpdata: Add experimental MapBuilder struct to optimize pcommon.Map construction (#13617)