Releases: open-telemetry/opentelemetry-js
Releases · open-telemetry/opentelemetry-js
v1.29.0
experimental/v0.56.0
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 exportsvalidateAndNormalizeHeaders
was intended for internal use and has been dropped from exportsOTLPExporterBase
all properties are now private, the constructor now takes anIOTLPExportDelegate
, 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
orLogRecordExporter
, based on their respective type.
- This type is scheduled for removal in a future version of this package, please treat all exporters as
- 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 ofResourceMetrics[]
- (user-facing):
ProtobufMetricsSerializer
now only acceptsResourceMetrics
instead ofResourceMetrics[]
to align withPushMetricExporter
requirements - (user-facing):
JsonMetricsSerializer
now only acceptsResourceMetrics
instead ofResourceMetrics[]
to align withPushMetricExporter
requirements
- (user-facing):
🚀 (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)
- chore(otlp-exporter-*-grpc): clean up tests #5196 @pichlermarc
- chore(otlp-exporter-*-http): clean up tests #5196 @pichlermarc
- chore(otlp-exporter-*-proto): clean up tests #5196 @pichlermarc
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