Releases: open-telemetry/opentelemetry-collector
Releases · open-telemetry/opentelemetry-collector
v1.0.0-rcv0017/v0.88.0
User facing changes
💡 Enhancements 💡
fanoutconsumer
: Enable runtime assertions to catch incorrect pdata mutations in the components claiming as non-mutating pdata. (#6794)
This change enables the runtime assertions to catch unintentional pdata mutations in components that are claimed
as non-mutating pdata. Without these assertions, runtime errors may still occur, but thrown by unrelated components,
making it very difficult to troubleshoot.
🧰 Bug fixes 🧰
exporterhelper
: make enqueue failures available for otel metrics (#8673)
exporterhelper
: Fix nil pointer dereference when stopping persistent queue after a start encountered an error (#8718)
cmd/builder
: Fix ocb ignoring otelcol_version
when set to v0.86.0 or later (#8692)
API changes
💡 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
User facing changes
💡 Enhancements 💡
service/telemetry exporter/exporterhelper
: Enable sampling logging by default and apply it to all components. (#8134)
The sampled logger configuration can be disabled easily by setting the service::telemetry::logs::sampling::enabled
to false
.
core
: Adds the ability for components to report status and for extensions to subscribe to status events by implementing an optional StatusWatcher interface. (#7682)
🧰 Bug fixes 🧰
telemetry
: remove workaround to ignore errors when an instrument includes a /
(#8346)
API changes
💡 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)
v0.86.0/v1.0.0-rcv0015
User facing changes
🚩 Deprecations 🚩
loggingexporter
: Mark the logging exporter as deprecated, in favour of debug exporter (#7769)
🚀 New components 🚀
debugexporter
: Add debug exporter, which replaces the logging exporter (#7769)
💡 Enhancements 💡
featuregate
: List valid feature gates when failing to load invalid gate (#8505)
supported platforms
: Add linux/s390x
architecture to cross build tests in CI (#8213)
🧰 Bug fixes 🧰
builder
: fix setting dist.*
keys from env (#8239)
configtls
: fix incorrect use of fsnotify (#8438)
API changes
🛑 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
💡 Enhancements 💡
components command
: The "components" command now lists the component's stability levels. (#8289)
Note that the format of this output is NOT stable and can change between versions.
confighttp
: Add option to disable HTTP keep-alives (#8260)
🧰 Bug fixes 🧰
confmap
: fix bugs of unmarshalling slice values (#4001)
exporterhelper
: Stop logging error messages suggesting user to enable retry_on_failure
or sending_queue
when they are not available. (#8369)
v0.84.0
User Facing Changes
💡 Enhancements 💡
loggingexporter
: Adds exemplars logging to the logging exporter when detailed
verbosity level is set. (#7912)
configgrpc
: Allow any registered gRPC load balancer name to be used. (#8262)
service
: add OTLP export for internal traces (#8106)
configgrpc
: Add support for :authority pseudo-header in grpc client (#8228)
🧰 Bug fixes 🧰
otlphttpexporter
: Fix the handling of the HTTP response to ignore responses not encoded as protobuf (#8263)
Go API Changes
💡 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.