Releases: newrelic/go-agent
Release 3.35.1
Hotfix Release
This release was developed to quickly patch an issue with the registration of the New Relic Security Agent.
Fixed
- Security Agent Bug Hotfix: Do not update the security agent unti the go agent has completed its connect process PR
- Faster Trace ID generation
- Community Member @ankon contributed this change
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.35.0
3.35.0
Added
- Enhanced security features (adds support for secure cookie even reporting)
- Enables sharing of response headers with the csec-security-agent.
- Now uses
error.Error()
value for log attributes- Thanks to @ejsolberg for the PR
- nramqp integration cloud services entity relationship changes
- Enhances url support for amqp server connections
Fixed
- nrawssdk-v2 integration examples of
AppendMiddlewares
corrected. - Zerolog integration correction to example program
import
statement.- Fixes issue #950
- Zerolog integration JSON parser bug caused a runtime panic in some circumstances.
- Fixes issue #955
- Fixed handling of
panic(nil)
. This was made necessary by changes introducted to Go as of 1.21. - A race condition was possible due to code level metrics accesses to a contended memory address.
- Integer size issues flagged when converting unsigned to signed values.
- Workflow corrections for CI processes in github.
- Fixes issue #946
- Updated to use latest grpc and protobuf versions.
- Fixes memory stat collection for
GOOS=js
.
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.34.0
3.34.0
Added
- logcontext-v2/nrlogrus can now collect user attributes
- logcontext-v2/nrslog can now collect user attributes
- use slog to manage Go agent logs with the new nrslog library
- use zerolog go manage Go agent logs with the new nrzerolog library
- support for
RegisterTLSConfig
in nrmysql
Fixed
- logcontext-v2/nrlogrus will still print user logs without isses if the Go agent has already been shut down.
- switched protobuff to google.golang.org/protobuff in modfile
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.33.1
3.33.1
Added
- Increased max span events default limit to 2,000 to align with agent specifications
- Added support for gRPC API endpoints and HTTP status codes in the nrsecurity integration
- Added feature to detect route of an incoming request for all supported frameworks in the nrsecurity integration.
- Updated support for latest New Relic Security Agent release.
Fixed
- Fixed an issue with nrzap attributes not properly being forwarded
- Improved comments on nropenai
- Fixed a minor bug relating to ExpectStatusCodes in
app_run.go
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.33.0
3.33.0
Added
- Support for Zap Field Attributes
- Updated dependency on csec-go-agent in nrsecurityagent
Fixed
- Fixed an issue where running containers on AWS would falsely flag Azure Utilization
- Fixed a typo with nrecho-v3
- Changed nrslog example to use a context driven handler
These changes increment the affected integration package version numbers to:
- nrsecurityagent v1.3.1
- nrecho-v3 v1.1.1
- logcontext-v2/nrslog v1.2.0
- logcontext-v2/nrzap v1.2.0
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.32.0
3.32.0
Added
- Updates to support for the New Relic security agent to report API endpoints.
- Adds new wrapper function for the
nrecho
,nrgin
, andnrgorilla
integrations.
- Adds new wrapper function for the
- Handler to take New Relic transaction data from context automatically when using
nrslog
integration (thanks, @adomaskizogian!)
Fixed
- Adds missing license file to the
nropenai
integration. - Changes
*bedrockruntime.Client
parameters innrawsbedrock
integration to use a more general interface type, allowing the use of custom types which extend the bedrock client type. - Fixes
pgx5
pool example - Updated unit tests to check
Transaction.Ignore
- Updated
nrzap
unit tests to add background logger sugared test case.
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.31.0
3.31.0
Added
- Integration packages to instrument AI model invocations (see below).
- New package nrawsbedrock v1.0.0 introduced to instrument calls to Amazon Bedrock Runtime Client API
InvokeModel
andInvokeModelWithResponseStream
calls. Also provides a simple one-step method which invokes stream invocations and harvests the response stream data for you. - New package nropenai v1.0.0 introduced to instrument calls to OpenAI using
NRCreateChatCompletion
,NRCreateChatCompletionStream
, andNRCreateEmbedding
calls. - Dockerfile in the
examples/server
sample app which facilitates the easy creation of a containerized ready-to-run sample app for situations where that makes testing easier.
- New package nrawsbedrock v1.0.0 introduced to instrument calls to Amazon Bedrock Runtime Client API
Fixed
.Ignore
was not ignoring transaction. Fixes Issue #845.- Added nil error check in wrap function. Fixes Issue #862.
WrapBackgroundCore
background logger was not sending logs to New Relic. Fixes Issue #859.- Corrected pgx5 integration example which caused a race condition. Thanks to @WillAbides! Fixes Issue #855.
- Updated third-party library versions due to reported security or other supportability issues:
github.com/jackc/pgx/v5
to 5.5.4 innrpgx5
integrationgoogle.gopang.org/protobuf
to 1.33.0 innrmicro
andnrgrpc
integrationsgithub.com/jackc/pgx/v4
to 4.18.2 innrpgx
integration
AI Monitoring Configuration
New configuration options are available specific to AI monitoring. These settings include:
AIMonitoring.Enabled
, configured viaConfigAIMonitoring.Enabled(
bool)
[defaultfalse
]AIMonitoring.Streaming.Enabled
, configured viaConfigAIMonitoringStreamingEnabled(
bool)
[defaulttrue
]AIMonitoring.Content.Enabled
, configured viaConfigAIMonitoringContentEnabled(
bool)
[defaulttrue
]
AI Monitoring Public API Methods
Two new AI monitoring related public API methods have been added, as methods of the newrelic.Application
value returned by newrelic.NewApplication
:
AI Monitoring
New Relic AI monitoring is the industry’s first APM solution that provides end-to-end visibility for AI Large Language Model (LLM) applications. It enables end-to-end visibility into the key components of an AI LLM application. With AI monitoring, users can monitor, alert, and debug AI-powered applications for reliability, latency, performance, security and cost. AI monitoring also enables AI/LLM specific insights (metrics, events, logs and traces) which can easily integrate to build advanced guardrails for enterprise security, privacy and compliance.
AI monitoring offers custom-built insights and tracing for the complete lifecycle of an LLM’s prompts and responses, from raw user input to repaired/polished responses. AI monitoring provides built-in integrations with popular LLMs and components of the AI development stack. This release provides instrumentation for OpenAI
and Bedrock.
When AI monitoring is enabled with ConfigAIMonitoringEnabled(true)
, the agent will now capture AI LLM related data. This data will be visible under a new APM tab called AI Responses. See our AI Monitoring documentation for more details.
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.30.0
3.30.0
Added
- Updated the depencency on nrsecurityagent to 1.0.0.
- Added new integration, logcontext-v2/nrslog, which instruments logging via the new slog library.
Fixed
- Redacts license keys from error reporting.
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.29.1
3.29.1
Added
- Added Dockerized Unit Tests for Github Actions (internal build support)
Fixes
- Updated version of New Relic Security Agent (enables bug fixes released in that agent code for use with the Go Agent).
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
Release 3.29.0
3.29.0
Added
- Security agent integration
nrsecurityagent
now reports security configuraiton information along with the overall Go Agent configuration values. (Updatesnrsecurityagent
to v1.2.0.) - Code-Level Metrics collection efficiency enhancement allows user callback function for as-needed (and just-in-time) evaluation of custom code locations rather than up-front location overrides, via the
WithCodeLocationCallback
CLM option. DeprecatesWithCodeLocation
option (although the latter function is still supported for compatibility with existing code). - Added extended synthetics support for new
X-Newrelic-Synthetics-Info
HTTP headers. - Documentation fixes.
- Removed deprecated
ROADMAP.md
file.
Support statement
We use the latest version of the Go language. At minimum, you should be using no version of Go older than what is supported by the Go team themselves.
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.