Skip to content

Releases: open-telemetry/opentelemetry-js

v1.29.0

04 Dec 16:33
85dcbc7
Compare
Choose a tag to compare

1.29.0

🚀 (Enhancement)

  • feat(sdk-metrics): Add support for aggregation cardinality limit with a default limit of 2000. This limit can be customized via views #5128

experimental/v0.56.0

04 Dec 16:34
85dcbc7
Compare
Choose a tag to compare

0.56.0

💥 Breaking Change

  • feat(otlp-exporter-base)!: collapse base classes into one #5031 @pichlermarc
    • OTLPExporterNodeBase has been removed in favor of a platform-agnostic implementation (OTLPExporterBase)
    • OTLPExporterBrowserBase has been removed in favor of a platform-agnostic implementation (OTLPExporterBase)
    • ExportServiceError was intended for internal use and has been dropped from exports
    • validateAndNormalizeHeaders was intended for internal use and has been dropped from exports
    • OTLPExporterBase all properties are now private, the constructor now takes an IOTLPExportDelegate, the type parameter for config type has been dropped.
      • This type is scheduled for removal in a future version of this package, please treat all exporters as SpanExporter, PushMetricExporter or LogRecordExporter, based on their respective type.
  • feat(otlp-grpc-exporter-base)!: collapse base classes into one #5031 @pichlermarc
    • OTLPGRPCExporterNodeBase has been removed in favor of a platform-agnostic implementation (OTLPExporterBase from @opentelemetry/otlp-exporter-base)
  • feat(otlp-transformer)!: accept ResourceMetrics in serializers instead of ResourceMetrics[]
    • (user-facing): ProtobufMetricsSerializer now only accepts ResourceMetrics instead of ResourceMetrics[] to align with PushMetricExporter requirements
    • (user-facing): JsonMetricsSerializer now only accepts ResourceMetrics instead of ResourceMetrics[] to align with PushMetricExporter requirements

🚀 (Enhancement)

  • feat(otlp-exporter-base): handle OTLP partial success #5183 @pichlermarc
  • feat(otlp-exporter-base): internally accept a http header provider function only #5179 @pichlermarc
  • refactor(otlp-exporter-base): don't create blob before sending xhr #5193 @pichlermarc
    • improves compatibility with some unsupported runtimes
  • feat(otlp-exporter-base): add http response body to exporter error #5204 @pichlermarc

🐛 (Bug Fix)

  • fix(otlp-exporter-*): de-confuse Nuxt build tooling by not using 'export *' in comments #5227 @pichlermarc

🏠 (Internal)

semconv/v1.28.0

20 Nov 21:29
e97cc2e
Compare
Choose a tag to compare

1.28.0

🚀 (Enhancement)

📚 (Refine Doc)

  • chore: Improve documentation on entry-points (top-level and "incubating") and on deprecations. #5025 @trentm

🏠 (Internal)

  • chore: Update the comments of some deprecated constants to point to the currently relevant replacement constant, if any. #5160 @trentm
  • chore: Minor improvements to formatting of comments. #5100 @trentm

v1.28.0

18 Nov 11:21
4b1ad3f
Compare
Choose a tag to compare

1.28.0

🚀 (Enhancement)

  • feat(sdk-metrics, sdk-trace): add mergeResourceWithDefaults flag, which allows opting-out of resources getting merged with the default resource #4617

    • default: true (no change in behavior)
    • note: false will become the default behavior in the next major version in order to comply with specification requirements
  • feat(sdk-trace-base): add spanProcessors property in TracerConfig interface. #5138 @david-luna

🐛 (Bug Fix)

  • fix(sdk-metrics): await exports in PeriodicExportingMetricReader when async resource attributes have not yet settled #5119 @pichlermarc
  • fix(sdk-trace): performance.now() may return the same value for consecutive calls #5150 @dyladan
  • fix(sdk-trace-base): pass BatchSpanProcessor#forceFlush() errors on visibilitychange/pagehide to globalErrorHandler #5143 @pichlermarc
    • fixes a bug where switching browser tabs with a failing exporter would cause an unhandled error

experimental/v0.55.0

18 Nov 11:21
4b1ad3f
Compare
Choose a tag to compare

0.55.0

💥 Breaking Change

  • feat(instrumentation-http)!: reduce public API surface by removing exports and making protected methods private #5124 @pichlermarc
    • (user-facing) the following exports were intended for internal use only and have been removed without replacement
      • extractHostnameAndPort
      • getAbsoluteUrl
      • getIncomingRequestAttributes
      • getIncomingRequestAttributesOnResponse
      • getIncomingRequestMetricAttributes
      • getIncomingRequestMetricAttributesOnResponse
      • getOutgoingRequestAttributes
      • getOutgoingRequestAttributesOnResponse
      • getOutgoingRequestMetricAttributes
      • getOutgoingRequestMetricAttributesOnResponse
      • getRequestInfo
      • headerCapture
      • isCompressed
      • isValidOptionsType
      • parseResponseStatus
      • satisfiesPattern
      • setAttributesFromHttpKind
      • setRequestContentLengthAttribute
      • setResponseContentLengthAttribute
      • setSpanWithError
      • RequestSignature
      • RequestFunction
      • ParsedRequestOptions
      • IgnoreMatcher
      • Https
      • HttpRequestArgs
      • HttpCallbackOptional
      • HttpCallback
      • Http
      • GetFunction
      • Func
      • Err

🚀 (Enhancement)

  • feat(sdk-node, sdk-logs): add mergeResourceWithDefaults flag, which allows opting-out of resources getting merged with the default resource #4617
    • default: true
    • note: false will become the default behavior in a future iteration in order to comply with specification requirements
  • feat(instrumentation): Track request body size in XHR and Fetch instrumentations #4706 @MustafaHaddara

🐛 (Bug Fix)

  • fix(instrumentation-http): Fix the OTEL_SEMCONV_STABILITY_OPT_IN variable check. Using of instead of in #5137
  • fix(instrumentation-http): drop url.parse in favor of URL constructor #5091 @pichlermarc
    • fixes a bug where using cyrillic characters in a client request string URL would throw an exception, whereas an un-instrumented client would accept the same input without throwing an exception
  • fix(otlp-exporter-base): fix unhandled error when writing to destroyed http request #5163 @pichlermarc

experimental/v0.54.2

07 Nov 13:36
72c9af9
Compare
Choose a tag to compare

0.54.2

🐛 (Bug Fix)

experimental/v0.54.1

05 Nov 16:16
6f4f3fc
Compare
Choose a tag to compare

0.54.1

🐛 (Bug Fix)

  • fix(instrumentation-http): skip malformed forwarded headers. #5095 @pmlanger

v1.27.0

23 Oct 14:55
eb3ca4f
Compare
Choose a tag to compare

1.27.0

🚀 (Enhancement)

  • feat: add processors for adding session.id attribute to spans and logs #4972

🐛 (Bug Fix)

🏠 (Internal)

  • deps: set @opentelemetry/api dependency min version to 1.3.0 in examples, experimental/packages, integration-tests and selenium-tests
    #4992
  • refactor(sdk-metrics): replace MetricsAttributes with Attributes #5021 @david-luna
  • refactor(instrumentation-http): replace SpanAttributes and MetricsAttributes with Attributes #5023 @david-luna
  • chore(exporter-zipkin): remove usages of Span constructor #5030 @david-luna
  • test(instrumentation-http): remove usages of new Span in tests #5035 @david-luna

experimental/v0.54.0

23 Oct 14:55
eb3ca4f
Compare
Choose a tag to compare

0.54.0

💥 Breaking Change

  • feat(exporter--otlp-)!: rewrite exporter config logic for testability #4971 @pichlermarc
    • (user-facing) getDefaultUrl was intended for internal use has been removed from all exporters
    • (user-facing) getUrlFromConfig was intended for internal use and has been removed from all exporters
    • (user-facing) hostname was intended for internal use and has been removed from all exporters
    • (user-facing) url was intended for internal use and has been removed from all exporters
    • (user-facing) timeoutMillis was intended for internal use and has been removed from all exporters
    • (user-facing) onInit was intended for internal use and has been removed from all exporters
    • (user-facing) OTLP exporter config headers type changed from Partial<Record<string, unknown>> to Record<string, string>
  • feat(otlp-exporter-base)!: do not export functions that are intended for internal use #4971 @pichlermarc
    • Drops the following functions and types that were intended for internal use from the package exports:
      • parseHeaders
      • appendResourcePathToUrl
      • appendResourcePathToUrlIfNeeded
      • configureExporterTimeout
      • invalidTimeout
  • feat(instrumentation-http)!: remove long deprecated options #5085 @pichlermarc
    • ignoreIncomingPaths has been removed, use the more versatile ignoreIncomingRequestHook instead.
    • ignoreOutgoingUrls has been removed, use the more versatile ignoreOutgoingRequestHook instead.
    • isIgnored utility function was intended for internal use and has been removed without replacement.

🚀 (Enhancement)

  • feat(api-logs): Add delegating no-op logger provider #4861 @hectorhdzg
  • feat(instrumentation-http): Add support for Semantic Conventions 1.27+ #4940 #4978 #5026 @dyladan
    • Applies to client and server spans and metrics
    • Generate spans and metrics compliant with Semantic Conventions 1.27+ when OTEL_SEMCONV_STABILITY_OPT_IN contains http or http/dup
    • Generate spans and metrics backwards compatible with previous attributes when OTEL_SEMCONV_STABILITY_OPT_IN contains http/dup or DOES NOT contain http

🐛 (Bug Fix)

  • fix(sampler-jaeger-remote): fixes an issue where package could emit unhandled promise rejections @Just-Sieb
  • fix(otlp-grpc-exporter-base): default compression to 'none' if env vars OTEL_EXPORTER_OTLP_TRACES_COMPRESSION and OTEL_EXPORTER_OTLP_COMPRESSION are falsy @sjvans
  • fix(sdk-events): remove devDependencies to old @opentelemetry/[email protected], @opentelemetry/[email protected] packages #5013 @pichlermarc
  • fix(sdk-logs): remove devDependencies to old @opentelemetry/[email protected] #5013 @pichlermarc
  • fix(sdk-logs): align LogRecord#setAttribute type with types from @opentelemetry/[email protected] #5013 @pichlermarc
  • fix(exporter--otlp-): fixes a bug where signal-specific environment variables would not be applied and the trace-specific one was used instead #4971 @pichlermarc
    • Fixes:
      • OTEL_EXPORTER_OTLP_METRICS_COMPRESSION
      • OTEL_EXPORTER_OTLP_LOGS_COMPRESSION
      • OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE
      • OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE
      • OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_METRICS_INSECURE
      • OTEL_EXPORTER_OTLP_LOGS_INSECURE
  • fix(sdk-node): use warn instead of error on unknown OTEL_NODE_RESOURCE_DETECTORS values #5034
  • fix(exporter-logs-otlp-proto): Use correct config type in Node constructor
  • fix(instrumentation-http): Fix instrumentation of http.get, http.request, https.get, and https.request when used from ESM code and imported via the import defaultExport from 'http' style. #5024 @trentm

🏠 (Internal)

  • refactor(exporter-prometheus): replace MetricAttributes and MetricAttributeValues with Attributes and AttributeValues #4993

  • refactor(browser-detector): replace ResourceAttributes with Attributes #5004

  • refactor(sdk-logs): replace ResourceAttributes with Attributes #5005 @david-luna

v1.26.0

28 Aug 10:43
720bc8c
Compare
Choose a tag to compare

1.26.0

🚀 (Enhancement)

  • feat: include instrumentation scope info in console span and log record exporters #4848 @blumamir
  • feat(semconv): update semantic conventions to 1.27 (from 1.7.0) #4690 @dyladan
    • Exported names have changed to ATTR_{name} for attributes (e.g. ATTR_HTTP_REQUEST_METHOD), {name}_VALUE_{value} for enumeration values (e.g. HTTP_REQUEST_METHOD_VALUE_POST), and METRIC_{name} for metrics. Exported names from previous versions are deprecated.
    • Import @opentelemetry/semantic-conventions for stable semantic conventions. Import @opentelemetry/semantic-conventions/incubating for all semantic conventions, stable and unstable.
    • Note: Semantic conventions are now versioned separately from other stable artifacts, to correspond to the version of semantic conventions they provide. Changes will be in a separate changelog.

🐛 (Bug Fix)

  • fix(sdk-node): avoid spurious diag errors for unknown OTEL_NODE_RESOURCE_DETECTORS values #4879 @trentm
  • deps(opentelemetry-instrumentation): Bump shimmer types to 1.2.0 #4865 @lforst
  • fix(instrumentation): Fix optional property types #4833 @alecmev
  • fix(sdk-metrics): fix(sdk-metrics): use inclusive upper bounds in histogram #4829

🏠 (Internal)

  • refactor: Simplify the code for the getEnv function #4799 @danstarns
  • refactor: remove "export *" in favor of explicit named exports #4880 @robbkidd
    • Packages updated:
      • opentelemetry-context-zone
      • opentelemetry-core
      • opentelemetry-exporter-jaeger
      • opentelemetry-exporter-zipkin
      • opentelemetry-propagator-b3
      • opentelemetry-propagator-jaeger
      • opentelemetry-sdk-trace-base
      • opentelemetry-sdk-trace-node
      • opentelemetry-sdk-trace-web
      • propagator-aws-xray
      • sdk-metrics
  • deps(sdk-metrics): remove unused lodash.merge dependency #4905 @pichlermarc