This release includes 8 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
Affected surfaces
Summary
AI summaryUpdates 🛑 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 gateconfighttp.framedSnappy(#15420)pkg/configoptional: Remove stabilized gateconfigoptional.AddEnabledField. (#15421)pkg/confmap: Remove stabilized featuregateconfmap.newExpandedValueSanitizer(#15418)pkg/exporterhelper: Remove stable gateexporter.PersistRequestContext. (#15424)pkg/otelcol: Remove stable gateotelcol.printInitialConfig(#15425)pkg/service: Remove stable featuregatetelemetry.UseLocalHostAsDefaultMetricsAddress(#15419)pkg/xpdata: Remove stable gatepdata.enableRefCounting. (#15426)processor/memory_limiter: Rename deprecated memory limiter metrics to include thememory_limiterprefix (e.g.otelcol_processor_memory_limiter_*) to clarify they are specific to this processor. (#11203)
🚀 New components 🚀
cmd/schemagen: Move theschemagenCLI from opentelemetry-collector-contrib to this repository ascmd/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 existingmake 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: AddoverlayFilesupport to deep-merge hand-curated schema fragments into generated schemas. (#14543)
Components can declare anoverlayFilein.schemagen.yamlpointing 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 ofcmd/schemagenin
open-telemetry/opentelemetry-collector-contrib#48917 and brought over with the tool
in this move. -
cmd/schemagen: Add-pflag to specify a custom Go package pattern for the config struct. (#14543)
The new-pflag lets callers override the default.package pattern with an arbitrary
Go package selector (e.g. a sub-package whoseConfigtype schemagen should walk).
Originally added to the contrib copy ofcmd/schemagenin
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-pto target a package outside the current directory. (#15453)
A new-m component|packageflag is available as a manual override when auto-detection is not possible.
API Changelog
🛑 Breaking changes 🛑
cmd/mdatagen: Remove thereaggregation_enabledmetadata setting and always generate per-metric reaggregation config. (#15305)
Legacy metadata files that still containreaggregation_enabledare accepted, but the value is ignored.
🚩 Deprecations 🚩
pkg/service: Deprecateservice.Settings.CollectorConfandextensioncapabilities.ConfigWatcherin favor ofservice.Settings.ConfigSnapshotandextensioncapabilities.ConfigSnapshotWatcher, which provide effective and unexpanded configuration representations. (#15432)
💡 Enhancements 💡
pkg/config/configmiddleware: Migrated middleware config to schema based (#15440)pkg/pdata: AddDisallowUnknownFieldsoption toJSONUnmarshalerin plog, ptrace, pmetric, pprofile, and xpdata to error on JSON fields not defined by the OTLP schema. (#15279)
WhenDisallowUnknownFieldsis 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
Related context
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]