Releases: open-telemetry/opentelemetry-collector
Releases · open-telemetry/opentelemetry-collector
v1.13.0/v0.107.0
End User Changelog
v1.13.0/v0.107.0
🛑 Breaking changes 🛑
service
: Remove OpenCensus bridge completely, mark feature gate as stable. (#10414)
confmap
: Set the confmap.unifyEnvVarExpansion
feature gate to Stable. Expansion of $FOO
env vars is no longer supported. Use ${FOO}
or ${env:FOO}
instead. (#10508)
service
: Remove otelcol
from Prometheus configuration. This means that any metric that isn't explicitly prefixed with otelcol_
no longer have that prefix. (#9759)
💡 Enhancements 💡
-
mdatagen
: export ScopeName in internal/metadata package (#10845)
This can be used by components that need to set their scope name manually. Will save component owners from having to store a variable, which may diverge from the scope name used by the component for emitting its own telemetry.
-
semconv
: Add v1.26.0 semantic conventions package (#10249, #10829)
-
mdatagen
: Expose a setting on tests::host to set up your own host initialization code (#10765)
Some receivers require a host that has additional capabilities such as exposing exporters.
For those, we can expose a setting that allows them to place a different host in the generated code.
-
confmap
: Allow using any YAML structure as a string when loading configuration. (#10800)
Previous to this change, slices could not be used as strings in configuration.
-
ocb
: migrate build and release of ocb binaries to opentelemetry-collector-releases repository (#10710)
ocb binaries will now be released under open-telemetry/opentelemetry-collector-releases tagged as "cmd/builder/vX.XXX.X"
-
semconv
: Add semantic conventions version v1.27.0 (#10837)
-
client
: Mark module as stable. (#10775)
🧰 Bug fixes 🧰
-
configtelemetry
: Add 10s read header timeout on the configtelemetry Prometheus HTTP server. (#5699)
-
service
: Allow users to disable the tracer provider via the feature gate service.noopTracerProvider
(#10858)
The service is returning an instance of a SDK tracer provider regardless of whether there were any processors configured causing resources to be consumed unnecessarily.
-
processorhelper
: Fix processor metrics not being reported initially with 0 values. (#10855)
-
service
: Implement the temporality_preference
setting for internal telemetry exported via OTLP (#10745)
-
configauth
: Fix unmarshaling of authentication in HTTP servers. (#10750)
-
confmap
: If loading an invalid YAML string through a provider, use it verbatim instead of erroring out. (#10759)
This makes the ${env:ENV} syntax closer to how ${ENV} worked before unifying syntaxes.
-
component
: Allow component names of up to 1024 characters in length. (#10816)
-
confmap
: Remove original string representation if invalid. (#10787)
Go API Changelog
v1.13.0/v0.107.0
🛑 Breaking changes 🛑
otelcol
: Delete deprecated NewCommandMustSetProvider (#10778)
component
: Removes the deprecated Host.GetFactory
method. (#10771)
otelcoltest
: The otelcol.LoadConfig
method no longer sets the expandconverter
. (#10510)
ocb
: Collectors built with OCB will no longer include the expandconverter
(#10510)
exporterhelper
: Delete deprecated exporterhelper.ObsReport
and exporterhelper.NewObsReport
(#10779, #10592)
🚩 Deprecations 🚩
expandconverter
: Deprecate expandconverter
. (#10510)
🚀 New components 🚀
componentstatus
: Adds new componentstatus module that will soon replace status content in component. (#10730)
connector/connectorprofiles
: Allow handling profiles in connector. (#10703)
exporter/exporterprofiles
: Allow handling profiles in exporter. (#10702)
processor/processorprofiles
: Allow handling profiles in processor. (#10691)
receiver/receiverprofiles
: Allow handling profiles in receiver. (#10690)
💡 Enhancements 💡
confmap
: Check that providers have a correct scheme when building a confmap.Resolver. (#10786)
confighttp
: Add NewDefaultCORSConfig
function to initialize the default confighttp.CORSConfig
(#9655)
v0.106.1
End User Changelog
v0.106.1
🧰 Bug fixes 🧰
configauth
: Fix unmarshaling of authentication in HTTP servers. (#10750)
v0.106.0
End User Changelog
v0.106.0
🛑 Breaking changes 🛑
-
service
: Update all metrics to include otelcol_
prefix to ensure consistency across OTLP and Prometheus metrics (#9759)
This change is marked as a breaking change as anyone that was using OTLP for metrics will
see the new prefix which was not present before. Prometheus generated metrics remain
unchanged.
-
confighttp
: Delete ClientConfig.CustomRoundTripper
(#8627)
Set (*http.Client).Transport on the *http.Client returned from ToClient to configure this.
-
confmap
: When passing configuration for a string field using any provider, use the verbatim string representation as the value. (#10605, #10405)
This matches the behavior of ${ENV}
syntax prior to the promotion of the confmap.unifyEnvVarExpansion
feature gate
to beta. It changes the behavior of the ${env:ENV}
syntax with escaped strings.
-
component
: Adds restrictions on the character set for component.ID name. (#10673)
-
processor/memorylimiter
: The memory limiter processor will no longer account for ballast size. (#10696)
If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you.
-
extension/memorylimiter
: The memory limiter extension will no longer account for ballast size. (#10696)
If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you.
-
service
: The service will no longer be able to get a ballast size from the deprecated ballast extension. (#10696)
If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you.
🚀 New components 🚀
client
: Create a new go module go.opentelemetry.io/collector/client
(#9804)
This module contains generic representations of clients connecting to different receivers.
💡 Enhancements 💡
exporterhelper
: Add data_type attribute to otelcol_exporter_queue_size
metric to report the type of data being processed. (#9943)
confighttp
: Add option to include query params in auth context (#4806)
configgrpc
: gRPC auth errors now return gRPC status code UNAUTHENTICATED (16) (#7646)
httpprovider, httpsprovider
: Validate URIs in HTTP and HTTPS providers before fetching. (#10468)
🧰 Bug fixes 🧰
processorhelper
: update units for internal telemetry (#10647)
confmap
: Increase the amount of recursion and URI expansions allowed in a single line (#10712)
exporterhelper
: There is no guarantee that after the exporterhelper sends the plog/pmetric/ptrace data downstream that the data won't be mutated in some way. (e.g by the batch_sender) This mutation could result in the proceeding call to req.ItemsCount() to provide inaccurate information to be logged. (#10033)
exporterhelper
: Update units for internal telemetry (#10648)
receiverhelper
: Update units for internal telemetry (#10650)
scraperhelper
: Update units for internal telemetry (#10649)
service
: Use Command/Version to populate service name/version attributes (#10644)
Go API Changelog
v0.106.0
🛑 Breaking changes 🛑
-
configauth
: removing deprecated methods GetServerAuthenticatorContext and GetClientAuthenticatorContext (#9808)
-
connector,exporter,receiver,extension,processor
: Remove deprecated funcs/structs (#10423)
Remove the following funcs & structs:
- connector.CreateSettings -> connector.Settings
- connectortest.NewNopCreateSettings -> connectortest.NewNopSettings
- exporter.CreateSettings -> exporter.Settings
- exportertest.NewNopCreateSettings -> exportertest.NewNopSettings
- extension.CreateSettings -> extension.Settings
- extensiontest.NewNopCreateSettings -> extensiontest.NewNopSettings
- processor.CreateSettings -> processor.Settings
- processortest.NewNopCreateSettings -> processortest.NewNopSettings
- receiver.CreateSettings -> receiver.Settings
- receivertest.NewNopCreateSettings -> receivertest.NewNopSettings
-
component/componenttest
: Add optional ...attribute.KeyValue argument to TestTelemetry.CheckExporterMetricGauge. (#10593)
-
confighttp
: Auth data type signature has changed (#4806)
As part of the linked PR, the auth
attribute was moved from configauth.Authentication
to a new AuthConfig
, which contains a configauth.Authentication
. For end-users, this
is a non-breaking change. For users of the API, create a new AuthConfig using the
configauth.Authentication
instance that was being used before.
-
mdatagen
: Remove WithAttributes option from the telemetry builder constructor. (#10608)
Attribute sets for async instruments now can be set as options to callback setters and async instruments initializers.
This allows each async instrument to have its own attribute set.
-
service/extensions
: Adds Options
to extensions.New
. (#10728)
This is only a breaking change if you are depending on extensions.New
's signature. Calls to extensions.New
are not broken.
🚩 Deprecations 🚩
component
: Deprecates Host.GetFactory. (#10709)
🚀 New components 🚀
component/componentprofiles
: Add componentprofiles module. (#10525)
💡 Enhancements 💡
exporter, processor, receiver
: Document factory functions. (#9323)
component
: Document status enums and New constructors (#9822)
confighttp, configgrpc
: Remove the experimental comment on IncludeMetadata
in confighttp and configgrpc (#9381)
confighttp
: Add confighttp.NewDefaultServerConfig()
to instantiate the default HTTP server configuration (#9655)
consumer/consumertest
: Allow testing profiles with consumertest. (#10692)
🧰 Bug fixes 🧰
confmap
: Fix wrong expansion of environment variables escaped with $$
, e.g. $${ENV_VAR}
and $$ENV_VAR
. (#10713)
This change fixes the issue where environment variables escaped with $$ were expanded.
The collector now converts $${ENV_VAR}
to ${ENV_VAR}
and $$ENV_VAR
to $ENV_VAR
without further expansion.
v1.12.0/v0.105.0
End User Changelog
v1.12.0/v0.105.0
🛑 Breaking changes 🛑
service
: add service.disableOpenCensusBridge
feature gate which is enabled by default to remove the dependency on OpenCensus (#10414)
confmap
: Promote confmap.strictlyTypedInput
feature gate to beta. (#10552)
This feature gate changes the following:
- Configurations relying on the implicit type casting behaviors listed on #9532 will start to fail.
- Configurations using URI expansion (i.e.
field: ${env:ENV}
) for string-typed fields will use the value passed in ENV
verbatim without intermediate type casting.
💡 Enhancements 💡
configtls
: Mark module as stable. (#9377)
confmap
: Remove extra closing parenthesis in sub-config error (#10480)
configgrpc
: Update the default load balancer strategy to round_robin (#10319)
To restore the behavior that was previously the default, set balancer_name
to pick_first
.
cmd/builder
: Add go module info the builder generated code. (#10570)
otelcol
: Add go module to components subcommand. (#10570)
confmap
: Add explanation to errors related to confmap.strictlyTypedInput
feature gate. (#9532)
confmap
: Allow using map[string]any
values in string interpolation (#10605)
🧰 Bug fixes 🧰
builder
: provide context when a module in the config is missing its gomod value (#10474)
confmap
: Fixes issue where confmap could not escape $$
when confmap.unifyEnvVarExpansion
is enabled. (#10560)
mdatagen
: fix generated comp test for extensions and unused imports in templates (#10477)
otlpreceiver
: Fixes a bug where the otlp receiver's http response was not properly translating grpc error codes to http status codes. (#10574)
exporterhelper
: Fix incorrect deduplication of otelcol_exporter_queue_size and otelcol_exporter_queue_capacity metrics if multiple exporters are used. (#10444)
service/telemetry
: Add ability to set service.name for spans emitted by the Collector (#10489)
internal/localhostgate
: Correctly log info message when component.UseLocalHostAsDefaultHost
is enabled (#8510)
Go API Changelog
v1.12.0/v0.105.0
🛑 Breaking changes 🛑
otelcol
: Obtain the Collector's effective config from otelcol.Config (#10139)
otelcol.Collector
will now marshal confmap.Conf
objects from otelcol.Config
itself.
otelcoltest
: Remove deprecated methods LoadConfigWithSettings
and LoadConfigAndValidateWithSettings
(#10512)
🚩 Deprecations 🚩
configauth
: Deprecated Authentication.GetClientAuthenticatorContext
and Authentication.GetServerAuthenticatorContext
(#10578)
otelcol
: Deprecate otelcol.ConfmapProvider
(#10139)
otelcol.Collector
will now marshal confmap.Conf
objects from otelcol.Config
itself.
otelcol
: Deprecate (*otelcol.ConfigProvider).GetConfmap
(#10139)
Call (*confmap.Conf).Marshal(*otelcol.Config)
to get the Collector's configuration.
exporterhelper
: Deprecate the obsreport API in the exporterhelper package. (#10592)
🚀 New components 🚀
consumer/consumerprofiles
: Allow handling profiles in consumer. (#10464)
v1.11.0/v0.104.0
⚠️ This release includes 2 very important breaking changes.
- 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
.
- 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)
v1.10.0/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)