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)