Releases: open-telemetry/opentelemetry-js
Releases · open-telemetry/opentelemetry-js
semconv/v1.28.0
v1.28.0
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
- default:
-
feat(sdk-trace-base): add
spanProcessors
property inTracerConfig
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
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
- (user-facing) the following exports were intended for internal use only and have been removed without replacement
🚀 (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
- default:
- 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. Usingof
instead ofin
#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
0.54.2
🐛 (Bug Fix)
- fix(instrumentation): Fix wrapping ESM files with absolute path #5094 @serkan-ozal
experimental/v0.54.1
v1.27.0
1.27.0
🚀 (Enhancement)
- feat: add processors for adding session.id attribute to spans and logs #4972
🐛 (Bug Fix)
- fix(sdk-trace-base): avoid keeping non-string
status.message
onSpan#setStatus()
#4999 @pichlermarc - fix(sdk-metrics): Add missing catch and handle error in promise of
PeriodicExportingMetricReader
#5006 @jj22ee - fix(opentelemetry-core): confusing log extract of composite propagator #5017 @rv2673
- fix(propagator-aws-xray-*): move propagators back to contrib repository #4966 @pichlermarc
- The specification prohibits hosting these packages in the core repository
@opentelemetry/propagator-aws-xray
is now located in open-telemetry/opentelemetry-js-contrib@opentelemetry/propagator-aws-xray-lambda
is now located in open-telemetry/opentelemetry-js-contrib
🏠 (Internal)
- deps: set
@opentelemetry/api
dependency min version to 1.3.0 inexamples
,experimental/packages
,integration-tests
andselenium-tests
#4992 - refactor(sdk-metrics): replace
MetricsAttributes
withAttributes
#5021 @david-luna - refactor(instrumentation-http): replace
SpanAttributes
andMetricsAttributes
withAttributes
#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
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 fromPartial<Record<string, unknown>>
toRecord<string, string>
- (user-facing)
- 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
- Drops the following functions and types that were intended for internal use from the package exports:
- feat(instrumentation-http)!: remove long deprecated options #5085 @pichlermarc
ignoreIncomingPaths
has been removed, use the more versatileignoreIncomingRequestHook
instead.ignoreOutgoingUrls
has been removed, use the more versatileignoreOutgoingRequestHook
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
containshttp
orhttp/dup
- Generate spans and metrics backwards compatible with previous attributes when
OTEL_SEMCONV_STABILITY_OPT_IN
containshttp/dup
or DOES NOT containhttp
🐛 (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 varsOTEL_EXPORTER_OTLP_TRACES_COMPRESSION
andOTEL_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
- Fixes:
- 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
, andhttps.request
when used from ESM code and imported via theimport defaultExport from 'http'
style. #5024 @trentm
🏠 (Internal)
-
refactor(exporter-prometheus): replace
MetricAttributes
andMetricAttributeValues
withAttributes
andAttributeValues
#4993 -
refactor(browser-detector): replace
ResourceAttributes
withAttributes
#5004 -
refactor(sdk-logs): replace
ResourceAttributes
withAttributes
#5005 @david-luna
v1.26.0
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
), andMETRIC_{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.
- Exported names have changed to
🐛 (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
- Packages updated:
- deps(sdk-metrics): remove unused lodash.merge dependency #4905 @pichlermarc
semconv/v1.27.0
1.27.0
- Version bump only
- Note: This package will now be versioned according to the version of semantic conventions being provided.
experimental/v0.53.0
0.53.0
💥 Breaking Change
- fix(instrumentation)!:remove unused description property from interface #4847 @blumamir
- feat(exporter--otlp-)!: use transport interface in node.js exporters #4743 @pichlermarc
- (user-facing)
headers
was intended for internal use has been removed from all exporters - (user-facing)
compression
was intended for internal use and has been removed from all exporters - (user-facing)
hostname
was intended for use in tests and is not used by any exporters, it will be removed in a future release
- (user-facing)
- fix(exporter--otlp-)!: ensure
User-Agent
header cannot be overwritten by the user #4743 @pichlermarc- allowing overrides of the
User-Agent
header was not specification compliant.
- allowing overrides of the
- feat(exporter--otlp)!: remove environment-variable specific code from browser exporters
- (user-facing) removes the ability to configure browser exporters by using
process.env
polyfills
- (user-facing) removes the ability to configure browser exporters by using
- feat(sdk-node)!: Automatically configure logs exporter #4740
- feat(exporter--otlp-)!: use transport interface in browser exporters #4895 @pichlermarc
- (user-facing) protected
headers
property was intended for internal use has been removed from all exporters
- (user-facing) protected
🚀 (Enhancement)
- feat(otlp-transformer): Do not limit @opentelemetry/api upper range peerDependency #4816 @mydea
- feat(instrumentation-http): Allow to opt-out of instrumenting incoming/outgoing requests #4643 @mydea
- feat(sampler-jaeger-remote): added support of jaeger-remote-sampler according to this spec #4534 @legalimpurity
🐛 (Bug Fix)
- fix(instrumentation): ensure .setConfig() results in config.enabled defaulting to true #4941 @trentm
- fix(instrumentation-http): Ensure instrumentation of
http.get
andhttps.get
work when used in ESM code #4857 @trentm - fix(api-logs): align AnyValue to spec #4893 @blumamir
- fix(instrumentation): remove diag.debug() message for instrumentations that do not patch modules #4925 @trentm
🏠 (Internal)
- refactor: Simplify the code for the
getEnv
function #4799 @danstarns - refactor: remove "export *" in favor of explicit named exports #4880 @robbkidd
- Packages updated:
- api-events
- api-logs
- opentelemetry-browser-detector
- opentelemetry-exporter-prometheus
- opentelemetry-instrumentation-fetch
- opentelemetry-instrumentation-http
- opentelemetry-instrumentation-xml-http-request
- opentelemetry-instrumentation
- Packages updated: