Skip to content

Conversation

@app-token-modules
Copy link
Contributor

New managed modules references found. Please review.

@app-token-modules app-token-modules bot requested a review from a team November 3, 2025 12:07
"digest": "876c5eafb14069d6ee37de358b4913cc3b2f3bcd5948e4a7b7694d4e95b53a30816c6a488e9757e15e7f11bf13090195746f13015bd935224df711215dbf0152"
},
{
"name": "v1.9.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

6 files changed: 0 removed, 0 renamed, 0 added, 6 changed content

Files changed content:

--- shake256:400802f0bd1264879535182c954d3f6f1ba611f0a747c665bc699d58aa268f2df026ea3a5e34086db2cbb4b4368e7fc313a5d6590d2ce1003255c6454914f5c6  opentelemetry/proto/common/v1/common.proto
+++ shake256:bef2ba517948380019de9b92b03bda823c053c1921d0d8cf23bc22ad47e7b938ce04625b705dd4b963b0d8796ef08c07b702f2fcce7179a0b6c183e7a6b4008f  opentelemetry/proto/common/v1/common.proto
@@ -22,7 +22,7 @@
 option java_outer_classname = "CommonProto";
 option go_package = "go.opentelemetry.io/proto/otlp/common/v1";
 
-// AnyValue is used to represent any type of attribute value. AnyValue may contain a
+// Represents any type of attribute value. AnyValue may contain a
 // primitive value such as a string or integer or it may contain an arbitrary nested
 // object containing arrays, key-value lists and primitives.
 message AnyValue {
@@ -54,29 +54,43 @@
 message KeyValueList {
   // A collection of key/value pairs of key-value pairs. The list may be empty (may
   // contain 0 elements).
+  //
   // The keys MUST be unique (it is not allowed to have more than one
   // value with the same key).
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated KeyValue values = 1;
 }
 
-// KeyValue is a key-value pair that is used to store Span attributes, Link
+// Represents a key-value pair that is used to store Span attributes, Link
 // attributes, etc.
 message KeyValue {
+  // The key name of the pair.
   string key = 1;
+
+  // The value of the pair.
   AnyValue value = 2;
 }
 
 // InstrumentationScope is a message representing the instrumentation scope information
 // such as the fully qualified name and version. 
 message InstrumentationScope {
+  // A name denoting the Instrumentation scope.
   // An empty instrumentation scope name means the name is unknown.
   string name = 1;
+
+  // Defines the version of the instrumentation scope.
+  // An empty instrumentation scope version means the version is unknown.
   string version = 2;
 
   // Additional attributes that describe the scope. [Optional].
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated KeyValue attributes = 3;
+
+  // The number of attributes that were discarded. Attributes
+  // can be discarded because their keys are too long or because there are too many
+  // attributes. If this value is 0, then no attributes were dropped.
   uint32 dropped_attributes_count = 4;
 }
 

--- shake256:7fa1b36dd1838379fc802a0f8e7c0be9f1947d1e2ae2b5aa4c24ed208b7ffbcaca7e8c2484cf567ad35582867a22aa4fecf97a51d46d0dd7e6d4eabea5f690f8  opentelemetry/proto/logs/v1/logs.proto
+++ shake256:f4faf44cb51c74f31ec5656aaa435bbc809f86e81887b7a0b6034472d96cd49093b4f8d2daca99551cdd5ac7ba8ff7a50323c9e48f59aa1307003e3e2c50db80  opentelemetry/proto/logs/v1/logs.proto
@@ -78,7 +78,8 @@
   // is recorded in. Notably, the last part of the URL path is the version number of the
   // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
   // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
-  // This schema_url applies to all logs in the "logs" field.
+  // This schema_url applies to the data in the "scope" field and all logs in the
+  // "log_records" field.
   string schema_url = 3;
 }
 
@@ -174,6 +175,7 @@
   // Additional attributes that describe the specific event occurrence. [Optional].
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 6;
   uint32 dropped_attributes_count = 7;
 

--- shake256:f6304492d43a53155504b3a57ac98efd25cc3df15c5da47fe26c6003d3c1b887f0cc95befd22777be61dff7a4ae38325978573428ba479d0087dabbfe6005b7d  opentelemetry/proto/metrics/v1/metrics.proto
+++ shake256:971a5d39d2c3b851bef250244f991753d96e45c52fa53f4a874238098e5019535c66dab663aee020ff0e969d3cbc09c406335af81fd90d3f017dbbba809a2363  opentelemetry/proto/metrics/v1/metrics.proto
@@ -96,7 +96,8 @@
   // is recorded in. Notably, the last part of the URL path is the version number of the
   // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
   // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
-  // This schema_url applies to all metrics in the "metrics" field.
+  // This schema_url applies to the data in the "scope" field and all metrics in the
+  // "metrics" field.
   string schema_url = 3;
 }
 
@@ -187,13 +188,13 @@
 message Metric {
   reserved 4, 6, 8;
 
-  // name of the metric.
+  // The name of the metric.
   string name = 1;
 
-  // description of the metric, which can be used in documentation.
+  // A description of the metric, which can be used in documentation.
   string description = 2;
 
-  // unit in which the metric value is reported. Follows the format
+  // The unit in which the metric value is reported. Follows the format
   // described by https://unitsofmeasure.org/ucum.html.
   string unit = 3;
 
@@ -215,6 +216,7 @@
   // for lossless roundtrip translation to / from another data model.
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue metadata = 12;
 }
 
@@ -228,25 +230,31 @@
 // AggregationTemporality is not included. Consequently, this also means
 // "StartTimeUnixNano" is ignored for all data points.
 message Gauge {
+  // The time series data points.
+  // Note: Multiple time series may be included (same timestamp, different attributes).
   repeated NumberDataPoint data_points = 1;
 }
 
 // Sum represents the type of a scalar metric that is calculated as a sum of all
 // reported measurements over a time interval.
 message Sum {
+  // The time series data points.
+  // Note: Multiple time series may be included (same timestamp, different attributes).
   repeated NumberDataPoint data_points = 1;
 
   // aggregation_temporality describes if the aggregator reports delta changes
   // since last report time, or cumulative changes since a fixed start time.
   AggregationTemporality aggregation_temporality = 2;
 
-  // If "true" means that the sum is monotonic.
+  // Represents whether the sum is monotonic.
   bool is_monotonic = 3;
 }
 
 // Histogram represents the type of a metric that is calculated by aggregating
 // as a Histogram of all reported measurements over a time interval.
 message Histogram {
+  // The time series data points.
+  // Note: Multiple time series may be included (same timestamp, different attributes).
   repeated HistogramDataPoint data_points = 1;
 
   // aggregation_temporality describes if the aggregator reports delta changes
@@ -257,6 +265,8 @@
 // ExponentialHistogram represents the type of a metric that is calculated by aggregating
 // as a ExponentialHistogram of all reported double measurements over a time interval.
 message ExponentialHistogram {
+  // The time series data points.
+  // Note: Multiple time series may be included (same timestamp, different attributes).
   repeated ExponentialHistogramDataPoint data_points = 1;
 
   // aggregation_temporality describes if the aggregator reports delta changes
@@ -274,6 +284,8 @@
 // because the count and sum fields of a SummaryDataPoint are assumed to be
 // cumulative values.
 message Summary {
+  // The time series data points.
+  // Note: Multiple time series may be included (same timestamp, different attributes).
   repeated SummaryDataPoint data_points = 1;
 }
 
@@ -377,16 +389,7 @@
   // where this point belongs. The list may be empty (may contain 0 elements).
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
-  //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 7;
 
   // StartTimeUnixNano is optional but strongly encouraged, see the
@@ -435,16 +438,7 @@
   // where this point belongs. The list may be empty (may contain 0 elements).
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
-  //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 9;
 
   // StartTimeUnixNano is optional but strongly encouraged, see the
@@ -529,16 +523,7 @@
   // where this point belongs. The list may be empty (may contain 0 elements).
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
-  //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 1;
 
   // StartTimeUnixNano is optional but strongly encouraged, see the
@@ -554,12 +539,12 @@
   // 1970.
   fixed64 time_unix_nano = 3;
 
-  // count is the number of values in the population. Must be
+  // The number of values in the population. Must be
   // non-negative. This value must be equal to the sum of the "bucket_counts"
   // values in the positive and negative Buckets plus the "zero_count" field.
   fixed64 count = 4;
 
-  // sum of the values in the population. If count is zero then this field
+  // The sum of the values in the population. If count is zero then this field
   // must be zero.
   //
   // Note: Sum should only be filled out when measuring non-negative discrete
@@ -586,7 +571,7 @@
   // values depend on the range of the data.
   sint32 scale = 6;
 
-  // zero_count is the count of values that are either exactly zero or
+  // The count of values that are either exactly zero or
   // within the region considered zero by the instrumentation at the
   // tolerated degree of precision.  This bucket stores values that
   // cannot be expressed using the standard exponential formula as
@@ -605,12 +590,12 @@
   // Buckets are a set of bucket counts, encoded in a contiguous array
   // of counts.
   message Buckets {
-    // Offset is the bucket index of the first entry in the bucket_counts array.
+    // The bucket index of the first entry in the bucket_counts array.
     //
     // Note: This uses a varint encoding as a simple form of compression.
     sint32 offset = 1;
 
-    // bucket_counts is an array of count values, where bucket_counts[i] carries
+    // An array of count values, where bucket_counts[i] carries
     // the count of the bucket at index (offset+i). bucket_counts[i] is the count
     // of values greater than base^(offset+i) and less than or equal to
     // base^(offset+i+1).
@@ -630,10 +615,10 @@
   // measurements that were used to form the data point
   repeated Exemplar exemplars = 11;
 
-  // min is the minimum value over (start_time, end_time].
+  // The minimum value over (start_time, end_time].
   optional double min = 12;
 
-  // max is the maximum value over (start_time, end_time].
+  // The maximum value over (start_time, end_time].
   optional double max = 13;
 
   // ZeroThreshold may be optionally set to convey the width of the zero
@@ -655,16 +640,7 @@
   // where this point belongs. The list may be empty (may contain 0 elements).
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
-  //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 7;
 
   // StartTimeUnixNano is optional but strongly encouraged, see the

--- shake256:72bfe7f51e7b656b8fd50454af4cd76ce4dfbb14ce2ba19591e799afac97b4253aff5620d68adbf6ac213b1c527d86da1287a9fcc58074952cd87bdd97948721  opentelemetry/proto/profiles/v1development/profiles.proto
+++ shake256:31f9ef66df2a709ffe84506dea5c5af1b02a524c2a8cd726e82cb5d76fe0b9421702e7f2434828aa4230d70745803cb0ca7c56592218db2facc5d9d08f321c9f  opentelemetry/proto/profiles/v1development/profiles.proto
@@ -97,51 +97,81 @@
 //
 
 // ProfilesDictionary represents the profiles data shared across the
-// entire message being sent.
+// entire message being sent. The following applies to all fields in this
+// message:
 //
-// Note that all fields in this message MUST have a zero value encoded as the first element.
-// This allows for _index fields pointing into the dictionary to use a 0 pointer value
-// to indicate 'null' / 'not set'. Unless otherwise defined, a 'zero value' message value
-// is one with all default field values, so as to minimize wire encoded size.
+// - A dictionary is an array of dictionary items. Users of the dictionary
+//   compactly reference the items using the index within the array.
+//
+// - A dictionary MUST have a zero value encoded as the first element. This
+//   allows for _index fields pointing into the dictionary to use a 0 pointer
+//   value to indicate 'null' / 'not set'. Unless otherwise defined, a 'zero
+//   value' message value is one with all default field values, so as to
+//   minimize wire encoded size.
+//
+// - There SHOULD NOT be dupes in a dictionary. The identity of dictionary
+//   items is based on their value, recursively as needed. If a particular
+//   implementation does emit duplicated items, it MUST NOT attempt to give them
+//   meaning based on the index or order. A profile processor may remove
+//   duplicate items and this MUST NOT have any observable effects for
+//   consumers.
+//
+// - There SHOULD NOT be orphaned (unreferenced) items in a dictionary. A
+//   profile processor may remove ("garbage-collect") orphaned items and this
+//   MUST NOT have any observable effects for consumers.
+//
 message ProfilesDictionary {
   // Mappings from address ranges to the image/binary/library mapped
   // into that address range referenced by locations via Location.mapping_index.
+  //
+  // mapping_table[0] must always be zero value (Mapping{}) and present.
   repeated Mapping mapping_table = 1;
 
   // Locations referenced by samples via Stack.location_indices.
+  //
+  // location_table[0] must always be zero value (Location{}) and present.
   repeated Location location_table = 2;
 
   // Functions referenced by locations via Line.function_index.
+  //
+  // function_table[0] must always be zero value (Function{}) and present.
   repeated Function function_table = 3;
 
   // Links referenced by samples via Sample.link_index.
+  //
+  // link_table[0] must always be zero value (Link{}) and present.
   repeated Link link_table = 4;
 
   // A common table for strings referenced by various messages.
-  // string_table[0] must always be "".
+  //
+  // string_table[0] must always be "" and present.
   repeated string string_table = 5;
 
-  // A common table for attributes referenced by various messages.
-  // It is a collection of key/value pairs. Note, global attributes
-  // like server name can be set using the resource API. Examples of attributes:
+  // A common table for attributes referenced by the Profile, Sample, Mapping
+  // and Location messages below through attribute_indices field. Each entry is
+  // a key/value pair with an optional unit. Since this is a dictionary table,
+  // multiple entries with the same key may be present, unlike direct attribute
+  // tables like Resource.attributes. The referencing attribute_indices fields,
+  // though, do maintain the key uniqueness requirement.
   //
+  // It's recommended to use attributes for variables with bounded cardinality,
+  // such as categorical variables
+  // (https://en.wikipedia.org/wiki/Categorical_variable). Using an attribute of
+  // a floating point type (e.g., CPU time) in a sample can quickly make every
+  // attribute value unique, defeating the purpose of the dictionary and
+  // impractically increasing the profile size.
+  //
+  // Examples of attributes:
   //     "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
-  //     "/http/server_latency": 300
   //     "abc.com/myattribute": true
-  //     "abc.com/score": 10.239
+  //     "allocation_size": 128 bytes
   //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // attribute_table[0] must always be zero value (KeyValueAndUnit{}) and present.
   repeated KeyValueAndUnit attribute_table = 6;
 
   // Stacks referenced by samples via Sample.stack_index.
+  //
+  // stack_table[0] must always be zero value (Stack{}) and present.
   repeated Stack stack_table = 7;
 }
 
@@ -206,7 +236,8 @@
   // is recorded in. Notably, the last part of the URL path is the version number of the
   // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
   // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
-  // This schema_url applies to all profiles in the "profiles" field.
+  // This schema_url applies to the data in the "scope" field and all profiles in the
+  // "profiles" field.
   string schema_url = 3;
 }
 
@@ -248,7 +279,7 @@
   //   ["allocated_objects","count"] or ["allocated_space","bytes"],
   ValueType sample_type = 1;
   // The set of samples recorded in this profile.
-  repeated Sample sample = 2;
+  repeated Sample samples = 2;
 
   // The following fields 3-12 are informational, do not affect
   // interpretation of results.
@@ -262,12 +293,6 @@
   ValueType period_type = 5;
   // The number of events between sampled occurrences.
   int64 period = 6;
-  // Free-form text associated with the profile. The text is displayed as is
-  // to the user by the tools that read profiles (e.g. by pprof). This field
-  // should not be used to store any machine-readable information, it is only
-  // for human-friendly content. The profile must stay functional if this field
-  // is cleaned.
-  repeated int32 comment_strindices = 7; // Indices into ProfilesDictionary.string_table.
 
   // A globally unique identifier for a profile. The ID is a 16-byte array. An ID with
   // all zeroes is considered invalid. It may be used for deduplication and signal
@@ -275,26 +300,39 @@
   // in this field as not equal, even if they represented the same object at an earlier
   // time.
   // This field is optional; an ID may be assigned to an ID-less profile in a later step.
-  bytes profile_id = 8;
+  bytes profile_id = 7;
 
-  // dropped_attributes_count is the number of attributes that were discarded. Attributes
+  // The number of attributes that were discarded. Attributes
   // can be discarded because their keys are too long or because there are too many
   // attributes. If this value is 0, then no attributes were dropped.
-  uint32 dropped_attributes_count = 9;
+  uint32 dropped_attributes_count = 8;
 
-  // Specifies format of the original payload. Common values are defined in semantic conventions. [required if original_payload is present]
-  string original_payload_format = 10;
-
-  // Original payload can be stored in this field. This can be useful for users who want to get the original payload.
-  // Formats such as JFR are highly extensible and can contain more information than what is defined in this spec.
-  // Inclusion of original payload should be configurable by the user. Default behavior should be to not include the original payload.
-  // If the original payload is in pprof format, it SHOULD not be included in this field.
-  // The field is optional, however if it is present then equivalent converted data should be populated in other fields
-  // of this message as far as is practicable.
-  bytes original_payload = 11;
+  // The original payload format. See also original_payload. Optional, but the
+  // format and the bytes must be set or unset together.
+  //
+  // The allowed values for the format string are defined by the OpenTelemetry
+  // specification. Some examples are "jfr", "pprof", "linux_perf".
+  //
+  // The original payload may be optionally provided when the conversion to the
+  // OLTP format was done from a different format with some loss of the fidelity
+  // and the receiver may want to store the original payload to allow future
+  // lossless export or reinterpretation. Some examples of the original format
+  // are JFR (Java Flight Recorder), pprof, Linux perf.
+  //
+  // Even when the original payload is in a format that is semantically close to
+  // OTLP, such as pprof, a conversion may still be lossy in some cases (e.g. if
+  // the pprof file contains custom extensions or conventions).
+  //
+  // The original payload can be large in size, so including the original
+  // payload should be configurable by the profiler or collector options. The
+  // default behavior should be to not include the original payload.
+  string original_payload_format = 9;
+  // The original payload bytes. See also original_payload_format. Optional, but
+  // format and the bytes must be set or unset together.
+  bytes original_payload = 10;
 
   // References to attributes in attribute_table. [optional]
-  repeated int32 attribute_indices = 12;
+  repeated int32 attribute_indices = 11;
 }
 
 // A pointer from a profile Sample to a trace Span.
@@ -308,80 +346,13 @@
   bytes span_id = 2;
 }
 
-// Specifies the method of aggregating metric values, either DELTA (change since last report)
-// or CUMULATIVE (total since a fixed start time).
-enum AggregationTemporality {
-  /* UNSPECIFIED is the default AggregationTemporality, it MUST not be used. */
-  AGGREGATION_TEMPORALITY_UNSPECIFIED = 0;
-
-  /** DELTA is an AggregationTemporality for a profiler which reports
-  changes since last report time. Successive metrics contain aggregation of
-  values from continuous and non-overlapping intervals.
-
-  The values for a DELTA metric are based only on the time interval
-  associated with one measurement cycle. There is no dependency on
-  previous measurements like is the case for CUMULATIVE metrics.
-
-  For example, consider a system measuring the number of requests that
-  it receives and reports the sum of these requests every second as a
-  DELTA metric:
-
-  1. The system starts receiving at time=t_0.
-  2. A request is received, the system measures 1 request.
-  3. A request is received, the system measures 1 request.
-  4. A request is received, the system measures 1 request.
-  5. The 1 second collection cycle ends. A metric is exported for the
-      number of requests received over the interval of time t_0 to
-      t_0+1 with a value of 3.
-  6. A request is received, the system measures 1 request.
-  7. A request is received, the system measures 1 request.
-  8. The 1 second collection cycle ends. A metric is exported for the
-      number of requests received over the interval of time t_0+1 to
-      t_0+2 with a value of 2. */
-  AGGREGATION_TEMPORALITY_DELTA = 1;
-
-  /** CUMULATIVE is an AggregationTemporality for a profiler which
-  reports changes since a fixed start time. This means that current values
-  of a CUMULATIVE metric depend on all previous measurements since the
-  start time. Because of this, the sender is required to retain this state
-  in some form. If this state is lost or invalidated, the CUMULATIVE metric
-  values MUST be reset and a new fixed start time following the last
-  reported measurement time sent MUST be used.
-
-  For example, consider a system measuring the number of requests that
-  it receives and reports the sum of these requests every second as a
-  CUMULATIVE metric:
-
-  1. The system starts receiving at time=t_0.
-  2. A request is received, the system measures 1 request.
-  3. A request is received, the system measures 1 request.
-  4. A request is received, the system measures 1 request.
-  5. The 1 second collection cycle ends. A metric is exported for the
-      number of requests received over the interval of time t_0 to
-      t_0+1 with a value of 3.
-  6. A request is received, the system measures 1 request.
-  7. A request is received, the system measures 1 request.
-  8. The 1 second collection cycle ends. A metric is exported for the
-      number of requests received over the interval of time t_0 to
-      t_0+2 with a value of 5.
-  9. The system experiences a fault and loses state.
-  10. The system recovers and resumes receiving at time=t_1.
-  11. A request is received, the system measures 1 request.
-  12. The 1 second collection cycle ends. A metric is exported for the
-      number of requests received over the interval of time t_1 to
-      t_1+1 with a value of 1.
-
-  Note: Even though, when reporting changes since last report time, using
-  CUMULATIVE is valid, it is not recommended. */
-  AGGREGATION_TEMPORALITY_CUMULATIVE = 2;
-}
-
-// ValueType describes the type and units of a value, with an optional aggregation temporality.
+// ValueType describes the type and units of a value.
 message ValueType {
-  int32 type_strindex = 1; // Index into ProfilesDictionary.string_table.
-  int32 unit_strindex = 2; // Index into ProfilesDictionary.string_table.
+  // Index into ProfilesDictionary.string_table.
+  int32 type_strindex = 1;
 
-  AggregationTemporality aggregation_temporality = 3;
+  // Index into ProfilesDictionary.string_table.
+  int32 unit_strindex = 2;
 }
 
 // Each Sample records values encountered in some program context. The program
@@ -464,9 +435,9 @@
   // preceding entries were inlined.
   //
   // E.g., if memcpy() is inlined into printf:
-  //    line[0].function_name == "memcpy"
-  //    line[1].function_name == "printf"
-  repeated Line line = 3;
+  //    lines[0].function_name == "memcpy"
+  //    lines[1].function_name == "printf"
+  repeated Line lines = 3;
   // References to attributes in ProfilesDictionary.attribute_table. [optional]
   repeated int32 attribute_indices = 4;
 }
@@ -484,7 +455,7 @@
 // Describes a function, including its human-readable name, system name,
 // source file, and starting line number in the source.
 message Function {
-  // Function name. Empty string if not available.
+  // The function name. Empty string if not available.
   int32 name_strindex = 1;
   // Function name, as identified by the system. For instance,
   // it can be a C++ mangled name. Empty string if not available.
@@ -499,7 +470,11 @@
 // for profiles than opentelemetry.proto.common.v1.KeyValue
 // Specifically, uses the string table for keys and allows optional unit information.
 message KeyValueAndUnit {
+  // The index into the string table for the attribute's key.
   int32 key_strindex  = 1;
+  // The value of the attribute.
   opentelemetry.proto.common.v1.AnyValue value = 2;
-  int32 unit_strindex = 3; // zero indicates implicit (by semconv) or non-defined unit.
+  // The index into the string table for the attribute's unit.
+  // zero indicates implicit (by semconv) or non-defined unit.
+  int32 unit_strindex = 3;
 }

--- shake256:05fb1e07ea7163d6f11a9130df52a6bdb4010646c3fbf7c316f52bd8f15f96d18c68dfa1f97b97a25b4451ce9522c4a6f3c94a5a06d18e8dc04767d535971e03  opentelemetry/proto/resource/v1/resource.proto
+++ shake256:8dee2b711709c2bb2b4aae0e587fd0e557c72d0ecdba6e4f4a463b87ca995fe91f6a0eb6d9246c01e2172ee33a911501f7aadb094fc5952020c4d1cb361fc7af  opentelemetry/proto/resource/v1/resource.proto
@@ -29,19 +29,10 @@
   // Set of attributes that describe the resource.
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
-  //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 1;
 
-  // dropped_attributes_count is the number of dropped attributes. If the value is 0, then
+  // The number of dropped attributes. If the value is 0, then
   // no attributes were dropped.
   uint32 dropped_attributes_count = 2;
 

--- shake256:7f1794c2328377f0b10d0badf7aad63b752ff9f2e452adea7980b1d145edb3d156aced4588fe6fee203b608ba87d849d2b641affba5d9389083db770177a5086  opentelemetry/proto/trace/v1/trace.proto
+++ shake256:daf84eb52a7672684ee2e42f1d1c95689157356721f234a0dcf990ce62d138368a7968a03169551c154f3ca0ef3b94dea95f1b3ec07c7c4dfe74cf6e9ba99899  opentelemetry/proto/trace/v1/trace.proto
@@ -78,7 +78,8 @@
   // is recorded in. Notably, the last part of the URL path is the version number of the
   // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
   // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
-  // This schema_url applies to all spans and span events in the "spans" field.
+  // This schema_url applies to the data in the "scope" field and all spans and span
+  // events in the "spans" field.
   string schema_url = 3;
 }
 
@@ -182,7 +183,7 @@
   // and `SERVER` (callee) to identify queueing latency associated with the span.
   SpanKind kind = 6;
 
-  // start_time_unix_nano is the start time of the span. On the client side, this is the time
+  // The start time of the span. On the client side, this is the time
   // kept by the local machine where the span execution starts. On the server side, this
   // is the time when the server's application handler starts running.
   // Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
@@ -190,7 +191,7 @@
   // This field is semantically required and it is expected that end_time >= start_time.
   fixed64 start_time_unix_nano = 7;
 
-  // end_time_unix_nano is the end time of the span. On the client side, this is the time
+  // The end time of the span. On the client side, this is the time
   // kept by the local machine where the span execution ends. On the server side, this
   // is the time when the server application handler stops running.
   // Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
@@ -198,7 +199,7 @@
   // This field is semantically required and it is expected that end_time >= start_time.
   fixed64 end_time_unix_nano = 8;
 
-  // attributes is a collection of key/value pairs. Note, global attributes
+  // A collection of key/value pairs. Note, global attributes
   // like server name can be set using the resource API. Examples of attributes:
   //
   //     "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
@@ -208,19 +209,10 @@
   //
   // Attribute keys MUST be unique (it is not allowed to have more than one
   // attribute with the same key).
-  //
-  // The attribute values SHOULD NOT contain empty values.
-  // The attribute values SHOULD NOT contain bytes values.
-  // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-  // double values.
-  // The attribute values SHOULD NOT contain kvlist values.
-  // The behavior of software that receives attributes containing such values can be unpredictable.
-  // These restrictions can change in a minor release.
-  // The restrictions take origin from the OpenTelemetry specification:
-  // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+  // The behavior of software that receives duplicated keys can be unpredictable.
   repeated opentelemetry.proto.common.v1.KeyValue attributes = 9;
 
-  // dropped_attributes_count is the number of attributes that were discarded. Attributes
+  // The number of attributes that were discarded. Attributes
   // can be discarded because their keys are too long or because there are too many
   // attributes. If this value is 0, then no attributes were dropped.
   uint32 dropped_attributes_count = 10;
@@ -228,37 +220,28 @@
   // Event is a time-stamped annotation of the span, consisting of user-supplied
   // text description and key-value pairs.
   message Event {
-    // time_unix_nano is the time the event occurred.
+    // The time the event occurred.
     fixed64 time_unix_nano = 1;
 
-    // name of the event.
+    // The name of the event.
     // This field is semantically required to be set to non-empty string.
     string name = 2;
 
-    // attributes is a collection of attribute key/value pairs on the event.
+    // A collection of attribute key/value pairs on the event.
     // Attribute keys MUST be unique (it is not allowed to have more than one
     // attribute with the same key).
-    //
-    // The attribute values SHOULD NOT contain empty values.
-    // The attribute values SHOULD NOT contain bytes values.
-    // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-    // double values.
-    // The attribute values SHOULD NOT contain kvlist values.
-    // The behavior of software that receives attributes containing such values can be unpredictable.
-    // These restrictions can change in a minor release.
-    // The restrictions take origin from the OpenTelemetry specification:
-    // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+    // The behavior of software that receives duplicated keys can be unpredictable.
     repeated opentelemetry.proto.common.v1.KeyValue attributes = 3;
 
-    // dropped_attributes_count is the number of dropped attributes. If the value is 0,
+    // The number of dropped attributes. If the value is 0,
     // then no attributes were dropped.
     uint32 dropped_attributes_count = 4;
   }
 
-  // events is a collection of Event items.
+  // A collection of Event items.
   repeated Event events = 11;
 
-  // dropped_events_count is the number of dropped events. If the value is 0, then no
+  // The number of dropped events. If the value is 0, then no
   // events were dropped.
   uint32 dropped_events_count = 12;
 
@@ -277,22 +260,13 @@
     // The trace_state associated with the link.
     string trace_state = 3;
 
-    // attributes is a collection of attribute key/value pairs on the link.
+    // A collection of attribute key/value pairs on the link.
     // Attribute keys MUST be unique (it is not allowed to have more than one
     // attribute with the same key).
-    //
-    // The attribute values SHOULD NOT contain empty values.
-    // The attribute values SHOULD NOT contain bytes values.
-    // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
-    // double values.
-    // The attribute values SHOULD NOT contain kvlist values.
-    // The behavior of software that receives attributes containing such values can be unpredictable.
-    // These restrictions can change in a minor release.
-    // The restrictions take origin from the OpenTelemetry specification:
-    // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
+    // The behavior of software that receives duplicated keys can be unpredictable.
     repeated opentelemetry.proto.common.v1.KeyValue attributes = 4;
 
-    // dropped_attributes_count is the number of dropped attributes. If the value is 0,
+    // The number of dropped attributes. If the value is 0,
     // then no attributes were dropped.
     uint32 dropped_attributes_count = 5;
 
@@ -316,11 +290,11 @@
     fixed32 flags = 6;
   }
 
-  // links is a collection of Links, which are references from this span to a span
+  // A collection of Links, which are references from this span to a span
   // in the same or different trace.
   repeated Link links = 13;
 
-  // dropped_links_count is the number of dropped links after the maximum size was
+  // The number of dropped links after the maximum size was
   // enforced. If this value is 0, then no links were dropped.
   uint32 dropped_links_count = 14;
 

"digest": "16658081a0551408bcf294985f36a3dee2b599d84570f04a9594633109ee5e66d4b5a7c43e6e3f3968022056316a43fdd43c3b197fe1b20584e5edfbdd512f72"
},
{
"name": "v0.25.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 files changed: 0 removed, 0 renamed, 1 added, 3 changed content

Files added:

+ shake256:237c020d857e552a5697630122d2562ae4a55dbd743fcf91e787592df63f4a4e71af8237c14e5ddf3cb38eecf5b5e3cb28ad7e7816c142813807de2fa44f960d  cel/policy/policy.proto

Files changed content:

--- shake256:e2b4287094e243a8faf8775c9d11f546cc0be24f32bdbf7083f9fb5bcf8349187de69cee0e81791560414d4dca2058c3e5000a699511917e071aae32183deb97  cel/expr/conformance/conformance_service.proto
+++ shake256:5669298dae92218958cbf0c0808ff51717bc92bf3ed915c49824ce1c8814315371744a0c662d33acea5da8106e31ba09746ad5c91e098e63a0b2dd56233c085c  cel/expr/conformance/conformance_service.proto
@@ -19,7 +19,6 @@
 import "cel/expr/checked.proto";
 import "cel/expr/eval.proto";
 import "cel/expr/syntax.proto";
-import "google/rpc/status.proto";
 
 option cc_enable_arenas = true;
 option go_package = "cel.dev/expr/conformance";
@@ -69,7 +68,7 @@
   cel.expr.ParsedExpr parsed_expr = 1;
 
   // Any number of issues with [StatusDetails][] as the details.
-  repeated google.rpc.Status issues = 2;
+  cel.expr.ErrorSet issues = 2;
 }
 
 // Request message for the Check method.
@@ -86,7 +85,7 @@
   // Language Definition.
   string container = 3;
 
-  // If true, use only the declarations in [type_env][google.api.expr.conformance.v1alpha1.CheckRequest.type_env].  If false (default),
+  // If true, use only the declarations in [type_env][cel.expr.conformance.CheckRequest.type_env].  If false (default),
   // add declarations for the standard definitions to the type environment.  See
   // "Standard Definitions" in the Language Definition.
   bool no_std_env = 4;
@@ -98,7 +97,7 @@
   cel.expr.CheckedExpr checked_expr = 1;
 
   // Any number of issues with [StatusDetails][] as the details.
-  repeated google.rpc.Status issues = 2;
+  cel.expr.ErrorSet issues = 2;
 }
 
 // Request message for the Eval method.
@@ -113,10 +112,10 @@
   }
 
   // Bindings for the external variables.  The types SHOULD be compatible
-  // with the type environment in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked.
+  // with the type environment in [CheckRequest][cel.expr.conformance.CheckRequest], if checked.
   map<string, cel.expr.ExprValue> bindings = 3;
 
-  // SHOULD be the same container as used in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked.
+  // SHOULD be the same container as used in [CheckRequest][cel.expr.conformance.CheckRequest], if checked.
   string container = 4;
 }
 
@@ -129,7 +128,7 @@
   // Note that CEL execution errors are reified into [ExprValue][].
   // Nevertheless, we'll allow out-of-band issues to be raised,
   // which also makes the replies more regular.
-  repeated google.rpc.Status issues = 2;
+  cel.expr.ErrorSet issues = 2;
 }
 
 // A specific position in source.

--- shake256:e05856371ebd40fe7ca9091e92b8c1963292690037e237071ed4b0e68290086e2fa7a41450d439cabfaca20ec5b295056bfe5df3e8b1552fd6bb5387560a11d2  cel/expr/conformance/proto2/test_all_types.proto
+++ shake256:a6615c18655349b56868b0042e5e7fe2707c9c7ab8ceda66e2d591aba303d0ce551972c0ed0a74e16e0ca8e79e6d7f9cad05c889d83df45157c3e019a3965e09  cel/expr/conformance/proto2/test_all_types.proto
@@ -319,6 +319,25 @@
     optional string single_name = 405;
   }
 
+  // Field names formerly defined as reserved CEL identifiers.
+  optional bool as = 500;
+  optional bool break = 501;
+  optional bool const = 502;
+  optional bool continue = 503;
+  optional bool else = 504;
+  optional bool for = 505;
+  optional bool function = 506;
+  optional bool if = 507;
+  optional bool import = 508;
+  optional bool let = 509;
+  optional bool loop = 510;
+  optional bool package = 511;
+  optional bool namespace = 512;
+  optional bool return = 513;
+  optional bool var = 514;
+  optional bool void = 515;
+  optional bool while = 516;
+
   extensions 1000 to max;
 }
 

--- shake256:88e51a0fe2b07196e106eb5a7b0a83e5425e9e3d634cad71d079c71168502f3553742daafb41ce520e07adc1450e93b2b07e2919044603fe37864ea146c9db11  cel/expr/conformance/proto3/test_all_types.proto
+++ shake256:f8e60b6c999e660968f9c6a28ded0312e970fa95ff4f4939dfbdd7c898630010d734706703185fc31e04612d4002c19ae524afa5fcddbe9087e35e0f133f8ac0  cel/expr/conformance/proto3/test_all_types.proto
@@ -315,6 +315,25 @@
     NestedMessage oneof_msg = 401;
     bool oneof_bool = 402;
   }
+
+  // Field names formerly defined as reserved CEL identifiers.
+  bool as = 500;
+  bool break = 501;
+  bool const = 502;
+  bool continue = 503;
+  bool else = 504;
+  bool for = 505;
+  bool function = 506;
+  bool if = 507;
+  bool import = 508;
+  bool let = 509;
+  bool loop = 510;
+  bool package = 511;
+  bool namespace = 512;
+  bool return = 513;
+  bool var = 514;
+  bool void = 515;
+  bool while = 516;
 }
 
 // This proto includes a recursively nested message.

@pkwarren pkwarren merged commit 6d8c288 into main Nov 3, 2025
5 checks passed
@pkwarren pkwarren deleted the fetch-modules branch November 3, 2025 14:59
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