newrelic 14.0.0 → 14.1.1
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.
- package/NEWS.md +139 -74
- package/README.md +3 -32
- package/THIRD_PARTY_NOTICES.md +554 -251
- package/api.js +10 -0
- package/lib/collector/http-agents.js +33 -5
- package/lib/collector/remote-method.js +8 -19
- package/lib/config/index.js +1 -0
- package/lib/instrumentations.js +0 -3
- package/lib/logger.js +2 -1
- package/lib/otel/metrics/generate-proxy-agent-factory.js +31 -0
- package/lib/otel/metrics/index.js +17 -6
- package/lib/otel/metrics/nr-exporter.js +52 -0
- package/lib/otel/metrics/nr-proxying-delegate.js +69 -0
- package/lib/otel/metrics/nr-proxying-serializer.js +64 -0
- package/lib/otel/traces/constants.js +7 -0
- package/lib/otel/traces/rules.js +62 -16
- package/lib/otel/traces/span-processor.js +4 -1
- package/lib/otel/traces/transformation-rules/100-OtelHttpServer1_23.json +66 -0
- package/lib/otel/traces/transformation-rules/101-OtelHttpServerNextjs1_20.json +45 -0
- package/lib/otel/traces/transformation-rules/102-OtelHttpServer1_20.json +54 -0
- package/lib/otel/traces/transformation-rules/102-OtelRpcServer1_20.json +44 -0
- package/lib/otel/traces/transformation-rules/199-FallbackServer.json +17 -0
- package/lib/otel/traces/transformation-rules/200-OtelMessagingConsumer1_30.json +57 -0
- package/lib/otel/traces/transformation-rules/201-OtelMessagingConsumer1_24.json +51 -0
- package/lib/otel/traces/transformation-rules/202-OtelMessagingConsumer1_17.json +49 -0
- package/lib/otel/traces/transformation-rules/299-FallbackConsumer.json +18 -0
- package/lib/otel/traces/transformation-rules/300-OtelDbClientRedis1_40.json +41 -0
- package/lib/otel/traces/transformation-rules/301-OtelDbClientRedis1_24.json +41 -0
- package/lib/otel/traces/transformation-rules/302-OtelDbClientMongo1_40.json +47 -0
- package/lib/otel/traces/transformation-rules/303-OtelDbClientMongo1_24.json +47 -0
- package/lib/otel/traces/transformation-rules/304-OtelDbClient1_40.json +43 -0
- package/lib/otel/traces/transformation-rules/305-OtelDbClient1_24.json +43 -0
- package/lib/otel/traces/transformation-rules/306-OtelDbClientRedis1_17.json +46 -0
- package/lib/otel/traces/transformation-rules/307-OtelDbClientMongo1_17.json +47 -0
- package/lib/otel/traces/transformation-rules/308-OtelDbClientDynamo1_40.json +44 -0
- package/lib/otel/traces/transformation-rules/309-OtelDbClientDynamo1_17.json +49 -0
- package/lib/otel/traces/transformation-rules/310-OtelDbClient1_17.json +43 -0
- package/lib/otel/traces/transformation-rules/311-OtelDbClientPrisma1_40.json +28 -0
- package/lib/otel/traces/transformation-rules/312-OtelHttpClient1_23.json +66 -0
- package/lib/otel/traces/transformation-rules/313-OtelHttpClient1_17.json +66 -0
- package/lib/otel/traces/transformation-rules/314-OtelRpcClient1_23.json +59 -0
- package/lib/otel/traces/transformation-rules/315-OtelLambdaClient1_17.json +36 -0
- package/lib/otel/traces/transformation-rules/316-OtelRpcClient1_17.json +59 -0
- package/lib/otel/traces/transformation-rules/399-FallbackClient.json +16 -0
- package/lib/otel/traces/transformation-rules/400-Producer_1_30.json +46 -0
- package/lib/otel/traces/transformation-rules/401-Producer_1_24.json +46 -0
- package/lib/otel/traces/transformation-rules/402-ProducerSQS_1_17.json +61 -0
- package/lib/otel/traces/transformation-rules/403-Producer_1_17.json +40 -0
- package/lib/otel/traces/transformation-rules/499-FallbackProducer.json +16 -0
- package/lib/otel/traces/transformation-rules/999-Fallback.json +11 -0
- package/lib/otel/traces/transformation-rules/index.js +52 -0
- package/lib/subscriber-configs.js +2 -0
- package/lib/subscribers/hapi/config.js +65 -0
- package/lib/subscribers/hapi/decorate.js +37 -0
- package/lib/subscribers/hapi/ext.js +77 -0
- package/lib/subscribers/hapi/render.js +28 -0
- package/lib/subscribers/hapi/route.js +73 -0
- package/lib/subscribers/koa/config.js +28 -0
- package/lib/subscribers/koa/middleware-wrapper.js +58 -0
- package/lib/subscribers/koa/use.js +86 -0
- package/lib/subscribers/middleware-wrapper.js +44 -24
- package/lib/subscribers/middleware.js +2 -2
- package/lib/symbols.js +0 -4
- package/lib/util/label-parser.js +3 -2
- package/lib/util/logger.js +35 -1
- package/package.json +15 -17
- package/lib/instrumentation/@hapi/hapi.js +0 -248
- package/lib/instrumentation/@hapi/vision.js +0 -44
- package/lib/instrumentation/koa/instrumentation.js +0 -177
- package/lib/instrumentation/koa/nr-hooks.js +0 -23
- package/lib/instrumentation/koa/router-instrumentation.js +0 -121
- package/lib/otel/traces/transformation-rules.json +0 -1371
package/NEWS.md
CHANGED
|
@@ -1,77 +1,142 @@
|
|
|
1
|
-
### v14.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
*
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* Removed
|
|
34
|
-
*
|
|
35
|
-
* Updated
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
* Updated
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
*
|
|
54
|
-
* Updated
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
|
|
1
|
+
### v14.1.1 (2026-06-23)
|
|
2
|
+
|
|
3
|
+
#### Documentation
|
|
4
|
+
|
|
5
|
+
* Removed outdated Next.js documentation in repo ([#4060](https://github.com/newrelic/node-newrelic/pull/4060)) ([185bb66](https://github.com/newrelic/node-newrelic/commit/185bb66c6b8c8ddc26c934adccc28bf47e9ddfd9))
|
|
6
|
+
* Updated compatibility report ([#4047](https://github.com/newrelic/node-newrelic/pull/4047)) ([25cbd38](https://github.com/newrelic/node-newrelic/commit/25cbd38f8da143c7c0010634b0282f2409cc0631))
|
|
7
|
+
|
|
8
|
+
#### Miscellaneous chores
|
|
9
|
+
|
|
10
|
+
* Added proxy config support to OTEL metrics ([#4041](https://github.com/newrelic/node-newrelic/pull/4041)) ([6c04b8a](https://github.com/newrelic/node-newrelic/commit/6c04b8ab780006ff3e15406a56e9efafa79b1509))
|
|
11
|
+
* Added supportability metrics to OTEL metrics export ([#4051](https://github.com/newrelic/node-newrelic/pull/4051)) ([db6e4e3](https://github.com/newrelic/node-newrelic/commit/db6e4e364e61deb5da33a25d9ce13fb950c01162))
|
|
12
|
+
* Updated min version of `@opentelemetry` `0.x` packages to `^0.219.0` ([#4065](https://github.com/newrelic/node-newrelic/pull/4065)) ([3f58ad0](https://github.com/newrelic/node-newrelic/commit/3f58ad010592fe9909a210f7688bce6f4e72c188))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### v14.1.0 (2026-06-02)
|
|
16
|
+
|
|
17
|
+
#### Features
|
|
18
|
+
|
|
19
|
+
* 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))
|
|
20
|
+
|
|
21
|
+
#### Bug fixes
|
|
22
|
+
|
|
23
|
+
* 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))
|
|
24
|
+
|
|
25
|
+
#### Code refactoring
|
|
26
|
+
|
|
27
|
+
* 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))
|
|
28
|
+
* 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))
|
|
29
|
+
* 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))
|
|
30
|
+
|
|
31
|
+
#### Documentation
|
|
32
|
+
|
|
33
|
+
* 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))
|
|
34
|
+
* 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))
|
|
35
|
+
* 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))
|
|
36
|
+
|
|
37
|
+
#### Miscellaneous chores
|
|
38
|
+
|
|
39
|
+
* Deprecate `instrumentLoadedModule` API ([#4034](https://github.com/newrelic/node-newrelic/pull/4034)) ([306ff86](https://github.com/newrelic/node-newrelic/commit/306ff86e4ffeaaa094c3ee3f93e9248c74d3d4d1))
|
|
40
|
+
* Added audit logging for OTEL metrics ([#4018](https://github.com/newrelic/node-newrelic/pull/4018)) ([494c836](https://github.com/newrelic/node-newrelic/commit/494c8369176994c01e75b5bf1f28ff471654d31a))
|
|
41
|
+
* 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))
|
|
42
|
+
* Fix ordering of OTEL rules ([#4025](https://github.com/newrelic/node-newrelic/pull/4025)) ([150476a](https://github.com/newrelic/node-newrelic/commit/150476a61cd272a29ed7c03366e879f6eb009298))
|
|
43
|
+
* Refactored OTEL transform rules ([#3999](https://github.com/newrelic/node-newrelic/pull/3999)) ([48ff739](https://github.com/newrelic/node-newrelic/commit/48ff739e47a21a1ac5c0fa5673e8ef4fc4f153fb))
|
|
44
|
+
* Fixed node-version in CI workflow ([#4042](https://github.com/newrelic/node-newrelic/pull/4042)) ([dd05ea9](https://github.com/newrelic/node-newrelic/commit/dd05ea914e157278e56b0887ec89317dcc1852d8))
|
|
45
|
+
* Updated codecov action ([#4039](https://github.com/newrelic/node-newrelic/pull/4039)) ([31b9c84](https://github.com/newrelic/node-newrelic/commit/31b9c8416116c8b04293f53335540729e934c768))
|
|
46
|
+
* 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))
|
|
47
|
+
* Added baseline instructions for Claude bot ([#4036](https://github.com/newrelic/node-newrelic/pull/4036)) ([c8f6649](https://github.com/newrelic/node-newrelic/commit/c8f66496764cab5e3361d4b0b0f21bd889356189))
|
|
48
|
+
* Updated dependencies
|
|
49
|
+
* Removed unused dev dependencies ([#4005](https://github.com/newrelic/node-newrelic/pull/4005)) ([e00f7d3](https://github.com/newrelic/node-newrelic/commit/e00f7d3132a8d7635a65162d80fd3217edad35f5))
|
|
50
|
+
* 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))
|
|
51
|
+
* Updated `commander` to latest ([#4021](https://github.com/newrelic/node-newrelic/pull/4021)) ([83b1d58](https://github.com/newrelic/node-newrelic/commit/83b1d5871bd70244ece463cbca23f34cbacfe6d7))
|
|
52
|
+
* Updated `nock` to latest ([#4022](https://github.com/newrelic/node-newrelic/pull/4022)) ([9bf79ab](https://github.com/newrelic/node-newrelic/commit/9bf79ab23eefabd22a529a26a7d3d75e7ff08a19))
|
|
53
|
+
* Updated `sinon` to latest ([#4020](https://github.com/newrelic/node-newrelic/pull/4020)) ([0ced304](https://github.com/newrelic/node-newrelic/commit/0ced30446a9be2711c96c0afa6453e6b87c014ad))
|
|
54
|
+
* Updated `protobufjs` to latest ([#4006](https://github.com/newrelic/node-newrelic/pull/4006)) ([45c61f3](https://github.com/newrelic/node-newrelic/commit/45c61f3624945553bfa5aac331c577255827f7bc))
|
|
55
|
+
* Upgraded `glob` to 13 ([#4008](https://github.com/newrelic/node-newrelic/pull/4008)) ([3053545](https://github.com/newrelic/node-newrelic/commit/3053545aa3c1ed673255887448b65f20137d670e))
|
|
56
|
+
* Upgraded `got` and `rimraf` to latest ([#4007](https://github.com/newrelic/node-newrelic/pull/4007)) ([b967593](https://github.com/newrelic/node-newrelic/commit/b9675938bfa0165b54f3df583577bfd36c70cdcd))
|
|
57
|
+
|
|
58
|
+
#### Tests
|
|
59
|
+
|
|
60
|
+
* 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))
|
|
61
|
+
* 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))
|
|
62
|
+
* 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))
|
|
63
|
+
* 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))
|
|
64
|
+
* 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))
|
|
65
|
+
|
|
66
|
+
### v14.0.0 (2026-05-18)
|
|
67
|
+
#### ⚠ BREAKING CHANGES
|
|
68
|
+
|
|
69
|
+
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/).
|
|
70
|
+
|
|
71
|
+
* Dropped support for Node.js 20
|
|
72
|
+
* Migrated `@apollo/sever` instrumentation from a plugin(`@newrelic/apollo-server-plugin`) to traditional instrumentation
|
|
73
|
+
* Removed Cross Application Tracing(CAT) functionality
|
|
74
|
+
* Removed support for License, Application, and Security Policies(LASP)
|
|
75
|
+
* Removed instrumentation for `koa-route`
|
|
76
|
+
* Removed instrumentation for `koa-router`
|
|
77
|
+
* Removed `shim.prefixRouteParameters` as the logic was previously moved to when a transaction ends
|
|
78
|
+
* Removed creating `MySQL Pool#query` segments
|
|
79
|
+
* Removed `shim.argsToArray`
|
|
80
|
+
* Updated minimum supported version of `@nestjs/cli` and `@nestjs/core` to `10.0.0`
|
|
81
|
+
* Updated minimum supported version of `next` to 14
|
|
82
|
+
* Updated minimum supported version of `bluebird` to `3.0.0`
|
|
83
|
+
* Updated minimum supported version of `mysql2` to `3.0.0`
|
|
84
|
+
* Updated minimum supported version for `cassandra-driver` to `4.0.0`
|
|
85
|
+
* Dropped support for `fastify` 3.x
|
|
86
|
+
* Updated `config.distributed_tracing.exclude_newrelic_header` to be set to `true` by default
|
|
87
|
+
|
|
88
|
+
#### Features
|
|
89
|
+
|
|
90
|
+
* Dropped support for `fastify` 3.x ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([720979b](https://github.com/newrelic/node-newrelic/commit/720979bccb65c93a143d1e069a32904bff78f02b))
|
|
91
|
+
* Dropped support for Node.js 20 ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([5306223](https://github.com/newrelic/node-newrelic/commit/530622314532e3c7eb4d8c3685e0b1974df61b8f))
|
|
92
|
+
* 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))
|
|
93
|
+
* Removed `shim.argsToArray` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([9183d29](https://github.com/newrelic/node-newrelic/commit/9183d29c456aba6ad003bc0a365c14d9b5d3044c))
|
|
94
|
+
* 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))
|
|
95
|
+
* Removed creating `MySQL Pool#query` segments ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([1d5a6dd](https://github.com/newrelic/node-newrelic/commit/1d5a6dde7f5c1280079cdca859cc5a2fc3121556))
|
|
96
|
+
* Removed Cross Application Tracing(CAT) functionality ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([a87ed4d](https://github.com/newrelic/node-newrelic/commit/a87ed4dbd3aad072de81475601844efebd8353ac))
|
|
97
|
+
* Removed instrumentation for `koa-route` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([40c10d9](https://github.com/newrelic/node-newrelic/commit/40c10d90fdebd08dba7bb8e99856def93093267a))
|
|
98
|
+
* Removed instrumentation for `koa-router` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([038ecc7](https://github.com/newrelic/node-newrelic/commit/038ecc749a0fd5d2cdd0ba6b5b0c9537f04a3208))
|
|
99
|
+
* 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))
|
|
100
|
+
* 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))
|
|
101
|
+
* 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))
|
|
102
|
+
* 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))
|
|
103
|
+
* 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))
|
|
104
|
+
* 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))
|
|
105
|
+
* 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))
|
|
106
|
+
|
|
107
|
+
#### Code refactoring
|
|
108
|
+
|
|
109
|
+
* 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))
|
|
110
|
+
* 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))
|
|
111
|
+
|
|
112
|
+
#### Documentation
|
|
113
|
+
|
|
114
|
+
* Updated compatibility report ([#3990](https://github.com/newrelic/node-newrelic/pull/3990)) ([f3bb380](https://github.com/newrelic/node-newrelic/commit/f3bb380770e575e1ef3600e6601ddbf944b189ea))
|
|
115
|
+
|
|
116
|
+
#### Miscellaneous chores
|
|
117
|
+
|
|
118
|
+
* 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))
|
|
119
|
+
* Updated production dependencies to the latest ([#3996](https://github.com/newrelic/node-newrelic/pull/3996)) ([b710bac](https://github.com/newrelic/node-newrelic/commit/b710bacff2231c8038b792ac4c7a570991566835))
|
|
120
|
+
|
|
121
|
+
#### Tests
|
|
122
|
+
|
|
123
|
+
* 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))
|
|
124
|
+
* Added prisma 7 tests ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([116ee9c](https://github.com/newrelic/node-newrelic/commit/116ee9cd006d378afba1922d8daa27e213d1f6ab))
|
|
125
|
+
* 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))
|
|
126
|
+
* Removed `@newrelic/test-utilities` ([#3980](https://github.com/newrelic/node-newrelic/pull/3980)) ([1751147](https://github.com/newrelic/node-newrelic/commit/1751147503c9ff971208c2977912d7298e9e923f))
|
|
127
|
+
* 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))
|
|
128
|
+
* 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))
|
|
129
|
+
* 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))
|
|
130
|
+
* 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))
|
|
131
|
+
* 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))
|
|
132
|
+
|
|
133
|
+
#### Continuous integration
|
|
134
|
+
|
|
135
|
+
* 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))
|
|
136
|
+
* 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))
|
|
137
|
+
* 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))
|
|
138
|
+
* 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))
|
|
139
|
+
|
|
75
140
|
### v13.20.0 (2026-05-12)
|
|
76
141
|
|
|
77
142
|
#### Features
|
package/README.md
CHANGED
|
@@ -62,34 +62,9 @@ To use New Relic's Node.js agent entails these three steps, which are described
|
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
## Next.js instrumentation
|
|
65
|
-
|
|
65
|
+
We recommend using the hybrid agent functionality to setup Next.js. Please read our [Next.js instrumentation with hybrid agent](https://docs.newrelic.com/docs/apm/agents/nodejs-agent/extend-your-instrumentation/nextjs-instrumentation) document for more information. The following example applications show how to load the `newrelic` hybrid agent instrumentation, inject browser agent, and deploying to Vercel:
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
Here are documents for more in-depth explanations about [transaction naming](./documentation/nextjs/transactions.md), and [segments/spans](./documentation/nextjs/segments-and-spans.md).
|
|
70
|
-
|
|
71
|
-
### Setup
|
|
72
|
-
Typically you are running a Next.js app with the `next` cli and you must load the agent via `NODE_OPTIONS`:
|
|
73
|
-
|
|
74
|
-
```sh
|
|
75
|
-
NODE_OPTIONS='-r newrelic' next start
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
If you are having trouble getting the `newrelic` package to instrument Next.js, take a look at our [FAQs](./documentation/nextjs/faqs/README.md).
|
|
79
|
-
|
|
80
|
-
### Next.js example projects
|
|
81
|
-
The following example applications show how to load the `newrelic` instrumentation, inject browser agent, and handle errors:
|
|
82
|
-
|
|
83
|
-
* [Pages Router example](https://github.com/newrelic/newrelic-node-examples/tree/9415503f3bd78fa5d87a7214596d51c946199474/nextjs/nextjs-legacy)
|
|
84
|
-
* [App Router example](https://github.com/newrelic/newrelic-node-examples/tree/9415503f3bd78fa5d87a7214596d51c946199474/nextjs/nextjs-app-router)
|
|
85
|
-
|
|
86
|
-
### Custom Next.js servers
|
|
87
|
-
|
|
88
|
-
If you are using next as a [custom server](https://nextjs.org/docs/advanced-features/custom-server), you're probably not running your application with the `next` CLI. In that scenario we recommend running the Next.js instrumentation as follows.
|
|
89
|
-
|
|
90
|
-
```sh
|
|
91
|
-
node -r newrelic your-program.js
|
|
92
|
-
```
|
|
67
|
+
* [App Router example](https://github.com/newrelic/newrelic-node-examples/tree/9fa74c516926014fa33758cbd6e3737334ed4f98/nextjs/nextjs-app-router)
|
|
93
68
|
|
|
94
69
|
## ECMAScript Modules
|
|
95
70
|
|
|
@@ -136,7 +111,7 @@ We support the following custom instrumentation API methods in ES module apps:
|
|
|
136
111
|
* `newrelic.instrumentMessages`
|
|
137
112
|
* `newrelic.instrumentWebframework`
|
|
138
113
|
|
|
139
|
-
Note that
|
|
114
|
+
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
115
|
|
|
141
116
|
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
117
|
|
|
@@ -148,10 +123,6 @@ For more information on getting started, [check the Node.js docs](https://docs.n
|
|
|
148
123
|
|
|
149
124
|
There are modules that can be installed and configured to accompany the Node.js agent:
|
|
150
125
|
|
|
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
126
|
* [`@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
127
|
|
|
157
128
|
## Usage
|