Releases: open-telemetry/opentelemetry-collector
v1.7.0/v0.100.0
End User Changelog
🛑 Breaking changes 🛑
service
: Thevalidate
sub-command no longer validates that each pipeline's type is the same as its component types (#10031)
💡 Enhancements 💡
semconv
: Add support for v1.25.0 semantic convention (#10072)builder
: remove the need to go get a module to address ambiguous import paths (#10015)pmetric
: Support parsing metric.metadata from OTLP JSON. (#10026)
🧰 Bug fixes 🧰
exporterhelper
: Fix enabled config option for batch sender (#10076)
Go API Changelog
This changelog includes only developer-facing changes.
If you are looking for user-facing changes, check out CHANGELOG.md.
💡 Enhancements 💡
configgrpc
: AddsNewDefault*
functions for all the config structs. (#9654)exporterqueue
: Expose ErrQueueIsFull so upstream components can retry or apply backpressure. (#10070)
🧰 Bug fixes 🧰
mdatagen
: Call connectors with routers to be the same as the service graph (#10079)
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.100.0
cmd/builder/v0.100.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.100.0
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)
💡 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)