Releases: open-telemetry/opentelemetry-collector
Releases · open-telemetry/opentelemetry-collector
v0.96.0
End User Changelog
🛑 Breaking changes 🛑
configgrpc
: Remove deprecated GRPCClientSettings
, GRPCServerSettings
, and ServerConfig.ToListenerContext
. (#9616)
confighttp
: Remove deprecated HTTPClientSettings
, NewDefaultHTTPClientSettings
, and CORSSettings
. (#9625)
confignet
: Removes deprecated NetAddr
and TCPAddr
(#9614)
💡 Enhancements 💡
configtls
: Add include_system_ca_certs_pool
to configtls, allowing to load system certs and additional custom certs. (#7774)
otelcol
: Add ConfigProviderSettings
to CollectorSettings
(#4759)
This allows passing a custom list of confmap.Provider
s to otelcol.NewCommand
.
pdata
: Update to OTLP v1.1.0 (#9587)
Introduces Span and SpanLink flags.
confmap
: Update mapstructure to use a maintained fork, github.com/go-viper/mapstructure/v2. (#9634)
See mitchellh/mapstructure#349 for context.
🧰 Bug fixes 🧰
configretry
: Allow max_elapsed_time to be set to 0 for indefinite retries (#9641)
client
: Make Metadata.Get
thread safe (#9595)
API Changelog
🚩 Deprecations 🚩
configgrpc
: Deprecates ToServer
. Use ToServerContext
instead. (#9624)
component
: deprecate component.ErrNilNextConsumer (#9526)
configtls
: Rename TLSClientSetting, TLSServerSetting, and TLSSetting based on the naming convention used in other config packages. (#9474)
💡 Enhancements 💡
receivertest
: add support for metrics in contract checker (#9551)
v1.2.0/v0.95.0
End User Changelog
🛑 Breaking changes 🛑
all
: scope name for all generated Meter/Tracer funcs now includes full package name (#9494)
💡 Enhancements 💡
confighttp
: Adds support for Snappy decompression of HTTP requests. (#7632)
configretry
: Validate max_elapsed_time
, ensure it is larger than max_interval
and initial_interval
respectively. (#9489)
configopaque
: Mark module as stable (#9167)
otlphttpexporter
: Add support for json content encoding when exporting telemetry (#6945)
confmap/converter/expandconverter, confmap/provider/envprovider, confmap/provider/fileprovider, confmap/provider/httprovider, confmap/provider/httpsprovider, confmap/provider/yamlprovider
: Split confmap.Converter and confmap.Provider implementation packages out of confmap. (#4759, #9460)
API Changelog
🛑 Breaking changes 🛑
all
: Bump minimum go version to go 1.21 (#9507)
service/telemetry
: Delete generated_config types, use go.opentelemetry.io/contrib/config types instead (#9546)
configcompression
: Remove deprecated configcompression
types, constants and methods. (#9388)
component
: Remove host.ReportFatalError
(#6344)
configgrpc
: Remove deprecated configgrpc.ServerConfig.ToListener
(#9481)
confmap
: Remove deprecated confmap.WithErrorUnused
(#9484)
🚩 Deprecations 🚩
confignet
: Deprecate confignet.NetAddr
and confignet.TCPAddr
in favor of confignet.AddrConfig
and confignet.TCPAddrConfig
. (#9509)
config/configgrpc
: Deprecate configgrpc.ClientConfig.SanitizedEndpoint
, configgrpc.ServerConfig.ToListener
and configgrpc.ServerConfig.ToListenerContext
(#9481, #9482)
scraperhelper
: Deprecate ScraperControllerSettings, use ControllerConfig instead (#6767)
v0.94.1
This patch release reverts a dependency update that caused intermittent test failures.
v1.1.0/v0.94.0
End User Changelog
🛑 Breaking changes 🛑
receiver/otlp
: Update gRPC code from codes.InvalidArgument
to codes.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 using componenttest.CheckConfigStruct
(#9438)
-
component
: Add component.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 deprecated DialContext
and ListenContext
functions (#9363)
-
confmap/converter/expandconverter
: Add confmap.ConverterSettings
argument to experimental expandconverter.New
function. (#5615, #9162)
- The
confmap.ConverterSettings
struct currently has no fields. It will be used to pass a logger.
-
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
: Deprecate IsCompressed
. Use CompressionType.IsCompressed instead
instead. (#9435)
configcompression
: Deprecate CompressionType
, use Type
instead. (#9416)
confighttp
: Deprecate CORSSettings, use CORSConfig instead (#6767)
configgrpc
: Deprecate ToListener
function in favor of ToListenerContext
(#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 the featuregate.ErrAlreadyRegistered
error, which is returned by featuregate.Registry
's Register
when adding a feature gate that is already registered. (#8622)
Use errors.Is
to check for this error.
v0.93.0
End user Changelog
🛑 Breaking changes 🛑
exporterhelper
: remove deprecated exporterhelper.RetrySettings and exporterhelper.NewDefaultRetrySettings (#9256)
configopaque
: configopaque.String implements fmt.Stringer
and fmt.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 a memory_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 existing memory_limiter
processor, which potentially can be deprecated and removed in the future
💡 Enhancements 💡
-
configtls
: add cipher_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
: mark telemetry.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
: Implement encoding.BinaryMarshaler
interface to prevent configopaque
-> []byte
-> string
conversions from leaking the value (#9279)
-
configopaque
: configopaque.String implements fmt.Stringer
and fmt.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
: Deprecates DialContext
and ListenContext
functions. Use Dial
and Listen
instead. (#9258)
Unlike the previous Dial
and Listen
functions, the new Dial
and Listen
functions take a context.Context
like DialContext
and ListenContext
.