Skip to content

Releases: open-telemetry/opentelemetry-js

Experimental v0.50.0

03 Apr 08:10
5231aa2

Choose a tag to compare

0.50.0

💥 Breaking Change

  • fix(exporter-*-otlp-grpc)!: lazy load gRPC to improve compatibility with @opentelemetry/instrumenation-grpc #4432 @pichlermarc
    • Fixes a bug where requiring the gRPC exporter before enabling the instrumentation from @opentelemetry/instrumentation-grpc would lead to missing telemetry
    • Breaking changes, removes several functions and properties that were used internally and were not intended for end-users
      • getServiceClientType()
        • this returned a static enum value that would denote the export type (SPAN, METRICS, LOGS)
      • getServiceProtoPath()
        • this returned a static enum value that would correspond to the gRPC service path
      • metadata
        • was used internally to access metadata, but as a side effect allowed end-users to modify metadata on runtime.
      • serviceClient
        • was used internally to keep track of the service client used by the exporter, as a side effect it allowed end-users to modify the gRPC service client that was used
      • compression
        • was used internally to keep track of the compression to use but was unintentionally exposed to the users. It allowed to read and write the value, writing, however, would have no effect.
  • feat(api-events)!: removed domain from the Events API #4569 @martinkuba
  • fix(api-events)!: renamed EventEmitter to EventLogger in the Events API #4569 @martinkuba
  • feat(api-logs)!: changed LogRecord body data type to AnyValue and AnyValueMap types #4575 @martinkuba

🚀 (Enhancement)

🐛 (Bug Fix)

  • fix(exporter--otlp-): use parseHeaders() to ensure header-values are not 'undefined' #4540
    • Fixes a bug where passing undefined as a header value would crash the end-user app after the export timeout elapsed.
  • fix(sdk-logs): ensure default resource attributes are used as fallbacks when a resource is passed to LoggerProvider.

📚 (Refine Doc)

  • docs(instrumentation-http): document semantic conventions and attributes in use. #4587 @JamieDanielson

v1.22.0

29 Feb 09:18
7be35c7

Choose a tag to compare

1.22.0

🚀 (Enhancement)

  • feat(sdk-metrics): allow single bucket histograms #4456 @pichlermarc
  • feat(context-zone-peer-dep, context-zone): support zone.js 0.13.x, 0.14.x #4469 @pichlermarc
  • chore: Semantic Conventions export individual strings 4185 @MSNev

🐛 (Bug Fix)

  • fix(sdk-metrics): handle zero bucket counts in exponential histogram merge #4459 @mwear
  • fix(sdk-metrics): ignore NaN value recordings in Histograms #4455 @pichlermarc
    • fixes a bug where recording NaN on a histogram would result in the sum of bucket count values not matching the overall count
  • fix(sdk-metrics): allow single bucket histograms #4456 @pichlermarc
    • fixes a bug where Meter.createHistogram() with the advice explicitBucketBoundaries: [] would throw
  • fix(context-zone-peer-dep, context-zone): support zone.js 0.13.x, 0.14.x #4469 @pichlermarc

📚 (Refine Doc)

Experimental v0.49.1

29 Feb 13:57
3920b15

Choose a tag to compare

0.49.1

🐛 (Bug Fix)

  • fix(instrumentation): don't add @opentelemetry/api-logs as a peerDependency #4515 @pichlermarc

Experimental v0.49.0

29 Feb 09:18
7be35c7

Choose a tag to compare

0.49.0

💥 Breaking Change

  • fix(otlp-exporter-base)!: remove unload event from OTLPExporterBrowserBase #4438 @eldavojohn
    • Reason: The 'unload' event prevents sites from taking advantage of Google's backward/forward cache and will be deprecated. It is now up to the consuming site to implement these shutdown events.
    • This breaking change affects users under this scenario:
      1. A user extends the exporter and overrides the shutdown function, and does something which is usually called by the unload listener
      2. We remove the unload event listener
      3. That user's overridden shutdown function no longer gets called

🚀 (Enhancement)

  • feat(instrumentation): allow LoggerProvider to be specified in Instrumentations #4314 @hectorhdzg
  • feat(instrumentation): add getModuleDefinitions() to InstrumentationBase #4475 @pichlermarc
  • feat(exporter-metrics-otlp-http): add option to set the exporter aggregation preference #4409 @AkselAllas
  • feat(node-sdk): add spanProcessors option #4454 @naseemkullah

🐛 (Bug Fix)

  • fix(sdk-node): allow using samplers when the exporter is defined in the environment #4394 @JacksonWeber
  • fix(instrumentation): normalize paths for internal files in scoped packages #4467 @pichlermarc
    • Fixes a bug where, on Windows, internal files on scoped packages would not be instrumented.
  • fix(otlp-transformer): only use BigInt inside hrTimeToNanos() #4484 @pichlermarc
  • fix(instrumentation-fetch): do not enable in Node.js; clarify in docs this instr is for web fetch only #4498 @trentm

API v1.8.0

29 Feb 09:19
7be35c7

Choose a tag to compare

API v1.8.0

🚀 (Enhancement)

  • feat(api): add SugaredTracer for functions not defined in the spec #3317 @secustor

🐛 (Bug Fix)

  • fix(api): fix unreachable @opentelemetry/api/experimental entry #4446 @legendecas

v1.21.0

26 Jan 06:22
828f2ed

Choose a tag to compare

1.21.0

🚀 (Enhancement)

  • feat(sdk-metrics): add constructor option to add metric readers #4427 @pichlermarc
    • deprecates MeterProvider.addMetricReader() please use the constructor option readers instead.

🐛 (Bug Fix)

  • fix(sdk-trace-base): ensure attribute value length limit is enforced on span creation #4417 @pichlermarc
  • fix(sdk-trace-base): Export processed spans while exporter failed #4287 @Zirak

🏠 (Internal)

  • chore(opentelemetry-context-zone-peer-dep): support zone.js ^v0.13.0 #4320
  • refactor(core): drop unnecessary assignment of HOSTNAME #4421 @pichlermarc
  • test(opentelemetry-context-zone-peer-dep): transpile zone.js in tests #4423 @legendecas

Experimental v0.48.0

26 Jan 06:22
828f2ed

Choose a tag to compare

0.48.0

💥 Breaking Change

  • fix(instrumentation)!: pin [email protected] #4441
    • Fixes a bug where, in some circumstances, ESM instrumentation packages would try to instrument CJS exports on ESM, causing the end-user application to crash.
    • This breaking change only affects users that are using the experimental @opentelemetry/instrumentation/hook.mjs loader hook AND Node.js 18.19 or later:
      • This reverts back to an older version of import-in-the-middle due to nodejs/import-in-the-middle#57
      • This version does not support Node.js 18.19 or later

🐛 (Bug Fix)

  • fix(exporter-prometheus): avoid invoking callback synchronously #4431 @legendecas
  • fix(exporter-logs-otlp-grpc): set User-Agent header #4398 @Vunovati
  • fix(exporter-logs-otlp-http): set User-Agent header #4398 @Vunovati
  • fix(exporter-logs-otlp-proto): set User-Agent header #4398 @Vunovati
  • fix(instrumentation-fetch): compatibility with Map types for fetch headers

🏠 (Internal)

v1.20.0

15 Jan 10:19
5700853

Choose a tag to compare

1.20.0

🚀 (Enhancement)

  • feat(sdk-trace-base): improve log messages when dropping span events #4223 @mkubliniak

Experimental v0.47.0

15 Jan 10:19
5700853

Choose a tag to compare

0.47.0

🚀 (Enhancement)

  • perf(otlp-transformer): skip unnecessary base64 encode of span contexts #4343 @seemk

💥 Breaking Change

  • fix(exporter-logs-otlp-http)!: programmatic headers take precedence over environment variables #2370 @Vunovati
  • fix(exporter-logs-otlp-proto)!: programmatic headers take precedence over environment variables #2370 @Vunovati
  • fix(exporter-trace-otlp-http)!: programmatic headers take precedence over environment variables #2370 @Vunovati
  • fix(exporter-trace-otlp-proto)!: programmatic headers take precedence over environment variables #2370 @Vunovati

🐛 (Bug Fix)

  • fix(instrumentation): use caret range on import-in-the-middle #4380 @pichlermarc
  • fix(instrumentation): do not import 'path' in browser runtimes #4386 @pichlermarc
    • Fixes a bug where bundling for web would fail due to InstrumentationNodeModuleDefinition importing path

v1.19.0

14 Dec 12:43
d3c311a

Choose a tag to compare

🚀 (Enhancement)

🏠 (Internal)

🐛 (Bug Fix)

  • fix(sdk-trace-web): only access location if it is defined #4063 @drewcorlin1
  • fix(sdk-trace-base): processor onStart called with a span having empty attributes #4277 @satazor