newrelic 14.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/NEWS.md +125 -74
  2. package/README.md +1 -5
  3. package/THIRD_PARTY_NOTICES.md +544 -241
  4. package/api.js +10 -0
  5. package/lib/collector/remote-method.js +8 -19
  6. package/lib/instrumentations.js +0 -3
  7. package/lib/logger.js +2 -1
  8. package/lib/otel/metrics/index.js +8 -7
  9. package/lib/otel/metrics/nr-exporter.js +44 -0
  10. package/lib/otel/metrics/nr-proxying-delegate.js +42 -0
  11. package/lib/otel/metrics/nr-proxying-serializer.js +64 -0
  12. package/lib/otel/traces/constants.js +7 -0
  13. package/lib/otel/traces/rules.js +62 -16
  14. package/lib/otel/traces/span-processor.js +4 -1
  15. package/lib/otel/traces/transformation-rules/100-OtelHttpServer1_23.json +66 -0
  16. package/lib/otel/traces/transformation-rules/101-OtelHttpServerNextjs1_20.json +45 -0
  17. package/lib/otel/traces/transformation-rules/102-OtelHttpServer1_20.json +54 -0
  18. package/lib/otel/traces/transformation-rules/102-OtelRpcServer1_20.json +44 -0
  19. package/lib/otel/traces/transformation-rules/199-FallbackServer.json +17 -0
  20. package/lib/otel/traces/transformation-rules/200-OtelMessagingConsumer1_30.json +57 -0
  21. package/lib/otel/traces/transformation-rules/201-OtelMessagingConsumer1_24.json +51 -0
  22. package/lib/otel/traces/transformation-rules/202-OtelMessagingConsumer1_17.json +49 -0
  23. package/lib/otel/traces/transformation-rules/299-FallbackConsumer.json +18 -0
  24. package/lib/otel/traces/transformation-rules/300-OtelDbClientRedis1_40.json +41 -0
  25. package/lib/otel/traces/transformation-rules/301-OtelDbClientRedis1_24.json +41 -0
  26. package/lib/otel/traces/transformation-rules/302-OtelDbClientMongo1_40.json +47 -0
  27. package/lib/otel/traces/transformation-rules/303-OtelDbClientMongo1_24.json +47 -0
  28. package/lib/otel/traces/transformation-rules/304-OtelDbClient1_40.json +43 -0
  29. package/lib/otel/traces/transformation-rules/305-OtelDbClient1_24.json +43 -0
  30. package/lib/otel/traces/transformation-rules/306-OtelDbClientRedis1_17.json +46 -0
  31. package/lib/otel/traces/transformation-rules/307-OtelDbClientMongo1_17.json +47 -0
  32. package/lib/otel/traces/transformation-rules/308-OtelDbClientDynamo1_40.json +44 -0
  33. package/lib/otel/traces/transformation-rules/309-OtelDbClientDynamo1_17.json +49 -0
  34. package/lib/otel/traces/transformation-rules/310-OtelDbClient1_17.json +43 -0
  35. package/lib/otel/traces/transformation-rules/311-OtelDbClientPrisma1_40.json +28 -0
  36. package/lib/otel/traces/transformation-rules/312-OtelHttpClient1_23.json +66 -0
  37. package/lib/otel/traces/transformation-rules/313-OtelHttpClient1_17.json +66 -0
  38. package/lib/otel/traces/transformation-rules/314-OtelRpcClient1_23.json +59 -0
  39. package/lib/otel/traces/transformation-rules/315-OtelLambdaClient1_17.json +36 -0
  40. package/lib/otel/traces/transformation-rules/316-OtelRpcClient1_17.json +59 -0
  41. package/lib/otel/traces/transformation-rules/399-FallbackClient.json +16 -0
  42. package/lib/otel/traces/transformation-rules/400-Producer_1_30.json +46 -0
  43. package/lib/otel/traces/transformation-rules/401-Producer_1_24.json +46 -0
  44. package/lib/otel/traces/transformation-rules/402-ProducerSQS_1_17.json +61 -0
  45. package/lib/otel/traces/transformation-rules/403-Producer_1_17.json +40 -0
  46. package/lib/otel/traces/transformation-rules/499-FallbackProducer.json +16 -0
  47. package/lib/otel/traces/transformation-rules/999-Fallback.json +11 -0
  48. package/lib/otel/traces/transformation-rules/index.js +52 -0
  49. package/lib/subscriber-configs.js +2 -0
  50. package/lib/subscribers/hapi/config.js +65 -0
  51. package/lib/subscribers/hapi/decorate.js +37 -0
  52. package/lib/subscribers/hapi/ext.js +77 -0
  53. package/lib/subscribers/hapi/render.js +28 -0
  54. package/lib/subscribers/hapi/route.js +73 -0
  55. package/lib/subscribers/koa/config.js +28 -0
  56. package/lib/subscribers/koa/middleware-wrapper.js +58 -0
  57. package/lib/subscribers/koa/use.js +86 -0
  58. package/lib/subscribers/middleware-wrapper.js +44 -24
  59. package/lib/subscribers/middleware.js +2 -2
  60. package/lib/symbols.js +0 -4
  61. package/lib/util/label-parser.js +3 -2
  62. package/lib/util/logger.js +34 -1
  63. package/package.json +13 -15
  64. package/lib/instrumentation/@hapi/hapi.js +0 -248
  65. package/lib/instrumentation/@hapi/vision.js +0 -44
  66. package/lib/instrumentation/koa/instrumentation.js +0 -177
  67. package/lib/instrumentation/koa/nr-hooks.js +0 -23
  68. package/lib/instrumentation/koa/router-instrumentation.js +0 -121
  69. package/lib/otel/traces/transformation-rules.json +0 -1371
package/NEWS.md CHANGED
@@ -1,77 +1,128 @@
1
- ### v14.0.0 (2026-05-18)
2
- #### ⚠ BREAKING CHANGES
3
-
4
- This version of the Node.js agent is a SemVer MAJOR update and contains the following breaking changes. MAJOR versions may drop support for language runtimes that have reached End-of-Life according to the maintainer. Additionally, MAJOR versions may drop support for and remove certain instrumentation. For more details on these changes please see the [migration guide](https://docs.newrelic.com/docs/apm/agents/nodejs-agent/installation-configuration/update-nodejs-agent/).
5
-
6
- * Dropped support for Node.js 20
7
- * Migrated `@apollo/sever` instrumentation from a plugin(`@newrelic/apollo-server-plugin`) to traditional instrumentation
8
- * Removed Cross Application Tracing(CAT) functionality
9
- * Removed support for License, Application, and Security Policies(LASP)
10
- * Removed instrumentation for `koa-route`
11
- * Removed instrumentation for `koa-router`
12
- * Removed `shim.prefixRouteParameters` as the logic was previously moved to when a transaction ends
13
- * Removed creating `MySQL Pool#query` segments
14
- * Removed `shim.argsToArray`
15
- * Updated minimum supported version of `@nestjs/cli` and `@nestjs/core` to `10.0.0`
16
- * Updated minimum supported version of `next` to 14
17
- * Updated minimum supported version of `bluebird` to `3.0.0`
18
- * Updated minimum supported version of `mysql2` to `3.0.0`
19
- * Updated minimum supported version for `cassandra-driver` to `4.0.0`
20
- * Dropped support for `fastify` 3.x
21
- * Updated `config.distributed_tracing.exclude_newrelic_header` to be set to `true` by default
22
-
23
- #### Features
24
-
25
- * Dropped support for `fastify` 3.x ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([720979b](https://github.com/newrelic/node-newrelic/commit/720979bccb65c93a143d1e069a32904bff78f02b))
26
- * Dropped support for Node.js 20 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([5306223](https://github.com/newrelic/node-newrelic/commit/530622314532e3c7eb4d8c3685e0b1974df61b8f))
27
- * Migrated `@apollo/sever` instrumentation from a plugin(`@newrelic/apollo-server-plugin`) to traditional instrumentation ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([736e0a4](https://github.com/newrelic/node-newrelic/commit/736e0a40b78224e32e263a3aa0264c150d29982d))
28
- * Removed `shim.argsToArray` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([9183d29](https://github.com/newrelic/node-newrelic/commit/9183d29c456aba6ad003bc0a365c14d9b5d3044c))
29
- * Removed `shim.prefixRouteParameters` as the logic was previously moved to when a transaction ends ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([9f1408e](https://github.com/newrelic/node-newrelic/commit/9f1408e26b168733644b3c9160dc45726c4b0034))
30
- * Removed creating `MySQL Pool#query` segments ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([1d5a6dd](https://github.com/newrelic/node-newrelic/commit/1d5a6dde7f5c1280079cdca859cc5a2fc3121556))
31
- * Removed Cross Application Tracing(CAT) functionality ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([a87ed4d](https://github.com/newrelic/node-newrelic/commit/a87ed4dbd3aad072de81475601844efebd8353ac))
32
- * Removed instrumentation for `koa-route` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([40c10d9](https://github.com/newrelic/node-newrelic/commit/40c10d90fdebd08dba7bb8e99856def93093267a))
33
- * Removed instrumentation for `koa-router` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([038ecc7](https://github.com/newrelic/node-newrelic/commit/038ecc749a0fd5d2cdd0ba6b5b0c9537f04a3208))
34
- * Removed support for License, Application, and Security Policies(LASP) ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([bc09485](https://github.com/newrelic/node-newrelic/commit/bc094850bd18daf6be047615ad71c4dc13a7ec85))
35
- * Updated `config.distributed_tracing.exclude_newrelic_header` to be set to `true` by default ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([774ce08](https://github.com/newrelic/node-newrelic/commit/774ce0805ddefd4a6e89d8635183d31e2d7e1d3a))
36
- * Updated minimum supported version for `cassandra-driver` to `4.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([419337a](https://github.com/newrelic/node-newrelic/commit/419337a78d126467cbf4fc70b94ec293fb919bbf))
37
- * Updated minimum supported version of `@nestjs/cli` and `@nestjs/core` to `10.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([120e6de](https://github.com/newrelic/node-newrelic/commit/120e6deef05c940baea52656dd04fdd992e9061d))
38
- * Updated minimum supported version of `bluebird` to `3.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([369f920](https://github.com/newrelic/node-newrelic/commit/369f920a86b81980552fe97c708b1aeb3a70771f))
39
- * Updated minimum supported version of `mysql2` to `3.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([2861406](https://github.com/newrelic/node-newrelic/commit/2861406c6d9d41f71dab2332d1fd22c27ddfda7c))
40
- * Updated minimum supported version of `next` to 14 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([80c5c0c](https://github.com/newrelic/node-newrelic/commit/80c5c0ca1ffdf2c2fa6d4abf74c8b7c3e2024a2e))
41
-
42
- #### Code refactoring
43
-
44
- * Updated how exclusive time and trace total time is calculated ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([b227ed6](https://github.com/newrelic/node-newrelic/commit/b227ed6975b077a8e16cffafc781a14d55636059))
45
- * Updated instances of `tracer.bindFunction` with `tracer.runInContext` to improve performance in hot paths ([#3811](https://github.com/newrelic/node-newrelic/pull/3811)) ([5d77085](https://github.com/newrelic/node-newrelic/commit/5d77085b89e98bb1e09a9206a5d5656cdc410c2d))
46
-
47
- #### Documentation
48
-
49
- * Updated compatibility report ([#3990](https://github.com/newrelic/node-newrelic/pull/3990)) ([f3bb380](https://github.com/newrelic/node-newrelic/commit/f3bb380770e575e1ef3600e6601ddbf944b189ea))
50
-
51
- #### Miscellaneous chores
52
-
53
- * Removed `husky` in lieu of git hooks, added security hardened options to `npm install` ([#3988](https://github.com/newrelic/node-newrelic/pull/3988)) ([e3a7dda](https://github.com/newrelic/node-newrelic/commit/e3a7ddaee58f393cf347d812fed6b4c6ab1505f0))
54
- * Updated production dependencies to the latest ([#3996](https://github.com/newrelic/node-newrelic/pull/3996)) ([b710bac](https://github.com/newrelic/node-newrelic/commit/b710bacff2231c8038b792ac4c7a570991566835))
55
-
56
- #### Tests
57
-
58
- * Added `minSupported` to the nest js versioned tests package.json to ensure the compatibility report will show we support `@nestjs/core` ([#3982](https://github.com/newrelic/node-newrelic/pull/3982)) ([bfa4aa1](https://github.com/newrelic/node-newrelic/commit/bfa4aa1d7b1fa60b8ac0da221f132124fb31ea6d))
59
- * Added prisma 7 tests ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([116ee9c](https://github.com/newrelic/node-newrelic/commit/116ee9cd006d378afba1922d8daa27e213d1f6ab))
60
- * Moved versioned test runner code from `@newrelic/test-utilties` to agent ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([d4f9a0c](https://github.com/newrelic/node-newrelic/commit/d4f9a0ce27364b7cfb723fa6a7c56a5ccdc07b68))
61
- * Removed `@newrelic/test-utilities` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([1751147](https://github.com/newrelic/node-newrelic/commit/1751147503c9ff971208c2977912d7298e9e923f))
62
- * Decrease smoke-like esm tests' sample size ([#3986](https://github.com/newrelic/node-newrelic/pull/3986)) ([40669fb](https://github.com/newrelic/node-newrelic/commit/40669fbc157d65b53a4e5b7c22061ede7f26e630))
63
- * Fixed `test/lib/get-package-version.js` ([#3993](https://github.com/newrelic/node-newrelic/pull/3993)) ([5d31f08](https://github.com/newrelic/node-newrelic/commit/5d31f08fb542f7b58bf89457f8a30255511ee9e0))
64
- * Fixed version lookup issue in aws-sdk-v3 tests ([#3992](https://github.com/newrelic/node-newrelic/pull/3992)) ([7be3f4a](https://github.com/newrelic/node-newrelic/commit/7be3f4ab5a69fa7563752f584704e59cf6a863d2))
65
- * Restructure `aws-sdk-v3` test runner to use `groupedDependencies` ([#3984](https://github.com/newrelic/node-newrelic/pull/3984)) ([fc67490](https://github.com/newrelic/node-newrelic/commit/fc674909e176f0f5305a0798c14d3c8447e58155))
66
- * Updated a few versioned test stanzas to reduce the number of combinations it runs ([#3991](https://github.com/newrelic/node-newrelic/pull/3991)) ([d606305](https://github.com/newrelic/node-newrelic/commit/d6063055ebd034deabd2f2c3f1acba8162a5bd44))
67
-
68
- #### Continuous integration
69
-
70
- * Added `contents: write` to `post-release` to allow commit/push of api docs ([#3978](https://github.com/newrelic/node-newrelic/pull/3978)) ([90c4e61](https://github.com/newrelic/node-newrelic/commit/90c4e61ac304715dc0848aad091ec1725e057367))
71
- * Updated remaining actions so they are running on Node 24 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([ea21934](https://github.com/newrelic/node-newrelic/commit/ea21934a7b638855610ff193e88d15f8b910d8a8))
72
- * Updated version of `actions/download-artifact` to v8 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([54a58b9](https://github.com/newrelic/node-newrelic/commit/54a58b95bb8b5a15d7f7b340a9c8da2a3d3e88a9))
73
- * Updated versions of actions to ensure they are running on node 24 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([6302002](https://github.com/newrelic/node-newrelic/commit/630200223d03e39249e359563727900a70ce15cf))
74
-
1
+ ### v14.1.0 (2026-06-02)
2
+
3
+ #### Features
4
+
5
+ * Added support for native Next.js OTEL instrumentation via the Hybrid Agent ([#4040](https://github.com/newrelic/node-newrelic/pull/4040)) ([1944f39](https://github.com/newrelic/node-newrelic/commit/1944f395de1a1f23a535b0188502eb257beb8c6a))
6
+
7
+ #### Bug fixes
8
+
9
+ * Updated label parser to handle empty values in an object key ([#4004](https://github.com/newrelic/node-newrelic/pull/4004)) ([73c00d7](https://github.com/newrelic/node-newrelic/commit/73c00d746822fa50e763d38302e6307b3e638dc1))
10
+
11
+ #### Code refactoring
12
+
13
+ * Migrate `@hapi/hapi` and `@hapi/vision` to subscriber-based ([#3995](https://github.com/newrelic/node-newrelic/pull/3995)) ([54c60a8](https://github.com/newrelic/node-newrelic/commit/54c60a841346737f6e6b42c4910381c0b98552a2))
14
+ * Refactored `koa` instrumentation to subscribe to events emitted ([#4016](https://github.com/newrelic/node-newrelic/pull/4016)) ([e1f6c27](https://github.com/newrelic/node-newrelic/commit/e1f6c27897e3e907d1d9768d73faf0a78f72961b))
15
+ * Updated MiddlewareWrapper `maybeHandleError` to only mark error as handled if there was a previously stored error ([#4032](https://github.com/newrelic/node-newrelic/pull/4032)) ([1b21cc8](https://github.com/newrelic/node-newrelic/commit/1b21cc89ce82055bde96815c8ac216d4af008684))
16
+
17
+ #### Documentation
18
+
19
+ * Removed linked to `@newrelic/apollo-server-plugin` as instrumentation was merged into agent ([#4003](https://github.com/newrelic/node-newrelic/pull/4003)) ([9afd9cb](https://github.com/newrelic/node-newrelic/commit/9afd9cb8d721e175f60d31dc7384b752632f9ae5))
20
+ * Moved `apollo-server` docs to the docs website ([#3994](https://github.com/newrelic/node-newrelic/pull/3994)) ([11ca2ae](https://github.com/newrelic/node-newrelic/commit/11ca2ae419ebc616bed4d072641cedb42b48be87))
21
+ * Updated compatibility report ([#4028](https://github.com/newrelic/node-newrelic/pull/4028)) ([b16ad6e](https://github.com/newrelic/node-newrelic/commit/b16ad6e2dfee69e424f1e54ee7f7c69207842339)) ([#4014](https://github.com/newrelic/node-newrelic/pull/4014)) ([3efa1ff](https://github.com/newrelic/node-newrelic/commit/3efa1ff3af27178c410ac7332e714f1d126d07dd)) ([#4002](https://github.com/newrelic/node-newrelic/pull/4002)) ([33a8236](https://github.com/newrelic/node-newrelic/commit/33a82361674d29e53db9b699048c7a7970445d7c))
22
+
23
+ #### Miscellaneous chores
24
+
25
+ * Deprecate `instrumentLoadedModule` API ([#4034](https://github.com/newrelic/node-newrelic/pull/4034)) ([306ff86](https://github.com/newrelic/node-newrelic/commit/306ff86e4ffeaaa094c3ee3f93e9248c74d3d4d1))
26
+ * Added audit logging for OTEL metrics ([#4018](https://github.com/newrelic/node-newrelic/pull/4018)) ([494c836](https://github.com/newrelic/node-newrelic/commit/494c8369176994c01e75b5bf1f28ff471654d31a))
27
+ * Added OTEL rule to support Prisma 7 ([#4013](https://github.com/newrelic/node-newrelic/pull/4013)) ([c142c60](https://github.com/newrelic/node-newrelic/commit/c142c60162cb9409946d8a1babb6f59cd569f6ea))
28
+ * Fix ordering of OTEL rules ([#4025](https://github.com/newrelic/node-newrelic/pull/4025)) ([150476a](https://github.com/newrelic/node-newrelic/commit/150476a61cd272a29ed7c03366e879f6eb009298))
29
+ * Refactored OTEL transform rules ([#3999](https://github.com/newrelic/node-newrelic/pull/3999)) ([48ff739](https://github.com/newrelic/node-newrelic/commit/48ff739e47a21a1ac5c0fa5673e8ef4fc4f153fb))
30
+ * Fixed node-version in CI workflow ([#4042](https://github.com/newrelic/node-newrelic/pull/4042)) ([dd05ea9](https://github.com/newrelic/node-newrelic/commit/dd05ea914e157278e56b0887ec89317dcc1852d8))
31
+ * Updated codecov action ([#4039](https://github.com/newrelic/node-newrelic/pull/4039)) ([31b9c84](https://github.com/newrelic/node-newrelic/commit/31b9c8416116c8b04293f53335540729e934c768))
32
+ * Updated remote-method to use audit method of logger ([#4038](https://github.com/newrelic/node-newrelic/pull/4038)) ([0e4507e](https://github.com/newrelic/node-newrelic/commit/0e4507e27a62f880f9748d675d2b2127b1605d0f))
33
+ * Added baseline instructions for Claude bot ([#4036](https://github.com/newrelic/node-newrelic/pull/4036)) ([c8f6649](https://github.com/newrelic/node-newrelic/commit/c8f66496764cab5e3361d4b0b0f21bd889356189))
34
+ * Updated dependencies
35
+ * Removed unused dev dependencies ([#4005](https://github.com/newrelic/node-newrelic/pull/4005)) ([e00f7d3](https://github.com/newrelic/node-newrelic/commit/e00f7d3132a8d7635a65162d80fd3217edad35f5))
36
+ * Updated `@apm-js-collab/tracing-hooks` to `0.9.1` ([#4043](https://github.com/newrelic/node-newrelic/pull/4043)) ([f05e5d4](https://github.com/newrelic/node-newrelic/commit/f05e5d473e641ed783ced0b1ef8b2fabc5df3502))
37
+ * Updated `commander` to latest ([#4021](https://github.com/newrelic/node-newrelic/pull/4021)) ([83b1d58](https://github.com/newrelic/node-newrelic/commit/83b1d5871bd70244ece463cbca23f34cbacfe6d7))
38
+ * Updated `nock` to latest ([#4022](https://github.com/newrelic/node-newrelic/pull/4022)) ([9bf79ab](https://github.com/newrelic/node-newrelic/commit/9bf79ab23eefabd22a529a26a7d3d75e7ff08a19))
39
+ * Updated `sinon` to latest ([#4020](https://github.com/newrelic/node-newrelic/pull/4020)) ([0ced304](https://github.com/newrelic/node-newrelic/commit/0ced30446a9be2711c96c0afa6453e6b87c014ad))
40
+ * Updated `protobufjs` to latest ([#4006](https://github.com/newrelic/node-newrelic/pull/4006)) ([45c61f3](https://github.com/newrelic/node-newrelic/commit/45c61f3624945553bfa5aac331c577255827f7bc))
41
+ * Upgraded `glob` to 13 ([#4008](https://github.com/newrelic/node-newrelic/pull/4008)) ([3053545](https://github.com/newrelic/node-newrelic/commit/3053545aa3c1ed673255887448b65f20137d670e))
42
+ * Upgraded `got` and `rimraf` to latest ([#4007](https://github.com/newrelic/node-newrelic/pull/4007)) ([b967593](https://github.com/newrelic/node-newrelic/commit/b9675938bfa0165b54f3df583577bfd36c70cdcd))
43
+
44
+ #### Tests
45
+
46
+ * Add stable `http.request` shim so AWS test agent setup works with smithy >=4.7.3 ([#4010](https://github.com/newrelic/node-newrelic/pull/4010)) ([c5fd80a](https://github.com/newrelic/node-newrelic/commit/c5fd80aeeae88f3ada7cd27219832cec49765040))
47
+ * Added an undici versioned test to assert behavior with using a self signed cert and `undici.Agent` ([#4026](https://github.com/newrelic/node-newrelic/pull/4026)) ([27507bc](https://github.com/newrelic/node-newrelic/commit/27507bc3678dd03ab232892be33959622b34a210))
48
+ * Refactor `mongodb-esm` tests to test `>=4.1.4` ([#4023](https://github.com/newrelic/node-newrelic/pull/4023)) ([d85767f](https://github.com/newrelic/node-newrelic/commit/d85767fa83e300610bfbe3a4b3e2e3d5ab8a6b91))
49
+ * Removed reliance on `glob` in lieu of `fs.glob` ([#4019](https://github.com/newrelic/node-newrelic/pull/4019)) ([204f124](https://github.com/newrelic/node-newrelic/commit/204f1242810135f24ae6e3b9543cd227c813b16d))
50
+ * Updated undici.Agent versioned test to skip using custom dispatcher on versions <5.2.0 as it was not supported ([#4029](https://github.com/newrelic/node-newrelic/pull/4029)) ([08cd079](https://github.com/newrelic/node-newrelic/commit/08cd07907748bf4deb2259d8e6572dcb49d51ad9))
51
+
52
+ ### v14.0.0 (2026-05-18)
53
+ #### BREAKING CHANGES
54
+
55
+ This version of the Node.js agent is a SemVer MAJOR update and contains the following breaking changes. MAJOR versions may drop support for language runtimes that have reached End-of-Life according to the maintainer. Additionally, MAJOR versions may drop support for and remove certain instrumentation. For more details on these changes please see the [migration guide](https://docs.newrelic.com/docs/apm/agents/nodejs-agent/installation-configuration/update-nodejs-agent/).
56
+
57
+ * Dropped support for Node.js 20
58
+ * Migrated `@apollo/sever` instrumentation from a plugin(`@newrelic/apollo-server-plugin`) to traditional instrumentation
59
+ * Removed Cross Application Tracing(CAT) functionality
60
+ * Removed support for License, Application, and Security Policies(LASP)
61
+ * Removed instrumentation for `koa-route`
62
+ * Removed instrumentation for `koa-router`
63
+ * Removed `shim.prefixRouteParameters` as the logic was previously moved to when a transaction ends
64
+ * Removed creating `MySQL Pool#query` segments
65
+ * Removed `shim.argsToArray`
66
+ * Updated minimum supported version of `@nestjs/cli` and `@nestjs/core` to `10.0.0`
67
+ * Updated minimum supported version of `next` to 14
68
+ * Updated minimum supported version of `bluebird` to `3.0.0`
69
+ * Updated minimum supported version of `mysql2` to `3.0.0`
70
+ * Updated minimum supported version for `cassandra-driver` to `4.0.0`
71
+ * Dropped support for `fastify` 3.x
72
+ * Updated `config.distributed_tracing.exclude_newrelic_header` to be set to `true` by default
73
+
74
+ #### Features
75
+
76
+ * Dropped support for `fastify` 3.x ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([720979b](https://github.com/newrelic/node-newrelic/commit/720979bccb65c93a143d1e069a32904bff78f02b))
77
+ * Dropped support for Node.js 20 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([5306223](https://github.com/newrelic/node-newrelic/commit/530622314532e3c7eb4d8c3685e0b1974df61b8f))
78
+ * Migrated `@apollo/sever` instrumentation from a plugin(`@newrelic/apollo-server-plugin`) to traditional instrumentation ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([736e0a4](https://github.com/newrelic/node-newrelic/commit/736e0a40b78224e32e263a3aa0264c150d29982d))
79
+ * Removed `shim.argsToArray` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([9183d29](https://github.com/newrelic/node-newrelic/commit/9183d29c456aba6ad003bc0a365c14d9b5d3044c))
80
+ * Removed `shim.prefixRouteParameters` as the logic was previously moved to when a transaction ends ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([9f1408e](https://github.com/newrelic/node-newrelic/commit/9f1408e26b168733644b3c9160dc45726c4b0034))
81
+ * Removed creating `MySQL Pool#query` segments ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([1d5a6dd](https://github.com/newrelic/node-newrelic/commit/1d5a6dde7f5c1280079cdca859cc5a2fc3121556))
82
+ * Removed Cross Application Tracing(CAT) functionality ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([a87ed4d](https://github.com/newrelic/node-newrelic/commit/a87ed4dbd3aad072de81475601844efebd8353ac))
83
+ * Removed instrumentation for `koa-route` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([40c10d9](https://github.com/newrelic/node-newrelic/commit/40c10d90fdebd08dba7bb8e99856def93093267a))
84
+ * Removed instrumentation for `koa-router` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([038ecc7](https://github.com/newrelic/node-newrelic/commit/038ecc749a0fd5d2cdd0ba6b5b0c9537f04a3208))
85
+ * Removed support for License, Application, and Security Policies(LASP) ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([bc09485](https://github.com/newrelic/node-newrelic/commit/bc094850bd18daf6be047615ad71c4dc13a7ec85))
86
+ * Updated `config.distributed_tracing.exclude_newrelic_header` to be set to `true` by default ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([774ce08](https://github.com/newrelic/node-newrelic/commit/774ce0805ddefd4a6e89d8635183d31e2d7e1d3a))
87
+ * Updated minimum supported version for `cassandra-driver` to `4.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([419337a](https://github.com/newrelic/node-newrelic/commit/419337a78d126467cbf4fc70b94ec293fb919bbf))
88
+ * Updated minimum supported version of `@nestjs/cli` and `@nestjs/core` to `10.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([120e6de](https://github.com/newrelic/node-newrelic/commit/120e6deef05c940baea52656dd04fdd992e9061d))
89
+ * Updated minimum supported version of `bluebird` to `3.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([369f920](https://github.com/newrelic/node-newrelic/commit/369f920a86b81980552fe97c708b1aeb3a70771f))
90
+ * Updated minimum supported version of `mysql2` to `3.0.0` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([2861406](https://github.com/newrelic/node-newrelic/commit/2861406c6d9d41f71dab2332d1fd22c27ddfda7c))
91
+ * Updated minimum supported version of `next` to 14 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([80c5c0c](https://github.com/newrelic/node-newrelic/commit/80c5c0ca1ffdf2c2fa6d4abf74c8b7c3e2024a2e))
92
+
93
+ #### Code refactoring
94
+
95
+ * Updated how exclusive time and trace total time is calculated ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([b227ed6](https://github.com/newrelic/node-newrelic/commit/b227ed6975b077a8e16cffafc781a14d55636059))
96
+ * Updated instances of `tracer.bindFunction` with `tracer.runInContext` to improve performance in hot paths ([#3811](https://github.com/newrelic/node-newrelic/pull/3811)) ([5d77085](https://github.com/newrelic/node-newrelic/commit/5d77085b89e98bb1e09a9206a5d5656cdc410c2d))
97
+
98
+ #### Documentation
99
+
100
+ * Updated compatibility report ([#3990](https://github.com/newrelic/node-newrelic/pull/3990)) ([f3bb380](https://github.com/newrelic/node-newrelic/commit/f3bb380770e575e1ef3600e6601ddbf944b189ea))
101
+
102
+ #### Miscellaneous chores
103
+
104
+ * Removed `husky` in lieu of git hooks, added security hardened options to `npm install` ([#3988](https://github.com/newrelic/node-newrelic/pull/3988)) ([e3a7dda](https://github.com/newrelic/node-newrelic/commit/e3a7ddaee58f393cf347d812fed6b4c6ab1505f0))
105
+ * Updated production dependencies to the latest ([#3996](https://github.com/newrelic/node-newrelic/pull/3996)) ([b710bac](https://github.com/newrelic/node-newrelic/commit/b710bacff2231c8038b792ac4c7a570991566835))
106
+
107
+ #### Tests
108
+
109
+ * Added `minSupported` to the nest js versioned tests package.json to ensure the compatibility report will show we support `@nestjs/core` ([#3982](https://github.com/newrelic/node-newrelic/pull/3982)) ([bfa4aa1](https://github.com/newrelic/node-newrelic/commit/bfa4aa1d7b1fa60b8ac0da221f132124fb31ea6d))
110
+ * Added prisma 7 tests ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([116ee9c](https://github.com/newrelic/node-newrelic/commit/116ee9cd006d378afba1922d8daa27e213d1f6ab))
111
+ * Moved versioned test runner code from `@newrelic/test-utilties` to agent ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([d4f9a0c](https://github.com/newrelic/node-newrelic/commit/d4f9a0ce27364b7cfb723fa6a7c56a5ccdc07b68))
112
+ * Removed `@newrelic/test-utilities` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([1751147](https://github.com/newrelic/node-newrelic/commit/1751147503c9ff971208c2977912d7298e9e923f))
113
+ * Decrease smoke-like esm tests' sample size ([#3986](https://github.com/newrelic/node-newrelic/pull/3986)) ([40669fb](https://github.com/newrelic/node-newrelic/commit/40669fbc157d65b53a4e5b7c22061ede7f26e630))
114
+ * Fixed `test/lib/get-package-version.js` ([#3993](https://github.com/newrelic/node-newrelic/pull/3993)) ([5d31f08](https://github.com/newrelic/node-newrelic/commit/5d31f08fb542f7b58bf89457f8a30255511ee9e0))
115
+ * Fixed version lookup issue in aws-sdk-v3 tests ([#3992](https://github.com/newrelic/node-newrelic/pull/3992)) ([7be3f4a](https://github.com/newrelic/node-newrelic/commit/7be3f4ab5a69fa7563752f584704e59cf6a863d2))
116
+ * Restructure `aws-sdk-v3` test runner to use `groupedDependencies` ([#3984](https://github.com/newrelic/node-newrelic/pull/3984)) ([fc67490](https://github.com/newrelic/node-newrelic/commit/fc674909e176f0f5305a0798c14d3c8447e58155))
117
+ * Updated a few versioned test stanzas to reduce the number of combinations it runs ([#3991](https://github.com/newrelic/node-newrelic/pull/3991)) ([d606305](https://github.com/newrelic/node-newrelic/commit/d6063055ebd034deabd2f2c3f1acba8162a5bd44))
118
+
119
+ #### Continuous integration
120
+
121
+ * Added `contents: write` to `post-release` to allow commit/push of api docs ([#3978](https://github.com/newrelic/node-newrelic/pull/3978)) ([90c4e61](https://github.com/newrelic/node-newrelic/commit/90c4e61ac304715dc0848aad091ec1725e057367))
122
+ * Updated remaining actions so they are running on Node 24 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([ea21934](https://github.com/newrelic/node-newrelic/commit/ea21934a7b638855610ff193e88d15f8b910d8a8))
123
+ * Updated version of `actions/download-artifact` to v8 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([54a58b9](https://github.com/newrelic/node-newrelic/commit/54a58b95bb8b5a15d7f7b340a9c8da2a3d3e88a9))
124
+ * Updated versions of actions to ensure they are running on node 24 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([6302002](https://github.com/newrelic/node-newrelic/commit/630200223d03e39249e359563727900a70ce15cf))
125
+
75
126
  ### v13.20.0 (2026-05-12)
76
127
 
77
128
  #### Features
package/README.md CHANGED
@@ -136,7 +136,7 @@ We support the following custom instrumentation API methods in ES module apps:
136
136
  * `newrelic.instrumentMessages`
137
137
  * `newrelic.instrumentWebframework`
138
138
 
139
- Note that we _do not_ support `newrelic.instrumentLoadedModule`, for the same issue of immutability mentioned above.
139
+ Note that `newrelic.instrumentLoadedModule` is deprecated and scheduled for removal in v15. It was never supported in ES module apps, and in CommonJS it only existed to retrofit instrumentation when the agent was loaded after user modules, which is no longer supported.
140
140
 
141
141
  If you want to see an example of how to write custom instrumentation in an ES module app, check out our [examples](https://github.com/newrelic/newrelic-node-examples/tree/main/esm-app) repo for a working demo.
142
142
 
@@ -148,10 +148,6 @@ For more information on getting started, [check the Node.js docs](https://docs.n
148
148
 
149
149
  There are modules that can be installed and configured to accompany the Node.js agent:
150
150
 
151
- * [`@newrelic/apollo-server-plugin`](https://github.com/newrelic/newrelic-node-apollo-server-plugin): New Relic's official Apollo Server plugin for use with the Node.js agent.
152
-
153
- There are modules included within the Node.js agent to add more instrumentation for 3rd party modules:
154
-
155
151
  * [`@newrelic/native-metrics`](https://github.com/newrelic/node-native-metrics): Provides hooks into the native v8 layer of Node.js to provide metrics to the Node.js agent.
156
152
 
157
153
  ## Usage