What shipped —and what we promised.
Every dated roadmap tag on this site ends up here — either still ticking, or already shipped. Real dates, both directions.
The MCP server is live — agents can mint and route links
Connect over MCP with your existing API keys — create links, attach routing rules and read analytics back from Claude, Cursor or any MCP client. Remote-only at mcp.rii.link, key-scoped, documented in the docs.
Node.js & Python SDKs: npm install riilink · pip install riilink
Typed wrappers over the same REST API the dashboard uses — links, routing rules, QR codes and analytics, with pagination and retries handled for you. Both ship with a full reference in the docs.
Email forwarding is live
Receive mail on your link domain — hello@yourbrand.com forwards straight to the inbox you already use, no mail server required. Set up from the same Custom Domains screen where you added the domain.
QR codes render as SVG
POST /v1/qr now takes format: "svg" — vector output that scales from a business card to a billboard without re-rasterizing. PNG stays the default; branded styling applies to both formats.
Fixed: geo rules mismatching some VPN exit nodes
A small number of geo-based routing rules were resolving the wrong country for visitors behind certain VPN exit nodes; geo lookups now cross-check a second IP database before falling back to a rule’s default.
New routing condition: time of day
Rules can now branch on the visitor’s local hour — send a lunch-special link to the menu during opening hours and to the reservation page after close. Combines with geo, device and language conditions.
CSV & JSON export for analytics
Every dashboard view — clicks, devices, geographies, referrers — now exports as CSV or JSON, so click data doesn’t have to stay trapped in the dashboard.
Live click stream over SSE
GET /v1/events/stream pushes every click as a server-sent event — one curl -N away from a live dashboard. It’s the push-shaped option while outbound webhooks are still on the roadmap.
Dynamic QR codes: edit the destination after printing
A QR code printed on packaging used to be frozen at print time. Dynamic codes point at a short link instead of a destination — repoint the link and every already-printed code updates, no reprint.
Content negotiation: JSON / HTML / XML from any link
The same short link now answers differently depending on who’s asking — a 302 to browsers, structured JSON to an Accept: application/json request. One endpoint, two audiences.
Scheduled links and traffic splits
Routing rules accept a start/end window — campaign links revert to a fallback automatically — and percentage-based traffic splits for A/B tests.
REST API + API keys — general availability
The API that already powered the dashboard is now public: create keys, manage hosts and mappings, and pull analytics programmatically.
HISTORY STARTS FEB 2026 — THE API’S GA. EARLIER INTERNAL HISTORY ISN’T RESTATED HERE.
See what’s next.
Start free, and watch this page for what ships next.
EVERY DATE ON THIS PAGE IS EITHER A RECEIPT OR A PROMISE — NEVER A GUESS