Releases: open-telemetry/opentelemetry-js
Releases · open-telemetry/opentelemetry-js
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
v1.24.1
1.24.1
🐛 (Bug Fix)
- fix(core): align inconsistent behavior of
getEnv()
andgetEnvWithoutDefaults()
when aprocess
polyfill is used #4648 @pichlermarcgetEnvWithoutDefaults()
would useprocess.env
if it was defined when running in a browser, whilegetEnv()
would always use_globalThis
. Now both use_globalThis
when running in a browser.
- fix(resources): prevent circular import (resource -> detector -> resource -> ...) #4653 @pichlermarc
- fixes a circular import warning which would appear in rollup when bundling
@opentelemetry/resources
- fixes a circular import warning which would appear in rollup when bundling
- fix(exporter-metrics-otlp-grpc): add explicit otlp-exporter-base dependency to exporter-metrics-otlp-grpc #4678 @AkselAllas
Experimental v0.51.1
0.51.1
🐛 (Bug Fix)
- fix(instrumentation): update import-in-the-middle to 1.7.4
v1.24.0
1.24.0
🚀 (Enhancement)
- feat(sdk-trace-base): log resource attributes in ConsoleSpanExporter #4605 @pichlermarc
- feat(propagator-aws-xray): moved AWS Xray propagator from contrib 4603 @martinkuba
- feat(resources): new experimental detector ServiceInstanceIdDetectorSync that sets the value for
service.instance.id
as random UUID. #4608 @maryliag
🐛 (Bug Fix)
Experimental v0.51.0
0.51.0
💥 Breaking Change
- feat(sdk-node)!: remove long deprecated methods in favor of constructor options #4606 @pichlermarc
NodeSDK.configureTracerProvider()
, please use constructor options insteadNodeSDK.configureMeterProvider()
, please use constructor options insteadNodeSDK.configureLoggerProvider()
, please use constructor options insteadNodeSDK.addResource()
, please use constructor options insteadNodeSDK.detectResources()
, this is not necessary anymore, resources are now auto-detected onNodeSDK.start()
if the constructor optionautoDetectResources
is unset,undefined
ortrue
.
- feat(instrumentation): add patch and unpatch diag log messages #4641
- Instrumentations should not log patch and unpatch messages to diag channel.
- feat!(instrumentation): remove moduleExports generic type from instrumentation registration #4598 @blumamir
- breaking for instrumentation authors that depend on
InstrumentationBase
InstrumentationNodeModuleDefinition
InstrumentationNodeModuleFile
- breaking for instrumentation authors that depend on
🚀 (Enhancement)
- refactor(instrumentation-grpc): move to use SEMATTRS #4633
- feat(otlp-transformer): consolidate scope/resource creation in transformer #4600
- feat(sdk-logs): print message when attributes are dropped due to attribute count limit #4614 @HyunnoH
- feat(sdk-node): add usage for the detector ServiceInstanceIdDetectorSync. #4626 @maryliag
- The resource detector can be added to default resource detector list by adding the value
serviceinstance
to the list of resource detectors on the environment variableOTEL_NODE_RESOURCE_DETECTORS
, e.gOTEL_NODE_RESOURCE_DETECTORS=env,host,os,serviceinstance
- The value can be overwritten by
- merging a resource containing the
service.instance.id
attribute - using another resource detector which writes
service.instance.id
- merging a resource containing the
- The resource detector can be added to default resource detector list by adding the value
🐛 (Bug Fix)
- fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown #4612 @pichlermarc
- fix(instrumentation): Don't use
require
to loadpackage.json
files #4593 @timfish
v1.23.0
1.23.0
🚀 (Enhancement)
- perf(sdk-trace-base): do not allocate arrays if resource has no pending async attributes #4576 @Samuron
- feat(sdk-metrics): added experimental synchronous gauge to SDK #4565 @clintonb
- this change will become user-facing in an upcoming release
🐛 (Bug Fix)
- fix(sdk-metrics): increase the depth of the output to the console such that objects in the metric are printed fully to the console #4522 @JacksonWeber
Experimental v0.50.0
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
)
- this returned a static enum value that would denote the export type (
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.
- Fixes a bug where requiring the gRPC exporter before enabling the instrumentation from
- 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)
- feat(instrumentation-xhr): optionally ignore network events #4571 @MustafaHaddara
- refactor(instrumentation-http): use exported strings for semconv #4573 @JamieDanielson
- perf(instrumentation-http): remove obvious temp allocations #4576 @Samuron
- feat(sdk-node): add
HostDetector
as default resource detector #4566 @maryliag - feat(api-events): added data field to the Event interface #4575 @martinkuba
🐛 (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.
- Fixes a bug where passing
- 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
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
- fixes a bug where recording
- fix(sdk-metrics): allow single bucket histograms #4456 @pichlermarc
- fixes a bug where
Meter.createHistogram()
with the adviceexplicitBucketBoundaries: []
would throw
- fixes a bug where
- fix(context-zone-peer-dep, context-zone): support zone.js 0.13.x, 0.14.x #4469 @pichlermarc
- fixes a bug where old versions of
zone.js
affected by angular/angular#53507 would be pulled in
- fixes a bug where old versions of
📚 (Refine Doc)
- docs: shorten readme sections #4460 @legendecas
Experimental v0.49.1
0.49.1
🐛 (Bug Fix)
- fix(instrumentation): don't add
@opentelemetry/api-logs
as apeerDependency
#4515 @pichlermarc