Changelog

New features, improvements, and fixes, newest first

  1. OpenFeature support

    Official OpenFeature providers for JavaScript, React, and Python. Your app codes against the vendor-neutral CNCF API and Switchbox plugs in as one constructor line, with evaluation still happening locally in your app. Adopting Switchbox is one line, and so is leaving it. That is the point.

  2. A public changelog

    This page. Every user-visible change lands here, newest first, and the landing page shows the latest four. A product built by one person should make it easy to check that it is alive and moving.

  3. How Switchbox works, on one page

    A new architecture page walks through the whole trick: the API writes static JSON to the CDN, and your apps read from the edge and evaluate locally. It shows the literal flags.json your SDK fetches, the few lines that read it, and the honest tradeoff: changes propagate in about 30 seconds.

  4. A new front page

    The landing page got a full rework: a cleaner hero with a 3D switch panel you can actually flip, a short note from the founder on why Switchbox exists and why a one-person company is safe here, and a calmer, more consistent look across the site.

  5. A setup guide on the empty dashboard

    New teams now land on a four-step guide: create a project, create a flag, install the SDK, watch it connect. The last step flips to a live Connected state on screen the moment your app fetches its first config.

  6. Pro plan and billing

    Switchbox now has a paid tier. Upgrade from the Billing tab in Settings, with checkout and invoices handled by Polar. Plans map to honest limits: Free covers a side project, Pro covers a team, and flag reads stay unlimited on every plan.

  7. SDK hardening releases

    switchbox-flags 0.7.0 for Python, switchbox-js and @switchbox/react 0.6.0 for JavaScript. Evaluation can no longer throw: malformed configs and hostile user contexts degrade to your default value, fetches carry timeouts, and one bad flag no longer poisons the rest of the config.

  8. Public docs

    Quickstarts for Python, JavaScript, and React, a full SDK reference, concept guides, and a dashboard tour. Twenty-two searchable pages at /docs.

  9. Settings, reorganized

    Team settings now live in the nav rail and scope to the team you are working in: members, invitations, billing, and the danger zone in one place. Your account, data export, and deletion moved to a dedicated profile page.

  10. Invitations arrive by email

    Team invitations are now delivered by email automatically, and accounts get the receipts you would expect: a welcome note, a confirmation when an account is deleted, and a notice to admins when an SDK key is revoked. Copyable invite links still work.

  11. Revoke an SDK key instantly

    Routine key rotation keeps a 24-hour grace period so running clients migrate cleanly. If a key leaks, Revoke now skips the grace period and purges it from the edge immediately: the old key 404s within seconds.

  12. The dashboard works on your phone

    A full mobile pass across the app: the sidebar collapses to a drawer, tables become card lists, and the flag and segment editors are usable on a small screen.

  13. Teams, roles, and Google sign-in

    Invite teammates with single-use links and give them Admin, Editor, or Viewer roles. Sign in with GitHub or Google: accounts are keyed on your verified email, so the same person resolves to one account across both.

  14. Flags that serve values, not just booleans

    String, number, and JSON flags now serve real values: an enabled value for matched and in-rollout users, a default for everyone else. Author the pair once at the flag level, override it per environment when needed.

  15. Reusable segments

    Define an audience once, say beta users in the EU, and attach it to any number of flags. Segments are expanded into the published config at save time, so the SDKs stay simple and evaluation stays local.