x402AgentsToolsHub

SemVer Checker

Parse a semantic version into major/minor/patch/prerelease, test it against a SemVer range (^, ~, >=, *) and compare two versions with the exact upgrade class (major/minor/patch/prerelease). Deterministic — no approximating precedence rules from memory.

Worked examples

Range check

GET /api/v1/dev/semver-checker?version=2.4.1&range=%5E2.0.0

Result: 2.4.1 ✓ satisfies range "^2.0.0"

Compare versions

GET /api/v1/dev/semver-checker?version=2.4.1&compareTo=2.3.9

Result: 2.4.1 is newer than 2.3.9 (a minor change)

Prerelease vs range

GET /api/v1/dev/semver-checker?version=3.0.0-beta.2&range=%3E%3D3.0.0

Result: 3.0.0-beta.2 ✗ does not satisfy range ">=3.0.0"

Machine API (x402)

$0.002 / call

This tool is also a JSON API for AI agents. Requests without payment receive 402 Payment Required plus instructions; agents pay USDC on Base via the x402 protocol — no accounts, no API keys.

GET /api/v1/dev/semver-checker?version=2.4.1&range=%5E2.0.0 HTTP/1.1
Host: agentstoolshub.com

→ 402 (payment required, instructions in headers)
→ 200 (after X-PAYMENT header; JSON body below)

{
  "tool": "dev/semver-checker",
  "input": {"version":"2.4.1","range":"^2.0.0"},
  "result": { "value": 2, "answer": "2.4.1 ✓ satisfies range "^2.0.0"" }
}

Agent docs: /llms.txt · OpenAPI spec · integration guide

About this tool

Applies the real SemVer 2.0.0 precedence rules: numeric-vs-numeric comparison, prerelease precedence (alpha < beta < rc), range semantics for ^, ~ and comparators. Answers 'does this satisfy', 'which is newer' and 'what kind of upgrade is this' exactly, every time.

Frequently asked questions

Do loose versions work?

Yes — versions like '2.4' or 'v2.4.1' are coerced where unambiguous, and the response says when a version was coerced rather than parsed strictly.

How are prereleases treated in ranges?

Prerelease ranges are evaluated with includePrerelease enabled, so 3.0.0-beta.2 satisfies >=3.0.0 — stricter npm-style prerelease gating is documented in SemVer itself.

Related tools