Skip to content

Releases: newrelic/node-newrelic

v8.11.1

13 May 19:36
972982d
Compare
Choose a tag to compare
  • Fixed an issue with winston instrumentation that caused agent to crash when creating a winston logger from an existing instantiated logger.

v8.11.0

11 May 23:20
824d496
Compare
Choose a tag to compare

v8.11.0 (2022-05-11)

  • 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_logging configuration and env vars with appropriate defaults.

    • Added application_logging.enabled configuration value, defaulting to true.

    • Set application_logging.forwarding.enabled to 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 mechanisms 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 2.29.1 to 2.29.2.

  • Bumped tap to 16.x.

  • Updated ansi-regex to resolve a dev dependency audit warning.

v8.10.0

19 Apr 14:49
4a8fdb4
Compare
Choose a tag to compare
  • Added instrumentation for mysql2/promise.

    • This previously only existed in our standalone @newrelic/mysql, but now gives feature partiy between the two.
  • Removed unused native CPU metric sampler. This logic was no longer getting touched if running Node.js > 6.1.0.

  • Fixed promise interceptor from re-throwing errors.

  • Added transaction naming documentation ported from a discussion forum post: https://discuss.newrelic.com/t/relic-solution-the-philosophy-of-naming-your-node-agent-transactions/.

  • Added promises.tap.js to mysql2 versioned tests.

  • Updated @newrelic/test-utilities to latest.

  • Removed unused test file in restify versioned tests.

  • Added --strict flag to versioned test runner to properly fail CI runs when test files are not included.

v8.9.1

22 Mar 20:55
6746c25
Compare
Choose a tag to compare
  • Fixed shim.wrapReturn to call Reflect.construct in construct Proxy trap. Also including newTarget to work with inherited classes.

  • Added link to New Relic Node.js Examples repository.

  • Excluded installing dependencies in versioned-external folders when running integration tests.

v8.9.0

15 Mar 19:02
599de4d
Compare
Choose a tag to compare

v8.9.0 (2022-03-15)

  • Added support for initializeUnorderedBulkOp, and initializeOrderedBulkOp in 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_HEADERS as a boolean environment variable, same behavior as existing allow_all_headers.

  • Updated the AWS IMDBS v2 endpoint to use latest to align with the internal agent specification.

  • Bumped @newrelic/koa to ^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-external to lint ignore to avoid issues for scripts in tests that auto run linting tools (next/react).
    • Adds index.js and nr-hooks.js to files automatically checked-out for test runs.

v8.8.0

23 Feb 22:09
d9654e7
Compare
Choose a tag to compare

v8.8.0 (2022-02-23)

  • 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-metrics to ^7.1.1.

  • Added Nextjs to a framework constant within the webframework-shim.

  • Updated shim to pass active segment to inContext callback.

  • Bumped @grpc/grpc-js to ^1.5.5.

  • Bumped @grpc/proto-loader to ^0.6.9.

  • Bumped @newrelic/superagent to ^5.1.0.

  • Bumped @newrelic/koa to ^6.1.0.

  • Bumped async to ^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 -e in publish docs script to exit on possible failures

  • Removed redundant npm ci in publish API docs script

  • Added ability to ignore certain PRs in bin/pending-prs.js report to slack

  • Updated README to include @newrelic/pino-enricher as an external module.

  • Fixed documentation in a sample of the Datastore Instrumentation for Node.js.

  • Added a new mongo:5 container to npm run sevices to 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 \n in the NEWS.md file when extract version and release date

v8.7.1

18 Jan 20:25
b9a01f0
Compare
Choose a tag to compare

v8.7.1 (2022-01-18)

  • Bumped @newrelic/aws-sdk to ^4.1.1.

  • Upgraded @newrelic/test-utilities to ^6.3.0.

    Includes helpers.getShim so 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-website after the release of agent.
    • Changed the trigger for post release jobs.
    • Updated the create-release-tag script to pass in workflows to check before creating tag.
      • Fixed create-release-tag to properly filter out all async workflow run checks
      • Updated agent release to pass in a different list of workflows vs the default
    • Fixed release creation reusable workflow by passing in repo to bin/create-release-tag.js and bin/create-github-release.js.
    • Added workflow_dispatch to 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.

v8.7.0

04 Jan 21:29
97dcebe
Compare
Choose a tag to compare
  • Updated onResolved instrumentation hook to only be called the first time we see a specific module filepath resolved.

  • Removed tracer.segment in place of direct usage of context manager.

  • Fixed an issue where multiple calls to instrumentLoadedModule resulted in re-instrumenting the same module.

  • Fixed issue where instrumentLoadedModule would return true even 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_file to pass in name of changelog. This defaults to NEWS.md but some repos use CHANGELOG.md

  • Abstracted bin/prepare-release.js to 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_request to pull_request_target to 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.js under bluebird versioned test folder.

v8.6.0

17 Nov 20:36
c7097b5
Compare
Choose a tag to compare
  • 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 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.

v8.5.2

09 Nov 21:37
a2564e2
Compare
Choose a tag to compare
  • Fixed issue where unhandled promise rejections were not getting logged as errors in a lambda execution