docs / schema / versioning

Schema Versioning

The opentraces schema follows semantic versioning. The version lives in packages/opentraces-schema/src/opentraces_schema/version.py as the single source of truth.

Version Policy

Change TypeVersion BumpExample
New optional fieldMinorAdding metrics.p95_latency_ms
New optional modelMinorAdding a debugging block
Field renameMajorRenaming steps to turns
Field removalMajorRemoving metadata
Type changeMajorChanging success from boolean to string
Bug fix / docsPatchFixing a validation regex

Current Version

0.2.0

The 0.x series means breaking changes may still land between minor versions until 1.0.0.

Version Checks

There is no public migration workflow today. Version checks happen when configs are normalized and when TraceRecord JSONL is loaded. A hidden opentraces migrate command still exists for diagnostics, but it only reports the current config and schema versions.

Rationale Documents

Each schema version ships with a rationale document and a changelog entry in the schema package. See VERSION-POLICY.md for the full versioning policy and CHANGELOG.md for the release history.

Field Mappings

The repository keeps downstream mapping tables in packages/opentraces-schema/FIELD-MAPPINGS.md.