Changelog
Every feature, every release. From first commit to production.
v0.12.0
March 2, 2026Frames, Conversion Tracking, CSV Bulk Upload
- • Frames & templates — decorative frames around QR codes (banner_top, banner_bottom, rounded) with CTA text up to 30 characters. Custom colors for frame background and text.
- • Conversion tracking — dual approach: zero-JS tracking pixel (
GET /t/:shortId?event=purchase&value=49.99) returns a 1×1 GIF, plus authenticated API (POST /api/conversions). Stats endpoint with totals, by-event, by-day breakdowns. - • Webhook event — new
qr.conversionevent fired on every conversion. - • CSV bulk upload — Pro-only
POST /api/qr/bulk/csvto create up to 500 QR codes from CSV data. Supports multipart file upload and JSON body. Row-level validation with error line numbers. - • MCP — 3 new tools:
bulk_create_from_csv,record_conversion,get_conversions. 37 tools total. - • 195 integration tests.
v0.11.0
March 2, 2026Custom Domains
- • Custom domains — per-API-key custom domain for branded short URLs. Set via
PUT /api/domainwith automatic DNS verification (CNAME or A record). - • Pro-only feature. Short URLs automatically use your custom domain when configured.
- • MCP — 2 new tools:
set_custom_domain,get_custom_domain.
v0.10.0
March 2, 2026UTM, GTM, Conditional Redirects
- • UTM tracking — set UTM parameters (
utm_source,utm_medium,utm_campaign, etc.) on any URL QR code. Parameters auto-appended on redirect. - • GTM container — attach a Google Tag Manager container ID. Redirects serve an intermediate HTML page with the GTM snippet before forwarding.
- • Conditional redirects — route scans to different URLs based on device, OS, country, language, time of day, or A/B split percentage. Supports multi-condition rules (AND logic).
- • Gradient QR codes — linear and radial gradients for QR dot and finder patterns. Supports multiple color stops and angle control.
- • MCP — 2 new tools:
set_utm_params,set_redirect_rules.
v0.9.0
March 2, 202611 QR Code Types
- • 8 new QR code types — email (
mailto:), SMS (SMSTO:), phone (tel:), event (iCalendar .ics), plain text, location (geo:→ Google Maps), social (multi-platform JSON), and app store (smart iOS/Android UA-based redirect). - • 11 total types: URL, vCard, WiFi, email, SMS, phone, event, text, location, social, app store.
- • MCP — 10 new tools (8 create + 2 update for typed QR codes).
v0.8.0
March 2, 2026vCard & WiFi QR Codes
- • vCard QR codes — encode contact data directly in the QR code. Scanning prompts “Add Contact” and serves a
.vcffile. - • WiFi QR codes — encode network credentials (SSID, password, encryption type). Scanning prompts “Join Network” on supported devices.
- • Type-based content rendering on redirect:
.vcffor vCard, JSON for WiFi, HTTP redirect for URL. - • MCP — 4 new tools:
create_vcard_qr,create_wifi_qr,update_vcard_qr,update_wifi_qr.
v0.7.0
March 2, 2026Enriched Analytics
- • User-agent parsing — every scan now records device type, browser, and OS (via ua-parser-js).
- • Geo lookup — country and city resolved from IP at scan time (via geoip-lite).
- • Aggregations —
scans_by_day,top_devices,top_browsers,top_countries,top_referers. - • Period filter —
?period=7d|30d|90d|allon the analytics endpoint.
v0.6.0
March 2, 2026Expiration & Scheduling
- • QR code expiration — set an
expires_atdate. After expiry, scanning returns 410 Gone. - • Scheduled URL swap — set a
scheduled_urlandscheduled_atdate. The target URL automatically switches at the scheduled time (lazy activation on next scan).
v0.5.0
March 2, 2026Bulk Operations
- • Bulk create, update, delete — operate on up to 50 QR codes per request via
POST/PATCH/DELETE /api/qr/bulk. - • MCP — 3 new tools:
bulk_create_qr_codes,bulk_update_qr_codes,bulk_delete_qr_codes.
v0.4.0
February 28, 2026Stripe Billing
- • Pro plan live — $19/month via Stripe Checkout. Full subscription lifecycle: create, upgrade, cancel at period end.
- • Customer Portal — self-service subscription management, payment method updates, invoice history.
- • MCP — 2 new tools:
upgrade_to_pro,manage_billing.
v0.3.0
February 27, 2026Registration, Webhooks, Custom QR Codes
- • Self-service registration —
POST /api/registerwith email and label. No credit card required. - • Real-time webhooks — CRUD for webhook endpoints.
qr.scannedevents delivered with HMAC-SHA256 signatures, fire-and-forget with delivery logging. - • Custom QR renderer — SVG-based renderer with dot styles (square, rounded, dots, classy-rounded), corner styles (square, extra-rounded, dot), foreground/background colors, and optional logo embedding. PNG export via sharp.
- • Free tier limits — 10 QR codes, 1,000 scans/month, 1 webhook endpoint. Enforced server-side.
v0.2.0
February 27, 2026MCP Server
- • First npm publish —
npx qr-for-agentlaunches the MCP server. - • MCP server — core tools for creating, updating, deleting, and listing QR codes. Works with Claude Desktop, Cursor, and any MCP-compatible client.
- • Published to the official MCP registry.
v0.1.0
February 27, 2026Initial Release
- • Fastify 5 API — REST API with OpenAPI/Swagger documentation.
- • Dynamic QR codes — create QR codes that redirect to a target URL. Change the destination anytime without regenerating the image.
- • Short URL redirects — each QR code gets a unique short URL with scan tracking.
- • Multi-tenant API keys — each API key sees only its own QR codes. Built for agencies and consultants.
- • SQLite + Drizzle ORM — zero-config database, no external dependencies.
- • Docker + Railway — one-click deploy with Docker image.
- • MIT-licensed. Open source from day one.
Start building with QR for Agent
Dynamic QR codes. Full API. MCP access. Open source. $0 to start.