OpenTelemetry انتشار JavaScript SDK 3.0 و API 1.10.0 را اعلام کرد. نسخهٔ packageهای پایدار از 3.0.0 و نسخهٔ packageهای آزمایشی از 0.300.0 آغاز میشود. این نسل، packageهای @opentelemetry/* در repository با نام opentelemetry-js را بهجز API و semantic-conventions در بر میگیرد. همهٔ packageهای repository با نام opentelemetry-js-contrib نیز به SDK 3.x ارتقا یافته و منتشر شدهاند.
مهمترین الزام برای ارتقا، حداقل نسخهٔ Node.js است که اکنون به 22.15.0 رسیده؛ بنابراین Node.js 18 و 20 دیگر پشتیبانی نمیشوند. همهٔ packageها حالا export مناسب برای ES Module و CommonJS دارند. طبق اعلام پروژه، این تغییر باید استفاده برای کاربران ESM و bundler را آسانتر کند.
با تثبیت Logs، هر سه signal اصلی OpenTelemetry در JavaScript، یعنی Traces، metrics و Logs، اکنون پایدار هستند. package با نام @opentelemetry/api-logs در @opentelemetry/api ادغام شده است. همچنین چند package مربوط به Tracing SDK در @opentelemetry/sdk-trace یکپارچه شدهاند تا برخی APIهای گیجکننده حذف شوند و ساختار با SDKهای signalهای دیگر هماهنگ باشد.
پشتیبانی از complex attribute نیز به بخشهایی از API، از جمله attributeهای span و log record، اضافه شده است. این پشتیبانی سراسری نیست: attributeهای resource و metrics همچنان فقط مقدارهای ساده را میپذیرند.
این انتشار تغییرات ناسازگار هم دارد. چند type عمومی و نام class تغییر کرده یا جابهجا شدهاند و تعدادی package منسوخ، از جمله @opentelemetry/propagator-jaeger، @opentelemetry/exporter-jaeger، @opentelemetry/shim-opentracing و @opentelemetry/shim-opencensus حذف شدهاند. بااینحال، package اصلی API یعنی @opentelemetry/api تغییر ناسازگار ندارد. کاربرانی هم که @opentelemetry/auto-instrumentations-node را مطابق روش zero-code instrumentation به کار میبرند، نیازی به تغییر ندارند.
نسخههای 2.x از packageهای پایدار SDK تا یک سال پس از انتشار 3.0.0 پشتیبانی میشوند. تیم پروژه از زمان SDK 2.0 در مارس ۲۰۲۵، انتشار تقریباً سالانهٔ یک نسخهٔ major را هدف گرفته است تا با نسخههای جدید Node.js و تغییرات ابزارهای JavaScript همگام بماند. برای مهاجرت به 3.x و 0.300.x، راهنمای مهاجرت جزئیات تغییرات ناسازگار و فهرست کامل packageهای حذفشده را توضیح میدهد.






