Releases: pinpoint-apm/pinpoint-node-agent
v1.2
[1.2.0] - 2025-08-01
Added
-
[#344] Express 5 Support: Extended version compatibility to support Express 5.x (>=4.0.0 <6)
- Native async/await route handlers support with improved error handling
- Automatic Promise error catching without manual try/catch blocks
- Enhanced testing infrastructure with npm aliases for multi-version Express testing (express4/express5)
Express 5 Async/Await Example:
const express = require('express') const app = express() // Express 5: Native async/await support with automatic error handling app.get('/users/:id', async (req, res) => { // No try/catch needed - Express 5 automatically catches Promise rejections const user = await getUserFromDatabase(req.params.id) // May throw/reject const profile = await getUserProfile(user.id) // May throw/reject res.json({ user, profile }) }) // Express 4: Required manual error handling app.get('/users-old/:id', (req, res, next) => { getUserFromDatabase(req.params.id) .then(user => getUserProfile(user.id)) .then(profile => res.json({ user, profile })) .catch(next) // Manual error handling required }) async function getUserFromDatabase(id) { if (!id) throw new Error('User ID required') return { id, name: 'User ' + id } } async function getUserProfile(id) { return { preferences: 'dark-mode', notifications: true } }
Changed
1.1.0
1.0.1
v1.0.0
[1.0.0] - 2025-05-22
Added
-
[#214] Support Active Request
-
[#290] Added support for displaying the Agent Name in the Inspector. The Agent Name, configurable via the
PINPOINT_AGENT_NAME
environment variable, is now visible within the Inspector. This allows for easier identification and management of individual agents within the Pinpoint system. -
[#265] Support MongoDB
-
[#216] Fetch API with Undici in Node.js
- Since the Undici library requires Node.js >=20.18.1, please ensure your application’s Node.js version is compatible before adopting fetch or undici.
-
[#317] Warning message Warning: Collector returned 13 INTERNAL error. Too much Span data may be sent. Try increasing PINPOINT_SAMPLING_RATE to reduce traffic.
Fixed
- [#291] Resolved an issue where the Pinpoint Node Agent would occasionally disappear from the Inspector. This fix ensures that the Agent remains consistently visible in the Inspector.
- [#303] fix: fix remote address fn (Thanks @YangJonghun)
- [#309]PINPOINT_TRACE_EXCLUSION_URL_PATTERN not respected
⚠️ Breaking Changes
- The Pinpoint Node.js Agent can use Node above v18 or higher updated: The minimum required Node.js version has been updated from
v14
tov18
. The Node.js fetch API now includes a version check. If the Node.js runtime version is below v18, an error will be thrown to prevent unsupported usage. - AgentId no longer required: The
AgentId
field is now optional. If anAgentId
is not provided, it will be automatically generated. This change may affect systems or scripts that previously relied on manually setting theAgentId
. - Agent Name Added: The
Agent Name
field is now a new optional configuration and can be set as a user-defined value with a maximum length of 255 characters. Developer can optionally use the pod name or any other identifier as the Agent Name. Ensure that your configuration aligns with this new behavior. - Added a waring message when the PINPOINT_SAMPLING_RATE is set too low, causing excessive span data to be sent to the collector. If the collector cannot handle the data and return an error to Pinpoint Node agent, a warning is now logged advising users to increase the PINPOINT_SAMPLING_RATE.
v1.0.0-next.2
Added
-
[#214] Support Active Request
-
[#290] Added support for displaying the Agent Name in the Inspector. The Agent Name, configurable via the
PINPOINT_AGENT_NAME
environment variable, is now visible within the Inspector. This allows for easier identification and management of individual agents within the Pinpoint system. -
[#265] Support MongoDB
-
[#216] Fetch API with Undici in Node.js
- Since the Undici library requires Node.js >=20.18.1, please ensure your application’s Node.js version is compatible before adopting fetch or undici.
Fixed
- [#291] Resolved an issue where the Pinpoint Node Agent would occasionally disappear from the Inspector. This fix ensures that the Agent remains consistently visible in the Inspector.
- [#303] fix: fix remote address fn (Thanks @YangJonghun)
⚠️ Breaking Changes
- The Pinpoint Node.js Agent can use Node above v18 or higher updated: The minimum required Node.js version has been updated from
v14
tov18
. The Node.js fetch API now includes a version check. If the Node.js runtime version is below v18, an error will be thrown to prevent unsupported usage. - AgentId no longer required: The
AgentId
field is now optional. If anAgentId
is not provided, it will be automatically generated. This change may affect systems or scripts that previously relied on manually setting theAgentId
. - Agent Name Added: The
Agent Name
field is now a new optional configuration and can be set as a user-defined value with a maximum length of 255 characters. Developer can optionally use the pod name or any other identifier as the Agent Name. Ensure that your configuration aligns with this new behavior.
v1.0.0-next.1
Added
-
[#214] Support Active Request
-
[#290] Added support for displaying the Agent Name in the Inspector. The Agent Name, configurable via the
PINPOINT_AGENT_NAME
environment variable, is now visible within the Inspector. This allows for easier identification and management of individual agents within the Pinpoint system. -
[#265] Support MongoDB
-
[#216] Fetch API with Undici in Node.js
- Since the Undici library requires Node.js >=20.18.1, please ensure your application’s Node.js version is compatible before adopting fetch or undici.
Fixed
- [#291] Resolved an issue where the Pinpoint Node Agent would occasionally disappear from the Inspector. This fix ensures that the Agent remains consistently visible in the Inspector.
⚠️ Breaking Changes
- The Pinpoint Node.js Agent can use Node above v18 or higher updated: The minimum required Node.js version has been updated from
v14
tov18
. The Node.js fetch API now includes a version check. If the Node.js runtime version is below v18, an error will be thrown to prevent unsupported usage. - AgentId no longer required: The
AgentId
field is now optional. If anAgentId
is not provided, it will be automatically generated. This change may affect systems or scripts that previously relied on manually setting theAgentId
. - Agent Name Added: The
Agent Name
field is now a new optional configuration and can be set as a user-defined value with a maximum length of 255 characters. Developer can optionally use the pod name or any other identifier as the Agent Name. Ensure that your configuration aligns with this new behavior.
v0.8.7
Added
-
[#290] Added support for displaying the Agent Name in the Inspector. The Agent Name, configurable via the
PINPOINT_AGENT_NAME
environment variable, is now visible within the Inspector. This allows for easier identification and management of individual agents within the Pinpoint system.
Fixed
- [#291] Resolved an issue where the Pinpoint Node Agent would occasionally disappear from the Inspector. This fix ensures that the Agent remains consistently visible in the Inspector.
⚠️ Breaking Changes
- The Pinpoint Node.js Agent can use Node above v14 or higher updated: The minimum required Node.js version has been updated from
v10
tov14
. This change was made because the CI environment no longer supports testing on Node.jsv10
andv12
. As a result, compatibility with these older versions cannot be guaranteed. Please ensure your environment is running Node.jsv14
or higher. - AgentId no longer required: The
AgentId
field is now optional. If anAgentId
is not provided, it will be automatically generated. This change may affect systems or scripts that previously relied on manually setting theAgentId
. - Agent Name Added: The
Agent Name
field is now a new optional configuration and can be set as a user-defined value with a maximum length of 255 characters. Developer can optionally use the pod name or any other identifier as the Agent Name. Ensure that your configuration aligns with this new behavior.