This changelog includes only developer-facing changes. If you are looking for user-facing changes, check out CHANGELOG.md.
otelcol
: Delete deprecated NewCommandMustSetProvider (#10778)component
: Removes the deprecatedHost.GetFactory
method. (#10771)otelcoltest
: Theotelcol.LoadConfig
method no longer sets theexpandconverter
. (#10510)ocb
: Collectors built with OCB will no longer include theexpandconverter
(#10510)exporterhelper
: Delete deprecatedexporterhelper.ObsReport
andexporterhelper.NewObsReport
(#10779, #10592)
expandconverter
: Deprecateexpandconverter
. (#10510)
componentstatus
: Adds new componentstatus module that will soon replace status content in component. (#10730)connector/connectorprofiles
: Allow handling profiles in connector. (#10703)exporter/exporterprofiles
: Allow handling profiles in exporter. (#10702)processor/processorprofiles
: Allow handling profiles in processor. (#10691)receiver/receiverprofiles
: Allow handling profiles in receiver. (#10690)
confmap
: Check that providers have a correct scheme when building a confmap.Resolver. (#10786)confighttp
: AddNewDefaultCORSConfig
function to initialize the defaultconfighttp.CORSConfig
(#9655)
-
configauth
: removing deprecated methods GetServerAuthenticatorContext and GetClientAuthenticatorContext (#9808) -
connector,exporter,receiver,extension,processor
: Remove deprecated funcs/structs (#10423) Remove the following funcs & structs:- connector.CreateSettings -> connector.Settings
- connectortest.NewNopCreateSettings -> connectortest.NewNopSettings
- exporter.CreateSettings -> exporter.Settings
- exportertest.NewNopCreateSettings -> exportertest.NewNopSettings
- extension.CreateSettings -> extension.Settings
- extensiontest.NewNopCreateSettings -> extensiontest.NewNopSettings
- processor.CreateSettings -> processor.Settings
- processortest.NewNopCreateSettings -> processortest.NewNopSettings
- receiver.CreateSettings -> receiver.Settings
- receivertest.NewNopCreateSettings -> receivertest.NewNopSettings
-
component/componenttest
: Add optional ...attribute.KeyValue argument to TestTelemetry.CheckExporterMetricGauge. (#10593) -
confighttp
: Auth data type signature has changed (#4806) As part of the linked PR, theauth
attribute was moved fromconfigauth.Authentication
to a newAuthConfig
, which contains aconfigauth.Authentication
. For end-users, this is a non-breaking change. For users of the API, create a new AuthConfig using theconfigauth.Authentication
instance that was being used before. -
mdatagen
: Remove WithAttributes option from the telemetry builder constructor. (#10608) Attribute sets for async instruments now can be set as options to callback setters and async instruments initializers. This allows each async instrument to have its own attribute set. -
service/extensions
: AddsOptions
toextensions.New
. (#10728) This is only a breaking change if you are depending onextensions.New
's signature. Calls toextensions.New
are not broken.
component
: Deprecates Host.GetFactory. (#10709)
component/componentprofiles
: Add componentprofiles module. (#10525)
exporter, processor, receiver
: Document factory functions. (#9323)component
: Document status enums and New constructors (#9822)confighttp, configgrpc
: Remove the experimental comment onIncludeMetadata
in confighttp and configgrpc (#9381)confighttp
: Addconfighttp.NewDefaultServerConfig()
to instantiate the default HTTP server configuration (#9655)consumer/consumertest
: Allow testing profiles with consumertest. (#10692)
confmap
: Fix wrong expansion of environment variables escaped with$$
, e.g.$${ENV_VAR}
and$$ENV_VAR
. (#10713) This change fixes the issue where environment variables escaped with $$ were expanded. The collector now converts$${ENV_VAR}
to${ENV_VAR}
and$$ENV_VAR
to$ENV_VAR
without further expansion.
otelcol
: Obtain the Collector's effective config from otelcol.Config (#10139)otelcol.Collector
will now marshalconfmap.Conf
objects fromotelcol.Config
itself.otelcoltest
: Remove deprecated methodsLoadConfigWithSettings
andLoadConfigAndValidateWithSettings
(#10512)
configauth
: DeprecatedAuthentication.GetClientAuthenticatorContext
andAuthentication.GetServerAuthenticatorContext
(#10578)otelcol
: Deprecateotelcol.ConfmapProvider
(#10139)otelcol.Collector
will now marshalconfmap.Conf
objects fromotelcol.Config
itself.otelcol
: Deprecate(*otelcol.ConfigProvider).GetConfmap
(#10139) Call(*confmap.Conf).Marshal(*otelcol.Config)
to get the Collector's configuration.exporterhelper
: Deprecate the obsreport API in the exporterhelper package. (#10592)
consumer/consumerprofiles
: Allow handling profiles in consumer. (#10464)
otelcol
: Theotelcol.NewCommand
now requires at least one provider be set. (#10436)component/componenttest
: Added additional "inserted" count toTestTelemetry.CheckProcessor*
methods. (#10353)
otelcoltest
: DeprecatesLoadConfigWithSettings
andLoadConfigAndValidateWithSettings
. UseLoadConfig
andLoadConfigAndValidate
instead. (#10417)otelcol
: Theotelcol.NewCommandMustSetProvider
is deprecated. Useotelcol.NewCommand
instead. (#10436)
otelcoltest
: Split off go.opentelemetry.io/collector/otelcol/otelcoltest into its own module (#10417)
pdata/pprofile
: Add pprofile wrapper to convert proto into pprofile. (#10401)pdata/testdata
: Add pdata testdata for profiles. (#10401)
component
: Remove deprecatedcomponent.UnmarshalConfig
(#7102)confighttp
: Useconfighttp.ServerConfig
as part of zpagesextension.Config. Previously the extension usedconfignet.TCPAddrConfig
(#9368)
-
connector
: Deprecate CreateSettings and NewNopCreateSettings (#9428) The following methods are being renamed:- connector.CreateSettings -> connector.Settings
- connector.NewNopCreateSettings -> connector.NewNopSettings
-
exporter
: Deprecate CreateSettings and NewNopCreateSettings (#9428) The following methods are being renamed:- exporter.CreateSettings -> exporter.Settings
- exporter.NewNopCreateSettings -> exporter.NewNopSettings
-
extension
: Deprecate CreateSettings and NewNopCreateSettings (#9428) The following methods are being renamed:- extension.CreateSettings -> extension.Settings
- extension.NewNopCreateSettings -> extension.NewNopSettings
-
processor
: Deprecate CreateSettings and NewNopCreateSettings (#9428) The following methods are being renamed:- processor.CreateSettings -> processor.Settings
- processor.NewNopCreateSettings -> processor.NewNopSettings
-
receiver
: Deprecate CreateSettings and NewNopCreateSettings (#9428) The following methods are being renamed:- receiver.CreateSettings -> receiver.Settings
- receiver.NewNopCreateSettings -> receiver.NewNopSettings
-
configauth
: DeprecateGetClientAuthenticator
andGetServerAuthenticator
, useGetClientAuthenticatorContext
andGetServerAuthenticatorContext
instead. (#9808) -
confighttp
: DeprecateClientConfig.CustomRoundTripper
(#8627) Set theTransport
field on the*http.Client
object returned from(ClientConfig).ToClient
instead. -
filter
: Deprecate thefilter.CombinedFilter
struct (#10348) -
otelcol
: Deprecateotelcol.NewCommand
. Useotelcol.NewCommandMustProviderSettings
instead. (#10359) -
otelcoltest
: DeprecateLoadConfig
andLoadConfigAndValidate
. UseLoadConfigWithSettings
andLoadConfigAndValidateWithSettings
instead (#10359)
confmap
: Addsconfmap.Retrieved.AsString
method that returns the configuration value as a string (#9532)confmap
: Addsconfmap.NewRetrievedFromYAML
helper to createconfmap.Retrieved
values from YAML bytes (#9532)
No API-only changes on this release. This release addresses GHSA-c74f-6mfw-mm4v for configgrpc
.
This release addresses GHSA-c74f-6mfw-mm4v for confighttp
.
otelcol
: Remove deprecatedConfigProvider
field fromCollectorSettings
(#10281)exporterhelper
: remove deprecated RequestMarshaler & RequestUnmarshaler types (#10283)service
: remove deprecated Telemetry struct and New func (#10285)configtls
: remove deprecated LoadTLSConfigContext funcs (#10283)
component
: Deprecatecomponent.UnmarshalConfig
, use(*confmap.Conf).Unmarshal(&intoCfg)
instead. (#7102)service/telemetry
: Deprecate telemetry.New in favor of telemetry.NewFactory (#4970)
confmap
: Allow setting a default Provider on a Resolver to use when${}
syntax is used without a scheme (#10182)pdata
: Introduce string and int64 slices to pcommon (#10148)pdata
: Introduce generated experimental pdata for profiling signal. (#10195)confmap
: Remove top level condition when considering struct as Unmarshalers (#7101)
otelcol
: Update validate command to use the new configuration options (#10203)
confighttp
: Removes deprecated functionsToClientContext
,ToListenerContext
, andToServerContext
. (#10138)confmap
: DeprecateNewWithSettings
for all Providers andNew
for all Converters (#10134) UseNewFactory
instead for all affected modules.confmap
: Remove deprecatedProviders
andConverters
fromconfmap.ResolverSettings
(#10173) UseProviderSettings
andConverterSettings
instead.
otelcol
: Add explicit mapstructure tags to main configuration struct (#10152)confmap
: Support string-like types as map keys when marshaling (#10137)
configgrpc
: AddsNewDefault*
functions for all the config structs. (#9654)exporterqueue
: Expose ErrQueueIsFull so upstream components can retry or apply backpressure. (#10070)
mdatagen
: Call connectors with routers to be the same as the service graph (#10079)
component
: Removed deprecated functionGetExporters
fromcomponent.Host
interface (#9987)
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.
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)
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)
confighttp
: DeprecateToClient
,ToListener
andToServer
useToClientContext
,ToListenerContext
andToServerContext
instead. (#9807)configtls
: DeprecateClientConfig.LoadTLSConfig
andServerConfig.LoadTLSConfig
, useClientConfig.LoadTLSConfigContext
andServerConfig.LoadTLSConfigContext
instead. (#9811)
-
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)
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)
configgrpc
: DeprecatedToServerContext
, useToServer
instead. (#9787)configgrpc
: DeprecateSanitizedEndpoint
(#9788)
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)
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)
receivertest
: add support for metrics in contract checker (#9551)
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)
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)
-
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 '_'.
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.
-
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.
-
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)
-
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
.
otlpexporter
: Change Config members names to use Config suffix. (#9091)component
: Remove deprecated unused TelemetrySettingsBase (#9145)
confignet
: Deprecates theDial
andListen
functions in favor ofDialContext
andListenContext
. (#9163)component
: Deprecate unnecessary type StatusFunc (#9146)
exporterhelper
: Replace converter interface with function in the new experimental exporter helper. (#8122)featuregate
: Remove deprecate functionfeaturegate.NewFlag
(#8727) Usefeaturegate.Registry
'sRegisterFlags
method instead.
telemetry
: deprecate jsonschema generated types (#15009)
pdata
: Add ZeroThreshold field to exponentialHistogramDataPoint in pmetric package. (#8802)
otelcol
: CollectorSettings.Factories now expects:func() (Factories, error)
(#8478)exporter/exporterhelper
: The experimental Request API is updated. (#7874)Request
interface now includes ItemsCount() method.RequestItemsCounter
is removed.- The following interfaces are added:
- Added an optional interface for handling errors that occur during request processing
RequestErrorHandler
. - Added a function to unmarshal bytes into a Request
RequestUnmarshaler
. - Added a function to marshal a Request into bytes
RequestMarshaler
- Added an optional interface for handling errors that occur during request processing
featuregate
: Deprecatefeaturegate.NewFlag
in favor offeaturegate.Registry
'sRegisterFlags
method (#8727)
featuregate
: Add validation for feature gates ID, URL and versions. (#8766) Feature gates IDs are now explicitly restricted to ASCII alphanumerics and dots.
pdata
: Add IsReadOnly() method to p[metrics|logs|traces].[Metrics|Logs|Spans] pdata structs allowing to check if the struct is read-only. (#6794)
pdata
: Introduce API to control pdata mutability (#6794) This change introduces new API pdata methods to control the mutability:- p[metric|trace|log].[Metrics|Traces|Logs].MarkReadOnly() - marks the pdata as read-only. Any subsequent mutations will result in a panic.
- p[metric|trace|log].[Metrics|Traces|Logs].IsReadOnly() - returns true if the pdata is marked as read-only. Currently, all the data is kept mutable. This API will be used by fanout consumer in the following releases.
obsreport
: remove methods/structs deprecated in previous release. (#8492)extension
: remove deprecated Configs and Factories (#8631)
service
: remove deprecated service.PipelineConfig (#8485)
-
obsreporttest
: deprecate To*CreateSettings funcs in obsreporttest (#8492) The following TestTelemetry methods have been deprecated. Use structs instead:- ToExporterCreateSettings -> exporter.CreateSettings
- ToProcessorCreateSettings -> processor.CreateSettings
- ToReceiverCreateSettings -> receiver.CreateSettings
-
obsreport
: Deprecatingobsreport.Exporter
,obsreport.ExporterSettings
,obsreport.NewExporter
(#8492) These deprecated methods/structs have been moved to exporterhelper:obsreport.Exporter
->exporterhelper.ObsReport
obsreport.ExporterSettings
->exporterhelper.ObsReportSettings
obsreport.NewExporter
->exporterhelper.NewObsReport
-
obsreport
: Deprecatingobsreport.BuildProcessorCustomMetricName
,obsreport.Processor
,obsreport.ProcessorSettings
,obsreport.NewProcessor
(#8492) These deprecated methods/structs have been moved to processorhelper:obsreport.BuildProcessorCustomMetricName
->processorhelper.BuildCustomMetricName
obsreport.Processor
->processorhelper.ObsReport
obsreport.ProcessorSettings
->processorhelper.ObsReportSettings
obsreport.NewProcessor
->processorhelper.NewObsReport
-
obsreport
: Deprecating obsreport scraper and receiver API (#8492) These deprecated methods/structs have been moved to receiverhelper and scraperhelper:obsreport.Receiver
->receiverhelper.ObsReport
obsreport.ReceiverSettings
->receiverhelper.ObsReportSettings
obsreport.NewReceiver
->receiverhelper.NewObsReport
obsreport.Scraper
->scraperhelper.ObsReport
obsreport.ScraperSettings
->scraperhelper.ObsReportSettings
obsreport.NewScraper
->scraperhelper.NewObsReport
otelcol
: Splitting otelcol into its own module. (#7924)service
: Split service into its own module (#7923)
-
exporter/exporterhelper
: Introduce a new exporter helper that operates over client-provided requests instead of pdata (#7874) The following experimental API is introduced in exporter/exporterhelper package:NewLogsRequestExporter
: a new exporter helper for logs.NewMetricsRequestExporter
: a new exporter helper for metrics.NewTracesRequestExporter
: a new exporter helper for traces.Request
: an interface for client-defined requests.RequestItemsCounter
: an optional interface for counting the number of items in a Request.LogsConverter
: an interface for converting plog.Logs to Request.MetricsConverter
: an interface for converting pmetric.Metrics to Request.TracesConverter
: an interface for converting ptrace.Traces to Request. All the new APIs are intended to be used by exporters that need to operate over client-provided requests instead of pdata.
-
otlpreceiver
: Export HTTPConfig as part of the API for creating the otlpreceiver configuration. (#8175) Changes signature of receiver/otlpreceiver/config.go type httpServerSettings to HTTPConfig.
all
: Remove go 1.19 support, bump minimum to go 1.20 and add testing for 1.21 (#8207)
changelog
: Generate separate changelogs for end users and package consumers (#8153)