Releases: open-telemetry/opentelemetry-collector
v1.6.0/v0.99.0
End User Changelog
🛑 Breaking changes 🛑
-
builder
: Add strict version checking when using the builder. Add the temporary flag--skip-strict-versioning
for skipping this check. (#9896)
Strict version checking will error on major and minor version mismatches
between theotelcol_version
configured and the builder version or versions
in the go.mod. This check can be temporarily disabled by using the--skip-strict-versioning
flag. This flag will be removed in a future minor version. -
telemetry
: Distributed internal metrics across different levels. (#7890)
The internal metrics levels are updated along with reported metrics:- The default level is changed from
basic
tonormal
, which can be overridden withservice::telmetry::metrics::level
configuration. - Batch processor metrics are updated to be reported starting from
normal
level:processor_batch_batch_send_size
processor_batch_metadata_cardinality
processor_batch_timeout_trigger_send
processor_batch_size_trigger_send
- GRPC/HTTP server and client metrics are updated to be reported starting from
detailed
level:- http.client.* metrics
- http.server.* metrics
- rpc.server.* metrics
- rpc.client.* metrics
- The default level is changed from
💡 Enhancements 💡
-
confighttp
: Disable concurrency in zstd compression (#8216) -
cmd/builder
: Allow configuringconfmap.Provider
s in the builder. (#4759)
If no providers are specified, the defaults are used.
The default providers are: env, file, http, https, and yaml.To configure providers, use the
providers
key in your OCB build
manifest with a list of Go modules for your providers.
The modules will work the same as other Collector components. -
mdatagen
: enable goleak tests by default via mdatagen (#9959) -
cmd/mdatagen
: support excluding some metrics based on string and regexes in resource_attributes (#9661) -
cmd/mdatagen
: Generate config and factory tests covering their requirements. (#9940)
The tests are moved from cmd/builder. -
confmap
: AddProviderSettings
,ConverterSettings
,ProviderFactories
, andConverterFactories
fields toconfmap.ResolverSettings
(#9516)
This allows configuring providers and converters, which are instantiated byNewResolver
using the given factories.
🧰 Bug fixes 🧰
exporter/otlp
: Allow DNS scheme to be used in endpoint (#4274)service
: fix record sampler configuration (#9968)service
: ensure the tracer provider is configured via go.opentelemetry.io/contrib/config (#9967)otlphttpexporter
: Fixes a bug that was preventing the otlp http exporter from propagating status. (#9892)confmap
: Fix decoding negative configuration values into uints (#9060)
API Changelog
🛑 Breaking changes 🛑
component
: Removed deprecated functionGetExporters
fromcomponent.Host
interface (#9987)
🚩 Deprecations 🚩
confighttp
: deprecate ToClientContext, ToServerContext, ToListenerContext, replaced by ToClient, ToServer, ToListener (#9807)configtls
: DeprecatesClientConfig.LoadTLSConfigContext
andServerConfig.LoadTLSConfigContext
, useClientConfig.LoadTLSConfig
andServerConfig.LoadTLSConfig
instead. (#9945)confmap
: Deprecate theProviders
andConverters
fields inconfmap.ResolverSettings
(#9516)
Use theProviderFactories
andConverterFactories
fields instead.
💡 Enhancements 💡
configauth
: AddsNewDefault*
functions for all the config structs. (#9821)configtls
: AddsNewDefault*
functions for all the config structs. (#9658)pmetric
: Support metric.metadata in pdata/pmetric (#10006)
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.99.0
cmd/builder/v0.99.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.99.0
v1.5.0/v0.98.0
End User Changelog
🛑 Breaking changes 🛑
service
: emit internal collector metrics with _ instead of / with OTLP export (#9774)
This is addressing an issue w/ the names of the metrics generated by the Collector for its
internal metrics. Note that this change only impacts users that emit telemetry using OTLP, which
is currently still in experimental support. The prometheus metrics already replaced/
with_
and they will do the same with_
.
💡 Enhancements 💡
mdatagen
: Adds unsupported platforms to the README header (#9794)confmap
: Clarify the use of embedded structs to make unmarshaling composable (#7101)nopexporter
: Promote the nopexporter to beta (#7316)nopreceiver
: Promote the nopreceiver to beta (#7316)otlpexporter
: Checks for port in the config validation for the otlpexporter (#9505)service
: Validate pipeline type against component types (#8007)
🧰 Bug fixes 🧰
configtls
: Fix issue whereIncludeSystemCACertsPool
was not consistently used betweenServerConfig
andClientConfig
. (#9835)component
: Fix issue where thecomponents
command wasn't properly printing the component type. (#9856)otelcol
: Fix issue where thevalidate
command wasn't properly printing valid component type. (#9866)receiver/otlp
: Fix bug where the otlp receiver did not properly respond with a retryable error code when possible for http (#9357)
Go API Changelog
🛑 Breaking changes 🛑
component
: Restricts maximum length forcomponent.Type
to 63 characters. (#9872)configgrpc
: Remove deprecatedToServerContext
, useToServer
instead. (#9836)configgrpc
: Remove deprecatedSanitizedEndpoint
. (#9836)configtls
: Remove DeprecatedTLSSetting
,TLSClientSetting
, andTLSServerSetting
. (#9786)configtls
: RenameTLSSetting
toConfig
onClientConfig
andServerConfig
. (#9786)
🚩 Deprecations 🚩
confighttp
: DeprecateToClient
,ToListener
andToServer
useToClientContext
,ToListenerContext
andToServerContext
instead. (#9807)configtls
: DeprecateClientConfig.LoadTLSConfig
andServerConfig.LoadTLSConfig
, useClientConfig.LoadTLSConfigContext
andServerConfig.LoadTLSConfigContext
instead. (#9811)
💡 Enhancements 💡
-
Introduce new module for generating pdata: pdata/testdata (#9886)
-
exporterhelper
: Make theWithBatcher
option available for regular exporter helpers based on OTLP data type. (#8122)
Now,WithBatcher
can be used with both regular exporter helper (e.g. NewTracesExporter) and the request-based exporter
helper (e.g. NewTracesRequestExporter). The request-based exporter helpers requireWithRequestBatchFuncs
option
providing batching functions. -
confmap
: Creates a logger in the confmap.ProviderSettings and uses it to log when there is a missing or blank environment variable referenced in config. For now the noop logger is used everywhere except tests. (#5615)
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.98.0
cmd/builder/v0.98.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.98.0
v1.4.0/v0.97.0
End User Changelog
🛑 Breaking changes 🛑
telemetry
: Remove telemetry.useOtelForInternalMetrics stable feature gate (#9752)
🚀 New components 🚀
-
exporter/nop
: Add thenopexporter
to serve as a placeholder exporter in a pipeline (#7316)
This is primarily useful for starting the Collector with only extensions enabled
or to test Collector pipeline throughput. -
receiver/nop
: Add thenopreceiver
to serve as a placeholder receiver in a pipeline (#7316)
This is primarily useful for starting the Collector with only extensions enabled.
💡 Enhancements 💡
-
configtls
: Validates TLS min_version and max_version (#9475)
IntroducesValidate()
method in TLSSetting. -
configcompression
: Mark module as Stable. (#9571) -
cmd/mdatagen
: Use go package name for the scope name by default and add an option to provide the scope name in metadata.yaml. (#9693) -
cmd/mdatagen
: Generate the lifecycle tests for components by default. (#9683)
It's encouraged to have lifecycle tests for all components enadled, but they can be disabled if needed
in metadata.yaml withskip_lifecycle: true
andskip_shutdown: true
undertests
section. -
cmd/mdatagen
: optimize the mdatagen for the case like batchprocessor which use a common struct to implement consumer.Traces, consumer.Metrics, consumer.Logs in the meantime. (#9688)
🧰 Bug fixes 🧰
exporterhelper
: Fix persistent queue size backup on reads. (#9740)processor/batch
: Prevent starting unnecessary goroutines. (#9739)otlphttpexporter
: prevent error on empty response body when content type is application/json (#9666)confmap
: confmap honorsUnmarshal
methods on config embedded structs. (#6671)otelcol
: Respect telemetry configuration when running as a Windows service (#5300)
Go API Changelog
🛑 Breaking changes 🛑
configgrpc
: Remove deprecatedToServer
function. (#9787)confignet
: ChangeTransport
field fromstring
toTransportType
(#9385)component
: Change underlying type ofcomponent.Type
to an opaque struct. (#9208)obsreport
: Remove deprecated obsreport/obsreporttest package. (#9724)component
: Remove deprecated errorErrNilNextConsumer
(#9322)connector
: RemoveLogsRouter
,MetricsRouter
andTracesRouter
. UseLogsRouterAndConsumer
,MetricsRouterAndConsumer
,TracesRouterAndConsumer
respectively instead. (#9095)receiver
: Remove deprecated structScraperControllerSettings
and functionNewDefaultScraperControllerSettings
(#6767)confmap
: Remove deprecatedprovider.New
methods, useNewWithSettings
moving forward. (#9443)
🚩 Deprecations 🚩
configgrpc
: DeprecatedToServerContext
, useToServer
instead. (#9787)configgrpc
: DeprecateSanitizedEndpoint
(#9788)
💡 Enhancements 💡
exporterhelper
: Add experimental batching capabilities to the exporter helper (#8122)confignet
: AddsNewDefault*
functions for all the config structs. (#9656)configtls
: Validates TLS min_version and max_version (#9475)
IntroducesValidate()
method in TLSSetting.exporterhelper
: Invalid exporterhelper options now make the exporter creation error out instead of panicking. (#9717)components
: Give NoOp components a unique name (#9637)
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.97.0
cmd/builder/v0.97.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.97.0
v0.96.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.96.0
End User Changelog
🛑 Breaking changes 🛑
configgrpc
: Remove deprecatedGRPCClientSettings
,GRPCServerSettings
, andServerConfig.ToListenerContext
. (#9616)confighttp
: Remove deprecatedHTTPClientSettings
,NewDefaultHTTPClientSettings
, andCORSSettings
. (#9625)confignet
: Removes deprecatedNetAddr
andTCPAddr
(#9614)
💡 Enhancements 💡
configtls
: Addinclude_system_ca_certs_pool
to configtls, allowing to load system certs and additional custom certs. (#7774)otelcol
: AddConfigProviderSettings
toCollectorSettings
(#4759)
This allows passing a custom list ofconfmap.Provider
s tootelcol.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
: MakeMetadata.Get
thread safe (#9595)
API Changelog
🚩 Deprecations 🚩
configgrpc
: DeprecatesToServer
. UseToServerContext
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)
cmd/builder/v0.96.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.96.0
v1.2.0/v0.95.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/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
: Validatemax_elapsed_time
, ensure it is larger thanmax_interval
andinitial_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 deprecatedconfigcompression
types, constants and methods. (#9388)component
: Removehost.ReportFatalError
(#6344)configgrpc
: Remove deprecatedconfiggrpc.ServerConfig.ToListener
(#9481)confmap
: Remove deprecatedconfmap.WithErrorUnused
(#9484)
🚩 Deprecations 🚩
confignet
: Deprecateconfignet.NetAddr
andconfignet.TCPAddr
in favor ofconfignet.AddrConfig
andconfignet.TCPAddrConfig
. (#9509)config/configgrpc
: Deprecateconfiggrpc.ClientConfig.SanitizedEndpoint
,configgrpc.ServerConfig.ToListener
andconfiggrpc.ServerConfig.ToListenerContext
(#9481, #9482)scraperhelper
: Deprecate ScraperControllerSettings, use ControllerConfig instead (#6767)