The full list of changes can be found in the compare view for the respective release at https://github.com/open-telemetry/opentelemetry-proto/releases.
- docs: add response size limitation for HTTP body and gRPC messages. #781
- profiles: introduce reference based attributes #733
- docs: Add more clarity to experiments. #771
- profiles: clarify Sample message usage guidance docs. #742
- profiles: improve Sample message clarity and usage documentation. #724
- profiles: clarify the profile and sample timestamps relationship. #744
- common: rename ref suffix to strindex #768
- examples: Represent uint64 and fixed64 fields as strings in metrics.json. #748
- logs:
SEVERITY_NUMBER_UNSPECIFIEDcan be used as theseverity_numberfield is optional. #736
- profiles: drop field profile.comment_strindices. #729
- profiles: clarify the original payload field comments. #722
- profiles: add a note about cardinality implications for attribute values. #713
- profiles: clarify dictionary guidelines: duplicates and other restrictions. #732
- profiles: clarify the original payload field comments. #722
- profiles: rename line -> lines and sample -> samples since they are repeated fields. #712
- profiles: document more explicitly the dictionary zero element requirement. #711
- all: drop attribute values restrictions. #707
⚠️ IMPORTANT: OTLP consumers are expected to accept attribute values that were previously considered invalid. All attributes can now contain:- empty values,
- bytes values,
- array values different than array of string values, bool values, int values, double values,
- kvlist values.
- all: fix schema_url comments to include scope field coverage. #727
- all: add missing field comments. #717
- profiles: drop field profile.comment_strindices. #729
- profiles: remove aggregation temporality enum and field. #710
- profiles: drop gzip requirement. #661
- profiles: avoid
optionalkeyword usage. #659 - profiles: make
profile_idoptional. #665 - profiles: use single
Profile.sample_typeand clarify use of timestamps. #649 - all: add notes about the attribute values restrictions. #683
⚠️ IMPORTANT: These restrictions can be dropped in a future minor release. - profiles: clarify usage of the zero value as the first element of tables in
ProfilesDictionary. #688, #698 - profiles: unsigned
time_nanosandduration_nanosinProfile. #692 - profiles: improve attribute encoding in
ProfilesDictionary. #672 - profiles: simplify profile stack trace representation. #708
- examples: fix OTLP JSON Event example body. #666
- docs: minor specification fixes around
UNAVAILABLEandRetryInfo. #669
- profiles: remove
default_sample_type. #679 - profiles: remove
has_*debug info fields, they are moving to attributes. #595 - profiles: remove
Location.is_folded. #690
- profiles: introduce Dictionary message in ProfilesData, and move the lookup tables into it. #650
- resource: Add EntityRef. #635
- logs: Stabilize
event_namefield inLogRecordmessage. #643 - profiles: Move the lookup tables to ProfilesData. #644
- profiles: Move default sample_type from the string table to sample_type. #620
- all: Add note about
schema_urlformat (including version). #605 - logs: Add top-level
event_namefield to log records instead ofevent.nameattribute. #600
- profiles: Remove unused
Labeldefinition. #602 - profiles: drop duplicate
attributesfield in message Profile. #606
- metrics: Add resource attributes and scope to metrics proto diagram. #519
- metrics: Added json example for exponential histogram. #580
- metrics: Clarify aggregation temporality for Summary metric type. #591
- docs: Remove HTTP 1.1 restriction from Protocol Details #571
- docs: Update specification to include development profiles #582
- docs: update references to logging exporter #581
- Makefile: exclude Profiles protocol from breaking-changes #576
- Makefile: exclude Profiles service from breaking changes too #586
- profiles: align type of index into string table #557
- profiles: drop Sample.stacktrace_id_index #575
- profiles: drop BuildIdKind #584
- profiles: drop Sample.label #583
- profiles: drop Location.type_index #578
- profiles: Rename profiles v1experimental to v1development #585
- profiles: Make mapping in Profile optional #556
- profiles: Fold the content of pprofextended.proto into profiles.proto, removing ProfileContainer. #590
- profiles: Improve lookup table pattern use in profiles. #592
- profiles: Renovations to experimental profiling schema. #596
- profiles: add missing java_package option to pprofextended. #558
- profiles: fix versioning in selector. #551
- Add new profile signal. #534
- Indicate if a
Span's parent or link is remote using 2 bit flag. #484 - Add metric.metadata for supporting additional metadata on metrics #514
- Add example of an Event #538
Full list of differences found in this compare.
- Add
flagsfield toSpanandSpan/Linkfor W3C-specified Trace Context flags. #503
- Update and fix OTLP JSON examples. #516, #510, #499
- Remove irrelevant comments from metric name field. #512
- Add comment to explain schema_url fields. #504
Full list of differences found in this compare.
- Add note about the possibility to have unstable components after 1.0.0 #489
- Add maturity JSON entry per package #490
Full list of differences found in this compare.
- Declare OTLP/JSON Stable. #436 #435
- Provide stronger symbolic stability guarantees. #432
- Clarify how additive changes are handled. #455
- Change the exponential histogram boundary condition. #409
- Clarify behavior for empty/not present/invalid trace_id and span_id fields. #442
- Change the collector trace endpoint to /v1/traces. #449
- Delete requirement to generate new trace/span id if an invalid id is received. #444
Full list of differences found in this compare.
- Add
csharp_namespaceoption to protos. (#399) - Fix some out-of-date urls which link to specification. (#402)
- 🛑 [BREAKING] Delete deprecated InstrumentationLibrary, InstrumentationLibraryLogs, InstrumentationLibrarySpans and InstrumentationLibraryMetrics messages. Delete deprecated instrumentation_library_logs, instrumentation_library_spans and instrumentation_library_metrics fields.
- Introduce Scope Attributes. #395
- Introduce partial success fields in
Export<signal>ServiceResponse. #414
Full list of differences found in this compare.
- Declare logs Stable. (#376)
- Metrics ExponentialHistogramDataPoint makes the
sumoptional (follows the same change in HistogramDataPOint in 0.15). #392
Full list of differences found in this compare.
- Introduce optional
minandmaxfields to the Histogram and ExponentialHistogram data points. (#279)
Full list of differences found in this compare.
- Remove deprecated LogRecord.Name field (#373).
Full list of differences found in this compare.
- Rename InstrumentationLibrary to InstrumentationScope (#362)
- Use optional for
sumfield to mark presence (#366)
Full list of differences found in this compare.
- Deprecate LogRecord.Name field (#357)
Full list of differences found in this compare.
Swaggergeneration updated toopenapiv2due to the use of an updated version of protoc inotel/build-protobuf- Clarify attribute key uniqueness requirement (#350)
- Fix path to Go packages (#360)
- Add ObservedTimestamp to LogRecord. (#351)
- Add native kotlin support (#337)
- Remove unused deprecated message StringKeyValue (#358)
- Remove experimental metrics config service (#359)
Full list of differences found in this compare.
- Rename logs to log_records in InstrumentationLibraryLogs. (#352)
- Remove deprecated messages and fields from traces. (#341)
- Remove deprecated messages and fields from metrics. (#342)
Full list of differences found in this compare.
- ExponentialHistogram is a base-2 exponential histogram described in OTEP 149. (#322)
- Adds
TracesData,MetricsData, andLogsDatacontainer types for common use in transporting multipleResourceSpans,ResourceMetrics, andResourceLogs. (#332)
Full list of differences found in this compare.
collector/logs/*is now consideredBeta. (#311)logs/*is now consideredBeta. (#311)
- Metrics data points add a
flagsfield with one bit to represent explicitly missing data. (#316)
Full list of differences found in this compare.
collector/metrics/*is now consideredstable. (#305)
- 🛑 [DATA MODEL CHANGE] Histogram/Summary sums must be monotonic counters of events (#302)
- 🛑 [DATA MODEL CHANGE] Clarify requirements and semantics for start time (#295)
- 🛑 [BREAKING] Deprecate
labelsfield from NumberDataPoint, HistogramDataPoint, SummaryDataPoint and add equivalentattributesfield (#283) - 🛑 [BREAKING] Deprecate
filtered_labelsfield from Exemplars and add equivalentfiltered_attributesfield (#283)
- Common - Add bytes (binary) as data type to AnyValue (#297)
- Common - Add schema_url fields as described in OTEP 0152 (#298)
- Remove if no changes for this section before release.
Full list of differences found in this compare.
Release 0.8 was the last in the line of releases marked as "unstable".
This release broke compatibility in more ways than were recognized and
documented at the time of its release. In particular, #278 created
the NumberDataPoint type and used it in several locations in place
of the former DoubleDataPoint. The new oneof in NumberDataPoint
re-used the former DoubleDataPoint tag number, which means that
pre-0.8 DoubleSum and DoubleGauge points would parse correctly as
a 0.8 Sum and Gauge points containing double-valued numbers.
However, by virtue of a syntax = "proto3" declaration, the protocol
compiler for all versions of OTLP have not included field presence,
which means 0 values are not serialized. The result is that valid
OTLP 0.7 DoubleSum and DoubleGauge points would not parse
correctly as OTLP 0.8 data. Instead, they parse as
NumberDataPoint with a missing value in the oneof field.
- 🛑 [DEPRECATION] Deprecate IntSum, IntGauge, and IntDataPoint (#278)
- 🛑 [DEPRECATION] Deprecate IntExemplar (#281)
- 🛑 [DEPRECATION] Deprecate IntHistogram (#270)
- 🛑 [BREAKING] Rename DoubleGauge to Gauge (#278)
- 🛑 [BREAKING] Rename DoubleSum to Sum (#278)
- 🛑 [BREAKING] Rename DoubleDataPoint to NumberDataPoint (#278)
- 🛑 [BREAKING] Rename DoubleSummary to Summary (#269)
- 🛑 [BREAKING] Rename DoubleExemplar to Exemplar (#281)
- 🛑 [BREAKING] Rename DoubleHistogram to Histogram (#270)
- 🛑 [DATA MODEL CHANGE] Make explicit bounds compatible with OM/Prometheus (#262)
Full list of differences found in this compare.
$$$Protobuf Encodings:**
collector/metrics/*is now consideredBeta. (#223)collector/logs/*is now consideredAlpha. (#228)logs/*is now consideredAlpha. (#228)metrics/*is now consideredBeta. (#223)
- Common/Logs/Metrics/Traces - Clarify empty instrumentation (#245)
- Metrics - Add SummaryDataPoint support to Metrics proto (#227)
Full list of differences found in this compare.
- Clarify maturity guarantees (#225)
- Traces - Deprecated old Span status code and added a new status code according to specification (#224)
** Marked for removal
2021-10-22given Stability Guarantees. - Rename ProbabilitySampler to TraceIdRatioBased (#221)
Full list of differences found in this compare.
Protobuf Encodings:
collector/trace/*is nowStable.common/*is nowStable.resource/*is nowStable.trace/trace.protois nowStable. (#160)
JSON Encodings:
- All messages are now
Alpha.
- 🛑 [BREAKING] Metrics - protocol was refactored, and lots of breaking changes.
- Removed MetricDescriptor and embedded into Metric and the new data types.
- Add new data types Gauge/Sum/Histogram.
- Make use of the "AggregationTemporality" into the data types that allow that support.
- Rename enum values to follow the proto3 style guide.
- Enable build to use docker image otel/build-protobuf to be used in CI. ** Can also be used by the languages to generate protos.
- 🛑 [BREAKING] Remove generated golang structs from the repository
The following was announced in the release, but has not yet been considered stable. Please see the latest README.md for actual status.
This is a Release Candidate to declare Metrics part of the protocol Stable.
Full list of differences found in this compare.
- Metrics - Add temporality to MetricDescriptor (#140).
- Metrics - Add Monotonic Types (#145)
- Common/Traces - Added support for arrays and maps for attribute values (AnyValue) (#157).
- 🛑 [BREAKING] Metrics - Removed common labels from MetricDescriptor (#144).
The following was announced in the release, but this was not considered Stable until v0.5.0
This is a Release Candidate to declare Traces part of the protocol Stable.
- Initial protos for trace, metrics, resource and OTLP.