-
Notifications
You must be signed in to change notification settings - Fork 888
/
CHANGELOG.md
1831 lines (1405 loc) · 87.7 KB
/
CHANGELOG.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Changelog
Please update changelog as part of any significant pull request. Place short
description of your change into "Unreleased" section. As part of release process
content of "Unreleased" section content will generate release notes for the
release.
## Unreleased
### Context
### Traces
### Metrics
- Clarify that units should use UCUM case sensitive variant.
([#3306](https://github.com/open-telemetry/opentelemetry-specification/pull/3306))
### Logs
### Resource
### Semantic Conventions
- Fix grammatical number of metric units.
([#3298](https://github.com/open-telemetry/opentelemetry-specification/pull/3298))
### Compatibility
### OpenTelemetry Protocol
### SDK Configuration
### Telemetry Schemas
### Common
## v1.19.0 (2023-03-06)
### Context
- No changes.
### Traces
- No changes.
### Metrics
- Add unit to View's Instrument selection criteria.
([#3184](https://github.com/open-telemetry/opentelemetry-specification/pull/3184))
- Add metric requirement levels "Required", "Recommended", and "Opt-In".
([#3237](https://github.com/open-telemetry/opentelemetry-specification/pull/3237))
### Logs
- Rename Logs API to Logs Bridge API to prevent confusion.
([#3197](https://github.com/open-telemetry/opentelemetry-specification/pull/3197))
- Move event language from log README to event-api.
([#3252](https://github.com/open-telemetry/opentelemetry-specification/pull/3252))
### Resource
- Clarify how to collect `host.id` for non-containerized systems.
([#3173](https://github.com/open-telemetry/opentelemetry-specification/pull/3173))
### Semantic Conventions
- Move X-Ray Env Variable propagation to span link instead of parent for AWS Lambda.
([#3166](https://github.com/open-telemetry/opentelemetry-specification/pull/3166))
- Add heroku resource semantic conventions.
[#3075](https://github.com/open-telemetry/opentelemetry-specification/pull/3075)
- BREAKING: Rename faas.execution to faas.invocation_id
([#3209](https://github.com/open-telemetry/opentelemetry-specification/pull/3209))
- BREAKING: Change faas.max_memory units to Bytes instead of MB
([#3209](https://github.com/open-telemetry/opentelemetry-specification/pull/3209))
- BREAKING: Expand scope of faas.id to cloud.resource_id
([#3188](https://github.com/open-telemetry/opentelemetry-specification/pull/3188))
- Add Connect RPC specific conventions
([#3116](https://github.com/open-telemetry/opentelemetry-specification/pull/3116))
- Rename JVM metric attribute value from `nonheap` to `non_heap`
([#3250](https://github.com/open-telemetry/opentelemetry-specification/pull/3250))
- Mark the attribute naming guidelines in the specification as stable.
([#3220](https://github.com/open-telemetry/opentelemetry-specification/pull/3220))
- Mark telemetry schema readme stable.
([#3221](https://github.com/open-telemetry/opentelemetry-specification/pull/3221))
- Remove mention of `net.transport` from HTTP semantic conventions
([#3244](https://github.com/open-telemetry/opentelemetry-specification/pull/3244))
- Clarifies that if an HTTP client request is explicitly made to an IP address,
e.g. `http://x.x.x.x:8080`, then `net.peer.name` SHOULD be the IP address `x.x.x.x`
([#3276](https://github.com/open-telemetry/opentelemetry-specification/pull/3276))
- Mark `net.sock.host.port` as conditionally required.
([#3246](https://github.com/open-telemetry/opentelemetry-specification/pull/3246))
- Rename Optional attribute requirement level to Opt-In.
([#3228](https://github.com/open-telemetry/opentelemetry-specification/pull/3228))
- Rename `http.user_agent` to `user_agent.original`.
([#3190](https://github.com/open-telemetry/opentelemetry-specification/pull/3190))
- Expand the declaration of `pool.name`.
([#3050](https://github.com/open-telemetry/opentelemetry-specification/pull/3050))
### Compatibility
- Update Zipkin remoteEndpoint preferences.
([#3087](https://github.com/open-telemetry/opentelemetry-specification/pull/3087))
### OpenTelemetry Protocol
- Declare OTLP/JSON Stable.
([#2930](https://github.com/open-telemetry/opentelemetry-specification/pull/2930))
### SDK Configuration
- No changes.
### Telemetry Schemas
- No changes.
### Common
- No changes.
## v1.18.0 (2023-02-09)
### Context
- No changes.
### Traces
- Clarify guidance regarding excessive logging when attributes are dropped
or truncated.
([#3151](https://github.com/open-telemetry/opentelemetry-specification/pull/3151))
### Metrics
- No changes.
### Logs
- Define BatchLogRecordProcessor default configuration values.
([#3002](https://github.com/open-telemetry/opentelemetry-specification/pull/3002))
- Clarify guidance regarding excessive logging when attributes are dropped
or truncated.
([#3151](https://github.com/open-telemetry/opentelemetry-specification/pull/3151))
### Resource
- No changes.
### Semantic Conventions
- Add Cloud Spanner and Microsoft SQL Server Compact to db.system semantic conventions
([#3105](https://github.com/open-telemetry/opentelemetry-specification/pull/3105)).
- Enable semantic convention tooling for metrics in spec
([#3119](https://github.com/open-telemetry/opentelemetry-specification/pull/3119))
- Rename google openshift platform attribute from `google_cloud_openshift` to `gcp_openshift`
to match the existing `cloud.provider` prefix.
([#3095](https://github.com/open-telemetry/opentelemetry-specification/pull/3095))
- Changes http server span names from `{http.route}` to `{http.method} {http.route}`
(when route is available), and from `HTTP {http.method}` to `{http.method}` (when
route is not available).
Changes http client span names from `HTTP {http.method}` to `{http.method}`.
([#3165](https://github.com/open-telemetry/opentelemetry-specification/pull/3165))
- Mark `http.server.duration` and `http.client.duration` metrics as required, and mark
all other HTTP metrics as optional.
[#3158](https://github.com/open-telemetry/opentelemetry-specification/pull/3158)
- Add `net.host.port` to `http.server.active_requests` metrics attributes.
[#3158](https://github.com/open-telemetry/opentelemetry-specification/pull/3158)
- `http.route` SHOULD contain the "application root" if there is one.
([#3164](https://github.com/open-telemetry/opentelemetry-specification/pull/3164))
### Compatibility
- Add condition with sum and count for Prometheus summaries
([3059](https://github.com/open-telemetry/opentelemetry-specification/pull/3059)).
- Clarify prometheus unit conversions
([#3066](https://github.com/open-telemetry/opentelemetry-specification/pull/3066)).
- Define conversion mapping from OTel Exponential Histograms to Prometheus Native
Histograms.
([#3079](https://github.com/open-telemetry/opentelemetry-specification/pull/3079))
- Fix Prometheus histogram metric suffixes. Bucket series end in `_bucket`
([#3018](https://github.com/open-telemetry/opentelemetry-specification/pull/3018)).
### OpenTelemetry Protocol
- No changes.
### SDK Configuration
- Add log-specific attribute limit configuration and clarify that general
attribute limit configuration also apply to log records
([#2861](https://github.com/open-telemetry/opentelemetry-specification/pull/2861)).
### Telemetry Schemas
- No changes.
### Common
- No changes.
## v1.17.0 (2023-01-17)
### Context
- No changes.
### Traces
- Clarify that the BatchSpanProcessor should export batches when the queue reaches the batch size
([#3024](https://github.com/open-telemetry/opentelemetry-specification/pull/3024))
- Deprecate jaeger exporter, scheduled for spec removal in July 2023.
[#2858](https://github.com/open-telemetry/opentelemetry-specification/pull/2858)
### Metrics
- Rename built-in ExemplarFilters to AlwaysOn, AlwaysOff and TraceBased.
([#2919](https://github.com/open-telemetry/opentelemetry-specification/pull/2919))
- Add `MaxScale` config option to Exponential Bucket Histogram Aggregation.
([#3017](https://github.com/open-telemetry/opentelemetry-specification/pull/3017))
- Rename exponential bucket histogram aggregation to base 2 exponential histogram
aggregation. Rename "OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION"
value from "exponential_bucket_histogram" to
"base2_exponential_bucket_histogram". Mark exponential histogram data model and
base2 exponential histogram aggregation as stable.
([#3041](https://github.com/open-telemetry/opentelemetry-specification/pull/3041))
### Logs
- Clarify usage of log body for structured logs
([#3023](https://github.com/open-telemetry/opentelemetry-specification/pull/3023))
- Move appendices from Data Model to new Data Model Appendix document
([#3207](https://github.com/open-telemetry/opentelemetry-specification/pull/3207))
### Resource
- No changes.
### Semantic Conventions
- Clarify common HTTP attributes apply to both clients and servers
([#3044](https://github.com/open-telemetry/opentelemetry-specification/pull/3044))
- Add `code.lineno` source code attribute
([#3029](https://github.com/open-telemetry/opentelemetry-specification/pull/3029))
- Add ClickHouse to db.system semantic conventions
([#3011](https://github.com/open-telemetry/opentelemetry-specification/pull/3011))
- Refactor messaging attributes and per-message attributes in batching scenarios.
([#2957](https://github.com/open-telemetry/opentelemetry-specification/pull/2957)).
BREAKING: rename `messaging.consumer_id` to `messaging.consumer.id`,
`messaging.destination` to `messaging.destination.name`,
`messaging.temp_destination` to `messaging.destination.temporary`,
`messaging.destination_kind` to `messaging.destination.kind`,
`messaging.message_id` to `messaging.message.id`,
`messaging.protocol` to `net.app.protocol.name`,
`messaging.protocol_version`, `net.app.protocol.version`,
`messaging.conversation_id` to `messaging.message.conversation_id`,
`messaging.message_payload_size_bytes` to `messaging.message.payload_size_bytes`,
`messaging.message_payload_compressed_size_bytes` to `messaging.message.payload_compressed_size_bytes`,
`messaging.rabbitmq.routing_key`: `messaging.rabbitmq.destination.routing_key`,
`messaging.kafka.message_key` to `messaging.kafka.message.key`,
`messaging.kafka.consumer_group` to `messaging.kafka.consumer.group`,
`messaging.kafka.partition` to `messaging.kafka.destination.partition`,
`messaging.kafka.tombstone` to `messaging.kafka.message.tombstone`,
`messaging.rocketmq.message_type` to `messaging.rocketmq.message.type`,
`messaging.rocketmq.message_tag` to `messaging.rocketmq.message.tag`,
`messaging.rocketmq.message_keys` to `messaging.rocketmq.message.keys`;
Removed `messaging.url`;
Renamed `send` operation to `publish`;
Split `destination` and `source` namespaces and clarify per-message attributes in batching scenarios.
### Compatibility
- Add Tracer.Close() to the OpenTracing Shim layer.
- Add OpenCensus migration guide and add BinaryPropagation as an option to gRPC
instrumentation for OpenCensus compatibility
([#3015](https://github.com/open-telemetry/opentelemetry-specification/pull/3015)).
### OpenTelemetry Protocol
- Add table for OTLP/HTTP response code and client retry recommendation
([#3028](https://github.com/open-telemetry/opentelemetry-specification/pull/3028))
- Remove spaces from example exporter User-Agent header to conform to RFC7231 & RFC7230.
[#3052](https://github.com/open-telemetry/opentelemetry-specification/pull/3052)
### SDK Configuration
- Rename knowns values for "OTEL_METRICS_EXEMPLAR_FILTER" to "always_on",
"always_off" and "trace_based".
([#2919](https://github.com/open-telemetry/opentelemetry-specification/pull/2919))
### Telemetry Schemas
- No changes.
### Common
- No changes.
## v1.16.0 (2022-12-08)
### Context
- No changes.
### Traces
- No changes.
### Metrics
- Define Experimental MetricProducer as a third-party provider of metric data to MetricReaders.
([#2951](https://github.com/open-telemetry/opentelemetry-specification/pull/2951))
- Add OTLP exporter temporality preference named "LowMemory" which
configures Synchronous Counter and Histogram instruments to use
Delta aggregation temporality, which allows them to shed memory
following a cardinality explosion, thus use less memory.
([#2961](https://github.com/open-telemetry/opentelemetry-specification/pull/2961))
### Logs
- Clarification on what an Event is, and what the event.domain and event.name attributes represent
([#2848](https://github.com/open-telemetry/opentelemetry-specification/pull/2848))
- Move `event.domain` from InstrumentationScope attributes to LogRecord
attributes.
([#2940](https://github.com/open-telemetry/opentelemetry-specification/pull/2940))
- Split out Event API from Log API
([#2941](https://github.com/open-telemetry/opentelemetry-specification/pull/2941))
- Clarify data modification in `LogRecordProcessor`.
([#2969](https://github.com/open-telemetry/opentelemetry-specification/pull/2969))
- Make sure it is very clear we are not building a Logging API.
([#2966](https://github.com/open-telemetry/opentelemetry-specification/pull/2966))
### Resource
- Extend Cloud Platform Enum with OpenShift entry for all supported cloud providers.
([#2985](https://github.com/open-telemetry/opentelemetry-specification/pull/2985))
### Semantic Conventions
- Add `process.runtime.jvm.gc.duration` metric to semantic conventions.
([#2903](https://github.com/open-telemetry/opentelemetry-specification/pull/2903))
- Make http.status_code metric attribute an int.
([#2943](https://github.com/open-telemetry/opentelemetry-specification/pull/2943))
- Add IBM Cloud as a cloud provider.
([#2965](https://github.com/open-telemetry/opentelemetry-specification/pull/2965))
- Add semantic conventions for Feature Flags
([#2529](https://github.com/open-telemetry/opentelemetry-specification/pull/2529))
- Rename `rpc.request.metadata.<key>` and `rpc.response.metadata.<key>` to
`rpc.grpc.request.metadata.<key>` and `rpc.grpc.response.metadata.<key>`
([#2981](https://github.com/open-telemetry/opentelemetry-specification/pull/2981))
- List the machine-id as potential source for a unique host.id
([#2978](https://github.com/open-telemetry/opentelemetry-specification/pull/2978))
- Add `messaging.kafka.message.offset` attribute.
([#2982](https://github.com/open-telemetry/opentelemetry-specification/pull/2982))
- Update hardware metrics to use `direction` as per general semantic conventions
([#2942](https://github.com/open-telemetry/opentelemetry-specification/pull/2942))
### Compatibility
- Add OpenCensus metric bridge specification.
([#2979](https://github.com/open-telemetry/opentelemetry-specification/pull/2979))
### OpenTelemetry Protocol
- No changes.
### SDK Configuration
- Specify handling of invalid numeric environment variables
([#2963](https://github.com/open-telemetry/opentelemetry-specification/pull/2963))
### Telemetry Schemas
- No changes.
### Common
- No changes.
## v1.15.0 (2022-11-09)
### Context
- No changes.
### Traces
- Rename `http.retry_count` to `http.resend_count` and clarify its meaning.
([#2743](https://github.com/open-telemetry/opentelemetry-specification/pull/2743))
### Metrics
- Handle duplicate description comments during Prometheus conversion.
([#2890](https://github.com/open-telemetry/opentelemetry-specification/pull/2890))
- Allow to configure min/max recording in the exponential histogram aggregation.
([#2904](https://github.com/open-telemetry/opentelemetry-specification/pull/2904))
- Add table of instrument additive property
([#2906](https://github.com/open-telemetry/opentelemetry-specification/pull/2906))
### Logs
- Add `Context` as argument to `LogRecordProcessor#onEmit`.
([#2927](https://github.com/open-telemetry/opentelemetry-specification/pull/2927))
### Resource
- No changes.
### Semantic Conventions
- Change to messaging.kafka.max.lag from UpDownCounter to Gauge (and rename it)
([#2837](https://github.com/open-telemetry/opentelemetry-specification/pull/2837))
- Add daemon attribute to jvm threads metric
([#2828](https://github.com/open-telemetry/opentelemetry-specification/pull/2828))
- Add gRPC request and response metadata semantic conventions
([#2874](https://github.com/open-telemetry/opentelemetry-specification/pull/2874))
- Add `process.paging.faults` metric to semantic conventions
([#2827](https://github.com/open-telemetry/opentelemetry-specification/pull/2827))
- Define semantic conventions yaml for non-otlp conventions
([#2850](https://github.com/open-telemetry/opentelemetry-specification/pull/2850))
- Add more semantic convetion attributes of Apache RocketMQ
([#2881](https://github.com/open-telemetry/opentelemetry-specification/pull/2881))
- Add `process.runtime.jvm.memory.usage_after_last_gc` metric to semantic conventions.
([#2901](https://github.com/open-telemetry/opentelemetry-specification/pull/2901))
### Compatibility
- Specify how Prometheus exporters and receivers handle instrumentation scope.
([#2703](https://github.com/open-telemetry/opentelemetry-specification/pull/2703)).
### OpenTelemetry Protocol
- Clarify that lowerCamelCase field names MUST be used for OTLP/JSON
([#2829](https://github.com/open-telemetry/opentelemetry-specification/pull/2829))
### SDK Configuration
- No changes.
### Telemetry Schemas
- No changes.
### Common
- Clarify that Scope is defined at build time
([#2878](https://github.com/open-telemetry/opentelemetry-specification/pull/2878))
## v1.14.0 (2022-10-04)
### Context
- No changes.
### Traces
- No changes.
### Metrics
- Changed the default buckets for Explicit Bucket Histogram to better match the
official Prometheus clients.
([#2770](https://github.com/open-telemetry/opentelemetry-specification/pull/2770)).
- Fix OpenMetrics valid label keys, and specify prometheus conversion for metric name.
([#2788](https://github.com/open-telemetry/opentelemetry-specification/pull/2788))
### Logs
- Add environment variables for configuring the `BatchLogRecordProcessor`.
([#2785](https://github.com/open-telemetry/opentelemetry-specification/pull/2785))
- Fix inconsistencies in log README
([#2800](https://github.com/open-telemetry/opentelemetry-specification/pull/2800)).
### Resource
- Add `browser.mobile` and `browser.language` resource attributes
([#2761](https://github.com/open-telemetry/opentelemetry-specification/pull/2761))
### Semantic Conventions
- Add `process.context_switches`, and `process.open_file_descriptors`, to the
metrics semantic conventions
([#2706](https://github.com/open-telemetry/opentelemetry-specification/pull/2706))
- Add exceptions to the logs semantic conventions
([#2819](https://github.com/open-telemetry/opentelemetry-specification/pull/2819))
- Make context propagation requirements explicit for messaging semantic conventions
([#2750](https://github.com/open-telemetry/opentelemetry-specification/pull/2750)).
- Update http metrics to use `http.route` instead of `http.target` for servers,
drop `http.url` for clients
([#2818](https://github.com/open-telemetry/opentelemetry-specification/pull/2818)).
### Compatibility
- No changes.
### OpenTelemetry Protocol
- Add user agent to OTLP exporter specification
([#2684](https://github.com/open-telemetry/opentelemetry-specification/pull/2684))
- Prohibit usage of enum value name strings in OTLP/JSON
([#2758](https://github.com/open-telemetry/opentelemetry-specification/pull/2758))
- Clarify that unknown fields must be ignored when receiving OTLP/JSON
([#2816](https://github.com/open-telemetry/opentelemetry-specification/pull/2816))
- Add OTLP exporter user agent to the spec compliance matrix
([#2842](https://github.com/open-telemetry/opentelemetry-specification/pull/2842)).
### SDK Configuration
- Add the OTEL_SDK_DISABLED environment variable to the SDK configuration.
([2679](https://github.com/open-telemetry/opentelemetry-specification/pull/2679))
- Add the definition of a Boolean environment variable
([#2755](https://github.com/open-telemetry/opentelemetry-specification/pull/2755)).
### Telemetry Schemas
- No changes.
### Common
- No changes.
## v1.13.0 (2022-09-19)
### Context
- No changes.
### Traces
- Clarify the return of `Export(batch)` in the Batch Span Processor and exporter concurrency
([#2452](https://github.com/open-telemetry/opentelemetry-specification/pull/2452))
- Clarify that Context should not be mutable when setting a span
([#2637](https://github.com/open-telemetry/opentelemetry-specification/pull/2637))
- Clarify that `ForceFlush` is a required method on `SpanExporter` interface
([#2654](https://github.com/open-telemetry/opentelemetry-specification/pull/2654))
### Metrics
- Add experimental `OTEL_EXPORTER_OTLP_DEFAULT_HISTOGRAM_AGGREGATION` variable for
configuring default histogram aggregation of OTLP metric exporter
([#2619](https://github.com/open-telemetry/opentelemetry-specification/pull/2619))
- Clarify async instrument callback identity
([#2538](https://github.com/open-telemetry/opentelemetry-specification/pull/2538))
- Prometheus export: Only monotonic sum are counters (with `_total`)
([#2644](https://github.com/open-telemetry/opentelemetry-specification/pull/2644))
- [OM/OTLP] Use `_created` for StartTimeUnixNano and vice-versa
([#2645](https://github.com/open-telemetry/opentelemetry-specification/pull/2645))
- Prometheus compatibility: use target_info metric instead of "target" info MF
([#2701](https://github.com/open-telemetry/opentelemetry-specification/pull/2701))
- Add optional Zero Threshold for Exponential Histograms to the metrics data model
([#2665](https://github.com/open-telemetry/opentelemetry-specification/pull/2665))
- Change the inclusivity of exponential histogram bounds
([#2633](https://github.com/open-telemetry/opentelemetry-specification/pull/2633))
- Add `process.threads` host metric semantic convention.
([#2705](https://github.com/open-telemetry/opentelemetry-specification/pull/2705)).
### Logs
- Update log SDK to allow log processors to mutate log records
([#2681](https://github.com/open-telemetry/opentelemetry-specification/pull/2681)).
- Add experimental Events and Logs API specification
([#2676](https://github.com/open-telemetry/opentelemetry-specification/pull/2676))
- Align log SDK and API component naming
([#2768](https://github.com/open-telemetry/opentelemetry-specification/pull/2768)).
- Add the signal-specific OTEL_EXPORTER_OTLP_LOGS_* environment variables
([#2782](https://github.com/open-telemetry/opentelemetry-specification/pull/2782)).
### Resource
- Update the version of the W3C Baggage specification used for `OTEL_RESOURCE_ATTRIBUTES`
([#2670](https://github.com/open-telemetry/opentelemetry-specification/pull/2670))
### Semantic Conventions
- Add `net.app.protocol.*` attributes
([#2602](https://github.com/open-telemetry/opentelemetry-specification/pull/2602))
- Add network metrics to process semantic conventions
([#2556](https://github.com/open-telemetry/opentelemetry-specification/pull/2556))
- Adopt attribute requirement levels in semantic conventions
([#2594](https://github.com/open-telemetry/opentelemetry-specification/pull/2594))
- Add semantic conventions for GraphQL
([#2456](https://github.com/open-telemetry/opentelemetry-specification/pull/2456))
- Change `cloudevents.event_spec_version` and `cloudevents.event_type` level from `required` to `recommended`
([#2618](https://github.com/open-telemetry/opentelemetry-specification/pull/2618))
- Change `faas.document.time` and `faas.time` level from `required` to `recommended`
([#2627](https://github.com/open-telemetry/opentelemetry-specification/pull/2627))
- Add `rpc.grpc.status_code` to RPC metric semantic conventions
([#2604](https://github.com/open-telemetry/opentelemetry-specification/pull/2604))
- Add `http.*.*.size` metric semantic conventions for tracking size of requests
/ responses for http servers / clients
([#2588](https://github.com/open-telemetry/opentelemetry-specification/pull/2588))
- BREAKING: rename `net.peer.ip` to `net.sock.peer.addr`, `net.host.ip` to `net.sock.host.addr`,
`net.peer.name` to `net.sock.peer.name` for socket-level instrumentation.
Define socket-level attributes and clarify logical peer and host attributes meaning
([#2594](https://github.com/open-telemetry/opentelemetry-specification/pull/2594))
- Add semantic conventions for JVM buffer pool usage
([#2650](https://github.com/open-telemetry/opentelemetry-specification/pull/2650))
- Improve the definition of `state` attribute for metric `system.network.connections`
([#2663](https://github.com/open-telemetry/opentelemetry-specification/pull/2663))
- Add `process.parent_pid` attribute for use in reporting parent process id (PID)
([#2691](https://github.com/open-telemetry/opentelemetry-specification/pull/2691))
- Add OpenSearch to db.system semantic conventions
([#2718](https://github.com/open-telemetry/opentelemetry-specification/pull/2718))
- Clarify when "count" is used instead of pluralization
([#2613](https://github.com/open-telemetry/opentelemetry-specification/pull/2613))
- Add the convention 'type' to the YAML definitions for all existing semantic conventions
([#2693](https://github.com/open-telemetry/opentelemetry-specification/pull/2693))
- Remove alternative attribute sets from HTTP semantic conventions
([#2469](https://github.com/open-telemetry/opentelemetry-specification/pull/2469))
### Compatibility
- No changes.
### OpenTelemetry Protocol
- Add support for partial success in an OTLP export response
([#2696](https://github.com/open-telemetry/opentelemetry-specification/pull/2696))
### SDK Configuration
- Mark `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_METRIC_EXPORT_TIMEOUT`
environment variables as Stable
([#2658](https://github.com/open-telemetry/opentelemetry-specification/pull/2658))
### Telemetry Schemas
- Introduce "split" metric schema transformation
([#2653](https://github.com/open-telemetry/opentelemetry-specification/pull/2653))
### Common
- Introduce Instrumentation Scope Attributes
([#2579](https://github.com/open-telemetry/opentelemetry-specification/pull/2579))
- Define Instrumentation Scope Attributes as non identifiers
([#2789](https://github.com/open-telemetry/opentelemetry-specification/pull/2789))
## v1.12.0 (2022-06-10)
### Context
- No changes.
### Traces
- No changes.
### Metrics
- Clarify that API support for multi-instrument callbacks is permitted.
([#2263](https://github.com/open-telemetry/opentelemetry-specification/pull/2263)).
- Clarify SDK behavior when view conflicts are present
([#2462](https://github.com/open-telemetry/opentelemetry-specification/pull/2462)).
- Clarify MetricReader.Collect result
([#2495](https://github.com/open-telemetry/opentelemetry-specification/pull/2495)).
- Specify optional support for an Exponential Histogram Aggregation.
([#2252](https://github.com/open-telemetry/opentelemetry-specification/pull/2252))
- Update Prometheus Sums for handling delta counter case
([#2570](https://github.com/open-telemetry/opentelemetry-specification/pull/2570)).
- Supplementary guidance for metrics additive property
([#2571](https://github.com/open-telemetry/opentelemetry-specification/pull/2571)).
### Logs
- OTLP Logs are now Stable
([#2565](https://github.com/open-telemetry/opentelemetry-specification/pull/2565))
### Resource
- No changes.
### Semantic Conventions
- Add semantic conventions for JVM CPU metrics
([#2292](https://github.com/open-telemetry/opentelemetry-specification/pull/2292))
- Add details for FaaS conventions for Azure Functions and allow FaaS/Cloud
resources as span attributes on incoming FaaS spans
([#2502](https://github.com/open-telemetry/opentelemetry-specification/pull/2502))
- Define attribute requirement levels
([#2522](https://github.com/open-telemetry/opentelemetry-specification/pull/2522))
- Initial addition of Kafka metrics
([#2485](https://github.com/open-telemetry/opentelemetry-specification/pull/2485)).
- Add semantic conventions for Kafka consumer metrics
([#2536](https://github.com/open-telemetry/opentelemetry-specification/pull/2536))
- Add database connection pool metrics semantic conventions
([#2273](https://github.com/open-telemetry/opentelemetry-specification/pull/2273)).
- Specify how to obtain a Ruby thread's id
([#2508](https://github.com/open-telemetry/opentelemetry-specification/pull/2508)).
- Refactor jvm classes semantic conventions
([#2550](https://github.com/open-telemetry/opentelemetry-specification/pull/2550)).
- Add browser.* attributes
([#2353](https://github.com/open-telemetry/opentelemetry-specification/pull/2353)).
- Change JVM runtime metric `process.runtime.jvm.memory.max`
to `process.runtime.jvm.memory.limit`
([#2605](https://github.com/open-telemetry/opentelemetry-specification/pull/2605)).
- Add semantic conventions for hardware metrics
([#2518](https://github.com/open-telemetry/opentelemetry-specification/pull/2518)).
### Compatibility
- No changes.
### OpenTelemetry Protocol
- No changes.
### SDK Configuration
- No changes.
### Telemetry Schemas
- No changes.
### Common
- Move non-otlp.md to common directory
([#2587](https://github.com/open-telemetry/opentelemetry-specification/pull/2587)).
## v1.11.0 (2022-05-04)
### Context
- No changes.
### Traces
- No changes.
### Metrics
- Clarify that API support for multi-instrument callbacks is permitted.
([#2263](https://github.com/open-telemetry/opentelemetry-specification/pull/2263)).
- Drop histogram aggregation, default to explicit bucket histogram
([#2429](https://github.com/open-telemetry/opentelemetry-specification/pull/2429))
- Clarify SDK behavior when view conflicts are present
([#2462](https://github.com/open-telemetry/opentelemetry-specification/pull/2462)).
- Add support for exemplars on OpenMetrics counters
([#2483](https://github.com/open-telemetry/opentelemetry-specification/pull/2483))
- Clarify MetricReader.Collect result
([#2495](https://github.com/open-telemetry/opentelemetry-specification/pull/2495)).
- Add database connection pool metrics semantic conventions
([#2273](https://github.com/open-telemetry/opentelemetry-specification/pull/2273)).
### Logs
- Update `com.google.*` to `gcp.*` in logs data model
([#2514](https://github.com/open-telemetry/opentelemetry-specification/pull/2514)).
### Resource
- No changes.
### Semantic Conventions
- Note added that `net.peer.name` SHOULD NOT be set if capturing it would require an
extra reverse DNS lookup. And moved `net.peer.name` from common http attributes to
just client http attributes.
([#2446](https://github.com/open-telemetry/opentelemetry-specification/pull/2446))
- Add `net.host.name` and `net.host.ip` conventions for rpc server spans.
([#2447](https://github.com/open-telemetry/opentelemetry-specification/pull/2447))
- Allow all metric conventions to be either synchronous or asynchronous.
([#2458](https://github.com/open-telemetry/opentelemetry-specification/pull/2458)
- Update JVM metrics with JMX Gatherer values
([#2478](https://github.com/open-telemetry/opentelemetry-specification/pull/2478))
- Add HTTP/3
([#2507](https://github.com/open-telemetry/opentelemetry-specification/pull/2507))
- Map SunOS to solaris for os.type resource attribute
([#2509](https://github.com/open-telemetry/opentelemetry-specification/pull/2509))
### Compatibility
- No changes.
### OpenTelemetry Protocol
- Clarify gRPC insecure option ([#2476](https://github.com/open-telemetry/opentelemetry-specification/pull/2476))
- Specify that OTLP/gRPC clients should retry on `RESOURCE_EXHAUSTED` code only if the server signals backpressure to indicate a possible recovery.
([#2480](https://github.com/open-telemetry/opentelemetry-specification/pull/2480))
### SDK Configuration
- No changes.
### Telemetry Schemas
- No changes.
### Common
- Define semantic conventions and instrumentation stability.
([#2180](https://github.com/open-telemetry/opentelemetry-specification/pull/2180))
- Loosen requirement for a major version bump
([#2510](https://github.com/open-telemetry/opentelemetry-specification/pull/2510)).
## v1.10.0 (2022-04-01)
### Context
- No changes.
### Traces
- Introduce the concept of Instrumentation Scope to replace/extend Instrumentation
Library. The Tracer is now associated with Instrumentation Scope
([#2276](https://github.com/open-telemetry/opentelemetry-specification/pull/2276)).
- Add `OTEL_EXPORTER_JAEGER_PROTOCOL` environment variable to select the protocol
used by the Jaeger exporter.
([#2341](https://github.com/open-telemetry/opentelemetry-specification/pull/2341))
- Add documentation REQUIREMENT for adding attributes at span creation.
([#2383](https://github.com/open-telemetry/opentelemetry-specification/pull/2383)).
### Metrics
- Initial Prometheus <-> OTLP datamodel specification
([#2266](https://github.com/open-telemetry/opentelemetry-specification/pull/2266))
- Introduce the concept of Instrumentation Scope to replace/extend Instrumentation
Library. The Meter is now associated with Instrumentation Scope
([#2276](https://github.com/open-telemetry/opentelemetry-specification/pull/2276)).
- Specify the behavior of duplicate instrumentation registration in the API, specify
duplicate conflicts in the data model, specify how the SDK is meant to report and
assist the user when these conflicts arise.
([#2317](https://github.com/open-telemetry/opentelemetry-specification/pull/2317)).
- Clarify that expectations for user callback behavior are documentation REQUIREMENTs.
([#2361](https://github.com/open-telemetry/opentelemetry-specification/pull/2361)).
- Specify how to handle prometheus exemplar timestamp and attributes
([#2376](https://github.com/open-telemetry/opentelemetry-specification/pull/2376))
- Clarify that the periodic metric reader is the default metric reader to be
paired with push metric exporters (OTLP, stdout, in-memory)
([#2379](https://github.com/open-telemetry/opentelemetry-specification/pull/2379)).
- Convert OpenMetrics Info and StateSet metrics to non-monotonic sums
([#2380](https://github.com/open-telemetry/opentelemetry-specification/pull/2380))
- Clarify that MetricReader has one-to-one mapping to MeterProvider.
([#2406](https://github.com/open-telemetry/opentelemetry-specification/pull/2406)).
- For prometheus metrics without sums, leave the sum unset
([#2413](https://github.com/open-telemetry/opentelemetry-specification/pull/2413))
- Specify default configuration for a periodic metric reader that is associated with
the stdout metric exporter.
([#2415](https://github.com/open-telemetry/opentelemetry-specification/pull/2415)).
- Clarify the manner in which aggregation and temporality preferences
are encoded via MetricReader parameters "on the basis of instrument
kind". Rename the environment variable
`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` used to set the
preference to be used when auto-configuring an OTLP Exporter,
defaults to CUMULATIVE, with DELTA an option that makes Counter,
Asynchronous Counter, and Histogram instruments choose Delta
temporality by default.
([#2404](https://github.com/open-telemetry/opentelemetry-specification/pull/2404)).
- Clarify that instruments are enabled by default, even when Views are configured.
Require support for the match-all View expression having `name=*` to support
disabling instruments by default.
([#2417](https://github.com/open-telemetry/opentelemetry-specification/pull/2417)).
- Mark Metrics SDK spec as Mixed, with most components moving to Stable, while
Exemplar remaining Feature-freeze.
([#2304](https://github.com/open-telemetry/opentelemetry-specification/pull/2304))
- Clarify how metric metadata and type suffixes are handled
([#2440](https://github.com/open-telemetry/opentelemetry-specification/pull/2440))
### Logs
- Add draft logging library SDK specification
([#2328](https://github.com/open-telemetry/opentelemetry-specification/pull/2328))
- Add InstrumentationScope/Logger Name to log data model
([#2359](https://github.com/open-telemetry/opentelemetry-specification/pull/2359))
- Remove `flush` method on LogEmitter
([#2405](https://github.com/open-telemetry/opentelemetry-specification/pull/2405))
- Declare Log Data Model Stable
([#2387](https://github.com/open-telemetry/opentelemetry-specification/pull/2387))
### Resource
- No changes.
### Semantic Conventions
- Define span structure for HTTP retries and redirects.
([#2078](https://github.com/open-telemetry/opentelemetry-specification/pull/2078))
- Changed `rpc.system` to an enum (allowing custom values), and changed the
`rpc.system` value for .NET WCF from `wcf` to `dotnet_wcf`.
([#2377](https://github.com/open-telemetry/opentelemetry-specification/pull/2377))
- Define JavaScript runtime semantic conventions.
([#2290](https://github.com/open-telemetry/opentelemetry-specification/pull/2290))
- Add semantic conventions for [CloudEvents](https://cloudevents.io).
([#1978](https://github.com/open-telemetry/opentelemetry-specification/pull/1978))
- Add `process.cpu.utilization` metric.
([#2436](https://github.com/open-telemetry/opentelemetry-specification/pull/2436))
- Add `rpc.system` value for Apache Dubbo.
([#2453](https://github.com/open-telemetry/opentelemetry-specification/pull/2453))
### Compatibility
- Mark the OpenTracing compatibility section as stable.
([#2327](https://github.com/open-telemetry/opentelemetry-specification/pull/2327))
### OpenTelemetry Protocol
- Add experimental JSON serialization format
([#2235](https://github.com/open-telemetry/opentelemetry-specification/pull/2235))
- Parameters for private key and its chain added
([#2370](https://github.com/open-telemetry/opentelemetry-specification/pull/2370))
### SDK Configuration
- No changes.
### Telemetry Schemas
- No changes.
### Common
- Describe how to convert non-string primitives for protocols which only support strings
([#2343](https://github.com/open-telemetry/opentelemetry-specification/pull/2343))
- Add "Mapping Arbitrary Data to OTLP AnyValue" document.
([#2385](https://github.com/open-telemetry/opentelemetry-specification/pull/2385))
## v1.9.0 (2022-02-10)
### Context
- No changes.
### Traces
- Clarify `StartSpan` returning the parent as a non-recording Span when no SDK
is in use.
([#2121](https://github.com/open-telemetry/opentelemetry-specification/pull/2121))
- Align Jaeger remote sampler endpoint with OTLP endpoint.
([#2246](https://github.com/open-telemetry/opentelemetry-specification/pull/2246))
- Add JaegerRemoteSampler spec.
([#2222](https://github.com/open-telemetry/opentelemetry-specification/pull/2222))
- Add support for probability sampling in the OpenTelemetry `tracestate` entry and
add optional specification for consistent probability sampling.
([#2047](https://github.com/open-telemetry/opentelemetry-specification/pull/2047))
- Change description and default value of `OTEL_EXPORTER_JAEGER_ENDPOINT` environment
variable to point to the correct HTTP port and correct description of
`OTEL_TRACES_EXPORTER`.
([#2333](https://github.com/open-telemetry/opentelemetry-specification/pull/2333))
### Metrics
- Rename None aggregation to Drop.
([#2101](https://github.com/open-telemetry/opentelemetry-specification/pull/2101))
- Add details to the Prometheus Exporter requirements.
([#2124](https://github.com/open-telemetry/opentelemetry-specification/pull/2124))
- Consolidate the aggregation/aggregator term.
([#2153](https://github.com/open-telemetry/opentelemetry-specification/pull/2153))
- Remove the concept of supported temporality, keep preferred.
([#2154](https://github.com/open-telemetry/opentelemetry-specification/pull/2154))
- Rename extra dimensions to extra attributes.
([#2162](https://github.com/open-telemetry/opentelemetry-specification/pull/2162))
- Mark In-memory, OTLP and Stdout exporter specs as Stable.
([#2175](https://github.com/open-telemetry/opentelemetry-specification/pull/2175))
- Remove usage of baggage in View from initial SDK specification.
([#2215](https://github.com/open-telemetry/opentelemetry-specification/pull/2215))
- Add to the supplemental guidelines for metric SDK authors text about implementing
attribute-removal Views for asynchronous instruments.
([#2208](https://github.com/open-telemetry/opentelemetry-specification/pull/2208))
- Clarify integer count instrument units.
([#2210](https://github.com/open-telemetry/opentelemetry-specification/pull/2210))
- Use UCUM units in Metrics Semantic Conventions.
([#2199](https://github.com/open-telemetry/opentelemetry-specification/pull/2199))
- Add semantic conventions for process metrics.
[#2032](https://github.com/open-telemetry/opentelemetry-specification/pull/2061)
- Changed default Prometheus Exporter host from `0.0.0.0` to `localhost`.
([#2282](https://github.com/open-telemetry/opentelemetry-specification/pull/2282))
- Clarified wildcard and predicate support in metrics SDK View API.
([#2325](https://github.com/open-telemetry/opentelemetry-specification/pull/2325))
- Changed the Exemplar wording, exemplar should be turned off by default.
([#2414](https://github.com/open-telemetry/opentelemetry-specification/pull/2414))
### Logs
- Fix attributes names in Google Cloud Logging mapping.
([#2093](https://github.com/open-telemetry/opentelemetry-specification/pull/2093))
- Add OTEL_LOGS_EXPORTER environment variable.
([#2196](https://github.com/open-telemetry/opentelemetry-specification/pull/2196))
- Added ObservedTimestamp to the Log Data Model.
([#2184](https://github.com/open-telemetry/opentelemetry-specification/pull/2184))
- Change mapping for log_name of Google Cloud Logging.
([#2092](https://github.com/open-telemetry/opentelemetry-specification/pull/2092))
- Drop Log name.
field ([#2271](https://github.com/open-telemetry/opentelemetry-specification/pull/2271))
### Resource
- No changes.
### Semantic Conventions
- Align runtime metric and resource namespaces
([#2112](https://github.com/open-telemetry/opentelemetry-specification/pull/2112))
- Prohibit usage of retired names in semantic conventions.
([#2191](https://github.com/open-telemetry/opentelemetry-specification/pull/2191))
- Add `device.manufacturer` to describe mobile device manufacturers.
([2100](https://github.com/open-telemetry/opentelemetry-specification/pull/2100))
- Change golang namespace to 'go', rather than 'gc'
([#2262](https://github.com/open-telemetry/opentelemetry-specification/pull/2262))
- Add JVM memory runtime semantic