Releases: open-telemetry/opentelemetry-configuration
Release list
v1.1.0
Schema
-
BREAKING: Remove
with_prefix fromExperimentalPrometheusMetricExporter
property names
(#612)Migration steps
# Before meter_provider: readers: - pull: exporter: prometheus/development: without_scope_info: false without_target_info/development: false with_resource_constant_labels: included: - "service*" excluded: - "service.attr1" --- # After meter_provider: readers: - pull: exporter: prometheus/development: scope_info_enabled: true target_info_enabled/development: true resource_constant_labels: included: - "service*" excluded: - "service.attr1"
-
Add
id_generatordefinition toTracerProvider
(#624) -
Add
DevelopmentEventToSpanEventBridgeLogRecordProcessor
(#588) -
Add
max_export_batch_size/developmenttoPeriodicMetricReader
(#610) -
Clarify AttributeNameValue description, fix related tooling
(#617) -
Clarify pattern matching is case-sensitive
(#556)
Tooling
v1.0.0
This is the first stable release of the schema, and corresponds to declarative config reaching stability in spec as well. It contains a few breaking changes to stable types, which are unlikely to be impactful, along with other braking changes to experimental types. Going forward, changes in minor versions will be backwards compatible. See versioning policy for detailed definitions around
compatibility.
-
BREAKING: Delete
OpenTracingPropagator
(#510) -
BREAKING (experimental type): Change Tracer/Meter/LoggerConfig
.disabledto.enabled
(#493)Migration steps
# Before meter_provider: meter_configuration/development: default_config: disabled: true meters: - name: "my_scope" config: disabled: false tracer_provider: tracer_configuration/development: default_config: disabled: true tracers: - name: "my_scope" config: disabled: false logger_provider: logger_configuration/development: default_config: disabled: true loggers: - name: "my_scope" config: disabled: false --- # After meter_provider: meter_configuration/development: default_config: enabled: false meters: - name: "my_scope" config: enabled: true tracer_provider: tracer_configuration/development: default_config: enabled: false tracers: - name: "my_scope" config: enabled: true logger_provider: logger_configuration/development: default_config: enabled: false loggers: - name: "my_scope" config: enabled: true
-
BREAKING (experimental type): Remove .instrumentation/development.general.peer
(#526) -
BREAKING (experimental type): Add
/developmentsuffix to someExperimentalPrometheusTranslationStrategyvalues,ExperimentalPrometheusMetricExporter.without_target_info
(#543,
#547)Migration steps
# Before meter_provider: readers: - pull: exporter: prometheus/development: without_target_info: true translation_strategy: no_translation # or no_utf8_escaping_with_suffixes, underscore_escaping_without_suffixes --- # After meter_provider: readers: - pull: exporter: prometheus/development: without_target_info/development: true translation_strategy: no_translation/development # or no_utf8_escaping_with_suffixes/development, underscore_escaping_without_suffixes/development
-
Fix
ExperimentalPrometheusMetricExporter.without_scope.infodescription
(#474, #490) -
Drop
$idin compiled schema
(#487) -
Add
known_methodsproperty toExperimentalHttpClientInstrumentation,ExperimentalHttpServerInstrumentation
(#527) -
Tweak
ExperimentalComposableRuleBasedSamplerconstraints and description
(#461) -
Add
sanitizationproperty toExperimentalGeneralInstrumentation
(#531) -
Add new
ExperimentalSemconvConfigtype, with options to configurecode,db,gen_ai,messaging,rpc,httpdomains
(#519, #550)
Tooling
-
Extract kitchen sink to snippets
(#472, #471, #477, #478, #479, #482, #483, #484, #480, #481, #489) -
Rename example files to match anticipated schema store
fileMatch
(#488) -
Move detailed language support information to separate page
(#476, #515) -
Stop stripping description from markdown JSON schema display
(#517) -
Add versioning details for enum values
(#540) -
Update Java implementation support status
(#485) -
Update Go implementation support status
(#498) -
Update PHP implementation support status
(#513) -
Update Javascript implementation support status
(#532)
v1.0.0-rc.3
This release contains a number of changes which are breaking according to the versioning policy, but in
practice are unlikely to be impactful. These changes generally make implicit assumptions explicit, or require changes
from implementations but not end users. There are a small number of notable breaking changes called out below.
This release also contains a large number of project tooling improvements aimed at improving consistency and quality.
Notably, the schema is now compiled into a single file at opentelemetry_configuration.json. Please see project tooling docs for more details.
Schema
-
BREAKING: Move certificate configuration under
tlsblock and rename to align with collector
(#331, #418)Migration steps
# Before tracer_provider: # or meter_provider, logger_provider processors: - batch: exporter: otlp_http: certificate_file: /app/cert.pem client_key_file: /app/key.pem client_certificate_file: /app/client_cert.pem --- # After tracer_provider: processors: - batch: exporter: otlp_http: tls: ca_file: /app/cert.pem key_file: /app/key.pem cert_file: /app/client_cert.pem
-
BREAKING: Update .log_level to be enum
(#447)Migration steps
# .log_level must now be one of the values in https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema-docs.md#severitynumber- # If already conforming to this, no update is necessary, else update to the equivalent level. log_level: info
-
BREAKING: Delete ZipkinSpanExporter ahead of stabilizing after deprecation in the specification.
See https://opentelemetry.io/blog/2025/deprecating-zipkin-exporters/ for details. If you depend on ZipkinSpanExporter
w/ declarative config, please open an issue to let us know.
(#453) -
BREAKING (low-impact): Add ConsoleMetricExporter
(#362) -
BREAKING (low-impact): Add [0, 1] bounds for TraceIdRatioBasedSampler ratio
(#358) -
BREAKING (low-impact): Make view selector and stream required
(#365) -
BREAKING (low-impact): Change JaegerRemote to Experimental
(#363) -
BREAKING (low-impact): Fix casing for OpenTelemetryConfiguration
(#372) -
BREAKING (low-impact): Add AttributeLimit constraints
(#382) -
BREAKING (low-impact): Set AttributeLimits additionalProperties: false
(#381) -
BREAKING (low-impact): Update Propagator to disallow additionalProperties
(#388) -
BREAKING (low-impact): Add constraints to Base2ExponentialBucketHistogramAggregation properties
(#383) -
BREAKING (low-impact): Add minItems recommendation for array properties
(#386) -
BREAKING (low-impact): Experimental{Signal}MatcherAndConfig require name and config properties
(#406) -
BREAKING (low-impact): Break out dedicated type for prometheus translation strategy
(#415) -
BREAKING (low-impact): Add schema modeling guidance for enum values as lower_snake_case
(#445) -
Replace patternProperties with additionalProperties for improved type safety
(#323, #347) -
Minor cleanup of SDK extension plugin types
(#385) -
Add schema for ProbabilitySampler
(#339) -
Add new LoggerConfig parameters
(#392) -
Update
without_target_infotoExperimentalPrometheusMetricExporter
(#376) -
Clarify .file_format is a string consisting of the major and minor version
(#455) -
Add schema for rule based sampler
(#410) -
Add Distribution section for vendor-specific settings
(#433)
Tooling
- Fix links, use common link checker
(#319, #351, #379, #434) - Track additional schema meta data, including default behavior and descriptions. Separate schema source and compile into single output file. Add additional schema validation. Generate documentation from schema.
(#312, #350, #360, #359, #361, #370, #369, #367, #364, #384, #380, #366, #374, #414, #412, #411, #424, #425, #426, #436, #443, #444, #442, #440, #451, #450) - Document what you see is what you get philosophy as schema modeling rule
(#377) - Add contributing / release guidance for breaking changes
(#373) - Document SDK extension plugin schema modeling rule
(#378) - Misc docs updates
(#423) - Add getting started config at
/examples/getting-started.yaml
(#402) - Move stability definition to VERSIONING.md, rework README.md for improved focus
(#454) - Add tooling for small targeted configuration snippets
(#397)
v1.0.0-rc.2
v1.0.0-rc.1
v0.4.0
This release has a significant number of breaking changes, new additions and fixes. The breaking changes reflect a higher degree of scrutiny on consistency and correct data modeling as we approach a stable release (#161, #4374). We anticipate limited churn going forward. Additionally, once we do have a stable release, users can rely on the strong compatibility guarantees we'll conform to in versions 1.0.0+.
Schema
-
BREAKING: Refactor otlp exporter to separate
otlp_httpandotlp_grpcexporters, add_filesuffix to OTLP exporter certificate properties (#146, #166)Migration steps
# Before tracer_provider: processors: - batch: exporter: otlp: protocol: http/protobuf endpoint: http://localhost:4318/v1/traces certificate: /app/cert.pem --- # After tracer_provider: processors: - batch: exporter: otlp_http: endpoint: http://localhost:4318/v1/traces certificate_file: /app/cert.pem
-
BREAKING: Refactor propagator schema, add
composite_listfor compatibility withOTEL_PROPAGATORS. (#187)Migration steps
# Before propagator: composite: - tracecontext - baggage --- # After propagator: composite: - tracecontext: - baggage:
-
BREAKING: Refactor resource detection and mark experimental (#182, #188)
Migration steps
# Before resource: attributes: # ...omitted for brevity detectors: excluded: - process.command_args --- # After resource: attributes: # ...omitted for brevity detection/development: detectors: - container: - host: - os: - process: attributes: excluded: - process.command_args
-
BREAKING: Mark prometheus exporter as experimental (#180)
Migration steps
# Before meter_provider: readers: - pull: prometheus: # ...omitted for brevity --- # After meter_provider: readers: - pull: prometheus/development: # ...omitted for brevity
-
BREAKING: Mark
.instrumentationas experimental (#179)Migration steps
# Before instrumentation: # ...omitted for brevity --- # After instrumentation/development: # ...omitted for brevity
-
BREAKING: Move metric producers from
MetricReadertoPullMetricReader,PeriodicMetricReader(#148)Migration steps
# Before meter_provider: readers: - periodic: # ...omitted for brevity producers: - opencensus: --- # After meter_provider: readers: - periodic: # ...omitted for brevity producers: - opencensus:
-
BREAKING: Change various usages of minimum to exclusiveMinimum (#151)
-
Add
.meter_provider.exemplar_filterproperty (#131) -
Don't require empty objects (#134)
-
Improve
.file_formatdocumentation (#137) -
Fix periodic exporter interval default value in
kitchen-sink.yaml(#143) -
Provide guidance on required and null properties. Update schema types to reflect guidance, including documenting behavior when properties are omitted or null. (#141, #192)
-
Add guidance around use of polymorphic types (#147)
-
Fix MetricProducer type descriptions (#150)
-
Object and enum types should be defined in
$defs(#155) -
Add guidance around use of title and description keywords (#157)
-
Add
log_levelconfiguration (#121) -
Add missing gauge value to InstrumentType enum (#186)
-
Add cardinality limits configuration to
PullMetricReader,PeriodicMetricReader(#185) -
Add scope configuration to disable loggers, tracers, meters (#140, #191)
Tooling
- chore: add govulncheck check for validator (#126)
- Drop anchors.yaml example (#130)
- Rebrand file configuration to declarative configuration (#135)
- Rework release process (#149, #167)
- Clarify JSON schema draft 2020-12 (#156)
- Move modeling rules to CONTRIBUTING.md (#170)
- Add FOSSA scanning workflow (#171)
- Add a variety of key definitions surrounding stability (#142)
v0.3.0
What's Changed
- Add metric producers to meter_provider configuration by @dashpole in #90
- Document what configuration options are covered in the schema by @jack-berg in #92
- Remove unnecessary MetricProducer in pull metric reader by @dashpole in #93
- Add modeling rule for property name case by @jack-berg in #96
- adding instrumentation configuration by @brettmc in #91
- Add sdk-config.yaml starter template w/ references to env vars by @jack-berg in #76
- [SCHEMA] The MetricExporter schema is unsafe by @marcalff in #110
- Define modeling guidance for mismatches with standard env vars, add resource.attribute_list by @jack-berg in #106
- fix: update attribute_keys to include type by @codeboten in #111
- add tool for config file validation and envvar replacement by @tsloughter in #94
- add headers_list support, similar to attributes_list by @codeboten in #122
- Prefer arrays of name value pairs over objects by @jack-berg in #115
- stream: update stream configuration to include/exclude by @codeboten in #118
- Project tooling to generate example property descriptions by @jack-berg in #104
Repository maintenance
- [chore] update changelog to include link for 0.2.0 by @codeboten in #95
- Fix build by @jack-berg in #116
- add codeql workflow by @codeboten in #123
- Update CODEOWNERS to include configuration-approvers by @jack-berg in #124
- Add brettmc to approvers by @jack-berg in #113
- Add marcalff to approvers by @jack-berg in #114
New Contributors
- @dashpole made their first contribution in #90
- @brettmc made their first contribution in #91
- @marcalff made their first contribution in #110
- @tsloughter made their first contribution in #94
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- Post release v0.1.0 by @jack-berg in #48
- Document time value units in kitchen-sink example by @jaydeluca in #51
- add resource schema_url by @codeboten in #50
- add prometheus without units & type suffix options by @codeboten in #61
- add without_scope_info to prometheus exporter by @codeboten in #63
- add insecure field by @codeboten in #30
- add comments for each prom exporter config option by @codeboten in #66
- remove specification for service.name by @codeboten in #68
- add console definition for log record exporter by @codeboten in #84
- Define resource.detectors.attributes.included/excluded by @jack-berg in #64
- [exporter/prometheus] add with_resource_constant_labels by @codeboten in #67
- Add schema modeling guidance to use wildcard syntax instead of regex by @jack-berg in #71
New Contributors
- @jaydeluca made their first contribution in #51
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Initial configuration schema release, including:
- Resource
- Attribute limits
- Enabled
- Propagators
- Tracer provider
- Span processors (and exporters)
- Span limits
- Sampler
- Meter provider
- Metric readers (and exporters)
- Views
- Logger provider
- Log record processors (and exporters)
- Log limits