newrelic-kubernetes-operator
newrelic-kubernetes-operator copied to clipboard
chore(deps): Update module github.com/newrelic/go-agent/v3 to v3.34.0
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
github.com/newrelic/go-agent/v3 | v3.7.0 -> v3.34.0 |
Release Notes
newrelic/go-agent (github.com/newrelic/go-agent/v3)
v3.34.0
: 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.
v3.33.1
: 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.
v3.33.0
: 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.
v3.32.0
: 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.
v3.31.0
: 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
integration -
google.gopang.org/protobuf
to 1.33.0 innrmicro
andnrgrpc
integrations -
github.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.
v3.30.0
: 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.
v3.29.1
: 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.
v3.29.0
: 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.
v3.28.1
: Release 3.28.1
3.28.1
Added
Added Supportability Metrics to nrfasthttp
(brings nrfasthttp
version to v1.0.1).
Always Link Transaction IDs to traces regardless of whether Distributed Tracing is enabled or not
Fixed
Fixed an issue where nil
Request.Body
could be set to non-nil
request.Body
with zero length when the security agent is enabled
Security
More Secure URL Redaction
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.
v3.28.0
: Release 3.28.0
3.28.0
Fixed
- Bumped gRPC from 1.54.0 -> 1.56.3 in the following packages /v3/integrations/nrgrpc, /v3/, /v3/integrations/nrgrpc
- Bumped golang.org/x/net from 0.8.0 -> 0.17.0 in package /v3/integrations/nrgraphqlgo
- Fixed issue where nrfasthttp would not properly register security agent headers
- Move fasthttp instrumentation into a new integration package, nrfasthttp
- Fixed issue where usage of io.ReadAll() was causing a memory leak
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.
v3.27.0
: Release 3.27.0
3.27.0
Added
- Added Support for getting Container ID's from cgroup v2 docker containers
- A new instrumentation package for RabbitMQ with distributed tracing support: nramqp
Fixed
- Unit tests repairs and improvements
- Removed deprecated V2 code from the repository. The support timeframe for this code has expired and is no longer recommended for use.
- Bumped github.com/graphql-go/graphql from 0.7.9 to 0.8.1
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.
v3.26.0
: Release 3.26.0
3.26.0
Added
- Extended implementation of the
nrpgx5
integration (now v1.2.0). This instruments Postgres database operations using thejackc/pgx/v5
library, including the direct access mode of operation as opposed to requiring code to use the library compatibly with the standarddatabase/sql
library.
Corrections
- See below for revised release notes for the 3.25.1 and the retracted 3.25.0 releases. We have clarified what was released at those versions; see also the revised notes for 3.22.0 and 3.22.1 for the same reason.
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.
v3.25.1
: Release 3.25.1
3.25.1
- Corrects an error in the release process for 3.25.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.
v3.25.0
v3.24.1
: Release 3.24.1
3.24.1
Fixed
-
Performance improvement around calls to security agent. In some cases, unnecessary setup operations were being performed even if there was no security agent present to use that. These are now conditional on the security agent being present in the application (note that this will enable the setup code if the security agent is present in the application, regardless of whether it's currently enabled to run). This affects:
- Base agent code (updated to v3.24.1)
-
nrmongo
integration (updated to v1.1.1)
-
Fixed unit tests for integrations which were failing because code level metrics are enabled by default now:
-
nrawssdk-v1
(updated to v1.1.2) -
nrawssdk-v2
(updated to v1.2.2) -
nrecho-v3
(updated to v1.0.2) -
nrecho-v4
(updated to v1.0.4) -
nrhttprouter
(updated to v1.0.2) -
nrlambda
(updated to v1.2.2) -
nrnats
(updated to v1.1.5) -
nrredis-v8
(updated to v1.0.1)
-
Changed
- Updated all integration
go.mod
files to reflect supported Go language versions.
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 (i.e., Go versions 1.19 and later are supported).
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
v3.24.0
: Release 3.24.0
3.24.0
Added
- Turned Code Level Metrics on by default
- Added new test case to check if the nrsecurityagent is enabled in the gRPC integration
- Added new test case for InfoInterceptorStatusHandler function in the gRPC integration
- Added Name() method for Transaction values to get the current transaction name.
Fixed
- Bumped gin from 1.9.0 to 1.9.1
- Bumped gosnowflake from 1.6.16 to 1.6.19
- Bumped nrsecurityagent to 1.1.0 with improved reporting of gRPC protocol versions.
- Fixed a bug where expected errors weren't being properly marked as expected on new relic dashboards
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 (i.e., Go versions 1.19 and later are supported).
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
v3.23.1
: Release 3.23.1
Added
- Added newrelic.ConfigDatastoreRawQuery(true) configuration option to allow raw SQL queries to appear in new relic dashboards
- Added license file to nrsecurityagent integration
- Added enriched serverless debug logging for faster debugging
Fixed
- Removed timeouts on two tests in trace_observer_test.go
- Bumped nrnats test to go1.19
- Bumped graphql-go to v1.3.0 in the nrgraphgophers integration
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 (i.e., Go versions 1.19 and later are supported).
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
v3.23.0
: Release 3.23.0
3.23.0
Added
- Adds the
nrsecurityagent
integration for performing Interactive Application Security Testing (IAST) of your application. - This action increments the version numbers of the following integrations:
-
nrgin
v1.2.0 -
nrgrpc
v1.4.0 -
nrmicro
v1.2.0 -
nrmongo
v1.2.0 -
nrsqlite3
v1.2.0
-
To learn how to use IAST with the New Relic Go Agent, check out our documentation.
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 (i.e., Go versions 1.19 and later are supported).
See the Go agent EOL Policy for details about supported versions of the Go agent and third-party components.
v3.22.1
3.22.1
- Corrects an error in the release process for 3.22.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.
v3.22.0
3.22.0
Added
- New Apache Kafka integration nrsarama that instruments the Sarama library https://github.com/Shopify/sarama
- New logs in context integration logcontext-v2/nrzap that instruments the zap logging framework https://github.com/uber-go/zap
- Integration tests created for the nrlogrus and nrzapintegrations
- Updated integration tests for nrlogxi
Security Fixes
- Bumped sys package to v0.1.0 in the nrmssql integration
- Bumped net package to v0.7.0 in the nrgrpc, nrmssql , and nrnats integrations
- Bumped aws-sdk-go package to v1.34.0 in the nrawssdk-v1 integration
- Bumped text package to v0.3.8 in the nrnats, and nrpgx integrations
- Bumped gin package to v1.9.0 in the nrgin integration
- Bumped crypto package to v0.1.0 in the nrpgx integration
- Fixed integration tests in nrnats package not correctly showing code coverage
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.
v3.21.1
3.21.1
Added
- nrredis-v9: automatic instrumentation for Go redis v9
Fixed
- Agent now requires Go version 1.18 or higher.
- Removed support for Go version 1.17. This version of Go is outside of the support window.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least 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. New
v3.21.0
3.21.0
Added
- New errors inbox features:
- User tracking: You can now see the number of users impacted by an error group. Identify the end user with the setUser method.
- Error fingerprint: Are your error occurrences grouped poorly? Set your own error fingerprint via a callback function.
- Ability to disable reporting parameterized query in nrpgx-5
Fixed
- Improved test coverage for gRPC integration, nrgrpc
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.
v3.20.4
Fixed
- nrmssql driver updated to use version maintained by Microsoft
- bug where error messages were not truncated to the maximum size, and would get dropped if they were too large
- bug #643 where number of span events was hard coded to 1000, and config setting was being ignored
- unencrypted hash vulnerability in v1.15.0 of github.com/aws/aws-sdk-go patched by bumping to v1.33.0
Added
- improved performance of ignore error code checks in agent
- HTTP error codes can be set as expected by adding them to ErrorCollector.ExpectStatusCodes in the config
Support Statement
We also using the latest version of the Go language. At minimum, you should at least 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.
v3.20.3
Note that the v2 go agent is no longer supported according to our EOL policy.
Fixed
- Performance Improvements for compression
- nrsnowflake updated to golang 1.17 versions of packages
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least 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.
v3.20.2
3.20.2
Added
- New
NoticeExpectedError()
method allows you to capture errors that you are expecting to handle, without triggering alerts
Fixed
- More defensive harvest cycle code that will avoid crashing even in the event of a panic.
- Update
nats-server
version to avoid known zip-slip exploit - Update
labstack/echo
version to mitigate known open redirect exploit
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least 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.
v3.20.1
: Release 3.20.1
3.20.1
Added
- New integration
nrpgx5
v1.0.0 to instrumentgithub.com/jackc/pgx/v5
.
Changed
- Changed the following
TraceOption
function to be consistent with their usage and other related identifier names. The old names remain for backward compatibility, but new code should use the new names.-
WithIgnoredPrefix
->WithIgnoredPrefixes
-
WithPathPrefix
->WithPathPrefixes
-
- Implemented better handling of Code Level Metrics reporting when the data (e.g., function names) are excessively long, so that those attributes are suppressed rather than being reported with truncated names. Specifically:
- Attributes with values longer than 255 characters are dropped.
- No CLM attributes at all will be attached to a trace if the
code.function
attribute is empty or is longer than 255 characters. - No CLM attributes at all will be attached to a trace if both
code.namespace
andcode.filepath
are longer than 255 characters.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least 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.
v3.20.0
PLEASE READ these changes, and verify your config settings to ensure your application behaves how you intend it to. This release changes some default behaviors in the go agent.
Added
- The Module Dependency Metrics feature was added. This collects the list of modules imported into your application, to aid in management of your application dependencies, enabling easier vulnerability detection and response, etc.
- This feature is enabled by default, but may be disabled by explicitly including
ConfigModuleDependencyMetricsEnable(false)
in your application, or setting the equivalent environment variable orConfig
field direclty. - Modules may be explicitly excluded from the report via the
ConfigModuleDependencyMetricsIgnoredPrefixes
option. - Excluded module names may be redacted via the
ConfigModuleDependencyMetricsRedactIgnoredPrefixes
option. This is enabled by default.
- This feature is enabled by default, but may be disabled by explicitly including
- Application Log Forwarding will now be ENABLED by default
- Automatic application log forwarding is now enabled by default. This means that logging frameworks wrapped with one of the logcontext-v2 integrations will automatically send enriched application logs to New Relic with this version of the agent. To learn more about this feature, see the APM logs in context documentation. For additional configuration options, see the Go logs in context documentation. To learn about how to toggle log ingestion on or off by account, see our documentation to disable automatic logging via the UI or API.
- If you are using a logcontext-v2 extension, but don't want the agent to automatically forward logs, please configure
ConfigAppLogForwardingEnabled(false)
in your application. - Environment variables have been added for all application logging config options:
-
NEW_RELIC_APPLICATION_LOGGING_ENABLED
-
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED
-
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED
-
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED
-
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED
- Custom Event Limit Increase
- This version increases the DEFAULT limit of custom events from 10,000 events per minute to 30,000 events per minute. In the scenario that custom events were being limited, this change will allow more custom events to be sent to New Relic. There is also a new configurable MAXIMUM limit of 100,000 events per minute. To change the limits, set
ConfigCustomInsightsEventsMaxSamplesStored(limit)
to the limit you want in your application. To learn more about the change and how to determine if custom events are being dropped, see our Explorers Hub post. - New config option
ConfigCustomInsightsEventsEnabled(false)
can be used to disable the collection of custom events in your application.
- This version increases the DEFAULT limit of custom events from 10,000 events per minute to 30,000 events per minute. In the scenario that custom events were being limited, this change will allow more custom events to be sent to New Relic. There is also a new configurable MAXIMUM limit of 100,000 events per minute. To change the limits, set
Changed
-
Changed the following names to be consistent with their usage and other related identifier names. The old names remain for backward compatibility, but new code should use the new names.
-
ConfigCodeLevelMetricsIgnoredPrefix
->ConfigCodeLevelMetricsIgnoredPrefixes
-
ConfigCodeLevelMetricsPathPrefix
->ConfigCodeLevelMetricsPathPrefixes
-
NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIX
->NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIXES
-
NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIX
->NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIXES
-
-
When excluding information reported from CodeLevelMetrics via the
IgnoredPrefixes
orPathPrefixes
configuration fields (e.g., by specifyingConfigCodeLevelMetricsIgnoredPrefixes
orConfigCodeLevelMetricsPathPrefixes
), the names of the ignored prefixes and the configured path prefixes may now be redacted from the agent configuration information sent to New Relic.- This redaction is enabled by default, but may be disabled by supplying a
false
value toConfigCodeLevelMetricsRedactPathPrefixes
orConfigCodeLevelMetricsRedactIgnoredPrefixes
, or by setting the correspondingConfig
fields or environment variables tofalse
.
- This redaction is enabled by default, but may be disabled by supplying a
Fixed
- #583: fixed a bug in zerologWriter where comma separated fields in log message confused the JSON parser and could cause panics.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least 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.
v3.19.2
3.19.2
Changed
- Updated nrgin integration to more accurately report code locations when code level metrics are enabled.
- The Go Agent and all integrations now require Go version 1.17 or later.
- Updated minimum versions for third-party modules.
- nrawssdk-v2, nrecho-v4, nrgrpc, nrmongo, nrmysql, nrnats, and nrstan now require Go Agent 3.18.2 or later
- the Go Agent now requires protobuf 1.5.2 and grpc 1.49.0
- Internal dev process and unit test improvements.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
We also recommend using the latest version of the Go language. At minimum, you should at least 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.
v3.19.1
: 3.19.1 - Hotfix Release
Changed
Moved the v3/internal/logcontext/nrwriter module to v3/integrations/logcontext-v2/nrwriter
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
v3.19.0
Added
-
logcontext-v2/logWriter
plugin: a new logs in context plugin that supports the standard library logging package. -
logcontext-v2/zerologWriter
plugin: a new logs in context plugin for zerolog that will replace the old logcontext-v2/zerolog plugin. This plugin is more robust, and will be able to support a richer set of features than the previous plugin. - see the updated logs in context documentation for information about configuration and installation.
Changed
- the logcontext-v2/zerolog plugin will be deprecated once the 3.17.0 release EOLs.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
v3.18.2
3.18.2
Added
- Added
WithDefaultFunctionLocation
trace option. This allows the caller to indicate a fall-back function to use for CLM in case no other location was found first. - Added caching versions of the code-level metrics functions
ThisCodeLocation
andFunctionLocation
, and trace optionsWithThisCodeLocation
andWithFunctionLocation
. These improve performance by caching the result of computing the source code location, and reuse that cached result on all subsequent calls. - Added a
WithCodeLevelMetrics
trace option to force the collection of CLM data even if it would have been excluded as being out of the configured scope. (Note that CLM data are never collected if CLM is turned off globally or if theWithoutCodeLevelMetrics
option was specified for the same transaction.) - Added an exported
CodeLevelMetricsScopeLabelToValue
function to convert a list of strings describing CLM scopes in the same manner as theNEW_RELIC_CODE_LEVEL_METRICS_SCOPE
environment variable (but as individual string parameters), returning theCodeLevelMetricsScope
value which corresponds to that set of scopes. - Added a new
CodeLevelMetricsScopeLabelListToValue
function which takes a comma-separated list of scope names exactly as theNEW_RELIC_CODE_LEVEL_METRICS_SCOPE
environment variable does, and returns theCodeLevelMetrics
value corresponding to that set of scopes. - Added text marshaling and unmarshaling for the
CodeLevelMetricsScope
value, allowing theCodeLevelMetrics
field of the configurationstruct
to be converted to or from JSON or other text-based encoding representations.
Changed
- The
WithPathPrefix
trace option now takes any number ofstring
parameters, allowing multiple path prefixes to be recognized rather than just one. - The
FunctionLocation
function now accepts any number of function values instead of just a single one. The first such parameter which indicates a valid function, and for which CLM data are successfully obtained, is the one which will be reported. - The configuration
struct
fieldPathPrefix
is now deprecated with the introduction of a newPathPrefixes
field. This allows for multiple path prefixes to be given to the agent instead of only a single one. - The
NEW_RELIC_CODE_LEVEL_METRICS_SCOPE
environment variable now accepts a comma-separated list of pathnames.
Fixed
- Improved the implementation of CLM internals to improve speed, robustness, and thread safety.
- Corrected the implementation of the
WrapHandle
andWrapHandleFunc
functions so that they consistently report the function being invoked by thehttp
framework, and improved them to use the new caching functions and ensured they are thread-safe.
This release fixes issue #557.
Compatibility Notice
As of release 3.18.0, the API was extended by allowing custom options to be added to calls to the Application.StartTransaction
method and the WrapHandle
and WrapHandleFunc
functions. They are implemented as variadic functions such that the new option parameters are optional (i.e., zero or more options may be added to the end of the function calls) to be backward-compatible with pre-3.18.0 usage of those functions. This prevents the changes from breaking existing code for typical usage of the agent. However, it does mean those functions' call signatures have changed:
-
StartTransaction(string)
->StartTransaction(string, ...TraceOption)
-
WrapHandle(*Application, string, http.Handler)
->WrapHandle(*Application, string, http.Handler, ...TraceOption)
-
WrapHandleFunc(*Application, string, func(http.ResponseWriter, *http.Request))
->WrapHandleFunc(*Application, string, func(http.ResponseWriter, *http.Request), ...TraceOption)
If, for example, you created your own custom interface type which includes the StartTransaction
method or something that depends on these functions' exact call semantics, that code will need to be updated accordingly before using version 3.18.0 (or later) of the Go Agent.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
v3.18.1
3.18.1
Added
- Extended the
IgnoredPrefix
configuration value for Code-Level Metrics so that multiple such prefixes may be given instead of a single one. This deprecates theIgnoredPrefix
configuration field ofConfig.CodeLevelMetrics
in favor of a new slice fieldIgnoredPrefixes
. The corresponding configuration option-setting functionsConfigCodeLevelMetricsIgnoredPrefix
andWithIgnoredPrefix
now take any number of string parameters to set these values. Since those functions used to take a single string value, this change is backward-compatible with pre-3.18.1 code. Accordingly, theNEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIX
environment variable is now a comma-separated list of prefixes. Fixes Issue #551.
Fixed
- Corrected some small errors in documentation of package features. Fixes Issue #550
Compatibility Notice
As of release 3.18.0, the API was extended by allowing custom options to be added to calls to the Application.StartTransaction
method and the WrapHandle
and WrapHandleFunc
functions. They are implemented as variadic functions such that the new option parameters are optional (i.e., zero or more options may be added to the end of the function calls) to be backward-compatible with pre-3.18.0 usage of those functions. This prevents the changes from breaking existing code for typical usage of the agent. However, it does mean those functions' call signatures have changed:
-
StartTransaction(string)
->StartTransaction(string, ...TraceOption)
-
WrapHandle(*Application, string, http.Handler)
->WrapHandle(*Application, string, http.Handler, ...TraceOption)
-
WrapHandleFunc(*Application, string, func(http.ResponseWriter, *http.Request))
->WrapHandleFunc(*Application, string, func(http.ResponseWriter, *http.Request), ...TraceOption)
If, for example, you created your own custom interface type which includes the StartTransaction
method or something that depends on these functions' exact call semantics, that code will need to be updated accordingly before using version 3.18.0 (or later) of the Go Agent.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
See the Go Agent EOL Policy for details about supported versions of the Go Agent and third-party components.
v3.18.0
3.18.0
Added
- Code-Level Metrics are now available for instrumented transactions. This is off by default but once enabled via
ConfigCodeLevelMetricsEnabled(true)
transactions will include information about the location in the source code whereStartTransaction
was invoked.- Adds information about where in your source code transaction traces originated.
- See the Go Agent documentation for details on configuring Code-Level Metrics and how to instrument your code using them.
- New V2 logs in context plugin is available for Logrus, packed with all the features you didn't know you wanted:
- Automatic Log Forwarding
- Log Metrics
- Capture logs anywhere in your code; both inside or outside of a transaction.
- Use the Logrus formatting package of your choice
- Local Log Decorating is now available for the new logcontext-v2/nrlogrus plugin only. This is off by default but can be enabled with
ConfigAppLogForwardingEnabled(true)
.
Fixed
- Fixed issue with custom event limits and number of DT Spans to more accurately follow configured limits.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
- Note that the oldest supported version of the Go Agent is 3.6.0.
v3.17.0
3.17.0
Added
- Logs in context now supported for zerolog.
- This is a quick way to view logs no matter where you are in the platform.
* Adds support for logging metrics which shows the rate of log messages by severity in the Logs chart in the APM Summary view. This is enabled by default in this release.
* Adds support for forwarding application logs to New Relic. This automatically sends application logs that have been enriched to power APM logs in context. This is disabled by default in this release. This will be on by default in a future release.
* To learn more about APM logs in context see the documentation here.
* Includes the
RecordLog
function for recording log data from a single log entry * An integrated plugin for zerolog to automatically ingest log data with the Go Agent. * Resolves issue 178, issue 488, issue 489, issue 490, and issue 491 . - Added integration for MS SQL Server (PR 425; thanks @ishahid91!)
* This introduces the
nrmssql
integration v1.0.0. - Added config function
ConfigCustomInsightsEventsMaxSamplesStored
for limiting the number of samples stored in a custom insights event. Fixes issue 476
Fixed
- Improved speed of building distributed trace header JSON payload. Fixes issue 505.
- Renamed the gRPC attribute names from
GrpcStatusLevel
,GrpcStatusMessage
, andGrpcStatusCode
togrpcStatusLevel
,grpcStatusMessage
, andgrpcStatusCode
respectively, to conform to existing naming conventions for New Relic agents. Fixes issue 492. - Updated
go.mod
for thenrgin
integration to mitigate security issue in 3rd party dependency. - Updated
go.mod
for thenrawssdk-v1
integration to properly reflect its dependency on version 3.16.0 of the Go Agent. - Updated
go.mod
for thenrlambda
integration to requireaws-lambda-go
version 1.20.0. (PR 356; thanks MattWhelan!)
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
- Note that the oldest supported version of the Go Agent is 3.6.0.
v3.16.1
3.16.1
Fixed
- Changed dependency on gRPC from v1.27.0 to v1.39.0. This in turn changes gRPC's dependency on
x/crypto
to v0.0.0-20200622213623-75b288015ac9, which fixes a security vulnerability in thex/crypto
standard library module. Fixes issue #451. - Incremented version number of the
nrawssdk-v1
integration from v1.0.1 to v1.1.0 to resolve an incompatibility issue due to changes to underlying code. Fixes issue #499
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
v3.16.0
3.16.0
Added
- Distributed Tracing is now the default mode of operation. It may be disabled by user configuration if so desired. PR #495
- To disable DT, add
newrelic.ConfigDistributedTracerEnabled(false)
to your application configuration. - To change the reservoir limit for how many span events are to be collected per harvest cycle from the default, add
newrelic.ConfigDistributedTracerReservoirLimit(
newlimit)
to your application configuration. - The reservoir limit's default was increased from 1000 to 2000.
- The maximum reservoir limit supported is 10,000.
- To disable DT, add
- Note that Cross Application Tracing is now deprecated.
- Added support for gathering memory statistics via
PhysicalMemoryBytes
functions for OpenBSD.
Fixed
- Corrected some example code to be cleaner.
- Updated version of nats-streaming-server. PR #458
- Correction to nrpkgerrors so that
nrpkgerrors.Wrap
now checks if the error it is passed has attributes, and if it does, copies them into the New Relic error it creates. This fixes issue #409 via PR #441.- This increments the
nrpkgerrors
version to v1.1.0.
- This increments the
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
v3.15.2
3.15.2
Added
- Strings logged via the Go Agent's built-in logger will have strings of the form
license_key=
hex-string changed tolicense_key=[redacted]
before they are output, regardless of severity level, where hex-string means a sequence of upper- or lower-case hexadecimal digits and dots ('.'). This incorporates PR #415.
Support Statement
New Relic recommends that you upgrade the agent regularly to ensure that you’re getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
v3.15.1
3.15.1
Fixed
-
Updated support for SQL database instrumentation across the board for the Go Agent’s database integrations to more accurately extract the database table name from SQL queries. Fixes Issue #397.
-
Updated the
go.mod
file in thenrecho-v4
integration to require version 4.5.0 of thegithub.com/labstack/echo
package. This addresses a security concern arising from downstream dependencies in older versions of the echo package, as described in the [releas
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get
command, which resulted in the following additional change(s):
- 1 additional dependency was updated
- The
go
directive was updated for compatibility reasons
Details:
Package | Change |
---|---|
go |
1.13 -> 1.23.2 |
github.com/go-logr/logr |
v0.1.0 -> v1.4.1 |