Changelog

Every feature, every release. From first commit to production.

v0.12.0

March 2, 2026

Frames, 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.conversion event fired on every conversion.
  • CSV bulk upload — Pro-only POST /api/qr/bulk/csv to 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, 2026

Custom Domains

  • Custom domains — per-API-key custom domain for branded short URLs. Set via PUT /api/domain with 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, 2026

UTM, 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, 2026

11 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, 2026

vCard & WiFi QR Codes

  • vCard QR codes — encode contact data directly in the QR code. Scanning prompts “Add Contact” and serves a .vcf file.
  • WiFi QR codes — encode network credentials (SSID, password, encryption type). Scanning prompts “Join Network” on supported devices.
  • Type-based content rendering on redirect: .vcf for 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, 2026

Enriched 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).
  • Aggregationsscans_by_day, top_devices, top_browsers, top_countries, top_referers.
  • Period filter?period=7d|30d|90d|all on the analytics endpoint.

v0.6.0

March 2, 2026

Expiration & Scheduling

  • QR code expiration — set an expires_at date. After expiry, scanning returns 410 Gone.
  • Scheduled URL swap — set a scheduled_url and scheduled_at date. The target URL automatically switches at the scheduled time (lazy activation on next scan).

v0.5.0

March 2, 2026

Bulk 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, 2026

Stripe 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, 2026

Registration, Webhooks, Custom QR Codes

  • Self-service registrationPOST /api/register with email and label. No credit card required.
  • Real-time webhooks — CRUD for webhook endpoints. qr.scanned events 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, 2026

MCP Server

  • First npm publishnpx qr-for-agent launches 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, 2026

Initial 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.