semver.io is a plaintext and JSON webservice that tracks all available versions of node.js, iojs, npm, nginx, and mongodb. It uses that version info to resolve semver range queries. It's used by Heroku's node buildpack and is open-sourced on GitHub.
Semver.io uses a simple and short module system to pull version data from a variety of sources. Pull requests are welcome! You can start with one of the current implementations as a template:
curl https://semver.io/node/stable
0.10.33
curl https://semver.io/node/unstable
0.11.14
curl https://semver.io/node/resolve/0.8.x
0.8.28
curl https://semver.io/nginx/stable
1.6.2
There are CORS-friendly HTTP endpoints for each source with the whole kit and caboodle:
- semver.io/node.json
- semver.io/iojs.json
- semver.io/npm.json
- semver.io/nginx.json
- semver.io/mongodb.json
The response is something like:
{
"stable": "0.10.22",
"unstable": "0.11.8",
"all": [
"0.8.6",
"...",
"0.11.9"
]
}
semver.io supports any range that node-semver can parse. For example:
- /node/resolve/0.10.x
- /node/resolve/0.11.x
- /node/resolve/~0.10.15
- /node/resolve/>0.4
- [/node/resolve/>=0.8.5 <=0.8.14](https://semver.io/node/resolve/>=0.8.5 <=0.8.14)
These named routes are also provided for convenience (for each source):