Releases: open-telemetry/opentelemetry-collector
cmd/builder/v0.94.1
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.94.1
v1.1.0/v0.94.0
End User Changelog
🛑 Breaking changes 🛑
receiver/otlp
: Update gRPC code fromcodes.InvalidArgument
tocodes.Internal
when a permanent error doesn't contain a gRPC status (#9415)
🚩 Deprecations 🚩
configgrpc
: Deprecate GRPCClientSettings, use ClientConfig instead (#6767)
💡 Enhancements 💡
-
mdatagen
: Add a generated test that checks the config struct usingcomponenttest.CheckConfigStruct
(#9438) -
component
: Addcomponent.UseLocalHostAsDefaultHost
feature gate that changes default endpoints from 0.0.0.0 to localhost (#8510)
The only component in this repository affected by this is the OTLP receiver. -
confighttp
: Add support of Host header (#9395) -
mdatagen
: Remove use of ReportFatalError in generated tests (#9439)
🧰 Bug fixes 🧰
service
: fix opencensus bridge configuration in periodic readers (#9361)otlpreceiver
: Fix goroutine leak when GRPC server is started but HTTP server is unsuccessful (#9165)otlpexporter
: PartialSuccess is treated as success, logged as warning. (#9243)
API Changelog
🛑 Breaking changes 🛑
-
confignet
: Remove deprecatedDialContext
andListenContext
functions (#9363) -
confmap/converter/expandconverter
: Addconfmap.ConverterSettings
argument to experimentalexpandconverter.New
function. (#5615, #9162)- The
confmap.ConverterSettings
struct currently has no fields. It will be used to pass a logger.
- The
-
component
: Remove deprecated funcs and types (#9283) -
otlpexporter
: Config struct is moving from embedding the deprecated GRPCClientSettings struct to using ClientConfig instead. (#6767) -
otlphttpexporter
: otlphttpexporter.Config embeds the struct confighttp.ClientConfig instead of confighttp.HTTPClientSettings (#6767) -
otlpreceiver
: HTTPConfig struct is moving from embedding the deprecated ServerSettings struct to using HTTPServerConfig instead. (#6767) -
component
: Validate component.Type at creation and unmarshaling time. (#9208)- A component.Type must start with an ASCII alphabetic character and can only contain ASCII alphanumeric characters and '_'.
🚩 Deprecations 🚩
configcompressions
: DeprecateIsCompressed
. UseCompressionType.IsCompressed instead
instead. (#9435)configcompression
: DeprecateCompressionType
, useType
instead. (#9416)confighttp
: Deprecate CORSSettings, use CORSConfig instead (#6767)configgrpc
: DeprecateToListener
function in favor ofToListenerContext
(#9389)configgrpc
: Deprecate GRPCServerSettings, use ServerConfig instead (#6767)confighttp
: Deprecate HTTPClientSettings, use ClientConfig instead (#6767)confighttp
: Deprecate HTTPServerSettings, use ServerConfig instead (#6767)confmap/provider
: Deprecate .New in favor of .NewWithSettings for all core providers (#5615, #9162)- NewWithSettings now takes an empty confmap.ProviderSettings struct. This will be used to pass a logger in the future.
💡 Enhancements 💡
-
exporter/exporterhelper
: Add API for enabling queue in the new exporter helpers. (#7874)
The following experimental API is introduced in exporter package:exporterhelper.WithRequestQueue
: a new exporter helper option for using a queue.exporterqueue.Queue
: an interface for queue implementations.exporterqueue.Factory
: a queue factory interface, implementations of this interface are intended to be used with WithRequestQueue option.exporterqueue.Settings
: queue factory settings.exporterqueue.Config
: common configuration for queue implementations.exporterqueue.NewDefaultConfig
: a function for creating a default queue configuration.exporterqueue.NewMemoryQueueFactory
: a new factory for creating a memory queue.- `exporterqueue.NewPersistentQueueFactory: a factory for creating a persistent queue.
-
featuregate
: Add thefeaturegate.ErrAlreadyRegistered
error, which is returned byfeaturegate.Registry
'sRegister
when adding a feature gate that is already registered. (#8622)
Useerrors.Is
to check for this error.
cmd/builder/v0.94.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.94.0
v0.93.0
End user Changelog
🛑 Breaking changes 🛑
exporterhelper
: remove deprecated exporterhelper.RetrySettings and exporterhelper.NewDefaultRetrySettings (#9256)configopaque
: configopaque.String implementsfmt.Stringer
andfmt.GoStringer
, outputting [REDACTED] when formatted with the %s, %q or %#v verbs(#9213) This may break applications that rely on the previous behavior of opaque strings with
fmt.Sprintfto e.g. build URLs or headers. Explicitly cast the opaque string to a string before using it in
fmt.Sprintf` to restore the previous behavior.
🚀 New components 🚀
extension/memory_limiter
: Introduce amemory_limiter
extension which receivers can use to reject incoming requests when collector doesn't have enough memory (#8632)
The extension has the same configuration interface and behavior as the existingmemory_limiter
processor, which potentially can be deprecated and removed in the future
💡 Enhancements 💡
-
configtls
: addcipher_suites
to configtls. (#8105)
Users can specify a list of cipher suites to pick from. If left blank, a safe default list is used. -
service
: marktelemetry.useOtelForInternalMetrics
as stable (#816) -
exporters
: Cleanup log messages for export failures (#9219)- Ensure an error message is logged every time and only once when data is dropped/rejected due to export failure.
- Update the wording. Specifically, don't use "dropped" term when an error is reported back to the pipeline.
Keep the "dropped" wording for failures happened after the enabled queue. - Properly report any error reported by a queue. For example, a persistent storage error must be reported as a storage error, not as "queue overflow".
🧰 Bug fixes 🧰
configgrpc
: Update dependency to address a potential crash in the grpc instrumentation (#9296)otlpreceiver
: Ensure OTLP receiver handles consume errors correctly (#4335)
Make sure OTLP receiver returns correct status code and follows the receiver contract (gRPC)zpagesextension
: Remove mention of rpcz page from zpages extension (#9328)
Go API Changelog
🛑 Breaking changes 🛑
-
bug_fix
: Implementencoding.BinaryMarshaler
interface to preventconfigopaque
->[]byte
->string
conversions from leaking the value (#9279) -
configopaque
: configopaque.String implementsfmt.Stringer
andfmt.GoStringer
, outputting [REDACTED] when formatted with the %s, %q or %#v verbs(#9213) This may break applications that rely on the previous behavior of opaque strings with
fmt.Sprintfto e.g. build URLs or headers. Explicitly cast the opaque string to a string before using it in
fmt.Sprintf` to restore the previous behavior. -
all
: Remove obsolete "// +build" directives (#9304) -
connectortest
: Remove deprecated connectortest router helpers. (#9278)
🚩 Deprecations 🚩
-
obsreporttest
: deprecate test funcs/structs (#8492)
The following methods/structs have been moved from obsreporttest to componenttest:- obsreporttest.TestTelemetry -> componenttest.TestTelemetry
- obsreporttest.SetupTelemetry -> componenttest.SetupTelemetry
- obsreporttest.CheckScraperMetrics -> TestTelemetry.CheckScraperMetrics
- obserporttest.TestTelemetry.TelemetrySettings -> componenttest.TestTelemetry.TelemetrySettings()
-
confignet
: DeprecatesDialContext
andListenContext
functions. UseDial
andListen
instead. (#9258)
Unlike the previousDial
andListen
functions, the newDial
andListen
functions take acontext.Context
likeDialContext
andListenContext
.
cmd/builder/v0.93.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.93.0
v1.0.1/v0.92.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.92.0
End user Changelog
v1.0.1/v0.92.0
🛑 Breaking changes 🛑
-
exporters/sending_queue
: Do not re-enqueue failed batches, rely on the retry_on_failure strategy instead. (#8382)
The current re-enqueuing behavior is not obvious and cannot be configured. It takes place only for persistent queue
and only ifretry_on_failure::enabled=true
even ifretry_on_failure
is a setting for a different backoff retry
strategy. This change removes the re-enqueuing behavior. Consider increasingretry_on_failure::max_elapsed_time
to reduce chances of data loss or set it to 0 to keep retrying until requests succeed. -
confmap
: Make the optionWithErrorUnused
enabled by default when unmarshaling configuration (#7102)
The optionWithErrorUnused
is now enabled by default, and a new optionWithIgnoreUnused
is introduced to ignore
errors about unused fields. -
status
: DeprecateReportComponentStatus
in favor ofReportStatus
. This new function does not return an error. (#9148)
🚩 Deprecations 🚩
-
connectortest
: Deprecate connectortest.New[Metrics|Logs|Traces]Router in favour of connector.New[Metrics|Logs|Traces]Router (#9095) -
exporterhelper
: Deprecate exporterhelper.RetrySettings in favor of configretry.BackOffConfig (#9091) -
extension/ballast
: Deprecatememory_ballast
extension. (#8343)
UseGOMEMLIMIT
environment variable instead. -
connector
: Deprecate [Metrics|Logs|Traces]Router in favour of [Metrics|Logs|Traces]RouterAndConsumer (#9095)
💡 Enhancements 💡
-
exporterhelper
: Add RetrySettings validation function (#9089)
Validate that time.Duration, multiplier values in configretry are non-negative, and randomization_factor is between 0 and 1 -
service
: Enabletelemetry.useOtelForInternalMetrics
by updating the flag to beta (#7454)
The metrics generated should be consistent with the metrics generated
previously with OpenCensus. Users can disable the behaviour
by setting--feature-gates -telemetry.useOtelForInternalMetrics
at
collector start. -
mdatagen
: move component from contrib to core (#9172) -
semconv
: Generated Semantic conventions 1.22.0. (#8686) -
confignet
: Adddialer_timeout
config option. (#9066) -
processor/memory_limiter
: Update config validation errors (#9059)- Fix names of the config fields that are validated in the error messages
- Move the validation from start to the initialization phrase
-
exporterhelper
: Add config Validate for TimeoutSettings (#9104)
🧰 Bug fixes 🧰
memorylimiterprocessor
: Fixed leaking goroutines from memorylimiterprocessor (#9099)cmd/otelcorecol
: Fix the code detecting if the collector is running as a service on Windows. (#7350)
Removed theNO_WINDOWS_SERVICE
environment variable given it is not needed anymore.otlpexporter
: remove dependency of otlphttpreceiver on otlpexporter (#6454)
API Changelog
This changelog includes only developer-facing changes.
If you are looking for user-facing changes, check out CHANGELOG.md.
v1.0.1/v0.92.0
🛑 Breaking changes 🛑
otlpexporter
: Change Config members names to use Config suffix. (#9091)component
: Remove deprecated unused TelemetrySettingsBase (#9145)
🚩 Deprecations 🚩
cmd/builder/v0.92.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.92.0
v0.91.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.91.0
v0.91.0
💡 Enhancements 💡
statusreporting
: Automates status reporting upon the completion of component.Start(). (#7682)service
: add resource attributes as labels to otel metrics to ensures backwards compatibility with OpenCensus metrics. (#9029)semconv
: Generated Semantic conventions 1.21. (#9056)config/confighttp
: Exposes http/2 transport settings to enable health check and workaround golang http/2 issue golang/go#59690 (#9022)cmd/builder
: running builder version on binaries installed withgo install
will output the version specified at the suffix. (#8770)
🧰 Bug fixes 🧰
-
exporterhelper
: fix missed metric aggregations (#9048)
This ensures that context cancellation in the exporter doesn't interfere with metric aggregation. The OTel
SDK currently returns if there's an error in the context used inAdd
. This means that if there's a
cancelled context in an export, the metrics are now recorded. -
service
: Fix bug where MutatesData would not correctly propagate through connectors. (#9053)
cmd/builder/v0.91.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.91.0
v0.90.1
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.90.1
User facing changes
🧰 Bug fixes 🧰
exporterhelper
: Remove noisy "Exporting finished" log (#9017)