Skip to content

Releases: newrelic/go-agent

Release v3.17.0

29 Jun 22:14
d71efc4
Compare
Choose a tag to compare

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, and GrpcStatusCode to grpcStatusLevel, grpcStatusMessage, and grpcStatusCode respectively, to conform to existing naming conventions for New Relic agents. Fixes issue 492.
  • Updated go.mod for the nrgin integration to mitigate security issue in 3rd party dependency.
  • Updated go.mod for the nrawssdk-v1 integration to properly reflect its dependency on version 3.16.0 of the Go Agent.
  • Updated go.mod for the nrlambda integration to require aws-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.

Release v3.16.1

26 May 20:30
a0f3666
Compare
Choose a tag to compare

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 the x/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.

Release v3.16.0

19 May 22:45
41d47c0
Compare
Choose a tag to compare

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.
  • 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.

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.

Release v3.15.2

07 Dec 06:21
4b46fc5
Compare
Choose a tag to compare

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 to license_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.

Release v3.15.1

27 Oct 20:16
5be716d
Compare
Choose a tag to compare

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 the nrecho-v4 integration to require version 4.5.0 of the github.com/labstack/echo package. This addresses a security concern arising from downstream dependencies in older versions of the echo package, as described in the release notes for echo v4.5.0.

ARM64 Compatibility Note

The New Relic Go Agent is implemented in platform-independent Go, and supports (among the other platforms which run Go) ARM64/Graviton2 using Go 1.17+.

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.

Release v3.15.0

02 Sep 23:12
779fa03
Compare
Choose a tag to compare

3.15.0

Fixed

  • Updated mongodb driver version to 1.5.1 to fix security issue in external dependency. Fixes Issue #358 and Issue #370.

  • Updated the go.mod file in the nrgin integration to require version 1.7.0 of the github.com/gin-gonic/gin package. This addresses CVE-2020-28483 which documents a vulnerability in versions of github.com/gin-gonic/gin earlier than 1.7.0.

Added

  • New integration nrpgx added to provide the same functionality for instrumenting Postgres database queries as the existing nrpq integration, but using the pgx driver instead. This only covers (at present) the use case of the pgx driver with the standard library database/sql. Fixes Issue #142 and Issue #292

Changed

  • Enhanced debugging logs so that New Relic license keys are redacted from the log output. Fixes Issue #353.

  • Updated the advice in GUIDE.md to have correct go get commands with explicit reference to v3.

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.

Release v3.14.1

20 Jul 22:23
88a31e1
Compare
Choose a tag to compare

3.14.1

Fixed

  • A typographical error in the nrgrpc unit tests was fixed. Fixes Issue #344.
    This updates the nrgrpc integration to version 1.3.1.

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.

Release v3.14.0

12 Jul 20:29
d628ce8
Compare
Choose a tag to compare

3.14.0

Fixed

  • Integration tags and go.mod files for integrations were updated so that pkg.go.dev displays the documentation for each integration correctly.
  • The nrgrpc server integration was reporting all non-OK grpc statuses as errors. This has now been changed so that only selected grpc status codes will be reported as errors. Others are shown (via transaction attributes) as "warnings" or "informational" messages. There is a built-in set of defaults as to which status codes are reported at which severity levels, but this may be overridden by the caller as desired. Also supports custom grpc error handling functions supplied by the user.
    • This is implemented by adding WithStatusHandler() options to the end of the UnaryServerInterceptor() and StreamServerInterceptor() calls, thus extending the capability of those functions while retaining the existing functionality and usage syntax for backward compatibility.
  • Added advice on the recommended usage of the app.WaitForConnection() method. Fixes [https://github.com//issues/296](Issue #296)

Added

  • Added a convenience function to build distributed trace header set from a JSON string for use with the AcceptDistributedTraceHeaders() method. Normally, you must create a valid set of HTTP headers representing the trace identification information from the other trace so the new trace will be associated with it. This needs to be in a Go http.Header type value.
    • If working only in Go, this may be just fine as it is. However, if the other trace information came from another source, possibly in a different language or environment, it is often the case that the trace data is already presented to you in the form of a JSON string.
    • This new function, DistributedTraceHeadersFromJSON(), creates the required http.Header value from the JSON string without requiring manual effort on your part.
    • We also provide a new all-in-one method AcceptDistributedTraceHeadersFromJSON() to be used in place of AcceptDistributedTraceHeaders(). It accepts a JSON string rather than an http.Header, adding its trace info to the new transaction in one step.
    • Fixes [https://github.com//issues/331](Issue #331)

Changed

  • Improved the NR AWS SDK V2 integration to use the current transaction rather than the one passed in during middleware creation, if nil is passed into nrawssdk-v2.AppendMiddlewares. Thanks to @HenriBeck for noticing and suggesting improvement, and thanks to @nc-wittj for the fantastic PR! #328

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.

Release v3.13.0

02 Jun 21:56
d083918
Compare
Choose a tag to compare

Fixed

  • Replaced the NR AWS SDK V2 integration for the v3 agent with a new version that works. See the v3/integrations/nrawssdk-v2/example/main.go file for an example of how to use it. Issues #250 and #288 are fixed by this PR. #309

  • Fixes issue #221: grpc errors reported in code watched by UnaryServerInterceptor() or StreamServerInterceptor() now create error events which are reported to the UI with the error message string included. #317

  • Fixes documentation in GUIDE.md for txn.StartExternalSegment() to reflect the v3 usage. Thanks to @abeltay for calling this to our attention and submitting PR #320.

Changes

  • The v3/examples/server/main.go example now uses newrelic.ConfigFromEnvironment(), rather than explicitly pulling in the license key with newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")). The team is starting to use this as a general systems integration testing script, and this facilitates testing with different settings enabled.

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.

Release v3.12.0

03 May 17:41
5a0eaeb
Compare
Choose a tag to compare

Changes

  • Updated CHANGELOG.md release notes language, to correct typographical errors and clean up grammar. #289

Fixed

  • When using DAX to query a dynamodb table, the New Relic instrumentation panics with a nil dereference error. This was due to the way that the request is made internally such that there is no HTTPRequest.Header defined, but one was expected. This correction checks for the existence of that header and takes an appropriate course of action if one is not found. #287 Thanks to @odannyc for reporting the issue and providing a pull request with a suggested fix.

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.