Skip to main content

Changelog

What we have shipped, newest first. Only released changes appear here.

Category leadership foundations

Phase D
  • Campaigns: group links into folders, filter the links table by campaign, and see a per-campaign scan rollup.
  • Destination safety check: every link is screened on create and update; dangerous schemes and private or internal hosts are flagged and served behind a warning page instead of silently breaking.
  • Live view: a dashboard page that streams your most recent scans and refreshes automatically.
  • Print Kit: generate a printable PDF sheet of QR codes and short URLs for a campaign or a selected set of links, rendered entirely in your browser.
  • Reserved short IDs: custom back-halves that collide with a site route (for example "status") are now rejected at creation, so a custom link can never resolve to the wrong page.

Enterprise procurement foundations

Phase C
  • Viewer role: invite read-only members who can see links and analytics but cannot change them.
  • Scoped API keys: restrict a key to specific permissions such as read-only or analytics-only access.
  • Scan-data retention: set a retention window after which old scan events become purge-eligible.
  • Honest single sign-on and a trust pack that documents our security posture without overstating it.

Redirect quality of service

Phase B
  • Faster redirects: hot links are cached, so repeat scans resolve with less database work.
  • Reliable webhooks: failed scan webhooks are retried with signed, verifiable payloads.
  • Public status page at /status with a real database connectivity check.
  • Bot filtering: known crawlers no longer inflate your scan counts or burn a scan limit.

Trust, authorization, and correctness

Phase A
  • Closed authorization gaps so every link, scan, and export is scoped to your workspace.
  • Hardened destination handling to reject script-executing URL schemes across every create path.
  • Correctness fixes to scan accounting and link protection (password, expiry, scan limit).

Viewer-local time

Analytics
  • Dashboard timestamps now render in your timezone instead of server UTC.
  • Analytics charts bucket by viewer-local days, so daily totals line up with your calendar.