Skip to main content

Supported technologies for the Go agent

We support the following technologies for this agent.

Technology

Supported versions

Notes

Language version

  • 1.20 (deprecated)

  • 1.21

  • 1.22

Contrast follows the Go release support policy which consists of the two most recently released major versions. Support for Go language versions is shifted as new major versions are released. The application dependencies must be specified in a go.mod file.

Not supported:

  • 1.19: Last supported agent was 5.12.0

  • 1.18: Last supported agent was 4.2.0

  • 1.17: Last supported agent was 3.6.0

  • 1.16: Last supported agent was 3.6.0

  • 1.15: Last supported agent was 1.12.0

Platforms

  • darwin/amd64

  • darwin/arm64

  • linux/amd64

  • linux/arm64

Contrast builds and tests contrast-go for the listed platforms.

You can use contrast-go to cross-compile for other platforms, however, compatibility is not guaranteed.

Dependency management system

Go mod

The application must be part of a Go module. An application can be initialized with modules by running go mod init.

Protocol stacks

The agent relies on the protocol implementation to understand application behavior. If the application uses an unsupported protocol package, the agent is not able to report vulnerability or route information.

Routers and frameworks

The agent can work with an unlisted framework as long as the framework's underlying HTTP implementation is supported. However, some features might be missing or less accurate.

For example, the agent might not correctly discover routes registered with an unrecognized router.

If your framework is not in the list of supported frameworks or you need assistance, contact Contrast support.

Database support

database/sql

The agent instruments the database/sql package in the standard library to support databases registered as database drivers. See the examples in SQLDrivers.