The R-hub R versions API (1.0.0)

Download OpenAPI specification:Download

This service is an API to query current and past R versions and installers. You can use it is devops scripts, e.g. for continuous integration tools, to query which version(s) or R you want to install. It is updated every hour, so a new R release or a new installer is typically picked up within on hour.

Format

This is a JSON API, all responses are JSON.

The R release process

In the current R release process, there is a new major or minor release every year, typically in April. There are also several patch releases. Once there is a newer major or minor release, the older major or minor releases typically do not get new patch releases. (E.g. once R 3.6.0 is out, the R 3.5.x minor branch will not receive more releases.)

Typical use cases

  • To report the currently released version of R, use /r-release.
  • To download and compile the currently released version of R, use /r-release-tarball.
  • To download the latest Windows or macOS installer, use /r-release-win or /r-release-macos, respectively.
  • To report or download the source or an installer for the latest release or the penultimate R minor branch (R-oldrel as CRAN calls it), use /r-oldrel.

Feedback

The source code of this service lives at https://github.com/r-hub/rversions.app#readme.

You can download the OpenApi 3.0.x specification of this API.

To report bugs please use the issue tracker at https://github.com/r-hub/rversions.app/issues.

This service is part of the R-hub project, supported by the R Consortium.

Resolve an arbitrary R version specification

Resolve an R version specification.

path Parameters
version
required
string

Must be one of:

  • devel: Development version of R.
  • next: The next version of R, see the r-next endpoint.
  • release: R release, see the r-release endpoint.
  • oldrel: The previous version of R, not counting patch versions.
  • oldrel/n: The n-th previous version of R, not counting patch versions.
  • x.y.z: A specific R version, e.g. 4.0.4.
  • x.y: The last patch release from a minor R branch, e.g. 4.1.
os
string

Operating system. One of:

  • win
  • macos
  • linux-<distro>-<release>

Currently supported Linux distros are:

  • ubuntu (20.04, 22.04),
  • centos (7, 9),
  • debian (10, 11, 12),
  • rhel (9),
  • opensuse (15.4),
  • almalinux (8.x, 9.x),
  • rocky (8.x, 9.x).
arch
string

Architecture. Only specify it if 'os' is also specified. It can be

  • x86_64 (the default), and
  • arm64 for Linux and macOS. For Windows if must be missing currently.

Responses

Response samples

Content type
application/json
Example
{}

List available versions for a platform.

List all available R buidls for a platform and architecture.

path Parameters
os
required
string

Operating system. One of:

  • win
  • macos
  • linux-<distro>-<release>

Currently supported Linux distros are:

  • ubuntu (20.04, 22.04),
  • centos (7, 9),
  • debian (10, 11, 12),
  • rhel (9),
  • opensuse (15.4),
  • almalinux (8.x, 9.x),
  • rocky (8.x, 9.x).
arch
string

Architecture. Only specify it if 'os' is also specified. It can be

  • x86_64 (the default), and
  • arm64 for Linux and macOS. For Windows if must be missing currently.

Responses

Response samples

Content type
application/json
[]

R-release

The current released version of R. Determined from the R SVN repository. It you need a version for which an installer or tarball is available for download, look at the other endpoints.

Responses

Response samples

Content type
application/json
{
  • "version": "3.6.3",
  • "date": "2020-02-29T08:05:16.744223Z",
  • "nickname": "Holding the Windsock"
}

R oldrel

The last release of the previous minor branch. E.g. if the latest released version is '3.6.3', then 'oldrel' is the latest patch version of the '3.5' branch, currently '3.5.3'.

Responses

Response samples

Content type
application/json
{
  • "version": "3.6.3",
  • "date": "2020-02-29T08:05:16.744223Z",
  • "nickname": "Holding the Windsock"
}

Legacy R versions

Last releases of previous minor branches. E.g. r-oldrel/2 is the release that was oldrel before the current R release. r-oldrel/1 is the same as r-oldrel.

path Parameters
n
required
integer

Number of minor versions to go back.

Responses

Response samples

Content type
application/json
{
  • "version": "3.6.3",
  • "date": "2020-02-29T08:05:16.744223Z",
  • "nickname": "Holding the Windsock"
}

Latest source tarball.

The latest version with a downloadable source code tarball. This is usually the same as 'r-release', but it might take some time to create a source tarball from the SVN tag. Typically you query the release version because you want to download a source tarball or an installer. Use this end point if you want to download a source tarball.

Responses

Response samples

Content type
application/json
{}

Latest Windows installer.

The latest version for which a Windows installer is available. This is usually the same as 'r-release', but there is typically a short delay until the Windows installer is built from the release. Use this end point if you want to download the current Windows installer.

Responses

Response samples

Content type
application/json
{}

Latest macOS installer.

The latest version for which a macOS installer is aavilable. This is usually the same as 'r-release', but there is typically a short delay until the macOS installer is built from the release. Use this end point if you want to download the current macOS installer. r-release-macos-x86_64 is an alias of this endpoint.

Responses

Response samples

Content type
application/json
{}

Latest arm64 macOS installer.

The latest version for which an arm64 macOS installer is aavilable. This is usually the same as 'r-release', but there is typically a short delay until the macOS installer is built from the release. Use this end point if you want to download the current macOS installer.

Responses

Response samples

Content type
application/json
{}

The next R release.

The next release is R-patched if there is no release process currently. Otherwise it may be R-alpha, R-beta, R-rc or R-prerelease. r-prerelease is an alias for this endpoint.

Responses

Response samples

Content type
application/json
{}

Windows installer for the next release.

Windows installer for the next version of R. This can be an installer for r-next, or the installer for R-patched, if an installer is not available (yet) for R-alpha, R-beta, etc. r-prerelease-win is an alias for this endpoint.

Responses

Response samples

Content type
application/json
{}

macOS installer for the next R release.

macOS installer for the next version of R. This can be an installer for r-next, or the installer for R-patched, if an installer is not available (yet) for R-alpha, R-beta, etc. r-prerelease-macos is an alias for this endpoint.

Responses

Response samples

Content type
application/json
{}

arm64 macOS installer for the next R release.

arm64 macOS installer for the next version of R. This can be an installer for r-next, or the installer for R-patched, if an installer is not available (yet) for R-alpha, R-beta, etc. r-prerelease-macos-arm64 is an alias for this endpoint.

Responses

Response samples

Content type
application/json
{}

All R versions.

All released R versions, ordered by version number.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

All Rtools versions.

All released Rtools versions, ordered by version number.

Responses

Response samples

Content type
application/json
[]

Supported Linux distributions

These are the Linux distribution that either https://github.com/rstudio/r-builds/ or https://github.com/r-hub/R/releases has binary R builds for.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "ubuntu-1804",
  • "aliases": [
    ],
  • "name": "Ubuntu",
  • "version": "18.04",
  • "codename": "Bionic Beaver",
  • "docker": "ubuntu:18.04",
  • "eol": "2023-05-31",
  • "ppm-binaries": true
}