Skip to content

Releases: open-telemetry/opentelemetry-go

Release v1.8.0/v0.31.0

08 Jul 18:27
v1.8.0
08ff959
Compare
Choose a tag to compare

1.8.0/0.31.0 - 2022-07-08

Added

  • Add support for opentracing.TextMap format in the Inject and Extract methods
    of the "go.opentelemetry.io/otel/bridge/opentracing".BridgeTracer type. (#2911)

Changed

  • The crosslink make target has been updated to use the go.opentelemetry.io/build-tools/crosslink package. (#2886)
  • In the go.opentelemetry.io/otel/sdk/instrumentation package rename Library to Scope and alias Library as Scope (#2976)
  • Move metric no-op implementation form nonrecording to metric package. (#2866)

Removed

  • Support for go1.16. Support is now only for go1.17 and go1.18 (#2917)

Deprecated

  • The Library struct in the go.opentelemetry.io/otel/sdk/instrumentation package is deprecated.
    Use the equivalent Scope struct instead. (#2977)
  • The ReadOnlySpan.InstrumentationLibrary method from the go.opentelemetry.io/otel/sdk/trace package is deprecated.
    Use the equivalent ReadOnlySpan.InstrumentationScope method instead. (#2977)

Release v1.7.0/v0.30.0

28 Apr 16:01
v1.7.0
a50cf6a
Compare
Choose a tag to compare

Added

  • Add the go.opentelemetry.io/otel/semconv/v1.8.0 package.
    The package contains semantic conventions from the v1.8.0 version of the OpenTelemetry specification. (#2763)
  • Add the go.opentelemetry.io/otel/semconv/v1.9.0 package.
    The package contains semantic conventions from the v1.9.0 version of the OpenTelemetry specification. (#2792)
  • Add the go.opentelemetry.io/otel/semconv/v1.10.0 package.
    The package contains semantic conventions from the v1.10.0 version of the OpenTelemetry specification. (#2842)
  • Added an in-memory exporter to metrictest to aid testing with a full SDK. (#2776)

Fixed

  • Globally delegated instruments are unwrapped before delegating asynchronous callbacks. (#2784)
  • Remove import of testing package in non-tests builds of the go.opentelemetry.io/otel package. (#2786)

Changed

  • The WithLabelEncoder option from the go.opentelemetry.io/otel/exporters/stdout/stdoutmetric package is renamed to WithAttributeEncoder. (#2790)
  • The LabelFilterSelector interface from go.opentelemetry.io/otel/sdk/metric/processor/reducer is renamed to AttributeFilterSelector.
    The method included in the renamed interface also changed from LabelFilterFor to AttributeFilterFor. (#2790)
  • The Metadata.Labels method from the go.opentelemetry.io/otel/sdk/metric/export package is renamed to Metadata.Attributes.
    Consequentially, the Record type from the same package also has had the embedded method renamed. (#2790)

Deprecated

  • The Iterator.Label method in the go.opentelemetry.io/otel/attribute package is deprecated.
    Use the equivalent Iterator.Attribute method instead. (#2790)
  • The Iterator.IndexedLabel method in the go.opentelemetry.io/otel/attribute package is deprecated.
    Use the equivalent Iterator.IndexedAttribute method instead. (#2790)
  • The MergeIterator.Label method in the go.opentelemetry.io/otel/attribute package is deprecated.
    Use the equivalent MergeIterator.Attribute method instead. (#2790)

Removed

  • Removed the Batch type from the go.opentelemetry.io/otel/sdk/metric/metrictest package. (#2864)
  • Removed the Measurement type from the go.opentelemetry.io/otel/sdk/metric/metrictest package. (#2864)

Release metric/v0.29.0

11 Apr 23:49
metric/v0.29.0
33a4673
Compare
Choose a tag to compare

0.29.0 - 2022-04-11

Added

  • The metrics global package was added back into several test files. (#2764)
  • The Meter function is added back to the go.opentelemetry.io/otel/metric/global package.
    This function is a convenience function equivalent to calling global.MeterProvider().Meter(...). (#2750)

Removed

  • Removed module the go.opentelemetry.io/otel/sdk/export/metric.
    Use the go.opentelemetry.io/otel/sdk/metric module instead. (#2720)

Changed

  • Don't panic anymore when setting a global MeterProvider to itself. (#2749)
  • Upgrade go.opentelemetry.io/proto/otlp in go.opentelemetry.io/otel/exporters/otlp/otlpmetric from v0.12.1 to v0.15.0.
    This replaces the use of the now deprecated InstrumentationLibrary and InstrumentationLibraryMetrics types and fields in the proto library with the equivalent InstrumentationScope and ScopeMetrics. (#2748)

Release v1.6.3

07 Apr 20:44
v1.6.3
8c0951e
Compare
Choose a tag to compare

Fixed

  • Allow non-comparable global MeterProvider, TracerProvider, and TextMapPropagator types to be set. (#2772, #2773)

Release v1.6.2

06 Apr 21:47
v1.6.2
f08bac5
Compare
Choose a tag to compare

1.6.2 - 2022-04-06

Changed

  • Don't panic anymore when setting a global TracerProvider or TextMapPropagator to itself. (#2749)
  • Upgrade go.opentelemetry.io/proto/otlp in go.opentelemetry.io/otel/exporters/otlp/otlptrace from v0.12.1 to v0.15.0.
    This replaces the use of the now deprecated InstrumentationLibrary and InstrumentationLibrarySpans types and fields in the proto library with the equivalent InstrumentationScope and ScopeSpans. (#2748)

Release v1.6.1

28 Mar 17:01
v1.6.1
8747a29
Compare
Choose a tag to compare

Fixed

  • The go.opentelemetry.io/otel/schema/* packages now use the correct schema URL for their SchemaURL constant. Instead of using "https://opentelemetry.io/schemas/v<version>" they now use the correct URL without a v prefix, "https://opentelemetry.io/schemas/<version>". (#2743, #2744)

Security

  • Upgrade go.opentelemetry.io/proto/otlp from v0.12.0 to v0.12.1. This includes an indirect upgrade of github.com/grpc-ecosystem/grpc-gateway which resolves a vulnerability from gopkg.in/yaml.v2 in version v2.2.3. (#2724, #2728)

Release v1.6.0/v0.28.0

23 Mar 21:31
v1.6.0
17667f5
Compare
Choose a tag to compare

⚠️ Notice ⚠️

This update is a breaking change of the unstable Metrics API.
Code instrumented with the go.opentelemetry.io/otel/metric will need to be modified.

Added

  • Add metrics exponential histogram support.
    New mapping functions have been made available in sdk/metric/aggregator/exponential/mapping for other OpenTelemetry projects to take dependencies on. (#2502)
  • Add Go 1.18 to our compatibility tests. (#2679)
  • Allow configuring the Sampler with the OTEL_TRACES_SAMPLER and OTEL_TRACES_SAMPLER_ARG environment variables. (#2305, #2517)
  • Add the metric/global for obtaining and setting the global MeterProvider. (#2660)

Changed

  • The metrics API has been significantly changed to match the revised OpenTelemetry specification.
    High-level changes include:

    • Synchronous and asynchronous instruments are now handled by independent InstrumentProviders.
      These InstrumentProviders are managed with a Meter.
    • Synchronous and asynchronous instruments are grouped into their own packages based on value types.
    • Asynchronous callbacks can now be registered with a Meter.

    Be sure to check out the metric module documentation for more information on how to use the revised API. (#2587, #2660)

Fixed

  • Fallback to general attribute limits when span specific ones are not set in the environment. (#2675, #2677)

Release v1.5.0

16 Mar 16:20
v1.5.0
2cfc521
Compare
Choose a tag to compare

Added

  • Log the Exporters configuration in the TracerProviders message. (#2578)

  • Added support to configure the span limits with environment variables.
    The following environment variables are supported. (#2606, #2637)

    • OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT
    • OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT
    • OTEL_SPAN_EVENT_COUNT_LIMIT
    • OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT
    • OTEL_SPAN_LINK_COUNT_LIMIT
    • OTEL_LINK_ATTRIBUTE_COUNT_LIMIT

    If the provided environment variables are invalid (negative), the default values would be used.

  • Rename the gc runtime name to go (#2560)

  • Add resource container ID detection. (#2418)

  • Add span attribute value length limit.
    The new AttributeValueLengthLimit field is added to the "go.opentelemetry.io/otel/sdk/trace".SpanLimits type to configure this limit for a TracerProvider.
    The default limit for this resource is "unlimited". (#2637)

  • Add the WithRawSpanLimits option to go.opentelemetry.io/otel/sdk/trace.
    This option replaces the WithSpanLimits option.
    Zero or negative values will not be changed to the default value like WithSpanLimits does.
    Setting a limit to zero will effectively disable the related resource it limits and setting to a negative value will mean that resource is unlimited.
    Consequentially, limits should be constructed using NewSpanLimits and updated accordingly. (#2637)

Changed

  • Drop oldest tracestate Member when capacity is reached. (#2592)
  • Add event and link drop counts to the exported data from the oltptrace exporter. (#2601)
  • Unify path cleaning functionally in the otlpmetric and otlptrace configuration. (#2639)
  • Change the debug message from the sdk/trace.BatchSpanProcessor to reflect the count is cumulative. (#2640)
  • Introduce new internal envconfig package for OTLP exporters. (#2608)
  • If http.Request.Host is empty, fall back to use URL.Host when populating http.host in the semconv packages. (#2661)

Fixed

  • Remove the OTLP trace exporter limit of SpanEvents when exporting. (#2616)
  • Default to port 4318 instead of 4317 for the otlpmetrichttp and otlptracehttp client. (#2614, #2625)
  • Unlimited span limits are now supported (negative values). (#2636, #2637)

Deprecated

  • Deprecated "go.opentelemetry.io/otel/sdk/trace".WithSpanLimits.
    Use WithRawSpanLimits instead.
    That option allows setting unlimited and zero limits, this option does not.
    This option will be kept until the next major version incremented release. (#2637)

Release v1.4.1

16 Feb 17:57
v1.4.1
065ba75
Compare
Choose a tag to compare

Fixed

  • Fix race condition in reading the dropped spans number for the BatchSpanProcessor. (#2615)

Release v1.4.0/v0.27.0

11 Feb 16:56
v1.4.0
1bda062
Compare
Choose a tag to compare

Added

  • Use OTEL_EXPORTER_ZIPKIN_ENDPOINT environment variable to specify zipkin collector endpoint. (#2490)
  • Log the configuration of TracerProviders, and Tracers for debugging.
    To enable use a logger with Verbosity (V level) >=1. (#2500)
  • Added support to configure the batch span-processor with environment variables.
    The following environment variables are used. (#2515)
    • OTEL_BSP_SCHEDULE_DELAY
    • OTEL_BSP_EXPORT_TIMEOUT
    • OTEL_BSP_MAX_QUEUE_SIZE.
    • OTEL_BSP_MAX_EXPORT_BATCH_SIZE

Changed

  • Zipkin exporter exports Resource attributes in the Tags field. (#2589)

Deprecated

  • Deprecate module the go.opentelemetry.io/otel/sdk/export/metric.
    Use the go.opentelemetry.io/otel/sdk/metric module instead. (#2382)
  • Deprecate "go.opentelemetry.io/otel/sdk/metric".AtomicFieldOffsets. (#2445)

Fixed

  • Fixed the instrument kind for noop async instruments to correctly report an implementation. (#2461)
  • Fix UDP packets overflowing with Jaeger payloads. (#2489, #2512)
  • Change the otlpmetric.Client interface's UploadMetrics method to accept a single ResourceMetrics instead of a slice of them. (#2491)
  • Specify explicit buckets in Prometheus example, fixing issue where example only has +inf bucket. (#2419, #2493)
  • W3C baggage will now decode urlescaped values. (#2529)
  • Baggage members are now only validated once, when calling NewMember and not also when adding it to the baggage itself. (#2522)
  • The order attributes are dropped from spans in the go.opentelemetry.io/otel/sdk/trace package when capacity is reached is fixed to be in compliance with the OpenTelemetry specification.
    Instead of dropping the least-recently-used attribute, the last added attribute is dropped.
    This drop order still only applies to attributes with unique keys not already contained in the span.
    If an attribute is added with a key already contained in the span, that attribute is updated to the new value being added. (#2576)

Removed