Releases: open-telemetry/opentelemetry-collector
cmd/builder/v0.101.0
v1.7.0/v0.100.0
End User Changelog
🛑 Breaking changes 🛑
service: Thevalidatesub-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
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-versioningfor skipping this check. (#9896)
Strict version checking will error on major and minor version mismatches
between theotelcol_versionconfigured 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
basictonormal, which can be overridden withservice::telmetry::metrics::levelconfiguration. - Batch processor metrics are updated to be reported starting from
normallevel:processor_batch_batch_send_sizeprocessor_batch_metadata_cardinalityprocessor_batch_timeout_trigger_sendprocessor_batch_size_trigger_send
- GRPC/HTTP server and client metrics are updated to be reported starting from
detailedlevel:- 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.Providers 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
providerskey 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, andConverterFactoriesfields toconfmap.ResolverSettings(#9516)
This allows configuring providers and converters, which are instantiated byNewResolverusing 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 functionGetExportersfromcomponent.Hostinterface (#9987)
🚩 Deprecations 🚩
confighttp: deprecate ToClientContext, ToServerContext, ToListenerContext, replaced by ToClient, ToServer, ToListener (#9807)configtls: DeprecatesClientConfig.LoadTLSConfigContextandServerConfig.LoadTLSConfigContext, useClientConfig.LoadTLSConfigandServerConfig.LoadTLSConfiginstead. (#9945)confmap: Deprecate theProvidersandConvertersfields inconfmap.ResolverSettings(#9516)
Use theProviderFactoriesandConverterFactoriesfields 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
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 whereIncludeSystemCACertsPoolwas not consistently used betweenServerConfigandClientConfig. (#9835)component: Fix issue where thecomponentscommand wasn't properly printing the component type. (#9856)otelcol: Fix issue where thevalidatecommand 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.Typeto 63 characters. (#9872)configgrpc: Remove deprecatedToServerContext, useToServerinstead. (#9836)configgrpc: Remove deprecatedSanitizedEndpoint. (#9836)configtls: Remove DeprecatedTLSSetting,TLSClientSetting, andTLSServerSetting. (#9786)configtls: RenameTLSSettingtoConfigonClientConfigandServerConfig. (#9786)
🚩 Deprecations 🚩
confighttp: DeprecateToClient,ToListenerandToServeruseToClientContext,ToListenerContextandToServerContextinstead. (#9807)configtls: DeprecateClientConfig.LoadTLSConfigandServerConfig.LoadTLSConfig, useClientConfig.LoadTLSConfigContextandServerConfig.LoadTLSConfigContextinstead. (#9811)
💡 Enhancements 💡
-
Introduce new module for generating pdata: pdata/testdata (#9886)
-
exporterhelper: Make theWithBatcheroption available for regular exporter helpers based on OTLP data type. (#8122)
Now,WithBatchercan be used with both regular exporter helper (e.g. NewTracesExporter) and the request-based exporter
helper (e.g. NewTracesRequestExporter). The request-based exporter helpers requireWithRequestBatchFuncsoption
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
v1.4.0/v0.97.0
End User Changelog
🛑 Breaking changes 🛑
telemetry: Remove telemetry.useOtelForInternalMetrics stable feature gate (#9752)
🚀 New components 🚀
-
exporter/nop: Add thenopexporterto 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 thenopreceiverto 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: trueandskip_shutdown: trueundertestssection. -
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 honorsUnmarshalmethods on config embedded structs. (#6671)otelcol: Respect telemetry configuration when running as a Windows service (#5300)
Go API Changelog
🛑 Breaking changes 🛑
configgrpc: Remove deprecatedToServerfunction. (#9787)confignet: ChangeTransportfield fromstringtoTransportType(#9385)component: Change underlying type ofcomponent.Typeto an opaque struct. (#9208)obsreport: Remove deprecated obsreport/obsreporttest package. (#9724)component: Remove deprecated errorErrNilNextConsumer(#9322)connector: RemoveLogsRouter,MetricsRouterandTracesRouter. UseLogsRouterAndConsumer,MetricsRouterAndConsumer,TracesRouterAndConsumerrespectively instead. (#9095)receiver: Remove deprecated structScraperControllerSettingsand functionNewDefaultScraperControllerSettings(#6767)confmap: Remove deprecatedprovider.Newmethods, useNewWithSettingsmoving forward. (#9443)
🚩 Deprecations 🚩
configgrpc: DeprecatedToServerContext, useToServerinstead. (#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
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 deprecatedNetAddrandTCPAddr(#9614)
💡 Enhancements 💡
configtls: Addinclude_system_ca_certs_poolto configtls, allowing to load system certs and additional custom certs. (#7774)otelcol: AddConfigProviderSettingstoCollectorSettings(#4759)
This allows passing a custom list ofconfmap.Providers 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.Getthread safe (#9595)
API Changelog
🚩 Deprecations 🚩
configgrpc: DeprecatesToServer. UseToServerContextinstead. (#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)