Skip to content

Releases: open-telemetry/opentelemetry-configuration

v1.1.0

Choose a tag to compare

@jack-berg jack-berg released this 05 Jun 14:52
86a017a

Schema

  • BREAKING: Remove with_ prefix from ExperimentalPrometheusMetricExporter
    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_generator definition to TracerProvider
    (#624)

  • Add DevelopmentEventToSpanEventBridgeLogRecordProcessor
    (#588)

  • Add max_export_batch_size/development to PeriodicMetricReader
    (#610)

  • Clarify AttributeNameValue description, fix related tooling
    (#617)

  • Clarify pattern matching is case-sensitive
    (#556)

Tooling

  • Update java implementation support status
    (#567)
  • Update C++ implementation support status
    (#573,
    #618)
  • Update go implementation support status
    (#581)
  • Add / update snippets
    (#579,
    #602)

v1.0.0

Choose a tag to compare

@jack-berg jack-berg released this 27 Feb 20:40
4351ebd

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 JaegerPropagator
    (#507, #511)

  • BREAKING: Delete OpenTracingPropagator
    (#510)

  • BREAKING (experimental type): Change Tracer/Meter/LoggerConfig .disabled to .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 /development suffix to some ExperimentalPrometheusTranslationStrategy values, 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.info description
    (#474, #490)

  • Drop $id in compiled schema
    (#487)

  • Add known_methods property to ExperimentalHttpClientInstrumentation, ExperimentalHttpServerInstrumentation
    (#527)

  • Tweak ExperimentalComposableRuleBasedSampler constraints and description
    (#461)

  • Add sanitization property to ExperimentalGeneralInstrumentation
    (#531)

  • Add new ExperimentalSemconvConfig type, with options to configure code, db, gen_ai, messaging, rpc, http domains
    (#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)

  • Fix broken links
    (#514, #499)

  • 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 C++ implementation support status
    (#496, #516, #521)

  • 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

Choose a tag to compare

@jack-berg jack-berg released this 11 Dec 20:09
b380ba6

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)

v1.0.0-rc.2

Choose a tag to compare

@codeboten codeboten released this 29 Sep 22:21
c672076

Schema

  • Move known resource detectors to properties (#220)
  • Add 'translation_strategy' to PrometheusMetricExporter (#262)
  • bugfix: remove requirement for disabled field for ExperimentalTracerConfig (#307)
  • bugfix: remove name/config as required in ExperimentalTracerMatcherAndConfig (#308)

Tooling

  • Update community member listings (#225)
  • Fix outdated community membership link (#226)
  • Add minimum token permissions for all github workflow files (#231)
  • Run docker image as current user (#240)
  • Install all dependencies in one step (#241)
  • Dep validator for validator-build-shelltest-image (#239)

v1.0.0-rc.1

Choose a tag to compare

@jack-berg jack-berg released this 18 Jun 16:30
c7ff6b9

Schema

  • Standardize container, host, process, and service resource detectors (#199)

Tooling

  • Add mark down link checking build step (#196, #198)
  • Add ossf-scorecard scanning workflow (#194)
  • Update validator-release.yml to use ubuntu-latest (#200)
  • Add Renovate configuration (#202)
  • [StepSecurity] ci: Harden GitHub Actions (#206)

v0.4.0

Choose a tag to compare

@jack-berg jack-berg released this 31 Mar 15:49
2013c2b

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_http and otlp_grpc exporters, add _file suffix 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_list for compatibility with OTEL_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 .instrumentation as experimental (#179)

    Migration steps
    # Before
    instrumentation: # ...omitted for brevity
    ---
    # After
    instrumentation/development: # ...omitted for brevity
  • BREAKING: Move metric producers from MetricReader to PullMetricReader, 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_filter property (#131)

  • Don't require empty objects (#134)

  • Improve .file_format documentation (#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)

  • Add otlp_file/development exporter (#154, #181)

  • Object and enum types should be defined in $defs (#155)

  • Add guidance around use of title and description keywords (#157)

  • Add log_level configuration (#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

Choose a tag to compare

@codeboten codeboten released this 20 Sep 17:17
9c8ff31

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

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@codeboten codeboten released this 08 May 18:57
28fe6c3

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@jack-berg jack-berg released this 05 Oct 22:38
aeff7f8

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