Notes
- Introduces support for Ruby Lambda runtime. 
- Adds tags for logs, and introduces environment variables to configure custom attributes or other metadata when sending logs directly using extension. Use - NR_TAGS&- NR_ENV_DELIMITERenvironment variables similar to the- log-ingestion-lambdato add metadata to the logs.
- Removes debug logs which get printed for each log line. Modifies confusing message log - mainLoop: blocking is confusing customer and adds payloadSize to the log message - Telemetry client error: %s, payload size: %d bytes".
- Updates on .NET Extension example to use newly released New Relic .NET Lambda layer instead of OpenTracing. 
- Updates on readme build step. Updated target for make command, example - make dist-x86_64and- make dist-arm64.
Fixed issue
- Fixed NR_EXTlog lines. The extension will not print anyNR_EXTline whenlogsEnabledis false, including the startup line #226.
Notes
- Adds local testing for Extension. Local testing is enabled by setting - NEWRELIC_LOCAL_TESTINGto- true. Currently it supports Python runtime only, and generates Lambda layers for- x86and- armarchitectures using- publish.shand invokes the test Lambdas using- test.shscript.
- Removes - SSM parameter storecalls. Extension has sanitycheck calls to- SSM storethat adds to production quotas for customers. Call- SSM storeonly when- NEW_RELIC_LICENSE_KEY_SSM_PARAMETER_NAMEvar is set to- true.
- Adds timeout for calls to - Secrets Manager&- SSM Parameter Store.
- Gives priority to - NEW_RELIC_LICENSE_KEYand bypass calls to- Secrets Managerif- NEW_RELIC_LICENSE_KEYis set.
Fixed issue
- Resolved Extension warning messages for Node.js runtime with ESM scripts. Previously, correctly configuring newrelic-lambda-wrapper.handlerandNEW_RELIC_LAMBDA_HANDLERdid not eliminate warning message for the Node.js ESM scripts. The solution involved usingNEW_RELIC_USE_ESMto detect ESM scripts #209.
Fixed issues
- Fixed crashing on closed pipe caused by race condition during extension startup. 
- Fixed crashing on write to closed channel due to race condition during extension shutdown. 
- Fixed handler checks for Docker and ESM JS environments. 
- Minor version bump for Go grpc, Go net, and JAVA gson. 
Notes
- Includes additional debugging prints for troubleshooting the logserver logic.
Fixed issue
- Fixed a bug that used to crash the Extension when a single telemetry payload exceeds 1Mb after compression.
Fixed issues
- Updated the SAM template for Python to use the latest resources for Python 3.10. 
- Added additional debug logging and simplified the code for sending log payloads to New Relic. 
Notes
- Added support for handlers with the - .mjsfile extension.
- Added support to allow New Relic license key to be fetched from an SSM parameter. 
Fixed issue
- Bumped dependencies to be compatible with the latest Golang 1.19 features.
Notes
- HTTP timeout is increased to 2.4 seconds. 
- Code cleanup around timeout logic. 
Notes
- Adds support to customize the duration of retry attempts to send payload data to New Relic using the environmental variable NEW_RELIC_DATA_COLLECTION_TIMEOUT. This gives you more control over the expected runtime of your application. Note that the extension may need to send more than one payload. The value of this timeout can be any valid Golang duration string. For example, 10s = 10 seconds; 500ms = 500 milliseconds; 1m = 1 minute. See https://pkg.go.dev/maze.io/x/duration#ParseDuration for more info. The default timeout value is 10s.
Notes
- Prevents panic occurrings when request id map is accessed concurrently.