This release includes 8 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
Affected surfaces
ReleasePort's take
Light signalVersion v0.153.0 stabilizes multiple feature gates and removes the pdata.useCustomProtoEncoding gate, while also fixing a Snappyβrelated memory corruption bug in configgrpc.
Why it matters: Stabilized gates change default behavior; remove any custom use of pdata.useCustomProtoEncoding before upgrade. The critical fix for configgrpc prevents memory corruption crashes.
Summary
AI summaryUpdates π Breaking changes π, π‘ Enhancements π‘, and π§° Bug fixes π§° across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
Stabilize configoptional.AddEnabledField feature gate. Stabilize configoptional.AddEnabledField feature gate. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Stabilize confmap.newExpandedValueSanitizer feature gate. Stabilize confmap.newExpandedValueSanitizer feature gate. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Mark exporter.PersistRequestContext as stable. Mark exporter.PersistRequestContext as stable. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Stabilize otelcol.printInitialConfig gate. Stabilize otelcol.printInitialConfig gate. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Remove pdata.useCustomProtoEncoding feature gate. Remove pdata.useCustomProtoEncoding feature gate. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Stabilize telemetry.UseLocalHostAsDefaultMetricsAddress gate. Stabilize telemetry.UseLocalHostAsDefaultMetricsAddress gate. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Stabilize pdata.enableRefCounting feature gate. Stabilize pdata.enableRefCounting feature gate. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Breaking | Medium |
Enable reaggregation config generation by default in mdatagen; set `reaggregation_enabled: false` to retain previous behavior. Enable reaggregation config generation by default in mdatagen; set `reaggregation_enabled: false` to retain previous behavior. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Feature | Medium |
Enforce stricter `feature_gates` validation in mdatagen's metadata.yaml by default. Enforce stricter `feature_gates` validation in mdatagen's metadata.yaml by default. Source: llm_adapter@2026-05-25 Confidence: low |
β |
| Feature | Low |
Support generating config schema and Go config types for reusable configs under $defs in mdatagen. Support generating config schema and Go config types for reusable configs under $defs in mdatagen. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
β |
| Feature | Low |
Generate configuration table Markdown and inject it into README.md between sentinel comments in mdatagen. Generate configuration table Markdown and inject it into README.md between sentinel comments in mdatagen. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
β |
| Feature | Low |
Add methods allowing scalar unmarshaling to configoptional package. Add methods allowing scalar unmarshaling to configoptional package. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
β |
| Feature | Low |
Add ScalarMarshaler and ScalarUnmarshaler interfaces to xconfmap for custom marshaling/unmarshaling of wrapped scalar values. Add ScalarMarshaler and ScalarUnmarshaler interfaces to xconfmap for custom marshaling/unmarshaling of wrapped scalar values. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
β |
| Feature | Low |
Add Walker interface, WalkFunc type, and SkipAll error value to xextension/storage for iterating over storage key/value entries. Add Walker interface, WalkFunc type, and SkipAll error value to xextension/storage for iterating over storage key/value entries. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
β |
| Bugfix | Medium |
Fix memory corruption and fatal error in Snappy for configgrpc. Fix memory corruption and fatal error in Snappy for configgrpc. Source: llm_adapter@2026-05-25 Confidence: high |
β |
| Refactor | Low |
Switch scraperhelper.ControllerConfig to schema-based generated configuration and publish reusable controller_config schema. Switch scraperhelper.ControllerConfig to schema-based generated configuration and publish reusable controller_config schema. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
β |
Full changelog
Images and binaries here: https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.153.0
End User Changelog
π Breaking changes π
pkg/configoptional: Stabilize feature gate configoptional.AddEnabledField (#15333)pkg/confmap: Stabilize confmap.newExpandedValueSanitizer feature gate (#15339)pkg/exporterhelper: mark exporter.PersistRequestContext as stable (#15330)pkg/otelcol: Stabilize otelcol.printInitialConfig gate (#15340)pkg/pdata: Remove pdata.useCustomProtoEncoding feature gate (#15332)pkg/service: Stabilize telemetry.UseLocalHostAsDefaultMetricsAddress gate (#15342)pkg/xpdata: Stabilize pdata.enableRefCounting feature gate (#15331)
π§° Bug fixes π§°
pkg/config/configgrpc: Fix memory corruption and fatal error in Snappy (#15237, #15320)
API Changelog
π Breaking changes π
cmd/mdatagen: Enable reaggregation config generation by default; setreaggregation_enabled: falseto keep generating metric config with only theenabledfield. (#14689)
π‘ Enhancements π‘
-
cmd/mdatagen: Enforce stricterfeature_gatesvalidation inmetadata.yamlby default. (#15310)
Strict validation can be skipped on a per-gate basis by setting
skip_strict_validation: trueon the gate entry. -
cmd/mdatagen: Support generating config schema and Go config types for package metadata that defines reusable configs under$defs. (#15235) -
cmd/mdatagen: Generate config documentation table and inject it into README.md between sentinel comments (#14564)
When a component defines aconfig:section in itsmetadata.yaml,mdatagennow
generates a Markdown configuration table and injects it intoREADME.mdbetween:The table lists every YAML-visible property (including fields from embedded structs),
with type, default value, required status, and description. Nested objects generate
sub-tables linked from the parent row. Components whose README lacks the sentinel
markers are unaffected. -
pkg/configoptional: Add methods allowing scalar unmarshaling (#15175) -
pkg/scraperhelper: Switchscraperhelper.ControllerConfigto schema-based generated configuration and publish its reusablecontroller_configschema. (#15258) -
pkg/xconfmap: AddScalarMarshalerandScalarUnmarshalerinterfaces to allow custom marshaling and unmarshaling of wrapped scalar values. (#15175) -
pkg/xextension/storage: Add Walker interface, WalkFunc type, and SkipAll error value to support iterating over storage key/value entries. (#15190, #15191)
A storage Client may optionally implement the Walker interface to allow
consumers to range through all stored entries. This enables use cases such
as storage migrations and TTL-based garbage collection.
Breaking Changes
- `pkg/configoptional`: Remove feature gate configoptional.AddEnabledField
- `pkg/confmap`: Remove feature gate confmap.newExpandedValueSanitizer
- `pkg/exporterhelper`: Mark exporter.PersistRequestContext as stable (removing experimental flag)
- `pkg/otelcol`: Remove feature gate otelcol.printInitialConfig
- `pkg/pdata`: Remove feature gate pdata.useCustomProtoEncoding
- `pkg/service`: Remove feature gate telemetry.UseLocalHostAsDefaultMetricsAddress
- `pkg/xpdata`: Remove feature gate pdata.enableRefCounting
- cmd/mdatagen: Enable reaggregation config generation by default; set `reaggregation_enabled: false` to disable
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
Beta — feedback welcome: [email protected]