Skip to content

otelconf: update to latest config schema rc#8505

Merged
MrAlias merged 12 commits intoopen-telemetry:mainfrom
codeboten:codeboten/rc3-bump
Feb 11, 2026
Merged

otelconf: update to latest config schema rc#8505
MrAlias merged 12 commits intoopen-telemetry:mainfrom
codeboten:codeboten/rc3-bump

Conversation

@codeboten
Copy link
Copy Markdown
Contributor

Updates the library to rc.3 of the otel config schema. Some notable changes listed in the release notes of the schema: https://github.com/open-telemetry/opentelemetry-configuration/releases/tag/v1.0.0-rc.3

rc.3 release notes

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 tls block 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 composite sampler
    (#390, #427)

  • Add schema for ProbabilitySampler
    (#339)

  • Add new LoggerConfig parameters
    (#392)

  • Update without_target_info to ExperimentalPrometheusMetricExporter
    (#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)

Updates the library to rc.3 of the otel config schema. Some notable changes listed
in the release notes of the schema: https://github.com/open-telemetry/opentelemetry-configuration/releases/tag/v1.0.0-rc.3

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
@codeboten codeboten requested review from a team and pellared as code owners February 4, 2026 00:07
@codecov
Copy link
Copy Markdown

codecov bot commented Feb 4, 2026

Codecov Report

❌ Patch coverage is 97.22222% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.1%. Comparing base (282cef4) to head (e9f1729).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
otelconf/config_json.go 94.4% 0 Missing and 1 partial ⚠️
otelconf/config_yaml.go 95.2% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@          Coverage Diff          @@
##            main   #8505   +/-   ##
=====================================
  Coverage   82.1%   82.1%           
=====================================
  Files        179     179           
  Lines      13700   13662   -38     
=====================================
- Hits       11254   11229   -25     
+ Misses      2044    2032   -12     
+ Partials     402     401    -1     
Files with missing lines Coverage Δ
otelconf/log.go 99.2% <100.0%> (+<0.1%) ⬆️
otelconf/metric.go 90.6% <100.0%> (-0.1%) ⬇️
otelconf/propagator.go 100.0% <100.0%> (ø)
otelconf/resource.go 100.0% <100.0%> (ø)
otelconf/trace.go 99.4% <100.0%> (-0.1%) ⬇️
otelconf/config_json.go 93.9% <94.4%> (-0.2%) ⬇️
otelconf/config_yaml.go 95.5% <95.2%> (+0.3%) ⬆️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
Signed-off-by: alex boten <223565+codeboten@users.noreply.github.com>
@MrAlias MrAlias merged commit d603c16 into open-telemetry:main Feb 11, 2026
29 checks passed
@MrAlias MrAlias added this to the v1.41.0 milestone Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants