Improvements
Added official parity support for Node 14
Dropped Node v8.x support. For further information on our support policy, see: https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compa....
- Removed Node v8.x from CI
- Adds check that minimum Node version is >=10 and warns if >=15
- Sets Node engine to >=10
- BREAKING Dropped support for Node v8.x HTTP get() function signature
- Strictly uses global.URL class in http core instrumentation
- Removes Nodejs 8.x - 9.x checks
- Update New Relic Dependencies to versions with updated Node version support
- @newrelic/aws-sdk v3.0.0
- @newrelic/koa v5.0.0
- @newrelic/native-metrics v6.0.0
- @newrelic/superagent v4.0.0
- @newrelic/test-utilities v5.0.0
BREAKING Removed deprecated setIgnoreTransaction API method
BREAKING Removed deprecated httpResponseCode, response.status and httpResponseMessage http response attributes
BREAKING Removed the api.custom_parameters_enabled configuration item and associated environment variable NEW_RELIC_API_CUSTOM_PARAMETERS. Please use api.custom_attributes_enabled instead
BREAKING Removed deprecated Distributed Tracing API methods, createDistributedTracePayload() and acceptDistributedTracePayload()
Finalized removal of ignored_params and capture_params
Added additional logging to W3C Trace Context header creation
Importante
We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.
Fixes
- Fixed issue where gRPC connection used for infinite tracing could throw if the server shutdown during disconnect of an existing connection.
- Fixed bug where errors would still be collected for transactions with ignored error status codes in certain situations.
Improvements
Added Node 14 to CI test coverage.
Many thanks to @jgeurts for the contribution.
Bumped @grpc/grpc-js to 1.1.7.
Bumped @grpc/proto-loader to ^0.5.5.
Updated README for consistency.
Converted errors ignore unit tests to tap API.
Infinite tracing logging and support metric improvements.
- Increased logging level of certain infinite tracing / gRPC errors.
- Decreased logging interval of dropped span warning for infinite tracing.
- Added additional support metrics and logging for infinite tracing.
Fixes
Removed lodash as a development dependency
Check for named pipe existence before each flush
This removes the cached value used in 6.13.1
Improvements
Update shim documentation
Thank you to @ronen-e for the contribution!
Fixes
Fixed named-pipe check for lambda invocations to avoid race-condition.
Named-pipe existence will now be checked just prior to first write and then cached.
Improvements
- Updated README with community-plus header.
- Updated README config copy example.
- Added Open Source Policy workflow.
- Removed repository CoC in favor of centralized CoC at org root.
New Features
- Added ability for the agent to write to a named pipe, instead of stdout, when in serverless mode.
Fixes
Security fix: Resolves an issue where transaction traces will still capture the request URI when the Node.js agent is configured to exclude the 'request.uri' attribute. This can be problematic for certain customers in environments where sensitive information is included in the URI. See security bulletin NR20-02.
The request URI will now be excluded from transaction traces if the 'request.uri' attribute has been set to be excluded at either the top-level 'attributes.exclude' configuration or at the 'transaction_tracer.attributes.exclude' configuration.
Improvements
- Updated guidelines and templates for contributing to the project.
- Updated
SECURITY.md
with coordinated disclosure program link. - Upgrade
async
tov3.2.0
. Special thanks to Yohan Siguret (@Crow-EH) for the contribution. - Bumped
@newrelic/native-metrics
to^5.3.0
. - Bumped
@newrelic/aws-sdk
to^2.0.0
. - Bumped
node-test-utilities
to^4.0.0
. - Bumped
@newrelic/superagent
to^3.0.0
. - Bumps
@newrelic/koa
to^4.0.0
.
Fixes
- Fixes obfuscation of SQL queries with large data inserts. Special thanks to Tomáš Hanáček (@tomashanacek) for tracking down the issue and providing the fix.
- On failed instrumentation, prevent multiple requires from re-wrapping shims. Special thanks to Ryan Copley (@RyanCopley) for the contribution.
New Features
- Updated to Apache 2.0 license
- Added CODE_OF_CONDUCT.md file
- Streamlined README.md file
- Updated CONTRIBUTING.md file
- Added additional guidance to bug report template
- Added copyright headers to all source files
Improvements
- Added Distributed Tracing option to config file used for first time customers
- Converted some test files to Node-tap
- Removed "hidden" and unused code injector diagnostic capability
- Upgraded @grpc/grpc-js from 1.0.4 to 1.0.5
New Features
- Additional Transaction Information applied to Span Events
- When Distributed Tracing and/or Infinite Tracing are enabled, the Agent will now incorporate additional information from the Transaction Event on to the currently available Span Event of the transaction.
- The following items are affected:
aws-lambda
related attributeserror.message
error.class
error.expected
http.statusCode
http.statusText
message.*
parent.type
parent.app
parent.account
parent.transportType
parent.transportDuration
- Request Parameters
request.parameters.*
request.header.*
request.method
request.uri
- The following items are affected:
- Custom Attributes
- Custom transaction attributes added via
API.addCustomAttribute
orAPI.addCustomAttributes
will now be propagated to the currently active span, if available.
- Custom transaction attributes added via
- Security Recommendation:
- Review your Transaction Event attributes configuration. Any attribute include or exclude setting specific to Transaction Events should be applied to your Span Attributes configuration or global attributes configuration. Please see Node.js agent attributes for more on how to configure.
- When Distributed Tracing and/or Infinite Tracing are enabled, the Agent will now incorporate additional information from the Transaction Event on to the currently available Span Event of the transaction.
Improvements
- Upgraded @grpc/grpc-js from 1.0.3 to 1.0.4
- Modified redis callback-less versioned test to use
commandQueueLength
as indicator redis command has completed and test can continue. This is in effort to further reduce these test flickers. Additionally, added wait for client 'ready' before moving on to tests. - Updated force secret test runs to run on branch pushes to the main repository.
New Features
Added AWS API Gateway V2 support to Lambda instrumentation.
Added 'transaction.name' intrinsic to active span at time transaction name is finalized.
This enables finding transaction name for traces that may not have a matching transaction event.
Added 'error.expected' attribute to span active at time expected error was noticed.
Improvements
Dropped errors earlier during collection when error collection is disabled.
Error attributes will no longer show up on spans when error collection has been disabled. Other unnecessary work will also be avoided.
Removed allocation of logging-only objects used by transaction naming when those log levels are disabled.
Upgraded escodegen from 1.12.0 to 1.14.1.
Upgraded readable-stream from 3.4.0 to 3.6.0.
Upgraded @grpc/proto-loader from 0.5.3 to 0.5.4.
Converted facts unit test to use tap API.
Converted transaction 'finalizeName...' unit tests to use tap API.
Added several items to .npmignore to prevent accidental publishing.
Fixed Redis client w/o callback versioned test flicker.
Doesn't end transaction until error encountered. Increases wait time for first operation which has to complete for the second operation to be successful.