Skip to content

Latest commit

Β 

History

History
336 lines (226 loc) Β· 16.3 KB

CHANGELOG-API.md

File metadata and controls

336 lines (226 loc) Β· 16.3 KB

Go API Changelog

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

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)

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