Skip to content

Latest commit

 

History

History
984 lines (642 loc) · 47 KB

File metadata and controls

984 lines (642 loc) · 47 KB

GO API Changelog

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

v0.139.0

🛑 Breaking changes 🛑

  • cmd/opampsupervisor: Remove common package, moving code where it is used instead. (#43885)
  • extension/sumologic: Move api and credentials packages to internal (#43789)
  • pkg/translator/zipkin: Unexport ToTranslator (#43852)
  • receiver/aerospike: Unexport mocks (#43788)
  • receiver/azuremonitor: unexport NewMutexMapImpl and NewSyncMapImpl (#43925)
  • receiver/jmx: unexport InsertDefault (#43965)

v0.138.0

🛑 Breaking changes 🛑

  • exporter/tencentcloud_logservice: Unexport Log_Content, LogTag, Log, LogGroupList, LogGroup (#43138)
  • pkg/datadog: Move feature gates ReceiveResourceSpansV2FeatureGate, OperationAndResourceNameV2FeatureGate, and MetricRemappingDisabledFeatureGate from pkg/datadog to new submodule pkg/datadog/featuregates (#43631)

🚩 Deprecations 🚩

  • pkg/datadog: Remove logs::dump_payloads config option from pkg/datadog config. (#43427)

💡 Enhancements 💡

  • pkg/ottl: Add support for literal getters (#40222) This enhancement introduces the ottl.GetLiteralValue function to OTTL, enabling compile-time optimization for getters that contain literal values. When a getter is identified as containing a literal value, OTTL functions can now access that value at build time rather than runtime, improving performance for common use cases like pattern matching with static strings.

  • processor/filter: Add profiles support (#42762)

  • receiver/hostmetrics: Add metrics, Linux scraper, and tests to hostmetricsreceiver's nfsscraper (#40134)

v0.137.0

🛑 Breaking changes 🛑

  • libhoneyreceiver: Unexport JSONEncoder (#43133)

🚩 Deprecations 🚩

  • pkg/datadog, exporter/datadog, extension/datadog: Deprecates StaticAPIKeyCheck, stops doing validation for API key characters in Datadog exporter and extension. (#42677) This was causing issues to users since validation of secrets is challenging

💡 Enhancements 💡

  • pkg/ottl: Create ctxprofilecommon for common attribute handling in various profiling sub messages (#42107)
  • logicmonitorexporter: Send log level along with log data (#41923)

v0.136.0

🛑 Breaking changes 🛑

  • datadogexporter: Deprecate zorkian codepath (#17373) Feature gate exporter.datadogexporter.metricexportnativeclient is now deprecated; the default metrics exporter is now Metrics Export Serializer unless feature gate exporter.datadogexporter.metricexportserializerclient is disabled. See https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.122.0 and #37930 for more info about Metrics Export Serializer.

  • pkg/translator/prometheusremotewrite: Function 'OtelMetricsToMetadata' now returns an error if unable to convert a metric to metadata (#42493)

v0.135.0

💡 Enhancements 💡

  • datadog: remove references to DataDog/opentelemetry-mapping-go library in favor of DataDog/datadog-agent/pkg/opentelemetry-mapping-go (#42475) No change to end user behavior.

v0.134.0

v0.133.0

🛑 Breaking changes 🛑

  • signaltometricsconnector: Use configoptional for optional metric fields (#41922)
  • azureauthextension: Use configoptional for optional fields in azureauthextension config. (#41926)
  • libhoneyreceiver: Use configoptional for HTTP config in libhoneyreceiver (#41974)
  • sumologicprocessor: Remove unnecessary pointer for types in configuration struct. (#41928)
  • receiver/prometheus: Use configoptional for optional fields (#42140)
  • prometheusremotewriteexporter: Use configoptional for WAL configuration (#41980)
  • jaegerreceiver: Use configoptional for optional protocol sections. (#41982)
  • pulsarreceiver: Use configoptional for optional authentication fields. (#41920)
  • awscloudwatchreceiver: Remove pointer from type of config (#41975)
  • mongodbatlasreceiver: Use configoptional and remove pointer for Config fields (#41939)
  • solacereceiver: Use configoptional for optional types (#41977)
  • spanmetricsconnector: Use configoptional for optional fields (#41941)

🚩 Deprecations 🚩

  • opencensusreceiver, opencensusexporter: Deprecate opencensusreceiver and opencensusexporter. (#36791)

💡 Enhancements 💡

  • filterprocessor: Create With*Functions factory options to provide custom OTTL functions for logs, metrics or traces to the resulting filter processor. (#40948)
  • oidcauthextension: Add support for accessing custom JWT claims. (#41449) Users can now access JWT claims from OIDC Auth context allowing dynamic processing based on received JWT token.

v0.132.0

🛑 Breaking changes 🛑

  • journaldreceiver: Unexport ReceiverType (#40666)
  • pulsarexporter: Use configoptional.Optional for authentication fields (#41723)
  • exporter/loadbalancingexporter: Use configoptional for optional config sections (#41697)

💡 Enhancements 💡

  • pkg/ottl: Add OTTL support for sample submessage of OTel Profiling signal. (#40161)
  • internal/common: Add a priority queue implementation to the common package. (#41755)

v0.131.0

🛑 Breaking changes 🛑

  • metricstransformprocessor: Unexport Operation, ValueAction, FilterConfig (#40657)
  • oidcauthextension: Unexport ProviderContainer (#41633)
  • pkg/ottl: Remove experimental transform context option WithCache from OTTL Profile context. (#41277)
  • tailsamplingprocessor: Latency config name change from UpperThresholdmsMs to UpperThresholdMs (#41563)
  • awskinesisexporter: Unexport Exporter (#40645)
  • deltatocumulativeprocessor: Unexport Processor,CountingSink (#40656)
  • datasetexporter: Unexport DatasetExporter, ExporterConfig (#40649)

💡 Enhancements 💡

  • oidcauthextension: Add support for multiple OIDC providers. (#40854) Users can now configure multiple OIDC providers in the OIDC Auth extension. Tokens will be matched to a provider based on the iss claim.

  • pkg/ottl: Add support for combining scope with other OTTL contexts. (#39308) Previously, OTTL paths could only use the instrumentation_scope context when combined with lower-level contexts like log or metric. This change allows the scope context to be used interchangeably with instrumentation_scope, improving flexibility and consistency.

v0.130.0

🛑 Breaking changes 🛑

  • splunkhecexporter: Update 'batcher' config to use internal deprecated struct instead of the one removed from the core. (#41224)
  • elasticsearchexporter: Update 'batcher' config to use internal struct instead of the one removed from the core. (#41225)
  • sumologicprocessor: Types that do not contribute to intended API surface will be unexported (#40660) open-telemetry#40641

💡 Enhancements 💡

  • pkg/ottl: Add a GetOr function to ottl.Optional to return a default value when the optional is empty. (#40243)
  • metricstarttimeprocessor: Add the start_time_metric, which sets the start time based on another metric in the batch of metrics. (#38383)

v0.129.0

🛑 Breaking changes 🛑

  • azuremonitorexporter: Unexport MessagingAttributes,ExceptionAttributes,DatabaseAttributes,RPCAttributes,HTTPAttributes,ConnectionVars,NetworkAttributes (#40648)
  • sentryexporter: unexport structs and methods which should be private (#40651)
  • datadogreceiver: Unexport Endpoint struct (#40663)
  • azureeventhubreceiver: Unexport AzureResourceLogsEventUnmarshaler (#40661)
  • kineticaexporter: unexport structs (#40680) | unexport SumScopeAttribute,ExponentialHistogramResourceAttribute,ExponentialHistogramDataPointAttribute, SummaryResourceAttribute,SummaryDataPointAttribute,Summary,HistogramScopeAttribute,HistogramDatapointExplicitBound, Histogram,GaugeScopeAttribute,ExponentialHistogramDataPointExemplarAttribute,ValueTypePair,HistogramDatapointExemplar, GaugeDataPointExemplarAttribute,HistogramDatapointBucketCount,HistogramDataPointAttribute,GaugeDatapointAttribute, ExponentialHistogramDatapoint,ExponentialHistogram,SumResourceAttribute,SumDatapoint,SummaryDatapointQuantileValues, Sum,KiWriter,HistogramResourceAttribute,HistogramDatapoint,GaugeResourceAttribute,GaugeDatapointExemplar, ExponentialHistogramBucketNegativeCount,SumDataPointExemplarAttribute,GaugeDatapoint,Gauge,ExponentialHistogramScopeAttribute, ExponentialHistogramBucketPositiveCount,AttributeValue,SummaryScopeAttribute,SumDatapointExemplar,SumDataPointAttribute, HistogramDataPointExemplarAttribute,ExponentialHistogramDatapointExemplar,SummaryDatapoint
  • mysqlreceiver: Unexport TableStats,TableIoWaitsStats,StatementEventStats,ReplicaStatusStats,IoWaitsStats,IndexIoWaitsStats,MySQLTestConfig structs from mysqlreceiver (#40671)
  • sumologicextension: Unexport ErrorAPI (#40655)
  • prometheusremotewritereceiver: Unexport MockConsumer,MetricIdentity structs (#40673)
  • snmpreceiver: Unexport SNMPData (#40543)
  • azuredataexplorerexporter: Unexport Status, Link, AdxTrace, AdxLog, Event, AdxMetric (#40647)
  • bearertokenauthextension: Unexport BearerAuthRoundTripper,PerRPCAuth,BearerTokenAuth (#40652)
  • podmanreceiver: Unexport ContainerScraper (#40672)
  • alibabacloudlogserviceexporter: Unexport KeyValues,KeyValue structs (#40644)
  • libhoneyreceiver: remove unused EnvironmentInfo,AuthInfo,TeamInfo (#40669)

💡 Enhancements 💡

  • hostmetricsreceiver: Skeleton nfsscraper -- adds Linux nfs and nfsd metrics from /proc (#39978)

  • sqlserverreceiver: do not export Item struct (#40676)

  • transformprocessor: Create With*Functions factory options to provide custom OTTL functions for logs, metrics or traces to the resulting transform processor. (#39698)

  • pkg/datadog: Exposes 'SerializerWithForwarder' interface to allow for direct interaction with the underlying forwarder's lifecycle methods. (#40637)

  • pkg/datadog: Creates agentcomponents package to be used in Datadog components that rely on external dependencies. (#40532, #40556, #40560) Deprecates datadog.Zaplogger in favor of agentcomponents.ZapLogger.

  • pkg/ottl: Add context inference support for OTTL value expressions (#39158)

  • pkg/ottl: Add new ContainsValue converter to check whether a value is present in a slice. (#30420) Add ottl.PSliceGetter, a typed getter for pcommon.Slice

  • postgresqlreceiver: Adopt mdatagen events for postgresqlreceiver. (#40549)

  • sqlqueryreceiver: Add SQL connection fields host, port, database, username, password, and additional_params. (#39760) These options can be used instead of the existing datasource configuration option.

v0.128.0

🛑 Breaking changes 🛑

  • prometheusremoteexporter: Delete unused struct CreatedMetric (#40266)

  • k8slogreceiver: Unexport DockerConfig and CRIConfig (#40274)

  • several: Rename fields named TLSSetting to TLS for consistency with the core repository. (#40452) This change affects the following components:

    • exporter/datadogexporter
    • exporter/signalfxexporter
    • exporter/syslogexporter
    • extension/awsproxy
    • extension/oauth2clientauthextension
    • extension/opampextension
    • processor/resourcedetectionprocessor/internal/openshift
    • receiver/awsfirehosereceiver
    • receiver/cloudfoundryreceiver
    • receiver/prometheusreceiver/targetallocator
  • azureblobexporter: Delete type alias Container (#40268)

  • headersetterextension: Unexport Header (#40542)

  • intervalprocessor: Unexport Processor (#40273)

  • splunkenterprisereceiver: Unexport Info (#40267)

💡 Enhancements 💡

  • pkg/ottl: Add ottl.ValueComparator API to allow comparing values using the OTTL comparison rules (#40370) This change introduces a new API (ottl.NewValueComparator) that allows users to compare raw values using the OTTL comparison rules. It is useful for implementing custom logic in OTTL functions where value comparison and consistency is desired.

🧰 Bug fixes 🧰

  • pkg/translator/prometheusremotewrite: Fix bug where metric metadata was sent with incorrect metric name if configuration includes 'namespace' (#39826)
  • prometheusexporter: Expose Scope Name, Version, Schema URL, and Attributes as labels. (#40004) This work is done to comply with open-telemetry/opentelemetry-specification#4223.

v0.127.0

🛑 Breaking changes 🛑

  • cloudfoundryreceiver: Unexport EnvelopeStreamFactory and UAATokenProvider (#40270)
  • fluentforwardreceiver: Unexport all structs in fluentforward receiver. (#40108)
  • postgresqlreceiver: Unexport Item (#40265)
  • netflowreceiver: Unexport OtelLogsProducerWrapper (#40269)
  • k8sobserver: Unexport RunningContainer (#40228)
  • receiver/vcenter: unexport struct DatacenterStats (#40109)
  • tcpcheckreceiver: Unexport TCPConnectionState (#40271)
  • wavefrontreceiver: Unexport WavefrontParser struct (#40105)

💡 Enhancements 💡

  • sqlserverreceiver: Use generated structured event functions in mdatagen (#40041)

🧰 Bug fixes 🧰

  • pkg/experimentalmetricmetadata: Add missing otel.entity.type field to the delete events (#40279)

v0.126.0

🛑 Breaking changes 🛑

  • fluentforwardreceiver: Unexport AckResponse (#39831)
  • splunkenterprisereceiver: Unexport InfoEntry and InfoContent (#39830)

💡 Enhancements 💡

  • pkg/winperfcounters: Add methods to scrape raw values from Windows performance counters. (#39835)
  • eventlogreceiver: add raw XML query filtering option (#38517)
  • prometheusremotewriteexporter: Add exporter.prometheusremotewritexporter.enableSendingRW2 feature gate and configuration to the exporter to send Prometheus remote write 2.0 version. (#33661) WARNING! PRW 2.0 support for the exporter is still under development and not ready for usage.

v0.125.0

💡 Enhancements 💡

  • pkg/ottl: Add ottl.WithContextInferenceConditions option to allow configuring extra context inferrer OTTL conditions (#39455)

  • awss3exporter: add configuration field resource_attrs_to_s3/s3_prefix to support mapping s3 bucket prefix to OTel resource attributes (#37858) If resource_attrs_to_s3/s3_prefix is configured, s3 prefix will be determined based on the specified resource attribute and s3uploader/s3_prefix will serve as a fallback.

  • pkg/golden: Expose methods to write data to file outside of the scope of a test (#39673) Expose WriteMetricsToFile to write pmetric data to a file outside of the scope of a test. Expose WriteTracesToFile to write ptrace data to a file outside of the scope of a test Expose WriteLogsToFile to write plog data to a file outside of the scope of a test Expose WriteProfilesToFile to write pprofile data to a file outside of the scope of a test

  • pkg/ottl: Add PMapGetSetter interface and StandardPMapGetSetter type. (#39657)

🧰 Bug fixes 🧰

  • resourcedetectionprocessor: change the EKS cluster identifier and check the cluster version instead of the existence of aws-auth configmap (#39479)
  • transformprocessor: Fix the context inferrer to also take into consideration the global OTTL conditions configuration. (#39455)

v0.124.1

v0.124.0

🛑 Breaking changes 🛑

  • extension/headerssetter: Change DefaultValue to use configopaque.String type. (#39127)
  • datadogexporter: Remove deprecated exporter configs. The exporter now uses pkg/datadog/config (#39104) No impact to end users
  • pkg/ottl: Remove experimental transform context option WithCache from all OTTL contexts. (#39338)

💡 Enhancements 💡

  • pkg/pdatatest: Introduce IgnoreExemplars, IgnoreExemplarSlice and ChangeDatapointAttributeValue to CompareMetricsOption (#39004)

🧰 Bug fixes 🧰

  • receiver/kubeletstats: support user defined CA path for service account using the configtls option ca_file (#39291)

v0.123.0

🛑 Breaking changes 🛑

  • elasticsearchexporter: Remove deprecated fields [min|max]_size_items from batch config (#38836)
  • kakfaexporter: Disable exposing factory options programmatically on NewFactory. (#38874)
  • kafkareceiver: Disable exposing factory options programmatically on NewFactory. (#38874)
  • stefexporter: Avoid embedding the QueueConfig, avoids potential conflicts (#38887)

💡 Enhancements 💡

  • prometheusremotewriteexporter: Adds logic to convert from the internal OTEL Metrics unit format to Prometheus unit format and emit unit as part of Prometheus metadata. (#29452)

🧰 Bug fixes 🧰

  • pkg/ottl: Fix the ottl.ParserCollection to properly infer the OTTL context when using the ParseConditions function. (#38755)
  • pkg/pdatatest: Change type of attribute values from string to any. (#39006)
  • telemetrygen: Fixes invalid HistogramDataPoint messages generated by telemetrygen. (#39025) The bucket count and total count are now correct.

v0.122.0

🛑 Breaking changes 🛑

  • pkg/ottl: Add support for parsing OTTL conditions to the ottl.ParserCollection. (#37904) The ottl.WithParserCollectionContext option now requires the converters to be configured using the ottl.WithStatementConverter and ottl.WithConditionConverter options.

  • datadogconnector: Remove datagodconnector.TracesConfig, use datadogconfig.TracesConnectorConfig instead (#38661)

💡 Enhancements 💡

  • dbstorageextension: Optimize dbstorage.Batch() performance for single-type Operations set call (#38026)
  • bearertokenauthextension: Add the ability to configure multiple bearer tokens for the same endpoint. (#38148)
  • pkg/pdatatest: Add ValidateProfile() function to validate pprofile.Profile. (#38452)
  • receiver/prometheus: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646)
  • pkg/pdatatest: Simplify generating profiles for testing by transforming Go structs to profiles. (#38430)

v0.121.0

🛑 Breaking changes 🛑

  • pkg/stanza: Add method ProcessBatch to Operator interface in pkg/stanza/operator package to support batch processing. (#35455)
  • pkg/stanza: Change signature of emit.Callback function in pkg/stanza/fileconsumer/emit package to emit multiple tokens. (#35455)
  • awscontainerinsightreceiver: Remove high cardinality attribute Timestamp from metrics generated by awscontainerinsightreceiver (#35861)
  • pkg/ottl: Remove ottl.Option in favor of ottl.Option[ottl.TransformContext] (#38247)

💡 Enhancements 💡

  • extension/sumologicextension: Sanitize the version before it is used to send data to SumoLogic (#37689)
  • metricstarttimeprocessor: add true_reset_point strategy for setting the start timestamp of cumulative points. (#37186) The implementation is copied from the Prometheus receiver.
  • pkg/datadog: StaticAPIKeyCheck available in pkg/datadog to validate Datadog api is key not empty and no invalid characters (#38223) refactor of existing logic for export
  • receiver/statsd: Make all types within the config struct public (#38186) This allows programmatically generating the receiver's config using the module's public types.

🧰 Bug fixes 🧰

  • testbed: Fix batch interval calculation to avoid possible division by zero (#38084)

v0.120.1

v0.120.0

🛑 Breaking changes 🛑

  • s3provider: Delete deprecated New factory function. Use NewFactory instead. (#37921)
  • secretsmanagerprovider: Delete deprecated New function, use NewFactory instead (#37923)
  • pkg/stanza: Remove deprecated flush.WithPeriod. (#37784)
  • pkg/stanza: Remove deprecated func BuildWithSplitFunc from stanza/fileconsumer (#37723)

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate all functions in stanza/decode (#37734)

💡 Enhancements 💡

  • pkg/translator/prometheusremotewrite: add support for metric type sum in FromMetricsV2 (#33661) The public function is partially implemented and not ready for use
  • pkg/datadog: Expose the internal Zaplogger implementation (#37939)
  • dbstorageextension: Add DB Transactions to dbstorage.Batch() method as it is expected by Storage API (#37805)
  • internal/datadog: create new package github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/hostmetadata which exposes GetSourceProvider from github.com/open-telemetry/opentelemetry-collector-contrib/internal/datadog/hostmetadata (#37668)
  • textutil: Remove unnecessary copy while decoding and constructing string (#37734) This PR affects all log receivers, text extension and kafkareceiver.
  • telemetrygen: Exported the API for telemetrygen for test uses. Additionally added new E2E tests and fixed race condition (#36984)
  • tailsamplingprocessor: Add support for external caches when using the Tailsampling Processor in code. (#37035)

v0.119.0

🚀 New components 🚀

  • metricstarttimeprocessor: Add the initial skeleton for the metricsstarttimeprocessor (#37186) The component is still in development and is not ready for use.

v0.118.0

🛑 Breaking changes 🛑

  • routingconnector: Change match_once parameter from bool to *bool. (#29882) Boolean values should still unmarshal successfully, but direct instantiation in code will fail. The change allows us to check for usage and warn of the upcoming removal in v0.120.0.

💡 Enhancements 💡

  • pkg/ottl: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017)
  • pkg/ottl: Add value expression parser that enables components using ottl to retrieve values from the output of an expression (#35621) the expression can be either a literal value, a path value within the context, or the result of a converter and/or a mathematical expression.

v0.117.0

💡 Enhancements 💡

  • pkg/ottl: Change OTTL contexts to properly handle ottl.Path with context (#29017) The OTTL contexts have a new option EnablePathContextNames to enable support for expressing a statement's context via path names in the statement

v0.116.0

🚩 Deprecations 🚩

  • routingprocessor: Deprecated in favor of the routing connector. (#36616)

💡 Enhancements 💡

  • pkg/ottl: Add the ottl.ParserCollection utility to help handling parsers for multiple OTTL contexts (#29017) The ottl.ParserCollection groups contexts' ottl.Parsers, choosing the suitable one to parse a given statement. It supports context inference using the given statements, and allows prepending the context name to the statements' paths.

v0.115.0

🛑 Breaking changes 🛑

  • pkg/datadog: Refactor the API that provides metrics translator (#36474) This is API change only and does not affect end users

v0.114.0

🛑 Breaking changes 🛑

  • pkg/stanza: Changed signature of emit.Callback function in pkg/stanza/fileconsumer/emit package by introducing emit.Token struct that encapsulates the token's body and attributes. (#36260)

💡 Enhancements 💡

  • pkg/datadog: Expose an API TranslatorFromConfig that creates a new metrics translator (#36300) This is only code refactor and has no user-facing impact

v0.113.0

🛑 Breaking changes 🛑

  • testbed: scenarios.createConfigYaml() and utils.CreateConfigYaml() functions now take processor configs as a struct slice argument instead of map[string]string. (#33003)
    • This is to preserve processor order. ProcessorNameAndConfigBody is the newly created struct.

💡 Enhancements 💡

  • receiver/prometheusremotewrite: Implement body unmarshaling for Prometheus Remote Write requests (#35624) Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.

v0.112.0

🛑 Breaking changes 🛑

  • pkg/translator/jaeger: Remove error from method signature as it always returns nil (#35560)

🚀 New components 🚀

  • pkg/status: Refactors the extension/healthcheckv2extension/internal/status into pkg/status (#34692)

💡 Enhancements 💡

  • pkg/translator/prometheusremotewrite: add FromMetricsV2 (#33661) The public function is partially implemented and not ready for use
  • receiver/prometheusremotewrite: Add HTTP Server to handler Prometheus Remote Write requests (#35535) Warning - The HTTP Server still doesn't do anything. It's just a placeholder for now.

v0.111.0

💡 Enhancements 💡

  • opampsupervisor: Pass config structure instead of file path when using NewSupervisor function (#34379)

v0.110.0

🛑 Breaking changes 🛑

  • all: TimeoutSettings/QueueSettings fields in various Config structs are no longer embedded (#35158) Structs in which .TimeoutSettings is no longer embedded:
    • carbonexporter.Config
    • googlecloudpubsubreceiver.Config Structs in which .TimeoutSettings and .QueueSettings are no longer embedded:
    • alertmanagerexporter.Config
    • googlecloudexporter.Config
    • googlemanagedprometheusexporter.Config
    • otelarrowexporter.Config

🚩 Deprecations 🚩

  • datadogexporter: The datadog exporter config has been deprecated in favor of the new datadog/config package. The new package is shared between the Datadog exporter and the Datadog Connector. (#35067) The new datadog/config package is a shared module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector.

💡 Enhancements 💡

  • pkg/datadog: Create a new module for Datadog exporter configuration. (#35067) This change introduces a new module for Datadog exporter configuration. The module is shared between the Datadog exporter and the Datadog Connector.

  • kafkaexporter: Add option to supply destination topic through context. (#34503, #34432)

v0.109.0

🛑 Breaking changes 🛑

  • pkg/ottl: Change the OTTL grammar to support expressing statements context via path names (#29017) The ottl.Path interface requires a new method: Context() string
  • prometheusreceiver: Move the TargetAllocator configuration struct to an internal directory (#33146)

💡 Enhancements 💡

  • pkg/ottl: Add support for localized time parsing into the coreinternal/timeutils (#32977)
  • googlecloudmonitoringreceiver: Enhancing the Google Cloud monitoring receiver to establish a client connection, scrape GCP Cloud Metrics, and transform them into an OpenTelemetry compatible format for pipeline processing. (#33762)
    • Implements client connection to Google Cloud Monitoring API.
    • Scrapes timeseries data based on configured metrics.
    • Converts the data into OpenTelemetry format for use in the pipeline.

v0.108.0

🛑 Breaking changes 🛑

  • pkg/stanza/operator/input/windows: Change type name from EvtRpcLogin to EvtRPCLogin. (#34656)

v0.107.0

🚀 New components 🚀

  • googlecloudmonitoringreceiver: Adding new component - Google Cloud monitoring receiver to fetch GCP Cloud Metrics and transform to OpenTelemetry compatible format. (#33762)

💡 Enhancements 💡

  • internal/grpcutil: Add internal/grpcutil package with gRPC-specified timeout parsing (#33688)
  • pmetrictest: Add support for histogram comparison options (#34521)
  • kafkaexporter: add an ability to partition logs based on resource attributes. (#33229)

v0.106.1

v0.106.0

v0.105.0

v0.104.0

🛑 Breaking changes 🛑

  • exporter/clickhouse: Unexport extra configuration methods. (#33647)
  • exporter/clickhouse: Change internal config type for create_schema to use a bool instead of *bool (#33694)
  • pkg/ottl: Changed ScopeContext, InstrumentationResourceContext, TransformContext interfaces to make SchemaURL accessible in resources and scopes on all signals (#30229)

💡 Enhancements 💡

  • pkg/ottl: Add ByteSliceLikeGetter interface (#31929)

v0.103.0

🛑 Breaking changes 🛑

  • stanza: remove deprecated code (#33519) This change removes:
    • adapter.LogEmitter, use helper.LogEmitter instead
    • adapter.NewLogEmitter, use helper.NewLogEmitter instead
    • fileconsumer.Manager's SugaredLogger struct member
    • pipeline.DirectedPipeline's SugaredLogger struct member
    • testutil.Logger, use zaptest.NewLogger instead

💡 Enhancements 💡

  • pkg/winperfcounters: It is now possible to force a watcher to re-create the PDH query of a given counter via the Reset() function. (#32798)

v0.102.0

💡 Enhancements 💡

  • prometheusreceiver: Allow to configure http client used by target allocator generated scrape targets (#18054)

🧰 Bug fixes 🧰

  • exp/metrics: fixes staleness.Evict such that it only ever evicts actually stale metrics (#33265)

v0.101.0

🛑 Breaking changes 🛑

  • opampextension: Move custom message interfaces to separate package (#32950) Moves CustomCapabilityRegistry, CustomCapabilityHandler, and CustomCapabilityRegisterOption to a new module. These types can now be found in the new github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages module.

  • pkg/stanza: The internal logger has been changed from zap.SugaredLogger to zap.Logger. (#32177) Functions accepting a SugaredLogger, and fields of type SugaredLogger, have been deprecated.

💡 Enhancements 💡

  • testbed: Add the use of connectors to the testbed (#30165)

v0.100.0

🛑 Breaking changes 🛑

  • pkg/stanza: Pass TelemetrySettings to the Build method of the Builder interface (#32662, #31256) The reason for this breaking change is to pass in the component.TelemetrySettings so as to use them later in various ways:
    • be able to report state statistics and telemetry in general
    • be able to switch from SugaredLogger to Logger

🚩 Deprecations 🚩

  • confmap/provider/s3: Deprecate s3provider.New in favor of s3provider.NewFactory (#32742)
  • confmap/provider/secretsmanager: Deprecate secretsmanagerprovider.New in favor of secretsmanagerprovider.NewFactory (#32743)

🚀 New components 🚀

  • roundrobinconnector: Add a roundrobin connector, that can help single thread components to scale (#32853)

💡 Enhancements 💡

  • opampextension: Added support for other components to register custom capabilities and receive custom messages from an opamp extension (#32021)
  • kafkaexporter: add an ability to publish kafka messages with message key based on metric resource attributes - it will allow partitioning metrics in Kafka. (#29433, #30666, #31675)
  • sshcheckreceiver: Add support for running this receiver on Windows (#30650)

v0.99.0

💡 Enhancements 💡

  • prometheusremotewrite: Optimize the prometheusremotewrite.FromMetrics function, based around more performant metric identifier hashing. (#31385)
  • pkg/pdatatest/plogtest: Add an option to ignore log timestamp (#32540)
  • filelogreceiver: Add exclude_older_than configuration setting (#31053)

v0.98.0

💡 Enhancements 💡

  • pkg/sampling: Usability improvements in the sampling API. (#31918)

v0.97.0

🛑 Breaking changes 🛑

  • datadogexporter: Remove config structs LimitedClientConfig and LimitedTLSClientSettings (#31733) This should have no impact to end users as long as they do not import Datadog exporter config structs in their source code.
  • cmd/mdatagen: Delete deprecated cmd/mdatagen from this project. Use go.opentelemetry.io/collector/cmd/mdatagen instead. (#30497)
  • azuremonitorreceiver: Reduce the public API for this receiver. (#24850) This unexports the following types ArmClient, MetricsDefinitionsClientInterface, MetricsValuesClient.
  • general: Update any component using scraperhelper.ScraperControllerSettings to use scraperhelper.ControllerConfig (#31816) This changes the config field name from ScraperControllerSettings to ControllerConfig
  • prometheusreceiver: Remove enable_protobuf_negotiation option on the prometheus receiver. Use config.global.scrape_protocols = [ PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ] instead. (#30883) See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file for details on setting scrape_protocols.

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate fileconsumer.BuildWithSplitFunc in favor of Build with options pattern (#31596)

💡 Enhancements 💡

  • clickhouseexporter: Allow configuring ON CLUSTER and ENGINE when creating database and tables (#24649) Increases table creation flexibility with the ability to add replication for fault tolerance
  • all: Remove explicit checks in all receivers to check if the next consumer is nil (#31793) The nil check is now done by the pipeline builder.

v0.96.0

🛑 Breaking changes 🛑

  • cmd/mdatagen: Use enum for stability levels in the Metadata struct (#31530)
  • httpforwarder: Remove extension named httpforwarder, use httpforwarderextension instead. (#24171)

v0.95.0

🛑 Breaking changes 🛑

  • pkg/stanza: Remove deprecated pkg/stanza/attrs (#30449)
  • httpforwarderextension: Rename the extension httpforwarder to httpforwarderextension (#24171)
  • extension/storage: The filestorage and dbstorage extensions are now standalone modules. (#31040) If using the OpenTelemetry Collector Builder, you will need to update your import paths to use the new module(s).
    • github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage
    • github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage

💡 Enhancements 💡

  • pkg/golden: Added an option to skip the metric timestamp normalization for WriteMetrics. (#30919)
  • healthcheckextension: Remove usage of deprecated host.ReportFatalError (#30582)

v0.94.0

🚩 Deprecations 🚩

  • testbed: Deprecate testbed.GetAvailablePort in favor of testutil.GetAvailablePort (#30811) Move healthcheckextension to use testutil.GetAvailablePort

🚀 New components 🚀

  • pkg_sampling: Package of code for parsing OpenTelemetry tracestate probability sampling fields. (#29738)

v0.93.0

🛑 Breaking changes 🛑

  • testbed: Remove unused AWS XRay mock receiver (#30381)
  • docker: Adopt api_version as strings to correct invalid float truncation (#24025)
  • prometheusreceiver: Consolidate Config members and remove the need of placeholders. (#29901)
  • all: Remove obsolete "// +build" directive (#30651)
  • testbed: Expand TestCase capabilities with broken out LoadGenerator interface (#30303)

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate pkg/stanza/attrs package in favor of pkg/stanza/fileconsumer/attrs (#30449)

💡 Enhancements 💡

  • testbed: Adds and adopts new WithEnvVar child process option, moving GOMAXPROCS=2 to initializations (#30491)

v0.92.0

🛑 Breaking changes 🛑

  • carbonexporter: Change Config member names (#29862)
  • carbonreceiver: Hide unnecessary public API (#29895)
  • pkg/ottl: Unexport ADD, SUB, MULT, DIV, EQ, NE, LT, LTE, GT, and GTE (#29925)
  • pkg/ottl: Change Path to be an Interface instead of the grammar struct. (#29897) Affects creators of custom contexts.
  • golden: Use testing.TB for golden.WriteMetrics, golden.WriteTraces and golden.WriteLogs over *testing.T (#30277)

💡 Enhancements 💡

  • kafkaexporter: add ability to publish kafka messages with message key of TraceID - it will allow partitioning of the kafka Topic. (#12318)
  • kafkaexporter: Adds the ability to configure the Kafka client's Client ID. (#30144)

v0.91.0

🛑 Breaking changes 🛑

  • pkg/ottl: Rename Statements to StatementSequence. Remove Eval function from StatementSequence, use ConditionSequence instead. (#29598)

💡 Enhancements 💡

  • pkg/ottl: Add ConditionSequence for evaluating lists of conditions (#29339)

v0.90.0

🛑 Breaking changes 🛑

  • clickhouseexporter: Replace Config.QueueSettings field with exporterhelper.QueueSettings and remove QueueSettings struct (#27653)
  • kafkareceiver: Do not export the function WithTracesUnmarshalers, WithMetricsUnmarshalers, WithLogsUnmarshalers (#26304)

💡 Enhancements 💡

  • datadogreceiver: The datadogreceiver supports the new datadog protocol that is sent by the datadog agent API/v0.2/traces. (#27045)
  • pkg/ottl: Add ability to independently parse OTTL conditions. (#29315)

🧰 Bug fixes 🧰

  • cassandraexporter: Exist check for keyspace and dynamic timeout (#27633)

v0.89.0

🛑 Breaking changes 🛑

  • carbonreceiver: Do not export function New and pass checkapi. (#26304)
  • collectdreceiver: Move to use confighttp.HTTPServerSettings (#28811)
  • kafkaexporter: Do not export function WithTracesMarshalers, WithMetricsMarshalers, WithLogsMarshalers and pass checkapi (#26304)
  • remoteobserverprocessor: Rename remoteobserverprocessor to remotetapprocessor (#27873)

💡 Enhancements 💡

  • extension/encoding: Introduce interfaces for encoding extensions. (#28686)
  • exporter/awss3exporter: This feature allows role assumption for s3 exportation. It is especially useful on Kubernetes clusters that are using IAM roles for service accounts (#28674)

v0.88.0

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate 'flush.WithPeriod'. Use 'flush.WithFunc' instead. (#27843)

v0.87.0

🛑 Breaking changes 🛑

  • exporter/kafka, receiver/kafka, receiver/kafkametrics: Move configuration parts to an internal pkg (#27093)
  • pulsarexporter: Do not export function WithTracesMarshalers, add test for that and pass checkapi (#26304)
  • pulsarreceiver: Do not export the functions WithLogsUnmarshalers, WithMetricsUnmarshalers, WithTracesUnmarshalers, add tests and pass checkapi. (#26304)

💡 Enhancements 💡

  • mdatagen: allows adding warning section to resource_attribute configuration (#19174)
  • mdatagen: allow setting empty metric units (#27089)

v0.86.0

🛑 Breaking changes 🛑

  • azuremonitorexporter: Unexport Accept to comply with checkapi (#26304)

  • tailsamplingprocessor: Unexport SamplingProcessorMetricViews to comply with checkapi (#26304)

  • awskinesisexporter: Do not export the functions NewTracesExporter, NewMetricsExporter, NewLogsExporter and pass checkapi. (#26304)

  • dynatraceexporter: Rename struct to keep expected exporter.Factory and pass checkapi. (#26304)

  • ecsobserver: Do not export the function DefaultConfig and pass checkapi. (#26304)

  • f5cloudexporter: Do not export the function NewFactoryWithTokenSourceGetter and pass checkapi. (#26304)

  • fluentforwardreceiver: rename Logs and DetermineNextEventMode functions and all usage to lowercase to stop exporting method and pass checkapi (#26304)

  • groupbyattrsprocessor: Do not export the function MetricViews and pass checkapi. (#26304)

  • groupbytraceprocessor: Do not export the function MetricViews and pass checkapi. (#26304)

  • jaegerreceiver: Do not export the function DefaultServerConfigUDP and pass checkapi. (#26304)

  • lokiexporter: Do not export the function MetricViews and pass checkapi. (#26304)

  • mongodbatlasreceiver: Rename struct to pass checkapi. (#26304)

  • mongodbreceiver: Do not export the function NewClient and pass checkapi. (#26304)

  • mysqlreceiver: Do not export the function Query (#26304)

  • pkg/ottl: Remove support for ottlarg. The struct's field order is now the function parameter order. (#25705)

  • pkg/stanza: Make trim func composable (#26536)

    • Adds trim.WithFunc to allow trim funcs to wrap bufio.SplitFuncs.
    • Removes trim.Func from split.Config.Func. Use trim.WithFunc instead.
    • Removes trim.Func from flush.WithPeriod. Use trim.WithFunc instead.
  • pkg/stanza: Rename syslog and tcp MultilineBuilders (#26631)

    • Rename syslog.OctetMultiLineBuilder to syslog.OctetSplitFuncBuilder
    • Rename tc.MultilineBuilder to tcp.SplitFuncBuilder
  • probabilisticsamplerprocessor: Do not export the function SamplingProcessorMetricViews and pass checkapi. (#26304)

  • sentryexporter: Do not export the functions CreateSentryExporter and pass checkapi. (#26304)

  • sumologicexporter: Do not export the function CreateDefaultHTTPClientSettings and pass checkapi. (#26304)

💡 Enhancements 💡

  • pkg/ottl: Add support for optional parameters (#20879) The new ottl.Optional type can now be used in a function's Arguments struct to indicate that a parameter is optional.

v0.85.0

🛑 Breaking changes 🛑

  • alibabacloudlogserviceexporter: Do not export the function NewLogServiceClient (#26304)

  • awss3exporter: Do not export the function NewMarshaler (#26304)

  • statsdreceiver: rename and do not export function New to newReceiver to pass checkapi (#26304)

  • chronyreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26113)

  • dockerstatsreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26114)

  • elasticsearchexporter: Do not export the function DurationAsMicroseconds (#26304)

  • jaegerexporter: Do not export the function MetricViews (#26304)

  • k8sobjectsreceiver: Do not export the function NewTicker (#26304)

  • pkg/stanza: Rename 'pkg/stanza/decoder' to 'pkg/stanza/decode' (#26340)

  • pkg/stanza: Move tokenize.SplitterConfig.Encoding to fileconsumer.Config.Encoding (#26511)

  • pkg/stanza: Remove Flusher from tokenize.SplitterConfig (#26517) Removes the following in favor of flush.WithPeriod - tokenize.DefaultFlushPeriod - tokenize.FlusherConfig - tokenize.NewFlusherConfig

  • pkg/stanza: Remove tokenize.SplitterConfig (#26537)

  • pkg/stanza: Rename "tokenize" package to "split" (#26540)

    • Remove 'Multiline' struct
    • Remove 'NewMultilineConfig' struct
    • Rename 'MultilineConfig' to 'split.Config'
  • pkg/stanza: Extract whitespace trim configuration into trim.Config (#26511)

    • PreserveLeading and PreserveTrailing removed from tokenize.SplitterConfig.
    • PreserveLeadingWhitespaces and PreserveTrailingWhitespaces removed from tcp.BaseConfig and udp.BaseConfig.

💡 Enhancements 💡

  • oauth2clientauthextension: Enable dynamically reading ClientID and ClientSecret from files (#26117)
    • Read the client ID and/or secret from a file by specifying the file path to the ClientIDFile (client_id_file) and ClientSecretFile (client_secret_file) fields respectively.
    • The file is read every time the client issues a new token. This means that the corresponding value can change dynamically during the execution by modifying the file contents.

v0.84.0

🛑 Breaking changes 🛑

  • memcachedreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26084)

  • podmanreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26083)

  • zookeeperreceiver: Removes duplicate Timeout field. This change has no impact on end users of the component. (#26082)

  • jaegerreceiver: Deprecate remote_sampling config in the jaeger receiver (#24186) The jaeger receiver will fail to start if remote_sampling config is specified in it. The receiver.jaeger.DisableRemoteSampling feature gate can be set to let the receiver start and treat remote_sampling config as no-op. In a future version this feature gate will be removed and the receiver will always fail when remote_sampling config is specified.

  • pkg/ottl: use IntGetter argument for Substring function (#25852)

  • pkg/stanza: Remove deprecated 'helper.Encoding' and 'helper.EncodingConfig.Build' (#25846)

  • pkg/stanza: Remove deprecated fileconsumer config structs (#24853) Includes | - MatchingCriteria - OrderingCriteria - NumericSortRule - AlphabeticalSortRule - TimestampSortRule

  • googlecloudexporter: remove retry_on_failure from the googlecloud exporter. The exporter itself handles retries, and retrying can cause issues. (#57233)

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate 'helper.EncodingConfig' and 'helper.NewEncodingConfig' (#25846)
  • pkg/stanza: Deprecate encoding related elements of helper package, in favor of new decoder package (#26019) Includes the following deprecations | - Decoder - NewDecoder - LookupEncoding - IsNop
  • pkg/stanza: Deprecate tokenization related elements of helper package, in favor of new tokenize package (#25914) Includes the following deprecations | - Flusher - FlusherConfig - NewFlusherConfig - Multiline - MultilineConfig - NewMultilineConfig - NewLineStartSplitFunc - NewLineEndSplitFunc - NewNewlineSplitFunc - Splitter - SplitterConfig - NewSplitterConfig - SplitNone

💡 Enhancements 💡

  • googlemanagedprometheus: Add a add_metric_suffixes option to the googlemanagedprometheus exporter. When set to false, metric suffixes are not added. (#26071)
  • receiver/prometheus: translate units from prometheus to UCUM (#23208)

🧰 Bug fixes 🧰

  • receiver/influxdb: add allowable inputs to line protocol precision parameter (#24974)

v0.83.0

🛑 Breaking changes 🛑

  • exporter/clickhouse: Change the type of Config.Password to be configopaque.String (#17273)
  • all: Remove go 1.19 support, bump minimum to go 1.20 and add testing for 1.21 (#8207)
  • solacereceiver: Move model package to the internal package (#24890)
  • receiver/statsdreceiver: Move protocol and transport packages to internal (#24892)
  • filterprocessor: Unexport Strict and Regexp (#24845)
  • mdatagen: Rename the mdatagen sum field aggregation to aggregation_temporality (#16374)
  • metricstransformprocessor: Unexport elements of the Go API of the processor (#24846)
  • mezmoexporter: Unexport the MezmoLogLine and MezmoLogBody structs (#24842)
  • pkg/stanza: Remove deprecated 'fileconsumer.FileAttributes' (#24688)
  • pkg/stanza: Remove deprecated 'fileconsumer.EmitFunc' (#24688)
  • pkg/stanza: Remove deprecated fileconsumer.Finder (#24688)
  • pkg/stanza: Remove deprecated fileconsumer.BaseSortRule and fileconsumer.SortRuleImpl (#24688)
  • pkg/stanza: Remove deprecated 'fileconsumer.Reader' (#24688)

🚩 Deprecations 🚩

  • pkg/stanza: Deprecate helper.Encoding and helper.EncodingConfig.Build (#24980)
  • pkg/stanza: Deprecate fileconsumer MatchingCriteria in favor of new matcher package (#24853)

💡 Enhancements 💡

  • changelog: Generate separate changelogs for end users and package consumers (#24014)
  • splunkhecexporter: Add heartbeat check while startup and new config param, heartbeat/startup (defaults to false). This is different than the healtcheck_startup, as the latter doesn't take token or index into account. (#24411)
  • k8sclusterreceiver: Allows disabling metrics and resource attributes (#24568)
  • cmd/mdatagen: Avoid reusing the same ResourceBuilder instance for multiple ResourceMetrics (#24762)

🧰 Bug fixes 🧰

  • splunkhecreceiver: aligns success resp body w/ splunk enterprise (#19219) changes resp from plaintext "ok" to json {"text":"success", "code":0}