Skip to content

v7.0.0

Compare
Choose a tag to compare
@release-please release-please released this 10 Aug 17:37
2d9bc04

7.0.0 (2022-08-10)

⚠ BREAKING CHANGES

  • update library to use Node 12 (#1442)
  • drop support for node.js 8.x (#1239)
  • When initialized with clsMechanism: 'none', calling Tracer#createChildSpan will potentially result in a warning, as these spans are considered to be uncorrelated. To ensure that warnings do not occur, disable any plugins that patch modules that create outgoing RPCs (gRPC, HTTP client and database calls). (Use of the custom span API Tracer#createChildSpan is not recommended in this configuration -- use RootSpan#createChildSpan instead.)
  • This change modifies/removes APIs that assume a particular format for trace context headers; in other words, any place where the user would deal with a stringified trace context, they would now deal with a TraceContext object instead. This affects three APIs: getResponseTraceContext (input/output has changed from string to TraceContext), createRootSpan (input RootSpanOptions now accepts a TraceContext instead of a string in the traceContext field), and Span#getTraceContext (output has changed from string to TraceContext).
  • contextHeaderBehavior and ignoreContextHeader now act independently of one another. The former controls how a sampling decision is made based on incoming context header, and the latter controls whether trace context is propagated to the current request.
  • upgrade engines field to >=8.10.0 (#1011)
  • TraceAgent has been renamed to Tracer. In plugins, Patch has been renamed Monkeypatch, and Patch is now Monkeypatch|Intercept (this is a rename of Instrumentation). There are no user-visible JS changes.
  • The change in distributed trace context propagation across gRPC is not backwards-compatible. In other words, distributed tracing will not work between two Node instances communicating using gRPC with v2 and v3 of the Trace Agent, respectively.
  • This commit drops support for Node 4 and 9.

Features

  • add config.disableUntracedModulesWarn (#1070) (f688e33)
  • add contextHeaderBehavior option (#900) (199cb42)
  • add getProjectId and getCurrentRootSpan (#782) (f7ae770)
  • add ignoreMethods option (#920) (67ddb8f)
  • add options to set the cls mechanism to async-hooks or async-listener (#741) (f34aac5)
  • add rootSpan.createChildSpan and change none CLS semantics (#731) (d0009ff)
  • add rootSpanNameOverride option (#826) (a03e7b2)
  • add singular cls option (#748) (000643f)
  • allow "disabling" cls, and relax requirements for creating root spans (#728) (5d000e9)
  • allow timestamps to be passed to endSpan (#747) (319642a)
  • allow users to specify a trace policy impl (#1027) (b37aa3d)
  • downgrade soft/hard span limit logs to warn level (#1269) (3f55458)
  • emit an error log on potential memory leak scenario (#870) (0072e5f)
  • expand version range for pg to 7.x (#701) (c8c5bfc)
  • hapi 17 tracing support (#710) (028032f)
  • implement (de)serialization of binary trace context (#812) (f96c827)
  • move ts target to es2018 from es2016 (#1280) (b33df71)
  • rename TraceAgent/TraceApi to Tracer (#815) (dde86d3)
  • support @hapi/hapi (#1108) (d545e93)
  • support child spans with tail latencies (#913) (d1de959)
  • support context propagation in bluebird (#872) (29bb15c)
  • support knex 0.16 (#940) (0b404a1)
  • support mongodb-core@3 (#760) (d227b6d)
  • support restify 8 (#1250) (f52fa4d)
  • support restify@7 (#917) (4b74f5a)
  • support tracing for untranspiled async/await in Node 8+ (#775) (30d0529)
  • support user-specified context header propagation (#1029) (28ecb16)
  • use small HTTP dependency (#858) (210dc3f)
  • use source-map-support wrapCallSite to apply source maps to call stacks (#1015) (c558455)
  • use well-known format for propagating trace context thru grpc (#814) (63b13ca)

Bug Fixes

  • add build/src/cls in output files (#736) (49a900a)
  • add log level to logger prefix (#875) (c19850d)
  • add support for pg 7 changes (#702) (f070636)
  • adjust async_hooks cls behavior (#734) (79ab435)
  • allow non-objects for plugins to disable automatic tracing (#720) (068260c)
  • allow sampling rate to be less than 1 (#896) (5220f9b)
  • always assign a trace ID to each request (#1033) (6b427ab)
  • apache license URL (#468) (#1232) (ac7e886)
  • avoid memory leaks due to undisposed promise resources (#885) (8454389)
  • build: migrate to using main branch (#1373) (f065f97)
  • class-ify cls implementations (#708) (132db9b)
  • copy credentials in internal config (#1052) (8930df3)
  • delete cache as it is not working anyways (#864) (13f617a)
  • deps: TypeScript 3.7.0 causes breaking change in typings (#1163) (6448c94)
  • deps: update dependency @google-cloud/common to ^0.23.0 (#834) (ee350a2)
  • deps: update dependency @google-cloud/common to ^0.26.0 (#892) (8c6a614)
  • deps: update dependency @google-cloud/common to ^0.27.0 (#925) (10bb78b)
  • deps: update dependency @google-cloud/common to ^0.28.0 (#941) (96863e7)
  • deps: update dependency @google-cloud/common to ^0.29.0 (#947) (bc98aa3)
  • deps: update dependency @google-cloud/common to ^0.30.0 (#961) (2335934)
  • deps: update dependency @google-cloud/common to ^0.31.0 (#963) (7b84349)
  • deps: update dependency @google-cloud/common to ^0.32.0 (#993) (670ac64)
  • deps: update dependency @google-cloud/common to v1 (#1023) (244633e)
  • deps: update dependency @google-cloud/common to v2 (#1038) (23a990a)
  • deps: update dependency @google-cloud/common to v3 (#1225) (3609201)
  • deps: update dependency @google-cloud/common to v4 (#1448) (6f33c17)
  • deps: update dependency @google-cloud/datastore to v2 (#893) (a0a741d)
  • deps: update dependency @google-cloud/datastore to v3 (#951) (a821462)
  • deps: update dependency @google-cloud/datastore to v4 (#1028) (c63bb14)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.13 (#1030) (4c79b4f)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.14 (#1045) (08a1dd6)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.16 (#1079) (e48dc54)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.17 (#1112) (5636738)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.18 (#1140) (8d39dd2)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.19 (#1158) (76b2162)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.20 (#1199) (4752aec)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.21 (#1227) (4cd9088)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.0.22 (#1277) (82725a2)
  • deps: update dependency @opencensus/propagation-stackdriver to v0.1.0 (#1368) (29a0fba)
  • deps: update dependency builtin-modules to v3 (#810) (1fbbbf9)
  • deps: update dependency gcp-metadata to ^0.7.0 (#807) (94b8e3b)
  • deps: update dependency gcp-metadata to ^0.9.0 (#897) (b56926a)
  • deps: update dependency gcp-metadata to v1 (#975) (ea9cb4b)
  • deps: update dependency gcp-metadata to v2 (#1022) (9d3b9e5)
  • deps: update dependency gcp-metadata to v3 (#1115) (94c6dae)
  • deps: update dependency gcp-metadata to v4 (#1219) (caf67be)
  • deps: update dependency gcp-metadata to v5 (#1446) (2f264d0)
  • deps: update dependency google-auth-library to v7 (#1335) (4fc7c7c)
  • deps: update dependency google-auto-auth to ^0.10.0 (#808) (93b7235)
  • deps: update dependency got to v10 (#1162) (432404d)
  • deps: update dependency got to v11 (#1248) (03ff0f4)
  • deps: update dependency got to v8 (#811) (fd138fc)
  • deps: update dependency hard-rejection to v2 (#985) (5900847)
  • deps: update dependency require-in-the-middle to v4 (#984) (8abf8c8)
  • deps: update dependency require-in-the-middle to v5 (#1099) (1d49cb6)
  • deps: update dependency semver to v6 (fae65bd)
  • deps: update dependency semver to v7 (#1168) (b5811b5)
  • deps: update dependency uuid to v7 (#1200) (129aead)
  • deps: update dependency uuid to v8 (#1255) (ad02efb)
  • deps: use the latest extend (#1096) (abc4b4e)
  • docs: add jsdoc-region-tag plugin (#1151) (ee19cb9)
  • docs: remove reference doc anchor (#1109) (801e495)
  • docs: standardize README and add repo metadata (#1095) (c24faa3)
  • don't let trace context injection throw (#989) (50421a5)
  • enable tracing on original client method names (#874) (497c760)
  • end child spans correctly in pg (#930) (1a20b7c)
  • fix https tracing breakage in node <9 and rewrite http tests (#717) (a3ea16d)
  • fix log messages and ignore falsey env vars (#724) (d0337fa)
  • fix tracing not working in mongoose 3.3+ (#1134) (fe7e925)
  • fixup for node 8.11.2 (#755) (807d4ad)
  • force http and https clients to be patched (#1084) (3ac0b90)
  • handle Node 10 style http requests (#1233) (511b21c)
  • handle pg 7.16.0+ undefined Result#fields (#1179) (21dbb0d)
  • improve logs from the trace writer (#800) (4ac6ded)
  • include more type definitions (#841) (eb98fa1)
  • inject context http headers early if expect header exists (#766) (bc877a5)
  • make no option flags behave the same as o=1 (#910) (67379f8)
  • output 'noPluginName' in trace-api log messages where pluginName is undefined (#958) (6793b09)
  • package: update @google-cloud/common to version 0.20.3 (#796) (fa8f4a4), closes #773
  • Prevent filtered traces from biasing the sample rate (#1018) (1832473)
  • restore context when a function run with a given context throws (#727) (edb8135)
  • sample app TypeError (#1257) (1ac424e)
  • support tracing awaited mongoose queries (#1007) (deb2a44)
  • swap log levels for two log points (#882) (e73af2b)
  • tests: Hex value assertion was used on decimal string (#1271) (5def451)
  • treat instanceId metadata as a number (#713) (1434d5d)
  • typeo in nodejs .gitattribute (#1290) (24deca8)
  • unpin @types/node and account for new http.request signatures (#1120) (bd9863b)
  • update @google-cloud/common dependency to 0.25.3 (#871) (23a0616)
  • Update README partials to mention how to use import (#1400) (da8741b)
  • update teeny-request dep (#928) (1d7c4dc)
  • update to @google-cloud/common@0.19 (#772) (3f3f667)
  • use req.ip in express and koa plugin (#944) (126bc75)
  • warn if tracing might not work instead of err (#1068) (8bdd946)
  • wrap gRPC server async handlers (#954) (8b8bd94)

Performance Improvements

Miscellaneous Chores

Build System