Skip to content

Releases: open-telemetry/opentelemetry-collector

v1.11.0/v0.104.0

01 Jul 20:20
v0.104.0
a082f2e
Compare
Choose a tag to compare

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

⚠️ This release includes 2 very important breaking changes.

  1. The otlpreceiver now uses localhost by default instead of 0.0.0.0. This may break the receiver in containerized environments like Kubernetes. If you depend on 0.0.0.0 disable the component.UseLocalHostAsDefaultHost feature gate or explicitly set the endpoint to 0.0.0.0.
  2. Expansion of BASH-style environment variables, such as $FOO is no longer supported by default. If you depend on this syntax, disable the confmap.unifyEnvVarExpansion feature gate, but know that the feature will be removed in the future in favor of ${env:FOO}.

End User Changelog

🛑 Breaking changes 🛑

  • filter: Remove deprecated filter.CombinedFilter (#10348)
  • otelcol: By default, otelcol.NewCommand and otelcol.NewCommandMustSetProvider will set the DefaultScheme to env. (#10435)
  • expandconverter: By default expandconverter will now error if it is about to expand $FOO syntax. Update configuration to use ${env:FOO} instead or disable the confmap.unifyEnvVarExpansion feature gate. (#10435)
  • otlpreceiver: Switch to localhost as the default for all endpoints. (#8510)
    Disable the component.UseLocalHostAsDefaultHost feature gate to temporarily get the previous default.

💡 Enhancements 💡

  • confighttp: Add support for cookies in HTTP clients with cookies::enabled. (#10175)
    The method confighttp.ToClient will return a client with a cookiejar.Jar which will reuse cookies from server responses in subsequent requests.
  • exporter/debug: In normal verbosity, display one line of text for each telemetry record (log, data point, span) (#7806)
  • exporter/debug: Add option use_internal_logger (#10226)
  • configretry: Mark module as stable. (#10279)
  • debugexporter: Print Span.TraceState() when present. (#10421)
    Enables viewing sampling threshold information (as by OTEP 235 samplers).
  • processorhelper: Add "inserted" metrics for processors. (#10353)
    This includes the following metrics for processors:
    • processor_inserted_spans
    • processor_inserted_metric_points
    • processor_inserted_log_records

🧰 Bug fixes 🧰

  • otlpexporter: Update validation to support both dns:// and dns:/// (#10449)
  • service: Fixed a bug that caused otel-collector to fail to start with ipv6 metrics endpoint service telemetry. (#10011)

Go API Changelog

🛑 Breaking changes 🛑

  • otelcol: The otelcol.NewCommand now requires at least one provider be set. (#10436)
  • component/componenttest: Added additional "inserted" count to TestTelemetry.CheckProcessor* methods. (#10353)

🚩 Deprecations 🚩

  • otelcoltest: Deprecates LoadConfigWithSettings and LoadConfigAndValidateWithSettings. Use LoadConfig and LoadConfigAndValidate instead. (#10417)
  • otelcol: The otelcol.NewCommandMustSetProvider is deprecated. Use otelcol.NewCommand instead. (#10436)

🚀 New components 🚀

  • otelcoltest: Split off go.opentelemetry.io/collector/otelcol/otelcoltest into its own module (#10417)

💡 Enhancements 💡

  • pdata/pprofile: Add pprofile wrapper to convert proto into pprofile. (#10401)
  • pdata/testdata: Add pdata testdata for profiles. (#10401)

cmd/builder/v0.104.0

01 Jul 20:20
cmd/builder/v0.104.0
a082f2e
Compare
Choose a tag to compare

v1.10.0/v0.103.0

18 Jun 16:51
v0.103.0
aa31b27
Compare
Choose a tag to compare

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

End User Changelog

🛑 Breaking changes 🛑

  • exporter/debug: Disable sampling by default (#9921)
    To restore the behavior that was previously the default, set sampling_thereafter to 500.

💡 Enhancements 💡

  • cmd/builder: Allow setting otelcol.CollectorSettings.ResolverSettings.DefaultScheme via the builder's conf_resolver.default_uri_scheme configuration option (#10296)

  • mdatagen: add support for optional internal metrics (#10316)

  • otelcol/expandconverter: Add confmap.unifyEnvVarExpansion feature gate to allow enabling Collector/Configuration SIG environment variable expansion rules. (#10391)
    When enabled, this feature gate will:

  • confmap: Add confmap.unifyEnvVarExpansion feature gate to allow enabling Collector/Configuration SIG environment variable expansion rules. (#10259)
    When enabled, this feature gate will:

  • confighttp: Allow the compression list to be overridden (#10295)
    Allows Collector administrators to control which compression algorithms to enable for HTTP-based receivers.

  • configgrpc: Revert the zstd compression for gRPC to the third-party library we were using previously. (#10394)
    We switched back to our compression logic for zstd when a CVE was found on the third-party library we were using. Now that the third-party library has been fixed, we can revert to that one. For end-users, this has no practical effect. The reproducers for the CVE were tested against this patch, confirming we are not reintroducing the bugs.

  • confmap: Adds alpha confmap.strictlyTypedInput feature gate that enables strict type checks during configuration resolution (#9532)
    When enabled, the configuration resolution system will:

    • Stop doing most kinds of implicit type casting when resolving configuration values
    • Use the original string representation of configuration values if the ${} syntax is used in inline position
  • confighttp: Use confighttp.ServerConfig as part of zpagesextension. See [https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/confighttp/README.md#server-configuration](server configuration) options. (#9368)

🧰 Bug fixes 🧰

  • exporterhelper: Fix potential deadlock in the batch sender (#10315)
  • expandconverter: Fix bug where an warning was logged incorrectly. (#10392)
  • exporterhelper: Fix a bug when the retry and timeout logic was not applied with enabled batching. (#10166)
  • exporterhelper: Fix a bug where an unstarted batch_sender exporter hangs on shutdown (#10306)
  • exporterhelper: Fix small batch due to unfavorable goroutine scheduling in batch sender (#9952)
  • confmap: Fix issue where structs with only yaml tags were not marshaled correctly. (#10282)

Go API Changelog

🛑 Breaking changes 🛑

  • component: Remove deprecated component.UnmarshalConfig (#7102)
  • confighttp: Use confighttp.ServerConfig as part of zpagesextension.Config. Previously the extension used confignet.TCPAddrConfig (#9368)

🚩 Deprecations 🚩

  • connector: Deprecate CreateSettings and NewNopCreateSettings (#9428)
    The following methods are being renamed:

    • connector.CreateSettings -> connector.Settings
    • connector.NewNopCreateSettings -> connector.NewNopSettings
  • exporter: Deprecate CreateSettings and NewNopCreateSettings (#9428)
    The following methods are being renamed:

    • exporter.CreateSettings -> exporter.Settings
    • exporter.NewNopCreateSettings -> exporter.NewNopSettings
  • extension: Deprecate CreateSettings and NewNopCreateSettings (#9428)
    The following methods are being renamed:

    • extension.CreateSettings -> extension.Settings
    • extension.NewNopCreateSettings -> extension.NewNopSettings
  • processor: Deprecate CreateSettings and NewNopCreateSettings (#9428)
    The following methods are being renamed:

    • processor.CreateSettings -> processor.Settings
    • processor.NewNopCreateSettings -> processor.NewNopSettings
  • receiver: Deprecate CreateSettings and NewNopCreateSettings (#9428)
    The following methods are being renamed:

    • receiver.CreateSettings -> receiver.Settings
    • receiver.NewNopCreateSettings -> receiver.NewNopSettings
  • configauth: Deprecate GetClientAuthenticator and GetServerAuthenticator, use GetClientAuthenticatorContext and GetServerAuthenticatorContext instead. (#9808)

  • confighttp: Deprecate ClientConfig.CustomRoundTripper (#8627)
    Set the Transport field on the *http.Client object returned from (ClientConfig).ToClient instead.

  • filter: Deprecate the filter.CombinedFilter struct (#10348)

  • otelcol: Deprecate otelcol.NewCommand. Use otelcol.NewCommandMustProviderSettings instead. (#10359)

  • otelcoltest: Deprecate LoadConfig and LoadConfigAndValidate. Use LoadConfigWithSettings and LoadConfigAndValidateWithSettings instead (#10359)

💡 Enhancements 💡

  • confmap: Adds confmap.Retrieved.AsString method that returns the configuration value as a string (#9532)
  • confmap: Adds confmap.NewRetrievedFromYAML helper to create confmap.Retrieved values from YAML bytes (#9532)

cmd/builder/v0.103.1

18 Jun 16:23
ae2ed9d
Compare
Choose a tag to compare

v0.102.1

05 Jun 15:03
7218b4c
Compare
Choose a tag to compare

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

This release addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) fully.

End User Changelog

🧰 Bug fixes 🧰

  • configrpc: Use own compressors for zstd (#10323)
    Before this change, the zstd compressor we used didn't respect the max message size. This addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) on configgrpc.

cmd/builder/v0.102.1

05 Jun 15:03
7218b4c
Compare
Choose a tag to compare

v1.9.0/v0.102.0

04 Jun 08:27
v0.102.0
5cbf8be
Compare
Choose a tag to compare

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

This release addresses GHSA-c74f-6mfw-mm4v for confighttp. Use v0.102.1 instead to get the fix on configgrpc as well.

End User Changelog

🛑 Breaking changes 🛑

  • envprovider: Restricts Environment Variable names. Environment variable names must now be ASCII only and start with a letter or an underscore, and can only contain underscores, letters, or numbers. (#9531)
  • confighttp: Apply MaxRequestBodySize to the result of a decompressed body (#10289)
    When using compressed payloads, the Collector would verify only the size of the compressed payload.
    This change applies the same restriction to the decompressed content. As a security measure, a limit of 20 MiB was added, which makes this a breaking change. This addresses CVE-2024-36129 (GHSA-c74f-6mfw-mm4v) on confighttp.
    For most clients, this shouldn't be a problem, but if you often have payloads that decompress to more than 20 MiB, you might want to either configure your
    client to send smaller batches (recommended), or increase the limit using the MaxRequestBodySize option.

💡 Enhancements 💡

  • mdatagen: auto-generate utilities to test component telemetry (#19783)
  • mdatagen: support setting an AttributeSet for async instruments (#9674)
  • mdatagen: support using telemetry level in telemetry builder (#10234)
    This allows components to set the minimum level needed for them to produce telemetry. By default, this is set to configtelemetry.LevelBasic. If the telemetry level is below that minimum level, then the noop meter is used for metrics.
  • mdatagen: add support for bucket boundaries for histograms (#10218)
  • releases: add documentation in how to verify the image signatures using cosign (#9610)

🧰 Bug fixes 🧰

  • batchprocessor: ensure attributes are set on cardinality metadata metric (#9674)
  • batchprocessor: Fixing processor_batch_metadata_cardinality which was broken in v0.101.0 (#10231)
  • batchprocessor: respect telemetry level for all metrics (#10234)
  • exporterhelper: Fix potential deadlocks in BatcherSender shutdown (#10255)

Go API Changelog

🛑 Breaking changes 🛑

  • otelcol: Remove deprecated ConfigProvider field from CollectorSettings (#10281)
  • exporterhelper: remove deprecated RequestMarshaler & RequestUnmarshaler types (#10283)
  • service: remove deprecated Telemetry struct and New func (#10285)
  • configtls: remove deprecated LoadTLSConfigContext funcs (#10283)

🚩 Deprecations 🚩

  • component: Deprecate component.UnmarshalConfig, use (*confmap.Conf).Unmarshal(&intoCfg) instead. (#7102)
  • service/telemetry: Deprecate telemetry.New in favor of telemetry.NewFactory (#4970)

💡 Enhancements 💡

  • confmap: Allow setting a default Provider on a Resolver to use when ${} syntax is used without a scheme (#10182)
  • pdata: Introduce string and int64 slices to pcommon (#10148)
  • pdata: Introduce generated experimental pdata for profiling signal. (#10195)
  • confmap: Remove top level condition when considering struct as Unmarshalers (#7101)

🧰 Bug fixes 🧰

  • otelcol: Update validate command to use the new configuration options (#10203)

cmd/builder/v0.102.0

04 Jun 08:27
cmd/builder/v0.102.0
5cbf8be
Compare
Choose a tag to compare

v1.8.0/v0.101.0

21 May 13:03
v0.101.0
d719a7e
Compare
Choose a tag to compare

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

End User Changelog

💡 Enhancements 💡

  • mdatagen: generate documentation for internal telemetry (#10170)

  • mdatagen: add ability to use metadata.yaml to automatically generate instruments for components (#10054)
    The telemetry section in metadata.yaml is used to generate
    instruments for components to measure telemetry about themselves.

  • confmap: Allow Converters to write logs during startup (#10135)

  • otelcol: Enable logging during configuration resolution (#10056)

🧰 Bug fixes 🧰

  • mdatagen: Run package tests when goleak is skipped (#10125)

Go API Changelog

🛑 Breaking changes 🛑

  • confighttp: Removes deprecated functions ToClientContext, ToListenerContext, and ToServerContext. (#10138)
  • confmap: Deprecate NewWithSettings for all Providers and New for all Converters (#10134)
    Use NewFactory instead for all affected modules.
  • confmap: Remove deprecated Providers and Converters from confmap.ResolverSettings (#10173)
    Use ProviderSettings and ConverterSettings instead.

🧰 Bug fixes 🧰

  • otelcol: Add explicit mapstructure tags to main configuration struct (#10152)
  • confmap: Support string-like types as map keys when marshaling (#10137)

cmd/builder/v0.101.0

21 May 13:03
cmd/builder/v0.101.0
d719a7e
Compare
Choose a tag to compare