Skip to content

Latest commit

Β 

History

History
451 lines (303 loc) Β· 21.7 KB

CHANGELOG-API.md

File metadata and controls

451 lines (303 loc) Β· 21.7 KB

Go API Changelog

This changelog includes only developer-facing changes. If you are looking for user-facing changes, check out CHANGELOG.md.

v1.11.0/v0.104.0

πŸ›‘ Breaking changes πŸ›‘

  • otelcol: The otelcol.NewCommand now requires at least one provider be set. (#10436)
  • component/componenttest: Added additional "inserted" count to TestTelemetry.CheckProcessor* methods. (#10353)

🚩 Deprecations 🚩

  • otelcoltest: Deprecates LoadConfigWithSettings and LoadConfigAndValidateWithSettings. Use LoadConfig and LoadConfigAndValidate instead. (#10417)
  • otelcol: The otelcol.NewCommandMustSetProvider is deprecated. Use otelcol.NewCommand instead. (#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 deprecated component.UnmarshalConfig (#7102)
  • confighttp: Use confighttp.ServerConfig as part of zpagesextension.Config. Previously the extension used confignet.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: Deprecate GetClientAuthenticator and GetServerAuthenticator, use GetClientAuthenticatorContext and GetServerAuthenticatorContext instead. (#9808)

  • confighttp: Deprecate ClientConfig.CustomRoundTripper (#8627) Set the Transport field on the *http.Client object returned from (ClientConfig).ToClient instead.

  • filter: Deprecate the filter.CombinedFilter struct (#10348)

  • otelcol: Deprecate otelcol.NewCommand. Use otelcol.NewCommandMustProviderSettings instead. (#10359)

  • otelcoltest: Deprecate LoadConfig and LoadConfigAndValidate. Use LoadConfigWithSettings and LoadConfigAndValidateWithSettings instead (#10359)

πŸ’‘ Enhancements πŸ’‘

  • confmap: Adds confmap.Retrieved.AsString method that returns the configuration value as a string (#9532)
  • confmap: Adds confmap.NewRetrievedFromYAML helper to create confmap.Retrieved values 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 deprecated ConfigProvider field from CollectorSettings (#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: Deprecate component.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 functions ToClientContext, ToListenerContext, and ToServerContext. (#10138)
  • confmap: Deprecate NewWithSettings for all Providers and New for all Converters (#10134) Use NewFactory instead for all affected modules.
  • confmap: Remove deprecated Providers and Converters from confmap.ResolverSettings (#10173) Use ProviderSettings and ConverterSettings instead.

🧰 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: Adds NewDefault* 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 function GetExporters from component.Host interface (#9987)

🚩 Deprecations 🚩

  • confighttp: deprecate ToClientContext, ToServerContext, ToListenerContext, replaced by ToClient, ToServer, ToListener (#9807)
  • configtls: Deprecates ClientConfig.LoadTLSConfigContext and ServerConfig.LoadTLSConfigContext, use ClientConfig.LoadTLSConfig and ServerConfig.LoadTLSConfig instead. (#9945)
  • confmap: Deprecate the Providers and Converters fields in confmap.ResolverSettings (#9516) Use the ProviderFactories and ConverterFactories fields instead.

πŸ’‘ Enhancements πŸ’‘

  • configauth: Adds NewDefault* functions for all the config structs. (#9821)
  • configtls: Adds NewDefault* 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 for component.Type to 63 characters. (#9872)
  • configgrpc: Remove deprecated ToServerContext, use ToServer instead. (#9836)
  • configgrpc: Remove deprecated SanitizedEndpoint. (#9836)
  • configtls: Remove Deprecated TLSSetting, TLSClientSetting, and TLSServerSetting. (#9786)
  • configtls: Rename TLSSetting to Config on ClientConfig and ServerConfig. (#9786)

🚩 Deprecations 🚩

  • confighttp: Deprecate ToClient,ToListenerand ToServer use ToClientContext,ToListenerContext and ToServerContextinstead. (#9807)
  • configtls: Deprecate ClientConfig.LoadTLSConfig and ServerConfig.LoadTLSConfig, use ClientConfig.LoadTLSConfigContext and ServerConfig.LoadTLSConfigContext instead. (#9811)

πŸ’‘ Enhancements πŸ’‘

  • Introduce new module for generating pdata: pdata/testdata (#9886)

  • exporterhelper: Make the WithBatcher 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 require WithRequestBatchFuncs 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)

v1.4.0/v0.97.0

πŸ›‘ Breaking changes πŸ›‘

  • configgrpc: Remove deprecated ToServer function. (#9787)
  • confignet: Change Transport field from string to TransportType (#9385)
  • component: Change underlying type of component.Type to an opaque struct. (#9208)
  • obsreport: Remove deprecated obsreport/obsreporttest package. (#9724)
  • component: Remove deprecated error ErrNilNextConsumer (#9322)
  • connector: Remove LogsRouter, MetricsRouter and TracesRouter. Use LogsRouterAndConsumer, MetricsRouterAndConsumer, TracesRouterAndConsumer respectively instead. (#9095)
  • receiver: Remove deprecated struct ScraperControllerSettings and function NewDefaultScraperControllerSettings (#6767)
  • confmap: Remove deprecated provider.New methods, use NewWithSettings moving forward. (#9443)

🚩 Deprecations 🚩

  • configgrpc: Deprecated ToServerContext, use ToServer instead. (#9787)
  • configgrpc: Deprecate SanitizedEndpoint (#9788)

πŸ’‘ Enhancements πŸ’‘

  • exporterhelper: Add experimental batching capabilities to the exporter helper (#8122)
  • confignet: Adds NewDefault* functions for all the config structs. (#9656)
  • configtls: Validates TLS min_version and max_version (#9475) Introduces Validate() 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: Deprecates ToServer. Use ToServerContext 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)

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 deprecated configcompression types, constants and methods. (#9388)
  • component: Remove host.ReportFatalError (#6344)
  • configgrpc: Remove deprecated configgrpc.ServerConfig.ToListener (#9481)
  • confmap: Remove deprecated confmap.WithErrorUnused (#9484)

🚩 Deprecations 🚩

  • confignet: Deprecate confignet.NetAddr and confignet.TCPAddr in favor of confignet.AddrConfig and confignet.TCPAddrConfig. (#9509)
  • config/configgrpc: Deprecate configgrpc.ClientConfig.SanitizedEndpoint, configgrpc.ServerConfig.ToListener and configgrpc.ServerConfig.ToListenerContext (#9481, #9482)
  • scraperhelper: Deprecate ScraperControllerSettings, use ControllerConfig instead (#6767)

v1.1.0/v0.94.0

πŸ›‘ Breaking changes πŸ›‘

  • confignet: Remove deprecated DialContext and ListenContext functions (#9363)

  • confmap/converter/expandconverter: Add confmap.ConverterSettings argument to experimental expandconverter.New function. (#5615, #9162)

    • The confmap.ConverterSettings struct currently has no fields. It will be used to pass a logger.
  • 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: Deprecate IsCompressed. Use CompressionType.IsCompressed instead instead. (#9435)
  • configcompression: Deprecate CompressionType, use Type instead. (#9416)
  • confighttp: Deprecate CORSSettings, use CORSConfig instead (#6767)
  • configgrpc: Deprecate ToListener function in favor of ToListenerContext (#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 the featuregate.ErrAlreadyRegistered error, which is returned by featuregate.Registry's Register when adding a feature gate that is already registered. (#8622) Use errors.Is to check for this error.

v0.93.0

πŸ›‘ Breaking changes πŸ›‘

  • bug_fix: Implement encoding.BinaryMarshaler interface to prevent configopaque -> []byte -> string conversions from leaking the value (#9279)

  • configopaque: configopaque.String implements fmt.Stringer and fmt.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: Deprecates DialContext and ListenContext functions. Use Dial and Listen instead. (#9258) Unlike the previous Dial and Listen functions, the new Dial and Listen functions take a context.Context like DialContext and ListenContext.

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 the Dial and Listen functions in favor of DialContext and ListenContext. (#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 function featuregate.NewFlag (#8727) Use featuregate.Registry's RegisterFlags method 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)
    • 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

🚩 Deprecations 🚩

  • featuregate: Deprecate featuregate.NewFlag in favor of featuregate.Registry's RegisterFlags method (#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: Deprecating obsreport.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: Deprecating obsreport.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

πŸ’‘ 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)