Skip to content

opentelemetry-collector

v0.155.0 Breaking

This release includes 8 breaking changes for platform teams planning a safe upgrade.

Published 1mo Tracing
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

prometheus monitoring observability opentelemetry telemetry

Affected surfaces

breaking_upgrade

Summary

AI summary

Updates 🛑 Breaking changes 🛑, 💡 Enhancements 💡, and 🧰 Bug fixes 🧰 across a mixed release.

Full changelog

Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.155.0

End User Changelog

🛑 Breaking changes 🛑

  • pkg/confighttp: Remove stabilized gate confighttp.framedSnappy (#15420)
  • pkg/configoptional: Remove stabilized gate configoptional.AddEnabledField. (#15421)
  • pkg/confmap: Remove stabilized featuregate confmap.newExpandedValueSanitizer (#15418)
  • pkg/exporterhelper: Remove stable gate exporter.PersistRequestContext. (#15424)
  • pkg/otelcol: Remove stable gate otelcol.printInitialConfig (#15425)
  • pkg/service: Remove stable featuregate telemetry.UseLocalHostAsDefaultMetricsAddress (#15419)
  • pkg/xpdata: Remove stable gate pdata.enableRefCounting. (#15426)
  • processor/memory_limiter: Rename deprecated memory limiter metrics to include the memory_limiter prefix (e.g. otelcol_processor_memory_limiter_*) to clarify they are specific to this processor. (#11203)

🚀 New components 🚀

  • cmd/schemagen: Move the schemagen CLI from opentelemetry-collector-contrib to this repository as cmd/schemagen. (#14543)
    The tool's source is identical to the upstream contrib version
    (github.com/open-telemetry/opentelemetry-collector-contrib/cmd/schemagen) except for the module path and
    the test fixtures' namespace, which now reflect the collector module
    (go.opentelemetry.io/collector/cmd/schemagen). A contrib-only integration test that pointed at three
    contrib components is removed; contrib's existing make generate-schemas + git-diff CI continues to
    exercise the FactoryMaps feature against real-world components.

💡 Enhancements 💡

  • cmd/mdatagen: Add support for versioned metrics (#15309)
    Allows metadata to specify versioned metrics for migrating to new semantic conventions.
    There are two scenarios catered for when the metric name stays the same during migration.
    When a metric name stays the same but its type differs, just the latest metric is
    emitted with the new type.
    When a metric name stays the same but its attributes differ, the latest version
    is emitted with combined attributes during the migration period.

  • cmd/schemagen: Add overlayFile support to deep-merge hand-curated schema fragments into generated schemas. (#14543)
    Components can declare an overlayFile in .schemagen.yaml pointing to a YAML file
    whose keys are recursively merged into the auto-generated schema after generation.
    This allows injecting descriptions, constraints, or additional properties that cannot
    be derived from Go types.
    Originally added to the contrib copy of cmd/schemagen in
    open-telemetry/opentelemetry-collector-contrib#48917 and brought over with the tool
    in this move.

  • cmd/schemagen: Add -p flag to specify a custom Go package pattern for the config struct. (#14543)
    The new -p flag lets callers override the default . package pattern with an arbitrary
    Go package selector (e.g. a sub-package whose Config type schemagen should walk).
    Originally added to the contrib copy of cmd/schemagen in
    open-telemetry/opentelemetry-collector-contrib#48966 and brought over with the tool
    in this move.

🧰 Bug fixes 🧰

  • cmd/mdatagen: Fix an issue when the last feature gate is removed, stale files are left. (#15423)
  • cmd/mdatagen: Fix known acronyms at the end of generated Go identifiers to be all-caps, same as in any other position (#15438)
  • cmd/schemagen: Fix mode detection when using -p to target a package outside the current directory. (#15453)
    A new -m component|package flag is available as a manual override when auto-detection is not possible.

API Changelog

🛑 Breaking changes 🛑

  • cmd/mdatagen: Remove the reaggregation_enabled metadata setting and always generate per-metric reaggregation config. (#15305)
    Legacy metadata files that still contain reaggregation_enabled are accepted, but the value is ignored.

🚩 Deprecations 🚩

  • pkg/service: Deprecate service.Settings.CollectorConf and extensioncapabilities.ConfigWatcher in favor of service.Settings.ConfigSnapshot and extensioncapabilities.ConfigSnapshotWatcher, which provide effective and unexpanded configuration representations. (#15432)

💡 Enhancements 💡

  • pkg/config/configmiddleware: Migrated middleware config to schema based (#15440)
  • pkg/pdata: Add DisallowUnknownFields option to JSONUnmarshaler in plog, ptrace, pmetric, pprofile, and xpdata to error on JSON fields not defined by the OTLP schema. (#15279)
    When DisallowUnknownFields is false (the default), unknown fields are silently ignored, matching the previous behavior.
    Warning: enabling this option breaks forwards compatibility with future evolutions of the OTLP format, as fields added to the format in newer versions will be rejected as unknown.

🧰 Bug fixes 🧰

  • cmd/mdatagen: Fix known acronyms at the end of generated Go identifiers to be all-caps, same as in any other position (#15438)

Breaking Changes

  • Remove `confighttp.framedSnappy` gate from pkg/confhttp
  • Remove `configoptional.AddEnabledField` gate from pkg/configoptional
  • Remove `confmap.newExpandedValueSanitizer` gate from pkg/confmap
  • Remove `exporter.PersistRequestContext` gate from pkg/exporterhelper
  • Remove `otelcol.printInitialConfig` gate from pkg/otelcol
  • Remove `telemetry.UseLocalHostAsDefaultMetricsAddress` gate from pkg/service
  • Remove `pdata.enableRefCounting` gate from pkg/xpdata
  • Rename memory limiter metrics to include the `memory_limiter` prefix (e.g., `otelcol_processor_memory_limiter_*`) in processor/memory_limiter

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track opentelemetry-collector

Get notified when new releases ship.

Sign up free

About opentelemetry-collector

OpenTelemetry Collector

All releases →

Related context

Related tools

Earlier breaking changes

  • v0.154.0 `cmd/builder`: `--skip-get-modules` no longer regenerates go.mod file.
  • v0.153.0 Enable reaggregation config generation by default in mdatagen; set `reaggregation_enabled: false` to retain previous behavior.
  • v0.153.0 Stabilize pdata.enableRefCounting feature gate.
  • v0.153.0 Stabilize telemetry.UseLocalHostAsDefaultMetricsAddress gate.
  • v0.153.0 Remove pdata.useCustomProtoEncoding feature gate.

Beta — feedback welcome: [email protected]