• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Go agent release notesRSS

March 9, 2023
Go agent v3.20.4

Important

We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version that's at most 90 days old. Read more about keeping your agent up to date.

3.20.4

Important

Please note that the v2 Go agent is no longer supported according to our EOL policy.

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.

January 19, 2023
Go agent v3.20.3

Important

We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.

3.20.3

Important

Please 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

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.

December 14, 2022
Go agent v3.20.2

3.20.2

Important

We recommend updating to the latest agent version as soon as it’s available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version that's at most 90 days old. Read more about keeping your agent up to date.

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

November 15, 2022
Go agent v3.20.1

3.20.1

Important

We recommend updating to the latest agent version as soon as it’s available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.

Added

  • New integration nrpgx5 v1.0.0 to instrument github.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 and code.filepath are longer than 255 characters.

November 2, 2022
Go agent v3.20.0

3.20.0

VEUILLEZ LIRE ces changements, et vérifiez vos paramètres de configuration pour vous assurer que votre application se comporte comme vous le souhaitez. Cette sortie modifie certains comportements par défaut dans l’agent Go.

Ajouté

  • La fonctionnalité Métriques de dépendance de module a été ajoutée. Cela collecte la liste des modules importés dans votre application, pour aider à la gestion des dépendances de votre application, permettant une détection et une réponse plus faciles aux vulnérabilités, etc.

    • Cette fonctionnalité est activée par défaut, mais peut être désactivée en incluant explicitement ConfigModuleDependencyMetricsEnable(false) dans votre application, ou en définissant la variable d’environnement équivalente ou le champ Config directement.
    • Les modules peuvent être explicitement exclus du rapport via l’option ConfigModuleDependencyMetricsIgnoredPrefixes.
    • Les noms de modules exclus peuvent être masqués via l’option ConfigModuleDependencyMetricsRedactIgnoredPrefixes. Ceci est activé par défaut.
  • L’application Log Forwarding sera désormais ACTIVÉ par défaut

    • Le transfert automatique de logs d’application est désormais activé par défaut. Cela signifie que les frameworks de logging enveloppés avec l’une des intégrations logcontext-v2 enverront automatiquement des logs d’application enrichis à New Relic avec cette version de l’agent. Pour en savoir plus sur cette fonctionnalité, consultez la documentation sur les logs APM en contexte. Pour des options de configuration supplémentaires, voir la documentation sur les logs en contexte Go. Pour savoir comment activer ou désactiver l’ingestion de logs par compte, consultez notre documentation pour désactiver le logging automatique via l’interface utilisateur ou l’API.
    • Si vous utilisez une extension logcontext-v2, mais que vous ne souhaitez pas que l’agent transfère automatiquement les logs, veuillez configurer ConfigAppLogForwardingEnabled(false) dans votre application.
    • Des variables d’environnement ont été ajoutées pour toutes les options de configuration de logging de l’application :
      • 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
  • Augmentation de la limite des événements personnalisés

Modifié

  • Les noms suivants ont été modifiés pour être cohérents avec leur utilisation et d’autres noms d’identifiants associés. Les anciens noms sont conservés pour des raisons de rétrocompatibilité, mais le nouveau code doit utiliser les nouveaux noms.

    • 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
  • Lors de l’exclusion d’informations signalées par CodeLevelMetrics via les champs de configuration IgnoredPrefixes ou PathPrefixes (par exemple, en spécifiant ConfigCodeLevelMetricsIgnoredPrefixes ou ConfigCodeLevelMetricsPathPrefixes), les noms des préfixes ignorés et les préfixes de chemin configurés peuvent désormais être masqués dans les informations de configuration de l’agent envoyées à New Relic.

    • Ce masquage est activé par défaut, mais peut être désactivé en fournissant une valeur false à ConfigCodeLevelMetricsRedactPathPrefixes ou ConfigCodeLevelMetricsRedactIgnoredPrefixes, ou en définissant les champs Config ou les variables d’environnement correspondants sur false.

Fixé

  • #583: correction d’un bug dans zerologWriter où les champs séparés par des virgules dans le message de log perturbaient l’analyseur JSON et pouvaient provoquer des paniques.

Déclaration de soutien

New Relic recommande de mettre à jour l’agent régulièrement pour vous assurer de bénéficier des dernières fonctionnalités et améliorations de performances. De plus, les anciennes sorties ne seront plus prises en charge lorsqu’elles atteindront la fin de vie.

Nous vous recommandons également d’utiliser la dernière version du langage Go. Au minimum, vous ne devriez utiliser aucune version de Go plus ancienne que celle prise en charge par l’équipe Go elle-même.

Consultez la Politique de fin de vie de l’agent Go pour obtenir des détails sur les versions prises en charge de l’agent Go et des composants tiers.

September 21, 2022
Go agent 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.

September 16, 2022
Go agent 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.

September 15, 2022
Go agent v3.19.0

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

September 7, 2022
Go agent 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 and FunctionLocation , and trace options WithThisCodeLocation and WithFunctionLocation. 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 the WithoutCodeLevelMetrics 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 the NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment variable (but as individual string parameters), returning the CodeLevelMetricsScope value which corresponds to that set of scopes.
  • Added a new CodeLevelMetricsScopeLabelListToValue function which takes a comma-separated list of scope names exactly as the NEW_RELIC_CODE_LEVEL_METRICS_SCOPE environment variable does, and returns the CodeLevelMetrics value corresponding to that set of scopes.
  • Added text marshaling and unmarshaling for the CodeLevelMetricsScope value, allowing the CodeLevelMetrics field of the configuration struct to be converted to or from JSON or other text-based encoding representations.

Changed

  • The WithPathPrefix trace option now takes any number of string 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 field PathPrefix is now deprecated with the introduction of a new PathPrefixes 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 and WrapHandleFunc functions so that they consistently report the function being invoked by the http 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.

Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.