Releases: open-telemetry/opentelemetry-collector
cmd/builder/v0.90.1
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.90.1
v1.0.0/v0.90.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.90.0
This release contains the first stable release of the pdata and featuregate modules . Our project stability guarantees now apply to the go.opentelemetry.io/collector/pdata
and go.opentelemetry.io/collector/featuregate
modules. See our versioning policy for more information about these stability guarantees.
User facing changes
💡 Enhancements 💡
statusreporting
: Automates status reporting upon the completion of component.Start(). (#7682)service
: add resource attributes as labels to otel metrics to ensures backwards compatibility with OpenCensus metrics. (#9029)semconv
: Generated Semantic conventions 1.21. (#9056)config/confighttp
: Exposes http/2 transport settings to enable health check and workaround golang http/2 issue golang/go#59690 (#9022)cmd/builder
: running builder version on binaries installed withgo install
will output the version specified at the suffix. (#8770)
🧰 Bug fixes 🧰
-
exporterhelper
: fix missed metric aggregations (#9048)
This ensures that context cancellation in the exporter doesn't interfere with metric aggregation. The OTel
SDK currently returns if there's an error in the context used inAdd
. This means that if there's a
cancelled context in an export, the metrics are now recorded. -
service
: Fix bug where MutatesData would not correctly propagate through connectors. (#9053)
cmd/builder/v0.90.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.90.0
v1.0.0-rcv0018/v0.89.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.89.0
User facing changes
💡 Enhancements 💡
builder
: remove replace statement in builder template (#8763)service/extensions
: Allow extensions to declare dependencies on other extensions and guarantee start/stop/notification order accordingly. (#8732)exporterhelper
: Log export errors when retry is not used by the component. (#8791)cmd/builder
: Add --verbose flag to loggo
subcommands output that are ran as part of a build (#8715)exporterhelper
: Remove internal goroutine loop for persistent queue (#8868)exporterhelper
: Simplify usage of storage client, avoid unnecessary allocations (#8830)exporterhelper
: Simplify logic in boundedMemoryQueue, use channels len/cap (#8829)
🧰 Bug fixes 🧰
exporterhelper
: fix bug with queue size and capacity metrics (#8682)obsreporttest
: split handler for otel vs oc test path in TestTelemetry (#8758)builder
: Fix featuregate late initialization (#4967)service
: Fix connector logger zap kind key (#8878)
API changes
🛑 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
- Added an optional interface for handling errors that occur during request processing
🚩 Deprecations 🚩
featuregate
: Deprecatefeaturegate.NewFlag
in favor offeaturegate.Registry
'sRegisterFlags
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.
cmd/builder/v0.89.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.89.0
v1.0.0-rcv0017/v0.88.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/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 ignoringotelcol_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)
cmd/builder/v0.88.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.88.0
v1.0.0-rcv0016/v0.87.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/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 theservice::telemetry::logs::sampling::enabled
tofalse
.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.
- p[metric|trace|log].[Metrics|Traces|Logs].MarkReadOnly() - marks the pdata as read-only. Any subsequent
🛑 Breaking changes 🛑
cmd/builder/v0.87.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.87.0
v0.86.0/v1.0.0-rcv0015
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.86.0
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
: Addlinux/s390x
architecture to cross build tests in CI (#8213)
🧰 Bug fixes 🧰
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
: Deprecatingobsreport.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
: Deprecatingobsreport.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