Catalog / OpenTelemetry Collector
0.160.0
v1.66.0/v0.160.0
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.160.0
End User Changelog
🚩 Deprecations 🚩
pkg/confighttp: Deprecate flat keepalive fields in client and server config in favor of the newkeepalivesection. (#14020) The following client configuration fields are deprecated in favor of thekeepalivesection:idle_conn_timeout->keepalive::idle_conn_timeoutmax_idle_conns->keepalive::max_idle_connsmax_idle_conns_per_host->keepalive::max_idle_conns_per_hostdisable_keep_alives: true->keepalive::enabled: falseThe following server configuration fields are deprecated in favor of thekeepalivesection:idle_timeout->keepalive::idle_timeoutkeep_alives_enabled: false->keepalive::enabled: falseDeprecated fields set in the configuration keep working exactly as before and produce a deprecation warning when the client or server is created. Setting deprecated fields together with the newkeepalivesection is an error. Code migrating off the deprecated fields can use the newNewDefaultKeepaliveClientConfigandNewDefaultKeepaliveServerConfigfunctions to build akeepalivesection with the default values.
💡 Enhancements 💡
all: Bump go version in all go.mod to 1.26.0, drop support on 1.25.0 (#15799)all: Declare windows/amd64 tier 1 and windows/arm64 tier 2 support (#15786)pkg/confmap: Remove deadisStringyStructurehelper (unused since (#12793) This is an internal, unexported code path with no user-facing behavior change.pkg/exporterhelper: Cache the request size per sizer type so byte-sized batching no longer recomputes the serialized proto size of the whole accumulated batch on every consumed request. (#12636) Withsizer: bytes, the batcher's MinSize check calledBytesSize(), which ignored the cached size and re-walked the entire batch's protobuf on every consumed request, making accumulation O(n^2) in the number of merged requests. The size is now cached separately for the bytes and items dimensions and maintained incrementally during merge/split, so the check is O(1). A single untyped cache could not be reused safely because the batcher and the queue may ask for different sizer types on the same request.processor/memory_limiter: Only report memory limiter component health status when the health state changes. (#15751)
🧰 Bug fixes 🧰
cmd/mdatagen: Allow underscores in feature gate IDs for compatibility with component names with underscores (#15592)pkg/pprofile: add bounds checks to FromLocationIndices and switchDictionary (#15697) FromLocationIndices now returns an error instead of panicking on an out-of-range or negative location index, mirroring FromAttributeIndices. The index checks used when merging profiles now also reject negative indices. These were previously reachable with a negative index decoded from an OTLP payload, which panicked the collector via Profiles.MergeTo.pkg/service: Route OpenTelemetry SDK-internal errors (e.g. failed metric/log/trace exports) through the collector's configured logger instead of the OTel SDK's default global error handler, which always printed to stderr vialog.Printregardless of the configured log encoding. (#12378)
API Changelog
🛑 Breaking changes 🛑
pkg/service:telemetry.Factory.CreateResourceandtelemetry.CreateResourceFuncnow return(pcommon.Resource, string, error)instead of(pcommon.Resource, error)to expose the resource's schema URL. (#15129) Thetelemetry.Factoryinterface is experimental and cannot be implemented externally (it has an unexported method). Callers usingtelemetry.WithCreateResourcemust update the function signature to return a thirdstringvalue for the schema URL.
🚩 Deprecations 🚩
pkg/confighttp: Deprecate flat keepalive fields in client and server config in favor of the newkeepalivesection. (#14020) The following client configuration fields are deprecated in favor of thekeepalivesection:idle_conn_timeout->keepalive::idle_conn_timeoutmax_idle_conns->keepalive::max_idle_connsmax_idle_conns_per_host->keepalive::max_idle_conns_per_hostdisable_keep_alives: true->keepalive::enabled: falseThe following server configuration fields are deprecated in favor of thekeepalivesection:idle_timeout->keepalive::idle_timeoutkeep_alives_enabled: false->keepalive::enabled: falseDeprecated fields set in the configuration keep working exactly as before and produce a deprecation warning when the client or server is created. Setting deprecated fields together with the newkeepalivesection is an error. Code migrating off the deprecated fields can use the newNewDefaultKeepaliveClientConfigandNewDefaultKeepaliveServerConfigfunctions to build akeepalivesection with the default values.
💡 Enhancements 💡
pkg/component: AddResourceSchemaURLfield tocomponent.TelemetrySettingsto expose the collector resource's schema URL to components. (#15129)pkg/exporterhelper: MigrateTimeoutConfigto schema-based configuration generated by mdatagen. (#15505)
🧰 Bug fixes 🧰
pkg/pprofile: add bounds checks to FromLocationIndices and switchDictionary (#15697) FromLocationIndices now returns an error instead of panicking on an out-of-range or negative location index, mirroring FromAttributeIndices. The index checks used when merging profiles now also reject negative indices. These were previously reachable with a negative index decoded from an OTLP payload, which panicked the collector via Profiles.MergeTo.