Announcing the HashiCorp Releases API

The HashiCorp Releases API is now available. This API is your one-stop shop for finding and viewing extended metadata about HashiCorp product releases.

Today we’re happy to announce HashiCorp’s official Releases API. The Releases API provides metadata about every HashiCorp product release hosted on our release site, HashiCorp Releases, and includes useful information such as links to release notes, licenses, associated repositories, and more.

»Central Location for Release Metadata

The HashiCorp release site is an official HashiCorp release channel that practitioners can use to view all historical HashiCorp Go binary artifacts, installers (DMGs and MSIs), and artifact checksums. However, metadata such as release notes, changelogs, and license information may be published across multiple sites — GitHub repositories, individual project sites, HashiCorp.com pages, etc. — which can make it difficult for practitioners to find the information they need to make informed decisions about upgrades, downgrades, and everything in between. With the launch of the Releases API, hosted at https://api.releases.hashicorp.com, all of this data is now discoverable in a single place.

»API Guarantees

We’re committed to providing a great experience to our users, so we have added a number of service guarantees.

»Versioning

The Releases API follows semantic versioning conventions and defines the data provided. New versions of the API will be released as bugs are fixed, features are added, and behavior is deprecated or removed. This allows the service and data format to evolve without breaking existing workflows. The Releases API documentation is maintained at https://releases.hashicorp.com/docs/api/v1.

»Backward Compatibility

All the releases.hashicorp.com endpoints you have been using will continue to work and return the same data format. However querying api.releases.hashicorp.com will yield richer data.

»Rate Limits

The API has no rate limits.

»Content Type Header

The HTTP Content-Type Header returned from the API on GET requests to releases.hashicorp.com will always be in the format application/vnd+hashicorp.releases-api.v0+json. Note that v0 will increment when there are new major versions of the Releases API that include changes to the data structure.

»Fetching the Latest Release

One often-requested feature is a simple means of finding the most recent release of a given product. This is now available via the /v1/releases/{product}/latest path. The latest release is determined by SemVer rules. For example, a practitioner running HashiCorp Consul 1.11.0 might wish to upgrade a dev cluster to the latest release without having to first manually check to see what the latest version of Consul is. The service will return the latest SemVer release of Consul even though patch releases of older versions of Consul may have been released more recently.

The snippet below shows a request to fetch the latest version of Consul and a sample response. At the time of this writing, Consul 1.11.4 is the latest version. Note that the builds output has been trimmed.

$ curl -sS https://api.releases.hashicorp.com/v1/releases/consul/latest |jq{  "builds": [	{  	"arch": "amd64",  	"os": "darwin",  	"url": "https://releases.hashicorp.com/consul/1.11.4/consul_1.11.4_darwin_amd64.zip"	},	{  	"arch": "arm64",  	"os": "darwin",  	"url": "https://releases.hashicorp.com/consul/1.11.4/consul_1.11.4_darwin_arm64.zip"	}  ],  "docker_name_tag": "hashicorp/consul:1.11.4",  "license_class": "oss",  "name": "consul",  "status": {	"state": "supported",	"timestamp_updated": "2022-03-21T16:01:00.162Z"  },  "timestamp_created": "2022-03-15T22:33:57.317Z",  "timestamp_updated": "2022-03-21T16:01:00.162Z",  "url_blogpost": "https://www.hashicorp.com/blog/announcing-hashicorp-consul-1-11",  "url_changelog": "https://github.com/hashicorp/consul/blob/main/CHANGELOG.md",  "url_docker_registry_dockerhub": "https://hub.docker.com/r/hashicorp/consul",  "url_docker_registry_ecr": "https://gallery.ecr.aws/hashicorp/consul",  "url_license": "https://github.com/hashicorp/consul/blob/main/LICENSE",  "url_project_website": "https://www.consul.io/",  "url_release_notes": "https://www.consul.io/docs/release-notes/1-11-0",  "url_shasums": "https://releases.hashicorp.com/consul/1.11.4/consul_1.11.4_SHA256SUMS",  "url_shasums_signatures": [	"https://releases.hashicorp.com/consul/1.11.4/consul_1.11.4_SHA256SUMS.sig",	"https://releases.hashicorp.com/consul/1.11.4/consul_1.11.4_SHA256SUMS.72D7468F.sig"  ],  "url_source_repository": "https://github.com/hashicorp/consul",  "version": "1.11.4"}

»Try it Out

We encourage HashiCorp users to adopt the new Releases API so they can benefit from the consolidated release metadata we are now publishing. Older releases will be updated to include more metadata over time on a per-project basis.

Have feedback for us? Feel free to share in any HashiCorp repository GitHub issues or on our Discuss forums. We’d love to hear from you!


Sign up for the latest HashiCorp news

By submitting this form, you acknowledge and agree that HashiCorp will process your personal information in accordance with the Privacy Policy.