- Revert "refactor: Updated aws sdk instrumentation to construct specs at instrumentation (#259)" (#286) (87678d4)
- This will allow customers using
newrelic
<11.11.0
to no longer crash when usingaws-sdk
v2 or v3.
- This will allow customers using
- Removed
use_new_release
input from prepare release workflow (#283) (d63bdd2) - Removed changelog.json file (#281) (e4ac38f)
- deps-dev: bump follow-redirects from 1.15.5 to 1.15.6 (#277) (ce0d324)
- Removed unused attributes on LlmChatCompletionSummary and LlmEmbedding (#278) (c1a9978)
- Updated test-utils dependency (#279) (5b037c6)
- Updated CI workflows to run
npm ci
instead ofnpm install
to catch package-lock.json being out of sync (#276) (87b1f07)
- Added ability to disable capturing of content in LLM events
ai_monitoring.record_content.enabled
(#268) (a36050e) - Added llm.tokenCountCallback support to Bedrock (#270) (d2af144)
- Changed token_count to only use tokenCountCallback (#272) (a9dbf26)
- Updated Bedrock entities with token_count (#269) (f6a86cb)
- Added ability to disable instrumenting streaming via
ai_monitoring.streaming.enabled
=false
(#257) (9b5abd6)
- moved mock server to v3 so deps can be installed during versioned test run (#250) (33bf934)
- Removed storing message, request and completion id to be used to post LlmFeedbackEvents (#261) (0ab4890)
- Updated aws sdk instrumentation to construct specs at instrumentation (#259) (94de420)
- Apply LLM updates based on specification changes (#253) (a32f0bd)
- Refactor LLM user added metadata (#256) (c2a0314)
- Replace inlined bedrock server with test-utils version (#251) (94a2562)
- Added Bedrock LLM streamed response handling (#245) (fb1911a)
- Added initial objects for LLM events (#236) (0543609)
- Added instrumentation for InvokeModelCommand (#239) (42d04ff)
- Added LLama2 support to LLM events and mock server (#238) (31dad9c)
- Added llm attribute to all transactions that contain llm spans for bedrock (#246) (3032545)
- Added ability to store feedback ids by request id (#240) (0bb4ffc)
- Added handling errors by adding additional attributes to the transaction errors. (#244) (e9584b4)
- Record metric on every InvokeModelCommand (#242) (0766bc6)
- Added a serialize method to LlmEvent to remove the complex objects before enqueuing to the custom event aggregator (#241) (993673e)
- Removed aws_bedrock_instrumentation feature flag as feature is ready (#248) (e2dc0ad)
- Added missing test files to config (#233) (e4b504c)
- Added mock server for Bedrock API (#230) (c1e4c4c)
- Pinned peer deps of @aws-sdk/util-dynamodb and @aws-sdk/client-dynamodb so the older versions of @aws-sdk/lib-dynamodb pass (#231) (0a5773b)
- Resolved issue with testing in main repo (#234) (e5294ed)
- Fixed misspelling in prepare-release.yml (#247) (783e474)
- Updated prepare-release to use conventional commit based releases. (#232) (5cbb649)
- Updated aws-sdk v3 instrumentation to only call
shim.setLibrary
andshim.setDatastore
once instead of on every call to SQS, SNS, and DynamoDB. - Updated axios from 0.21.4 to 1.6.0
- Updated ancestor dependency newrelic from 11.0.0 to 11.5.0
- Removed
newrelic
as peer dependency since this package only gets bundled with agent. - Bumped @babel/traverse from 7.17.3 and 7.20.5 to 7.23.2
- Updated v3 smithy-client instrumentation to properly handle all types of clients for DynamoDB, SQS, and SNS.
-
BREAKING: Removed support for Node 14.
-
Added support for Node 20.
-
Simplified instrumentation to only register relevant v3 middleware once in the
send
method of the SmithyClient. -
Updated vulnerable dependencies:
- word-wrap from 1.2.3 to 1.2.4.
- protobufjs from 7.2.3 to 7.2.4.
-
BREAKING: Removed ability to run
@newrelic/aws-sdk
as a standalone module. This package gets bundled with agent and no longer can run as a standalone in v10 of the newrelic agent. -
Fixed instrumentation in AWS 3.363.0.
-
Updated README links to point to new forum link due to repolinter ruleset change.
- Assigned shimName to v3 instrumentation hooks to avoid duplicate middleware crashes.
- Fixed issue where agent instrumentation caused unusable presigned urls to be generated by
@aws-sdk/s3-request-presigner
-
Updated name of header in
NewRelicHeader
middleware to avoid crashing in versions >= 3.290.0 -
Updated README header image to latest OSS office required images.
-
Added lockfile checks to CI workflow to prevent malicious changes.
-
Fixed a crash when using versions >3.192.0 of AWS sdk v3 where a customer would see an error of
error: TypeError: config.endpoint is not a function
. -
Updated versioned tests to exclude 3.194.0-3.196.0 from tests because they contain breaking changes.
- Updated DynamoDB instrumentation to default port to 443 when not specified from the endpoint.
- BREAKING Removed support for Node 12.
The minimum supported version is now Node v14. For further information on our support policy, see: https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.
-
Added support for Node 18.x
-
Updated the minimum version of the newrelic agent peer dependency to be
>=8.7.0
. -
Removed usage of
async
module. -
Bumped tap to ^16.0.1.
-
Resolved several dev-dependency audit warnings.
-
Removed versioned tests from npm artifact.
-
Fixed link to discuss.newrelic.com in README
-
Updated newrelic from 8.7.0 to 8.7.1.
-
Resolved several dev-dependency audit warnings.
-
Updated
add-to-board
to use org levelNODE_AGENT_GH_TOKEN
- Fixed issue where v3 instrumentation checks against agent version would result in a logged error and fail to apply instrumentation.
-
Added support for AWS SDK v3 🎉
-
Instrumented the following packages:
@aws-sdk/client-sns
,@aws-sdk/client-sqs
,@aws-sdk/client-dynamodb
,@aws-sdk/lib-dynamodb
. -
Captured generic AWS requests by instrumenting the
@aws-sdk/smithy-client
.
-
-
Required agent version to be
>=8.7.0
to register the instrumentation to support AWS SDK v3 -
Added workflow to automate preparing release notes by reusing the
newrelic/node-newrelic/.github/workflows/prep-release.yml@main
workflow from agent repository. -
Added job to automatically add issues/pr to Node.js Engineering board
-
Upgraded
@newrelic/test-utilities
to enable running 1 file through versioned runner -
Added a pre-commit hook to check if package.json changes and run oss third-party manifest and oss third-party notices. This will ensure the third_party_manifest.json and THIRD_PARTY_NOTICES.md are up to date.
-
Added a pre-commit hook to run linting via husky
-
Added @newrelic/eslint-config to rely on a centralized eslint ruleset.
-
Upgraded setup-node CI job to v2 and changed the linting node version to lts/* for future proofing
- Added versioned tests to the files list within package.json
-
BREAKING Removed support for Node 10.
The minimum supported version is now Node v12. For further information on our support policy, see: https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.
-
Added support for Node 16.
-
Added files list to package.json instead of using
.npmignore
for module publishing. -
Bumped
@newrelic/test-utilities
to ^5.1.0. -
Bumped
tap
to ^15.0.9.
- Properly instrument dynamodb batchGet, batchWrite, transactGet, and transactWrite calls as database operations instead of External service calls.
- Removed Node v8.x from CI.
- Added Node v14.x to CI.
- Update README for consistency with New Relic OSS repositories
- Remove Code of Conduct doc and link to New Relic org Code of Conduct in Contributing doc.
- Updated to Apache 2.0 license.
- Bumped minimum peer dependency (and dev dependency) of newrelic (agent) to 6.11 for license matching.
- Added third party notices file and metadata for dependencies.
- Updated README with more detail.
- Added issue templates for bugs and enhancements.
- Added code of conduct file.
- Added contributing guide.
- Added pull request template.
- Migrated CI to GitHub Actions.
- Added copyright headers to all source files.
- Bumped @newrelic/test-utils to 4.0.0
- Added additional items to .npmignore.
- Removed AWS servers as dependency for versioned tests. Enables versioned test to run successfully for forked repo PRs.
- Fixed issue where instrumentation would produce a
TypeError: Cannot read property 'lastIndexOf' of undefined
error if a program calledsqs.receiveMessage
without aQueueUrl
parameter.
-
Fixed issue where instrumentation would crash pulling
host
andport
values whenAmazonDaxClient
was used as the service forDocumentClient.
AmazonDaxClient
requests will report 'unknown' forhost
andport
attributes. Other oddities may still exist until DAX officially supported.
- Bumps DynamoDB tap.test timeout to avoid versioned test terminations when table creates are slow.
-
Adds official support for API promise calls. For example:
await ddb.createTable(params).promise()
.- Fixed issue where external spans/segments would be incorrectly created in addition to more specific types such as datastore spans/segments. This also resulted in missing attributes from the more specific spans/segments.
- Fixed issue where spans/segments would not have timing update appropriately upon promise resolution. These would show sub-millisecond execution time as the time captured was the execution of the initial function not accounting for async execution.
-
Adds check before applying instrumentation to avoid breaking for very old versions of
aws-sdk
.
-
BREAKING Removed support for Node 6, 7, and 9.
The minimum supported version is now Node v8. For further information on our support policy, see: https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.
-
Adds support for DocumentClient API calls to be captured as Datastore segments/metrics.
Supported calls are:
get
,put
,update
,delete
,query
andscan
. These will be named according to the underlying DynamoDB operation that is executed. For example:get
will be namedgetItem
. DocumentClient calls not listed above will still be captured as Externals. -
Fixed issue that would prevent multiple DynamoDB instances from being instrumented.
-
Replaced
database_name
withcollection
in DynamoDB attributes. -
Moved
name
property to the root of DynamoDB segment description object.Previously, segments were being incorrectly named
"Datastore/operation/DynamoDB/undefined"
, due to the operation name being misplaced.
-
Added instrumentation for SNS
publish
API. -
Added instrumentation for SQS
sendMessage
,sendMessageBatch
andreceiveMessageBatch
APIs.
-
Added instrumentation for services to be recorded as HTTP externals.
- APIGateway
- ELB
- ElastiCache
- Lambda
- RDS
- Redshift
- Rekognition
- S3
- SES
-
Added instrumentation for DynamoDB.