23 KiB
Go API Changelog
This changelog includes only developer-facing changes. If you are looking for user-facing changes, check out CHANGELOG.md.
v1.12.0/v0.105.0
🛑 Breaking changes 🛑
otelcol: Obtain the Collector's effective config from otelcol.Config (#10139)otelcol.Collectorwill now marshalconfmap.Confobjects fromotelcol.Configitself.otelcoltest: Remove deprecated methodsLoadConfigWithSettingsandLoadConfigAndValidateWithSettings(#10512)
🚩 Deprecations 🚩
configauth: DeprecatedAuthentication.GetClientAuthenticatorContextandAuthentication.GetServerAuthenticatorContext(#10578)otelcol: Deprecateotelcol.ConfmapProvider(#10139)otelcol.Collectorwill now marshalconfmap.Confobjects fromotelcol.Configitself.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)
🚀 New components 🚀
consumer/consumerprofiles: Allow handling profiles in consumer. (#10464)
v1.11.0/v0.104.0
🛑 Breaking changes 🛑
otelcol: Theotelcol.NewCommandnow requires at least one provider be set. (#10436)component/componenttest: Added additional "inserted" count toTestTelemetry.CheckProcessor*methods. (#10353)
🚩 Deprecations 🚩
otelcoltest: DeprecatesLoadConfigWithSettingsandLoadConfigAndValidateWithSettings. UseLoadConfigandLoadConfigAndValidateinstead. (#10417)otelcol: Theotelcol.NewCommandMustSetProvideris deprecated. Useotelcol.NewCommandinstead. (#10436)
🚀 New components 🚀
otelcoltest: Split off go.opentelemetry.io/collector/otelcol/otelcoltest into its own module (#10417)
💡 Enhancements 💡
pdata/pprofile: Add pprofile wrapper to convert proto into pprofile. (#10401)pdata/testdata: Add pdata testdata for profiles. (#10401)
v1.10.0/v0.103.0
🛑 Breaking changes 🛑
component: Remove deprecatedcomponent.UnmarshalConfig(#7102)confighttp: Useconfighttp.ServerConfigas part of zpagesextension.Config. Previously the extension usedconfignet.TCPAddrConfig(#9368)
🚩 Deprecations 🚩
-
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: DeprecateGetClientAuthenticatorandGetServerAuthenticator, useGetClientAuthenticatorContextandGetServerAuthenticatorContextinstead. (#9808) -
confighttp: DeprecateClientConfig.CustomRoundTripper(#8627) Set theTransportfield on the*http.Clientobject returned from(ClientConfig).ToClientinstead. -
filter: Deprecate thefilter.CombinedFilterstruct (#10348) -
otelcol: Deprecateotelcol.NewCommand. Useotelcol.NewCommandMustProviderSettingsinstead. (#10359) -
otelcoltest: DeprecateLoadConfigandLoadConfigAndValidate. UseLoadConfigWithSettingsandLoadConfigAndValidateWithSettingsinstead (#10359)
💡 Enhancements 💡
confmap: Addsconfmap.Retrieved.AsStringmethod that returns the configuration value as a string (#9532)confmap: Addsconfmap.NewRetrievedFromYAMLhelper to createconfmap.Retrievedvalues from YAML bytes (#9532)
v0.102.1
No API-only changes on this release. This release addresses GHSA-c74f-6mfw-mm4v for configgrpc.
v1.9.0/v0.102.0
This release addresses GHSA-c74f-6mfw-mm4v for confighttp.
🛑 Breaking changes 🛑
otelcol: Remove deprecatedConfigProviderfield fromCollectorSettings(#10281)exporterhelper: remove deprecated RequestMarshaler & RequestUnmarshaler types (#10283)service: remove deprecated Telemetry struct and New func (#10285)configtls: remove deprecated LoadTLSConfigContext funcs (#10283)
🚩 Deprecations 🚩
component: Deprecatecomponent.UnmarshalConfig, use(*confmap.Conf).Unmarshal(&intoCfg)instead. (#7102)service/telemetry: Deprecate telemetry.New in favor of telemetry.NewFactory (#4970)
💡 Enhancements 💡
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)
🧰 Bug fixes 🧰
otelcol: Update validate command to use the new configuration options (#10203)
v1.8.0/v0.101.0
🛑 Breaking changes 🛑
confighttp: Removes deprecated functionsToClientContext,ToListenerContext, andToServerContext. (#10138)confmap: DeprecateNewWithSettingsfor all Providers andNewfor all Converters (#10134) UseNewFactoryinstead for all affected modules.confmap: Remove deprecatedProvidersandConvertersfromconfmap.ResolverSettings(#10173) UseProviderSettingsandConverterSettingsinstead.
🧰 Bug fixes 🧰
otelcol: Add explicit mapstructure tags to main configuration struct (#10152)confmap: Support string-like types as map keys when marshaling (#10137)
v1.7.0/v0.100.0
💡 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)
v1.6.0/v0.99.0
🛑 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)
v1.5.0/v0.98.0
🛑 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)
v1.4.0/v0.97.0
🛑 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)
v1.3.0/v0.96.0
🚩 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)
v1.2.0/v0.95.0
🛑 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 deprecatedconfigcompressiontypes, constants and methods. (#9388)component: Removehost.ReportFatalError(#6344)configgrpc: Remove deprecatedconfiggrpc.ServerConfig.ToListener(#9481)confmap: Remove deprecatedconfmap.WithErrorUnused(#9484)
🚩 Deprecations 🚩
confignet: Deprecateconfignet.NetAddrandconfignet.TCPAddrin favor ofconfignet.AddrConfigandconfignet.TCPAddrConfig. (#9509)config/configgrpc: Deprecateconfiggrpc.ClientConfig.SanitizedEndpoint,configgrpc.ServerConfig.ToListenerandconfiggrpc.ServerConfig.ToListenerContext(#9481, #9482)scraperhelper: Deprecate ScraperControllerSettings, use ControllerConfig instead (#6767)
v1.1.0/v0.94.0
🛑 Breaking changes 🛑
-
confignet: Remove deprecatedDialContextandListenContextfunctions (#9363) -
confmap/converter/expandconverter: Addconfmap.ConverterSettingsargument to experimentalexpandconverter.Newfunction. (#5615, #9162)- The
confmap.ConverterSettingsstruct 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 '_'.
🚩 Deprecations 🚩
configcompressions: DeprecateIsCompressed. UseCompressionType.IsCompressed insteadinstead. (#9435)configcompression: DeprecateCompressionType, useTypeinstead. (#9416)confighttp: Deprecate CORSSettings, use CORSConfig instead (#6767)configgrpc: DeprecateToListenerfunction 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.
💡 Enhancements 💡
-
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.ErrAlreadyRegisterederror, which is returned byfeaturegate.Registry'sRegisterwhen adding a feature gate that is already registered. (#8622) Useerrors.Isto check for this error.
v0.93.0
🛑 Breaking changes 🛑
-
bug_fix: Implementencoding.BinaryMarshalerinterface to preventconfigopaque->[]byte->stringconversions from leaking the value (#9279) -
configopaque: configopaque.String implementsfmt.Stringerandfmt.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 withfmt.Sprintfto e.g. build URLs or headers. Explicitly cast the opaque string to a string before using it infmt.Sprintf` to restore the previous behavior. -
all: Remove obsolete "// +build" directives (#9304) -
connectortest: Remove deprecated connectortest router helpers. (#9278)
🚩 Deprecations 🚩
-
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: DeprecatesDialContextandListenContextfunctions. UseDialandListeninstead. (#9258) Unlike the previousDialandListenfunctions, the newDialandListenfunctions take acontext.ContextlikeDialContextandListenContext.
v1.0.1/v0.92.0
🛑 Breaking changes 🛑
otlpexporter: Change Config members names to use Config suffix. (#9091)component: Remove deprecated unused TelemetrySettingsBase (#9145)
🚩 Deprecations 🚩
confignet: Deprecates theDialandListenfunctions in favor ofDialContextandListenContext. (#9163)component: Deprecate unnecessary type StatusFunc (#9146)
v0.91.0
v1.0.0/v0.90.0
🛑 Breaking changes 🛑
exporterhelper: Replace converter interface with function in the new experimental exporter helper. (#8122)featuregate: Remove deprecate functionfeaturegate.NewFlag(#8727) Usefeaturegate.Registry'sRegisterFlagsmethod instead.
🚩 Deprecations 🚩
telemetry: deprecate jsonschema generated types (#15009)
💡 Enhancements 💡
pdata: Add ZeroThreshold field to exponentialHistogramDataPoint in pmetric package. (#8802)
v1.0.0-rcv0018/v0.89.0
🛑 Breaking changes 🛑
otelcol: CollectorSettings.Factories now expects:func() (Factories, error)(#8478)exporter/exporterhelper: The experimental Request API is updated. (#7874)Requestinterface now includes ItemsCount() method.RequestItemsCounteris 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
🚩 Deprecations 🚩
featuregate: Deprecatefeaturegate.NewFlagin favor offeaturegate.Registry'sRegisterFlagsmethod (#8727)
💡 Enhancements 💡
featuregate: Add validation for feature gates ID, URL and versions. (#8766) Feature gates IDs are now explicitly restricted to ASCII alphanumerics and dots.
v1.0.0-rcv0017/v0.88.0
💡 Enhancements 💡
pdata: Add IsReadOnly() method to p[metrics|logs|traces].[Metrics|Logs|Spans] pdata structs allowing to check if the struct is read-only. (#6794)
v1.0.0-rcv0016/v0.87.0
💡 Enhancements 💡
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.
🛑 Breaking changes 🛑
obsreport: remove methods/structs deprecated in previous release. (#8492)extension: remove deprecated Configs and Factories (#8631)
v1.0.0-rcv0015/v0.86.0
🛑 Breaking changes 🛑
service: remove deprecated service.PipelineConfig (#8485)
🚩 Deprecations 🚩
-
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.ObsReportobsreport.ExporterSettings->exporterhelper.ObsReportSettingsobsreport.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.BuildCustomMetricNameobsreport.Processor->processorhelper.ObsReportobsreport.ProcessorSettings->processorhelper.ObsReportSettingsobsreport.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.ObsReportobsreport.ReceiverSettings->receiverhelper.ObsReportSettingsobsreport.NewReceiver->receiverhelper.NewObsReportobsreport.Scraper->scraperhelper.ObsReportobsreport.ScraperSettings->scraperhelper.ObsReportSettingsobsreport.NewScraper->scraperhelper.NewObsReport
💡 Enhancements 💡
otelcol: Splitting otelcol into its own module. (#7924)service: Split service into its own module (#7923)
v0.85.0
v0.84.0
💡 Enhancements 💡
-
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.
v0.83.0
🛑 Breaking changes 🛑
all: Remove go 1.19 support, bump minimum to go 1.20 and add testing for 1.21 (#8207)
💡 Enhancements 💡
changelog: Generate separate changelogs for end users and package consumers (#8153)