-
Notifications
You must be signed in to change notification settings - Fork 852
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: prepare release 2.0.0/0.200.0 #5521
base: main
Are you sure you want to change the base?
chore: prepare release 2.0.0/0.200.0 #5521
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5521 +/- ##
=======================================
Coverage 94.95% 94.95%
=======================================
Files 308 308
Lines 7927 7927
Branches 1604 1604
=======================================
Hits 7527 7527
Misses 400 400 🚀 New features to boost your workflow:
|
@pichlermarc I put this in the ESM related thread, but it might be worth considering not including NodeJS 18, it is out of support on 2025-04-30 (only about 6 weeks away). Then you can drop CommonJS entirely in the release (see https://antfu.me/posts/move-on-to-esm-only). Being able to |
@JakeGinnivan, thanks for reaching out. We're releasing on Monday and the release candidate is already published. That means that we'll not make any major changes to the 2.0 release anymore. There will be more major releases in the future, though - 2.0 is just the first step towards a more regular major release cadence. |
068f4e5
to
acfed92
Compare
rebased onto main - now ready for review. 🙂 |
(lint step is failing due to a server error contacting https://slack.cncf.io - I'll re run the workflow once it's back up) |
Note
Scheduled for Mar 17, 2025
2.0.0
Summary
^18.19.0 || >=20.6.0
. This means that support for Node.js 14 and 16 has been dropped.0.200.0
are compatible with this release💥 Breaking Change
parentSpanContext
and removeparentSpanId
fromSpan
andReadableSpan
#5450 @JacksonWeberSpan
sparentSpanId
was replaced byparentSpanContext
, to migrate to the new property, please replacespan.parentSpanId
->span.parentSpanContext?.spanId
type
field onMetricDescriptor
#5291 @chancancodeInstrumentDescriptor
type; useMetricDescriptor
instead #5277 @chancancode@opentelemetry/api
peer dependency to 1.9.0 #5254 @chancancodeSpanAttributes
withAttributes
#5009 @david-lunaResourceAttributes
withAttributes
#5016 @david-lunaView
andAggregation
in favor ofViewOptions
andAggregationOption
#4931 @pichlermarcnew Span
constructor in favor ofTracer.startSpan
API #5048 @david-lunaBasicTracerProvider.addSpanProcessor
API in favor of constructor options. #5134 @david-lunaresource
property private inBasicTracerProvider
and removegetActiveSpanProcessor
API. #5192 @david-lunaIMetricReader
interface and use it over abstract class #5311MeterProviderOptions
now provides the more generalIMetricReader
type overMetricReader
MetricReader
in your public interface, consider accepting the more generalIMetricReader
instead to avoid unintentional breaking changesBasicTracerProvider
, the class offered multiple methods to facilitate the creation of exporters and auto-pairing withSpanProcessor
s.SpanProcessor
s to the base class constructor when extending_registeredExporters
has been removed_getSpanExporter
has been removed_buildExporterFromEnv
has been removedIdGenerator
andRandomIdGenerator
#5309 @pichlermarcInstrumentationLibrary
#5308 @pichlermarcInstrumentationScope
insteadInstrumentationLibrary
withInstrumentationScope
#5308 @pichlermarcTracer.instrumentationLibrary
->Tracer.instrumentationScope
ReadableSpan.instrumentationLibrary
->ReadableSpan.instrumentationScope
ReadableSpan
ReadableSpan.instrumentationScope
overReadableSpan.instrumentationLibrary
#5308 @pichlermarcReadableSpan.instrumentationScope
overReadableSpan.instrumentationLibrary
#5308 @pichlermarc5.0.4
#5145 @david-lunatypescript@<5.0.4
typescript
in minor releases. We will only drop support for versions that are older than 2 years.AlwaysOnSampler
has moved to@opentelemetry/sdk-trace-base
AlwaysOffSampler
has moved to@opentelemetry/sdk-trace-base
ParentBasedSampler
has moved to@opentelemetry/sdk-trace-base
TraceIdRatioSampler
has moved to@opentelemetry/sdk-trace-base
attributes
objectDetectedResource
plain objects instead ofnew Resource()
BasicTracerProvider#register()
.OTEL_PROPAGATORS
orwindow.OTEL_PROPAGATORS
anymore, please pass the propagator toNodeTracerProvider#register()
instead.BasicTracerProvider#register()
will now fall back to defaults (tracecontext
andbaggage
)NodeTracerProvider#register()
.OTEL_PROPAGATORS
anymore, please pass the propagator toNodeTracerProvider#register()
instead.NodeTracerProvider#register()
will now fall back to the defaults (tracecontext
andbaggage
)NodeSDK
from@opentelemetry/sdk-node
.WebTracerProvider#register()
.window.OTEL_PROPAGATORS
anymore, please pass the propagator toWebTracerProvider#register()
instead.WebTracerProvider#register()
will now fall back to defaults (tracecontext
andbaggage
)EXPORTER_FACTORY
is not used anymore and has been removedPROPAGATOR_FACTORY
is not used anymore and has been removedForceFlushState
was intended for internal use and has been removedTracer
class was unintentionally exported and has been removedTracer
, please useBasicTracerProvider#getTracer()
,NodeTracerProvider#getTracer()
orWebTracerProvider#getTracer()
Tracer
, please use theTracer
type from@opentelemetry/api
^18.19.0 || >=20.6.0
. Support for Node.js 14, 16, and early minor versions of 18 and 20 have been dropped. This applies to all packages except the 'api' and 'semantic-conventions' packages. #5395 @trentm@opentelemetry/resource
in favor of@opentelemetry/opentelemetry-browser-detector
#5420VERSION
was an internal constant that was unintentionally exported. It has been removed without replacement.isWrapped
has been removed in favor ofisWrapped
from@opentelemetry/instrumentation
ShimWrapped
has been removed in favor ofShimWrapped
from@opentelemetry/instrumentation
hexToBase64
was a utility function that is not used by the SDK anymore. It has been removed without replacement.hexToBinary
was a utility function that now internal to@opentelemetry/otlp-tranformer
. It has been removed without replacement.baggageUtils.getKeyParis
was an internal utility function that was unintentionally exported. It has been removed without replacement.baggageUtils.serializeKeyPairs
was an internal utility function that was unintentionally exported. It has been removed without replacement.baggageUtils.parseKeyPairsIntoRecord,
has been removed in favor ofparseKeyPairsIntoRecord
baggageUtils.parsePairKeyValue
was an internal utility function that was unintentionally exported. It has been removed without replacement.TimeOriginLegacy
has been removed without replacement.isAttributeKey
was an internal utility function that was unintentionally exported. It has been removed without replacement.window.OTEL_*
is now not supported anymore, please pass configuration options to constructors instead.window.OTEL_*
is now not supported anymore, please pass configuration options to constructors instead.Resource
class toResourceImpl
and makes it package-privateIResource
interface toResource
resourceFromAttributes
to create aResource
from aDetectedAttributes
objectdefaultResource
to create a default resource #5467 @pichlermarcemptyResource
to create an empty resource #5467 @pichlermarcwindow.OTEL_*
is now not supported anymoreenvDetector
in browser environments, please migrate to manually creating a resource.ParentBasedAlwaysOnSampler
overAlwaysOnSampler
when bogus data is supplied toOTEL_TRACES_SAMPLER
getEnv()
,getEnvWithoutDefaults()
#5481 @pichlermarcgetEnv()
has been replaced bygetStringFromEnv()
,getNumberFromEnv()
,getBooleanFromEnv()
,getStringListFromEnv()
getStringFromEnv("OTEL_FOO") ?? "my-default"
)getEnvWithoutDefaults()
has been replaced bygetStringFromEnv()
,getNumberFromEnv()
,getBooleanFromEnv()
,getStringListFromEnv()
DEFAULT_ENVIRONMENT
has been removed, please inline any defaults from now onENVIRONMENT
has been removed without replacementRAW_ENVIRONMENT
has been removed without replacementparseEnvironment
has been removed without replacementBasicTracerProvider#register()
to improve tree-shaking #5503 @pichlermarcBasicTracerProvider#register()
has been removedpropagation.setGlobalPropagator()
from@opentelemetry/api
context.setGlobalContextManager()
from@opentelemetry/api
@opentelemetry/api
,@opentelemetry/api-logs
,@opentelemetry/api-events
, and@opentelemetry/semantic-conventions
#5456 @david-lunaDEFAULT_ATTRIBUTE_VALUE_LENTGHT_LIMIT
has been removed, please useInfinity
insteadDEFAULT_ATTRIBUTE_VALUE_COUNT_LIMIT
has been removed, please use128
insteadDEFAULT_SPAN_ATTRIBUTE_PER_EVENT_COUNT_LIMIT
has been removed, please use128
insteadDEFAULT_SPAN_ATTRIBUTE_PER_LINK_COUNT_LIMIT
has been removed, please use128
instead🚀 (Enhancement)
WebTracerProvider
constructor now does not throw anymore whencontextManager
orpropagator
are passed as extra options to the constructordiagLogLevelFromString
utility #5475 @pichlermarc🐛 (Bug Fix)
url.parse
fromnode:url
#5390 @chancancodePeriodicExportingMetricReader
when there are no metrics to export. #5288 @JacksonWeber🏠 (Internal)
InstrumentDescriptor
type now extendsMetricDescriptor
; moved publicInstrumentType
type enum into./src/export/MetricData.ts
#5277Gauge
andMetricAdvice
workaround types in favor of the upstream@opentelemetry/api
types #5254 @chancancodeBasicTracerProvider._registeredSpanProcessors
private property. #5134 @david-lunaBasicTracerProvider.activeSpanProcessor
private property. #5211 @david-lunamodule
compiler option tonode16
. #5347 @david-lunasemver
package with internal semantic versioning check implementation to get rid ofsemver
package initialization overhead especially in the AWS Lambda environment during coldstart #5305 @serkan-ozal@opentelemetry/semantic-conventions
dep to allow better de-duplication in installs #5439 @trentm0.200.0
Summary
^18.19.0 || >=20.6.0
. This means that support for Node.js 14 and 16 has been dropped.2.0.0
are compatible with this release💥 Breaking Change
type
field to enforce naming conventions #5291 @chancancode_total
suffix.type
to OpenTelemetry metrics #5291 @chancancodeapplyCustomAttributes
hook #5281 @chancancodefetch()
response in order to preserve the ability for theapplyCustomAttributes
hook to consume the response body. This is fundamentally unsound, as it forces the browser to buffer and retain the response body until it is fully received and read, which crates unnecessary memory pressure on large or long-running response streams. In extreme cases, this is effectively a memory leak and can cause the browser tab to crash. If your use case forapplyCustomAttributes
requires access to the response body, please chime in on #5293.^18.19.0 || >=20.6.0
. Support for Node.js 14, 16, and early minor versions of 18 and 20 have been dropped. This applies to all packages except the 'api' and 'semantic-conventions' packages. #5395 @trentmIMetricReader
overMetricReader
#5311NodeSDKConfiguration
now provides the more generalIMetricReader
type overMetricReader
window.OTEL_*
is now not supported anymore, please pass configuration options to constructors instead.window.OTEL_*
is now not supported anymore, please pass configuration options to constructors instead.🚀 (Enhancement)
requestHook
option #5380withResourceConstantLabels
option toExporterConfig
. It can be used to define a regex pattern to choose which resource attributes will be used as static labels on the metrics. The default is to not set any static labels.🐛 (Bug Fix)
🏠 (Internal)
@opentelemetry/semantic-conventions
dep to allow better de-duplication in installs #5439 @trentm