Changelog
What changed
Every release, in plain words. Mystra is in public beta, so this moves quickly.
Email that reaches the inbox
- FixedMystra's mail was landing in Junk at some providers. The sending domain now publishes SPF at the apex and an enforcing DMARC policy, so Outlook and Gmail can tell a real Mystra email from a forged one.
- NewOne-click unsubscribe on onboarding email, the kind Gmail and Yahoo show as their own button. Sign-in links, run alerts and account notices are unaffected: unsubscribing never stops them.
- ImprovedEvery email now has a reply address that reaches a person, and the hidden preview line no longer looks like something a spam filter should worry about.
The blog
- NewA blog at /blog with an RSS feed. First two posts: synthetic monitoring vs uptime checks, and how to test a magic-link signup flow end to end.
A pricing page, a Stripe testing guide and fuller docs
- NewA real pricing page at /pricing with every plan side by side, what counts as a run, and what happens at the limit.
- NewA guide: how to test a Stripe Checkout flow without paying, covering test mode, reaching live Checkout and stopping, 100%-off promotion codes and refunds.
- ImprovedDocs pages have breadcrumbs, an updated date, and fuller answers on payment proof, path markers, share links and the AI brief.
- ImprovedThe homepage says in one paragraph what Mystra is; page titles and structured data name the publisher, the free plan and every doc.
- ImprovedSecurity headers on every response, and the mobile cookie banner no longer covers the docs.
Launch readiness: cookies, accessibility, mobile, SEO
- NewA cookie choice: analytics start only after you allow them; the sign-in cookie stays essential. Change it any time from the footer.
- ImprovedContrast, focus order and labels fixed across the public pages; keyboard users can scroll code blocks; screen readers get named landmarks.
- FixedThe docs and landing page no longer scroll sideways on a phone.
- ImprovedPage titles, descriptions, canonical links, Open Graph cards, sitemap and robots.txt are correct for every public page; the dashboard is excluded from search.
- ImprovedThe site's favicon shows on every app instead of a letter.
More apps per plan
- ImprovedStarter now covers 3 apps and 500 runs a month; Pro covers 10 apps and 3,000 runs. Prices unchanged. Apps cost us nothing until they run, so the run count stays the meter.
Launch prep: a free tier, real limits, a status page that watches itself
- NewFree tier: one app and 25 runs a month with no card, so the first proof on your own app costs nothing. Starter and Pro limits are now enforced; the dashboard tells you when you are close.
- NewBilling in Settings: your plan, usage, upgrade, and the Stripe portal for invoices and cancelling.
- NewThe status page checks Mystra every five minutes (site, database, runner, scheduler, mail in and out) and opens and resolves incidents on its own.
- NewDocs, changelog, security, about, contact and real privacy and terms pages.
- ImprovedPayment proof is one mode: reach Checkout, never pay. Device and region pickers are gone until runs can actually use them.
Faster schedules, a clearer run history, and support that answers
- NewSchedules now tick every 5 minutes, so "every 30 min" means every 30 minutes. Runs get up to 10 minutes and more memory for slow welcome emails.
- ImprovedThe run history strip: one cell per run, outcome colour and icon, run numbers, details on hover, click to open. Duration moved to the tooltip and the table.
- NewEvery error now carries a reference (err_…). Quote it in an email and we can find the exact failure.
- NewA price id and plan name per app: Mystra reports the plan it reached on Checkout against the one you expect.
- New⌘K search across pages, apps and runs (by number or verdict).
- New"Copy instructions for your AI": a brief for Claude Code, Cursor or ChatGPT describing what your app must expose, without secrets.
- NewLive checks for the signup page and the upgrade page while you type them in settings.
- ImprovedThree uncertain runs in a row produce one "needs a look" note per day, so a wrong selector cannot stay silent forever.
- ImprovedVercel account webhooks are accepted on the deploy hook: paste the webhook secret and Mystra verifies the signature and reacts to production deploys only.
- ImprovedThe runs list and run detail are readable on a phone.
- FixedScreenshots, video, HAR and console downloads were empty; they load now.
- FixedSignup on client-rendered and passwordless forms: the runner waits for the fields, falls back to email-only, and no longer mistakes "Continue with Google" for an error.
Mystra goes live
- NewThe runner: a real Chrome browser on our side signs up on your app, waits for the welcome email at its own inbox, reaches Stripe Checkout and checks the paid area, with screenshots, video, HAR and console log on every run.
- NewPayment proof: Mystra reaches Stripe Checkout, reads the plan and amount and stops without paying, then checks the paid area is still gated for the fresh account. Safe on live Stripe keys.
- NewCleanup webhook: after every run your app is told which throwaway user to delete, with a signed body.
- NewAlerts are per step and proof-only: a broken step opens an alert with the proof, reminds while it stays broken, respects quiet hours, and recovers by itself.
- NewShare a run: a signed, revocable public page with the evidence.
- NewDashboard: runs, alerts, apps, evidence and settings; add-app wizard with DNS verification.