This changelog includes only developer-facing changes. If you are looking for user-facing changes, check out CHANGELOG.md.
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)