Releases: open-telemetry/opentelemetry-js
Releases · open-telemetry/opentelemetry-js
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:
semconv/v1.26.0
@opentelemetry/[email protected]
Note: This package will now be versioned according to the version of semantic conventions being provided.
🚀 (Enhancement)
- 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.
- Exported names have changed to
v1.25.1
1.25.1
📚 (Refine Doc)
- refactor(examples): added usage of @opentelemetry/semantic-conventions and @opentelemetry/resources to the examples in examples/opentelemetry-web for maintaining consistency across all examples. #4764 @Zen-cronic
🏠 (Internal)
- refactor(context-zone-peer-dep): use explicit exports #4785 @pichlermarc
- refactor(context-async-hooks): use explicit exports #4785 @pichlermarc
experimental/v0.52.1
0.52.1
🚀 (Enhancement)
- refactor(instrumentation-fetch): move fetch to use SEMATRR #4632
- refactor(otlp-transformer): use explicit exports #4785 @pichlermarc
🐛 (Bug Fix)
- fix(sdk-node): register context manager if no tracer options are provided #4781 @pichlermarc
- fix(instrumentation): Update
import-in-the-middle
to fix numerous bugs #4806 @timfish - chore(instrumentation): Use a caret version for
import-in-the-middle
dependency #4810 @timfish
🏠 (Internal)
- test: add
npm run maint:regenerate-test-certs
maintenance script and regenerate recently expired test certs #4777
v1.25.0
1.25.0
🚀 (Enhancement)
- feat: support node 22 #4666 @dyladan
- feat(context-zone*): support zone.js 0.12.x #4376 @maldago
- refactor(core): Use tree-shakeable string constants for semconv #4739 @JohannesHuster
- refactor(shim-opentracing): Use tree-shakeable string constants for semconv #4746 @JohannesHuster
- refactor(sdk-trace-web): Use tree-shakeable string constants for semconv #4747 @JohannesHuster
- refactor(sdk-trace-node): Use tree-shakeable string constants for semconv #4748 @JohannesHuster
- refactor(sdk-trace-base): Use tree-shakeable string constants for semconv #4749 @JohannesHuster
- refactor(resources): update deprecated semconv to use exported strings #4755 @JamieDanielson
- refactor(exporters): update deprecated semconv to use exported strings #4756 @JamieDanielson
📚 (Refine Doc)
- refactor(examples): use new exported string constants for semconv in examples/esm-http-ts #4758 @Zen-cronic
- refactor(examples): use new exported string constants for semconv in examples/basic-tracer-node #4759 @Zen-cronic
- refactor(examples): use new exported string constants for semconv in examples/http #4750 @Zen-cronic
- refactor(examples): use new exported string constants for semconv in examples/grpc-js #4760 @Zen-cronic
- refactor(examples): use new exported string constants for semconv in examples/otlp-exporter-node #4762 @Zen-cronic
- refactor(examples): use new exported string constants for semconv in examples/opentracing-shim #4761 @Zen-cronic
experimental/v0.52.0
0.52.0
💥 Breaking Change
- feat(exporter--otlp-)!: move serialization for Node.js exporters to
@opentelemetry/otlp-transformer
#4542 @pichlermarc- Breaking changes:
- (user-facing)
convert()
now returns an empty object and will be removed in a follow-up - (internal) OTLPExporterNodeBase now has additional constructor parameters that are required
- (internal) OTLPExporterNodeBase now has an additional
ResponseType
type parameter
- (user-facing)
- Breaking changes:
- feat(exporter--otlp-)!: move serialization for Node.js exporters to
@opentelemetry/otlp-transformer
#4581 @pichlermarc- Breaking changes:
- (user-facing)
convert()
has been removed from all exporters - (internal) OTLPExporterBrowserBase:
RequestType
has been replaced by aResponseType
type-argument - (internal) OTLPExporterNodeBase:
ServiceRequest
has been replaced by aServiceResponse
type-argument - (internal) the
@opentelemetry/otlp-exporter-proto-base
package has been removed, and will from now on be deprecated innpm
- (user-facing)
- Breaking changes:
- feat(instrumentation): remove default value for config in base instrumentation constructor #4695: @blumamir
- fix(instrumentation)!: remove unused supportedVersions from Instrumentation interface #4694 @blumamir
- feat(instrumentation)!: simplify
registerInstrumentations()
API- Breaking changes:
- removes
InstrumentationOptions
type - occurrences of
InstrumentationOptions
are now replaced by(Instrumentation | Instrumentation[])[]
- migrate usages of
registerInstrumentations({instrumentations: fooInstrumentation})
toregisterInstrumentations({instrumentations: [fooInstrumentation]})
- passing Instrumentation classes to
registerInstrumentations()
is now not possible anymore.
- migrate usages of
- removes
- Breaking changes:
- feat(sdk-node)!: simplify type of
instrumentations
option- Breaking changes:
- replaces
InstrumentationOptions
with(Instrumentation | Instrumentation[])[]
- replaces
- Breaking changes:
🚀 (Enhancement)
- feat(instrumentation): apply unwrap before wrap in base class #4692
- feat(instrumentation): add util to execute span customization hook in base class #4663 @blumamir
- feat(instrumentation): generic config type in instrumentation base #4659 @blumamir
- feat: support node 22 #4666 @dyladan
- feat(propagator-aws-xray-lambda): add AWS Xray Lambda propagator 4554
- refactor(instrumentation-xml-http-request): use exported strings for semantic attributes. #4681
🐛 (Bug Fix)
- fix(instrumentation): Update
import-in-the-middle
to fix numerous bugs #4745 @timfish
📚 (Refine Doc)
api/v1.9.0
1.9.0
🚀 (Enhancement)
- feat(metrics): added synchronous gauge #4528 @clintonb
- feat(api): allow adding span links after span creation #4536 @seemk
- This change is non-breaking for end-users, but breaking for Trace SDK implmentations in accordance with the specification as new features need to be implemented.
- feat: support node 22 #4666 @dyladan