Skip to content

Releases: DataDog/dd-trace-js

0.13.0

08 Jul 20:12
d5549fe
Compare
Choose a tag to compare

Deprecation Notice

This release will be the last minor release with support for Node 4 and Node 6. It will still be maintained for bug fixes as a separate branch until April 30th, 2020 to give you time to update, but no new feature will be added.

Going forward, our release policy for Node version support is 1 year after a version has reached end-of-life, and only for bug fixes.

Bug Fixes

core: fix jest tests breaking because of unsupported require syntax (#601)
graphql: fix missing TS type for passing variables as an array to graphql (#610), fixes #608
mongodb-core: fix mongodb-core plugin swallowing missing callback errors (#615)

Features

core: add support for distributed client sampling (#607)
core: add experimental support for B3 propagation (#607)
connect: add support for connect (#605)
fastify: add support for fastify (#614), closes #287
tedious: add tedious integration (#599)

Improvements

core: reduce memory footprint of spans when in a scope and the trace is finished (#609)

0.13.0-beta.3

05 Jul 14:37
a9c8b8c
Compare
Choose a tag to compare
0.13.0-beta.3 Pre-release
Pre-release
v0.13.0-beta.3

v0.13.0-beta.3

0.13.0-beta.2

27 Jun 20:20
39ba826
Compare
Choose a tag to compare
0.13.0-beta.2 Pre-release
Pre-release
v0.13.0-beta.2

v0.13.0-beta.2

0.13.0-beta.1

26 Jun 19:51
31862ee
Compare
Choose a tag to compare
0.13.0-beta.1 Pre-release
Pre-release
v0.13.0-beta.1

v0.13.0-beta.1

0.12.1

20 Jun 19:41
27b2d9c
Compare
Choose a tag to compare

Bug Fixes

  • core: fix http client holding onto async resources in some cases (#595)
  • core: fix auto instrumentation of loaded modules without an entrypoint defined (#587), thanks @BrunoBerisso!
  • mysql: fix wrong parent span for pooled queries (#584), thanks @fragglebob!
  • npm: fix --build-from-source flag not working (#594), thanks @eaviles!
  • npm: fix socket hanging when trying to download prebuilt addons behind a proxy (#592)

0.12.0

10 Jun 19:08
8274544
Compare
Choose a tag to compare

Bug Fixes

core: fix memory leak caused by a bug in older Node versions with HTTP keep-alive (#581)
dns: fix dns plugin not working in Node 4 (#575)

Features

core: add option to report the hostname from the tracer (#562)
koa: add support for koa-route (#561)
paperplane: add paperplane integration (#582), thanks @flintinatux!
promise: add context propagation support for promise (#570)
promise-js: add context propagation support for promise-js (#572)

Improvements

core: update analytics config with a simpler API that also fixes plugin config (#573)
core: add an alternative scope manager in pure JS for older versions of Node (#579)

Breaking Changes

The Trace Analytics client configuration per span name was removed since it was confusing and led to issues with our integrations. We are planning to bring the feature back in the future but with an easier to use API.

0.11.2

17 May 19:47
4bd29ea
Compare
Choose a tag to compare

Bug Fixes

  • core: fix bound emitters not storing listeners correctly (#564), thanks @marcghorayeb!
  • elasticsearch: fix support for new elasticsearch version as a new module (#568)
  • knex: fix context propagation when using knex (#563)
  • net: fix event listeners in net plugin (#566)

0.11.1

08 May 19:58
453abd1
Compare
Choose a tag to compare

Bug Fixes

  • core: fix runtime metrics native addons in Node 12 (#554)
  • core: fix client sampling not reducing the tracer overhead (#550)
  • core: fix sampling priority being locked too early (#544)
  • express: fix incompatibility with express-async-errors (#555)

Improvements

  • core: update supported engines to be less strict (#552)
  • typescript: add typings for constants in /ext (#545), thanks @Oblosys!

0.11.0

15 Apr 22:17
9909736
Compare
Choose a tag to compare

This release includes the beta of Node Runtime Metrics. Currently it has to be enabled by contacting the support team. Please see the documentation for more details.

Features

  • core: add support for forced tracing (#530)
  • core: add support to split object tags as a tag for each property (#498)
  • core: add node runtime metrics as a beta feature (#482)
  • core: add support for unix sockets for agent requests (#479), thanks @lennyburdette!
  • http: add request hook for http client request spans (#529), closes #524

Improvements

  • core: update writer to buffer by payload size instead of by trace count (#499)
  • core: update span.addTags() to accept error objects (#486)

Breaking Changes

HTTP request hooks

The http integration now supports request hooks for both servers and clients. If an existing hook is configured on the shared configuration, it will now apply to both servers and clients.

Depending on your use case, select one of the options below.

Single hook for servers and clients
tracer.use('http', {
  hooks: {
    request: (span, req, res) => {
      // modify the span
    }
  }
})
Different hooks for servers and clients
tracer.use('http', {
  server: {
    hooks: {
      request: (span, req, res) => {
        // modify the span
      }
    }
  },
  client: {
    hooks: {
      request: (span, req, res) => {
        // modify the span
      }
    }
  }
})

span.addTags() now splits objects in multiple tags

Before this release, objects would simply be serialized as a string. In most cases this would result in [object Object] which is undesirable. Using JSON.stringify() would have been an improvement, but would end up adding a tag that is difficult to reason about and use for search & analytics. Instead, objects passed to span.addTags() will now be separated into a individual tags for each property, up to 3 levels of depth.

Before
const obj = {
  foo: 'bar',
  baz: 'qux'
}

span.addTags('test', obj)

// test: [object Object]
After
const obj = {
  foo: 'bar',
  baz: 'qux'
}

span.addTags('test', obj)

// test.foo: bar
// test.baz: qux

0.10.4

10 Apr 17:54
8c4a22a
Compare
Choose a tag to compare

Bug Fixes

  • core: fix trace analytics env var inconsistent with other tracers (#528)
  • core: fix log injection causing side effects on the provided object (#527), fixes #523
  • cassandra-driver: fix client.batch() promise support in cassandra-driver plugin (#525), fixes #520
  • pg: fix error in pg plugin when using pg without pg-native (#526), fixes #522
  • plugins: fix query string being included in the http.url tag (#531)
  • typescript: add docs folder to npmignore except typescript definitions (#532), fixes #513