Skip to content

Latest commit

Β 

History

History
429 lines (308 loc) Β· 31.3 KB

CHANGELOG.md

File metadata and controls

429 lines (308 loc) Β· 31.3 KB

CHANGELOG

All notable changes to experimental packages in this project will be documented in this file.

Unreleased

πŸ’₯ Breaking Change

πŸš€ (Enhancement)

  • feat(otlp-transformer): support log records. #3712 @llc1123
  • feat(otlp-grpc-exporter-base): support log records. #3712 @llc1123
  • feat(exporter-logs-otlp-grpc): otlp-grpc exporter for logs. #3712 @llc1123

πŸ› (Bug Fix)

  • fix(instrumentation): update require-in-the-middle to v7.0.1 #3743 @trentm

πŸ“š (Refine Doc)

🏠 (Internal)

0.38.0

πŸ’₯ Breaking Change

  • fix: remove HTTP/HTTPS prefix from span name in instrumentation-xml-http-request #3672 @jufab
  • fix(sdk-node)!: remove unused defaultAttributes option #3724 @pichlermarc
    • Please use NodeSDKConfiguration.resource instead

πŸš€ (Enhancement)

  • feat(sdk-logs): use logs API 0.38

πŸ› (Bug Fix)

  • fix(sdk-node): only set DiagConsoleLogger when OTEL_LOG_LEVEL is set #3693 @pichlermarc

0.37.0

πŸ’₯ Breaking Change

  • fix: remove HTTP/HTTPS prefix from span name in instrumentation-xml-http-request #3672 @jufab

πŸš€ (Enhancement)

  • feat(api-logs): 1.LogRecord fields update: traceFlags/traceId/spanId -> context; 2.Logger supports configuring includeTraceContext; 3.The onEmit method of LogRecordProcessor supports the context field. #3549 @fuaiyi
  • feat(sdk-logs): logs sdk implementation. #3549 @fuaiyi

0.36.0

πŸ’₯ Breaking Change

  • feat: remove HTTP/HTTPS prefix from span name #3603 @Flarna

πŸš€ (Enhancement)

  • feat: use HTTP_ROUTE in span name #3603 @Flarna
  • feat: add HTTP_ROUTE attribute to http incoming metrics if present #3581 @hermogenes
  • feat(opentelemetry-instrumentation-grpc): allow to add attributes from grpc metadata in the patched server #3589 @zombispormedio
  • feat(sdk-node): install diag logger with OTEL_LOG_LEVEL #3627 @legendecas
  • feat(otlp-exporter-base): add retries #3207 @svetlanabrennan
  • feat(sdk-node): override IdGenerator when using NodeSDK #3645 @haddasbronfman
  • feat(otlp-transformer): expose dropped attributes, events and links counts on the transformed otlp span #3576 @mohitk05

πŸ› (Bug Fix)

  • fix(prometheus-exporter): add possibility to respond to errors returned by server.listen() #3552 @pichlermarc
  • fix(sdk-node): update instrumentations once MeterProvider is initialized #3624 @pichlermarc

0.35.1

πŸ› (Bug Fix)

  • fix: remove JSON syntax error and regenerate tsconfig files #3566 @Flarna
    • Fixes an error where the generated JS files were not included in the esnext package due to a failure of the tsconfig generation
  • fix(sdk-node): register instrumentations early #3502 @flarna
  • fix: include tracestate in export #3569 @flarna
  • fix(http) Remove outgoing headers normalization #3557 @marcinjahn

0.35.0

πŸš€ (Enhancement)

  • feat(instrumentation-http): monitor error events with events.errorMonitor #3402 @legendecas
  • feat(instrumentation-grpc): added grpc metadata client side attributes in instrumentation #3386
  • feat(instrumentation): add new _setMeterInstruments protected method that update the meter instruments every meter provider update.
  • feat(api-logs): add the SeverityNumber enumeration. #3443 @fuaiyi
  • feat(sdk-node): configure no-op sdk with OTEL_SDK_DISABLED environment variable #3485 @RazGvili

πŸ› (Bug Fix)

  • fix(instrumentation-xhr): http.url attribute should be absolute #3200 @t2t2
  • fix(instrumentation-grpc): always set grpc semcov status code attribute with numeric value #3076 @blumamir
  • fix(instrumentation): only call onRequire for full matches on core modules with sub-paths #3451 @mhassan1
  • fix(instrumentation): add back support for absolute paths via require-in-the-middle #3457 @mhassan1
  • fix(prometheus-sanitization): replace repeated _ with a single _ 3470 @samimusallam
  • fix(prometheus-serializer): correct string used for NaN #3477 @JacksonWeber
  • fix(instrumentation-http): close server span when response finishes #3407 @legendecas
  • fix(instrumentation-fetch): make spans resilient to clock drift by using Date.now #3434 @dyladan
  • fix(instrumentation-xml-http-request): make spans resilient to clock drift by using Date.now #3434 @dyladan
  • fix(sdk-node): fix exporter to be read only OTEL_TRACES_EXPORTER is set to a valid exporter [3492] @svetlanabrennan

🏠 (Internal)

  • chore(otlp-proto-exporter-base): upgrade protobufjs to 7.1.2 and relax versioning #3433 @seemk

0.34.0

  • @opentelemetry/sdk-metrics moved to packages/sdk-metrics
  • @opentelemetry/api-metrics deprecated and merged into api

πŸš€ (Enhancement)

  • feat(metrics-sdk): Add tracing suppresing for Metrics Export #3332 @hectorhdzg
  • feat(instrumentation): implement require-in-the-middle singleton #3161 @mhassan1
  • feat(sdk-node): configure trace exporter with environment variables #3143 @svetlanabrennan
  • feat: enable tree shaking #3329 @pkanal
  • feat(prometheus): serialize resource as target_info gauge #3300 @pichlermarc
  • feat(detectors): add browser detector module #3292 @abinet18
  • deps: remove unused proto-loader dependencies and update grpc-js and proto-loader versions #3337 @seemk
  • feat(metrics-exporters): configure temporality via environment variable #3305 @pichlermarc
  • feat(console-metric-exporter): add temporality configuration #3387 @pichlermarc

πŸ› (Bug Fix)

  • fix(node-sdk): move @opentelemetry/semantic-conventions to dependencies #3283 @mhassan1
  • fix(exporters): do not append trailing '/' when URL contains path #3274 @pichlermarc
  • fix(instrumentation): debug log on no modules defined for instrumentation #3308 @legendecas

πŸ“š (Refine Doc)

  • docs(metrics-exporters): fix wrong exporter const name in example #3270 @pichlermarc

🏠 (Internal)

  • ci(instrumentation-http): remove got devDependency #3347 @dyladan
  • deps(instrumentation-http): move sdk-metrics to dev dependencies #3380 @pichlermarc

0.33.0

πŸ’₯ Breaking Change

  • Add resourceDetectors option to NodeSDK #3210

    • NodeSDK.detectResources() function is no longer able to receive config as a parameter. Instead, the detectors are passed to the constructor.
  • chore(metrics-sdk): clean up exports #3197 @pichlermarc

    • removes export for:
      • AccumulationRecord
      • Aggregator
      • AggregatorKind
      • Accumulation
      • createInstrumentDescriptor
      • createInstrumentDescriptorWithView
      • isDescriptorCompatibleWith
  • chore(api-metrics): clean up exports #3198 @pichlermarc

    • removes export for:
      • NOOP_COUNTER_METRIC
      • NOOP_HISTOGRAM_METRIC
      • NOOP_METER_PROVIDER
      • NOOP_OBSERVABLE_COUNTER_METRIC
      • NOOP_OBSERVABLE_GAUGE_METRIC
      • NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC
      • NOOP_UP_DOWN_COUNTER_METRIC
      • NoopCounterMetric
      • NoopHistogramMetric
      • NoopMeter
      • NoopMeterProvider
      • NoopMetric
      • NoopObservableCounterMetric
      • NoopObservableGaugeMetric
      • NoopObservableMetric
      • NoopObservableUpDownCounterMetric
      • NoopUpDownCounterMetric
  • feat(sdk-metrics): align MetricReader with specification and other language implementations #3225 @pichlermarc

  • chore(sdk-metrics): remove accidental export of the SDK Meter class #3243 @pichlermarc

πŸš€ (Enhancement)

  • Add resourceDetectors option to NodeSDK #3210
  • feat: add Logs API @mkuba #3117

πŸ“š (Refine Doc)

  • docs(sdk-metrics): fix typos and add missing parameter docs. #3244 @pichlermarc

🏠 (Internal)

  • ci(instrumentation-http): improve metrics test stability #3242 @pichlermarc
  • deps: remove unused protobufjs and update used ones to 7.1.1 #3251 #3251 @pichlermarc

0.32.0

πŸ’₯ Breaking Change

  • Rename @opentelemetry/sdk-metrics-base package to @opentelemetry/sdk-metrics #3162 @hectorhdzg

πŸš€ (Enhancement)

  • feature(instrumentation-http): Add HTTP Server and Client duration Metrics in HTTP Node.js Instrumentation #3149 @hectorhdzg
  • fix(add-views-to-node-sdk): added the ability to define meter views in NodeSDK #3066 @weyert
  • feature(add-console-metrics-exporter): add ConsoleMetricExporter #3120 @weyert
  • feature(prometheus-serialiser): export the unit block when unit is set in metric descriptor #3066 @weyert
  • feat: support latest @opentelemetry/api #3177 @dyladan
  • feat(sdk-metrics-base): add per metric-reader aggregation support #3153 @legendecas
  • chore(deps): update prometheus example dependencies to 0.32 #3126 @avzis
  • feature(opentelemetry-api-metrics): Adding generics to create{metricType} #3151 @tomerghelber-tm

πŸ› (Bug Fix)

  • fix(instrumentation-http): add http.host attribute before sending the request #3054 @cuichenli

0.31.0

πŸ’₯ Breaking Change

  • feature(views): move views registration to MeterProvider constructor #3066 @pichlermarc
  • feat(sdk-metrics-base): split up Singular into Sum and Gauge in MetricData #3079 @pichlermarc
    • removes DataPointType.SINGULAR, and replaces it with DataPointType.SUM and DataPointType.GAUGE
    • removes SingularMetricData and replaces it with SumMetricData (including an additional isMonotonic flag) and GaugeMetricData
  • feat(histogram): align collection of optional Histogram properties with spec #3102 @pichlermarc
    • changes type of sum property on Histogram to number | undefined
    • changes type of min and max properties on Histogram to number | undefined
    • removes hasMinMax flag on the exported Histogram - this is now indicated by min and max being undefined

πŸš€ (Enhancement)

  • feat(metrics-api): use common attributes definitions #3038 @legendecas
  • feat(otlp-proto): pre-compile proto files #3098 @legendecas
  • feat(opentelemetry-sdk-metrics-base): added InMemoryMetricExporter #3039 @weyert

πŸ› (Bug Fix)

  • fix(histogram): fix maximum when only values < -1 are provided #3086 @pichlermarc
  • fix(instrumentation-grpc): always set grpc semcov status code attribute with numeric value #3076 @blumamir

πŸ“š (Refine Doc)

🏠 (Internal)

0.30.0

πŸ’₯ Breaking Change

  • fix: remove aws and gcp detector from SDK #3024 @flarna
  • feat(sdk-metrics-base): implement min/max recording for Histograms #3032 @pichlermarc

πŸš€ (Enhancement)

  • feat(opentelemetry-instrumentation-fetch): optionally ignore network events #3028 @gregolsen
  • feat(http-instrumentation): record exceptions in http instrumentation #3008 @luismiramirez
  • feat(node-sdk): add serviceName config option #2867 @naseemkullah
  • feat(opentelemetry-exporter-prometheus): export PrometheusSerializer #3034 @matschaffer
  • feat(sdk-metrics-base): detect resets on async metrics #2990 @legendecas
    • Added monotonicity support in SumAggregator.
    • Added reset and gaps detection for async metric instruments.
    • Fixed the start time and end time of an exported metric with regarding to resets and gaps.

πŸ› (Bug Fix)

  • fix(otlp-transformer): remove type dependency on Long #3022 @legendecas
  • fix(grpc-exporter): use non-normalized URL to determine channel security #3019 @pichlermarc
  • fix(otlp-exporter-base): fix gzip output stream in http otlp export #3046 @mattolson
  • docs(grpc-exporters): remove 'web' as supported from README.md #3070 @pichlermarc

🏠 (Internal)

  • test: add node 18 and remove EoL node versions #3048 @dyladan

0.29.2

  • Support for 1.3.1 of stable packages

0.29.1

πŸ› (Bug Fix)

  • fix(sdk-metrics-base): only record non-negative histogram values #3002 @pichlermarc
  • fix(otlp-transformer): include missing prepublishOnly script which ensures esm and esnext build files are created and packaged @dyladan

0.29.0

πŸ’₯ Breaking Change

  • feat(metrics): metric readers and exporters now select aggregation temporality based on instrument type #2902 @seemk
  • refactor(metrics-sdk): rename InstrumentationLibrary -> InstrumentationScope #2959 @pichlermarc
  • feat(metrics): multi-instrument async callback support #2966 @legendecas
    • changes on meter.createObservableCounter, meter.createObservableGauge, meter.createObservableUpDownCounter
      • removed the second parameter callback
      • returns an Observable object on which callbacks can be registered or unregistered.
    • added meter.addBatchObservableCallback and meter.removeBatchObservableCallback.
  • fix: remove attributes from OTLPExporterConfigBase #2991 @flarna

πŸš€ (Enhancement)

  • feat(exporters): update proto version and use otlp-transformer #2929 @pichlermarc
  • fix(sdk-metrics-base): misbehaving aggregation temporality selector tolerance #2958 @legendecas
  • feat(trace-otlp-grpc): configure security with env vars #2827 @svetlanabrennan
  • feat(sdk-metrics-base): async instruments callback timeout #2742 @legendecas

πŸ› (Bug Fix)

  • fix(opentelemetry-instrumentation-http): use correct origin when port is null #2948 @danielgblanco
  • fix(otlp-exporter-base): include esm and esnext in package files #2952 @dyladan
  • fix(otlp-http-exporter): update endpoint to match spec #2895 @svetlanabrennan
  • fix(instrumentation): only patch core modules if enabled #2993 @santigimeno
  • fix(otlp-transformer): include esm and esnext in package files and update README #2992 @pichlermarc
  • fix(metrics): specification compliant default metric unit #2983 @andyfleming
  • fix(opentelemetry-instrumentation): use all provided patches for the same file #2963 @Ugzuzg

πŸ“š (Refine Doc)

🏠 (Internal)

0.28.0

πŸ’₯ Breaking Change

  • feat(sdk-metrics-base): update metric exporter interfaces #2707 @srikanthccv
  • feat(api-metrics): remove observable types #2687 @legendecas
  • fix(otlp-http-exporter): remove content length header #2879 @svetlanabrennan
  • feat(experimental-packages): Update packages to latest SDK Version. #2871 @pichlermarc
    • removed the -wip suffix from api-metrics and metrics-sdk-base.
    • updated dependencies to stable packages to 1.1.1 for all "experimental" packages.
    • updated Metrics Exporters to the latest Metrics SDK (exporter-metrics-otlp-grpc, exporter-metrics-otlp-http, exporter-metrics-otlp-proto)
    • updated opentelemetry-sdk-node to the latest Metrics SDK.
    • updated otlp-transformer to the latest Metrics SDK.
    • updated all instrumentation-* packages to use local implementations of parseUrl() due to #2884
  • refactor(otlp-exporters) move base classes and associated types into their own packages #2893 @pichlermarc
    • otlp-exporter-base => OTLPExporterBase, OTLPExporterBrowserBase, OTLPExporterNodeBase
    • otlp-grpc-exporter-base => OTLPGRPCExporterNodeBase
    • otlp-proto-exporter-base => OTLPProtoExporterNodeBase

πŸš€ (Enhancement)

  • feat: spec compliant metric creation and sync instruments #2588 @dyladan
  • feat(api-metrics): async instruments spec compliance #2569 @legendecas
  • feat(sdk-metrics-base): add ValueType support for sync instruments #2776 @legendecas
  • feat(sdk-metrics-base): implement async instruments support #2686 @legendecas
  • feat(sdk-metrics-base): meter registration #2666 @legendecas
  • feat(sdk-metrics-base): bootstrap metrics exemplars #2641 @srikanthccv
  • feat(metrics-sdk): bootstrap aggregation support #2634 @legendecas
  • feat(metrics-sdk): bootstrap views api #2625 @legendecas
  • feat(sdk-metrics): bootstrap metric streams #2636 @legendecas
  • feat(views): add FilteringAttributesProcessor #2733 @pichlermarc
  • feat(metric-reader): add metric-reader #2681 @pichlermarc
  • feat(sdk-metrics-base): document and export basic APIs #2725 @legendecas
  • feat(views): Update addView() to disallow named views that select more than one instrument. #2820 @pichlermarc
  • feat(sdk-metrics-base): update exporting names #2829 @legendecas
  • Add grpc compression to trace-otlp-grpc exporter #2813 @svetlanabrennan
  • refactor: unifying shutdown once with BindOnceFuture #2695 @legendecas
  • feat(prometheus): update prometheus exporter with wip metrics sdk #2824 @legendecas
  • feat(instrumentation-xhr): add applyCustomAttributesOnSpan hook #2134 @mhennoch
  • feat(proto): add @opentelemetry/otlp-transformer package with hand-rolled transformation #2746 @dyladan
  • feat(sdk-metrics-base): shutdown and forceflush on MeterProvider #2890 @legendecas
  • feat(sdk-metrics-base): return the same meter for identical input to getMeter #2901 @legendecas
  • feat(otlp-exporter): add OTEL_EXPORTER_OTLP_TIMEOUT env var to otlp exporters #2738 @svetlanabrennan
  • feat(sdk-metrics-base): hoist async instrument callback invocations #2822 @legendecas

πŸ› (Bug Fix)

  • fix(sdk-metrics-base): remove aggregator.toMetricData dependency on AggregationTemporality #2676 @legendecas
  • fix(sdk-metrics-base): coerce histogram boundaries to be implicit Infinity #2859 @legendecas
  • fix(instrumentation-http): HTTP 400 status code should not set span status to error on servers #2789 @nordfjord

πŸ“š (Refine Doc)

  • Update metrics example #2658 @svetlanabrennan
  • docs(api-metrics): add notes on ObservableResult.observe #2712 @legendecas

🏠 (Internal)

  • chore: move trace exporters back to experimental #2835 @dyladan
  • refactor(sdk-metrics-base): meter shared states #2821 @legendecas

v0.27.0

πŸ’₯ Breaking Change

  • #2566 feat!(metrics): remove batch observer (@dyladan)
  • #2485 feat!: Split metric and trace exporters into new experimental packages (@willarmiros)
  • #2540 fix(sdk-metrics-base): remove metric kind BATCH_OBSERVER (@legendecas)
  • #2496 feat(api-metrics): rename metric instruments to match feature-freeze API specification (@legendecas)

πŸš€ (Enhancement)

  • #2523 feat: Rename Labels to Attributes (@pirgeo)
  • #2559 feat(api-metrics): remove bind/unbind and bound instruments (@legendecas)
  • #2563 feat(sdk-metrics-base): remove per-meter config on MeterProvider.getMeter (@legendecas)

πŸ› (Bug Fix)

  • #2610 fix: preventing double enable for instrumentation that has been already enabled (@obecny)
  • #2581 feat: lazy initialization of the gzip stream (@fungiboletus)
  • #2584 fix: fixing compatibility versions for detectors (@obecny)
  • #2558 fix(@opentelemetry/exporter-prometheus): unref prometheus server to prevent process running indefinitely (@mothershipper)
  • #2495 fix(sdk-metrics-base): metrics name should be in the max length of 63 (@legendecas)
  • #2497 feat(@opentelemetry-instrumentation-fetch): support reading response body from the hook applyCustomAttributesOnSpan (@echoontheway)

πŸ“š (Refine Doc)

🏠 (Internal)

Previous releases

For changelog entries for previous releases see the CHANGELOG.md.