Notes
- Added application logging for Winston in the Node.js agent - Ability to forward logs, send log metrics, and perform local log decoration 
- Added application log aggregator to collect logs with adaptive sampling and appropriate max samples stored. 
- Added - application_loggingconfiguration and env vars with appropriate defaults.
- Added - application_logging.enabledconfiguration value, defaulting to true.
- Set - application_logging.forwarding.enabledto false when High-security mode (HSM) is set.
- Enabled log forwarding by default in the example config. 
- Added sent, seen, and dropped metrics that collected on every harvest cycle around log lines. 
- Added supportability metrics for some popular logging frameworks. 
- Added supportability metrics to record if the logging features are enabled. 
- Added a storage mechanism to transactions to keep logs until transaction ends. 
 
- Removed distributed tracing setting from example config.
- Fixed a typo in - lib/instrumentation/core/child_process.js.- Thanks to Eito Katagiri (@eitoball) for the contribution. 
- Support automatic instrumentation of Redis v4.
- Bumped moment from v2.29.1 to v2.29.2.
- Bumped tapto v16.x.
- Updated ansi-regexto resolve a dev dependency audit warning.
Notes
- Added instrumentation for - mysql2/promise.- This previously only existed in our standalone @newrelic/mysql, but now gives feature partiy between the two.
 
- This previously only existed in our standalone 
- Removed unused native CPU metric sampler. This logic was no longer getting touched when running Node.js versions higher than 6.1.0. 
- Fixed promise interceptor from re-throwing errors. 
- Added transaction naming documentation ported from a discussion forum post. 
- Added - promises.tap.jsto mysql2 versioned tests.
- Updated @newrelic/test-utilities to latest. 
- Removed unused test file in restify versioned tests. 
- Added - --strictflag to versioned test runner to properly fail CI runs when test files are not included.
Notes
- Fixed - shim.wrapReturnto call- Reflect.constructin construct Proxy trap. Also including- newTargetto work with inherited classes.
- Added link to New Relic Node.js Examples repository. 
- Excluded installing dependencies in - versioned-externalfolders when running integration tests.
Notes
- Added support for - initializeUnorderedBulkOp, and- initializeOrderedBulkOpin mongodb v3 instrumentation.- Thanks to Denis Lantsman (@dlants) for the contribution. 
- Updated logger to delay logging until configuration is parsed. The logger will now queue all log entries that occur before the agent can parse the configuration. - Thanks to Cody Landry (@codylandry) for the contribution. 
- Added - NEW_RELIC_ALLOW_ALL_HEADERSas a boolean environment variable, same behavior as existing- allow_all_headers.
- Updated the AWS IMDBS v2 endpoint to use - latestto align with the internal agent specification.
- Bumped - @newrelic/koato ^6.1.1.
- Added Next.js to External Modules list in README. 
- Updated mysql and mysql2 versioned tests to run against their own databases on the MySQL instance. 
- Removed upper-bound testing from restify versioned tests so future major versions will be covered. 
- Removed upper-bound testing from mysql2 versioned tests to cover existing and future major versions. - Continues to skip version 1.6.2 which had a bug that broke tests which was resolved in 1.6.3. 
- Updated @hapi/hapi Node 16 versioned test runs to run against @hapi/hapi >=20.1.2 so future major releases will be ran. 
- Fixed sparse checkout of non-default branch for external versioned tests. 
- Added external versioned tests for the Apollo Server plugin instrumentation. 
- Added nock delay to test timeouts in utilization integration tests. 
- Added newrelic-node-nextjs to external versioned tests to be run on every PR. 
- Updated external version test running to support more test scenarios. - Adds test/versioned-externalto lint ignore to avoid issues for scripts in tests that auto run linting tools (next/react).
- Adds index.jsandnr-hooks.jsto files automatically checked-out for test runs.
 
- Adds 
Notes
- Updated AWS metadata capture to utilize IMDSv2. 
- Fixed link to discuss.newrelic.com in README 
- Updated minimum Node version warning to output current Node version from process. 
- Bumped - @newrelic/native-metricsto ^7.1.1.
- Added - Nextjsto a framework constant within the webframework-shim.
- Updated shim to pass active segment to inContext callback. 
- Bumped - @grpc/grpc-jsto ^1.5.5.
- Bumped - @grpc/proto-loaderto ^0.6.9.
- Bumped - @newrelic/superagentto ^5.1.0.
- Bumped - @newrelic/koato ^6.1.0.
- Bumped - asyncto ^3.2.3.
- Resolved several npm audit warnings for dev deps. 
- Fixed Post Release workflow by properly configuring git credentials so it can push API docs to branch 
- Added - set -ein publish docs script to exit on possible failures
- Removed redundant - npm ciin publish API docs script
- Added ability to ignore certain PRs in - bin/pending-prs.jsreport to slack
- Updated README to include - @newrelic/pino-enricheras an external module.
- Fixed documentation in a sample of the Datastore Instrumentation for Node.js. 
- Added a new - mongo:5container to- npm run sevicesto test mongodb driver >=4.2.0.
- Fixed conditions in post release workflow to function when triggered via successful release and manual invoked. 
- Updated method for retrieving agent version from repository by using - cat package.json | jq .version
- Fixed minor formatting and spelling issues in - create-docs-pr.js.
- Fixed an issue with the docs PR script that assumed - \nin the NEWS.md file when extract version and release date
Notes
- Bumped @newrelic/aws-sdk to ^4.1.1. 
- Upgraded - @newrelic/test-utilitiesto ^6.3.0.- Includes - helpers.getShimso sub packages properly execute.
- Resolved dependabot and certain npm audit warnings. 
- Automation and CI improvements: - Added a script to be used by agent developers to add a PR to docs-websiteafter the release of agent.
- Changed the trigger for post release jobs.
- Updated the create-release-tagscript to pass in workflows to check before creating tag.- Fixed create-release-tagto properly filter out all async workflow run checks
- Updated agent release to pass in a different list of workflows vs the default
 
- Fixed 
- Fixed release creation reusable workflow by passing in repo to bin/create-release-tag.jsandbin/create-github-release.js.
- Added workflow_dispatchto Agent Post Release workflow for manual testing.
- Added a reusable workflow to create a release tag, publish to NPM and publish a GitHub release.- Updated agent release workflow to reference reusable workflow.
- Added a new workflow to update RPM and publish API docs on a published release event type.
 
 
- Added a script to be used by agent developers to add a PR to 
Notes
- Updated - onResolvedinstrumentation hook to only be called the first time we see a specific module filepath resolved.
- Removed - tracer.segmentin place of direct usage of context manager.
- Fixed an issue where multiple calls to - instrumentLoadedModuleresulted in re-instrumenting the same module.
- Fixed issue where - instrumentLoadedModulewould return- trueeven if the instrumentation handler indicated it did not apply instrumentation.
- Added support metrics for tracking when instrumentation was applied per module. - Supportability/Features/Instrumentation/OnResolved/<module-name>
- Supportability/Features/Instrumentation/OnResolved/<module-name>/Version/<major version>
- Supportability/Features/Instrumentation/OnRequire/<module-name>
- Supportability/Features/Instrumentation/OnRequire/<module-name>/Version/<major version>
 
- Fixed issue where expected status code ranges would not be parsed until ignored status codes were also defined. 
- Added an input - changelog_fileto pass in name of changelog. This defaults to- NEWS.mdbut some repos use- CHANGELOG.md
- Abstracted - bin/prepare-release.jsto work against other repositories.
- Added reusable prepare-release workflow that can be referenced in all other newrelic Node.js repositories. 
- Updated pending PRs workflow to check all repos the team owns. 
- Changed the event type from - pull_requestto- pull_request_targetto allow for auto assign of PRs to the Node.js Engineering Board
- Fixed add to board workflow to properly pass repository secrets into reusable board workflow. 
- Changes token used to post issues to org level project board 
- Runs versioned tests for external modules against tests defined in the external repository instead of tests published in npm modules. 
- Added a reusable workflow to automatically add issues to the Node.js Engineering Board when created. 
- Added CI job to update system configurations with new agent version on release. 
- Moved - methods.jsunder bluebird versioned test folder.
Notes
- Added onResolved instrumentation hook to apply instrumentation prior to module load. - This hook fires after the module filepath has been resolved just prior to the module being loaded by the CommonJS module loader. 
- Fixed issue where recordConsume was not binding consumer if it was a promise 
- Pinned mongo versioned tests up to 4.2.0 until we can address #982 
- Introduced a context management API to be used in place of manually calling tracer.segment get/set. 
Notes
- Fixed issue where unhandled promise rejections were not getting logged as errors in a lambda execution
Notes
- Fixed bug where failure to retrieve CPU/Memory details for certain Linux distros could result in a crash. - parseProcCPUInfoand- parseProcMeminfonow check for- nullinput prior to processing.
- Updated README to favor using - -rto load the agent vs- require('newrelic').
- Updated - @newrelic/test-utilitiesto 6.1.1 and applied a global sampling value of 10 for versioned tests.
- Migrated utilization unit tests from mocha to tap. 
- Migrated logger unit tests from mocha to tap. 
- Cleaned up or added future removal comments for several deprecation warnings. 
- Added a script and corresponding CI job that will check for PRs that have been merged and not release and notify the team in a private slack channel. 
- Updated the versioned test runner to always run against minor versions. 
- Fixed a high severity npm audit failure.