Changelog
What shipped, dated and in the open. Every entry below comes from the deploy annotations Staats records for its own site, the same ones your agent uses to measure ships.
4 September 2026
- A daily allowance for agent requests. Every plan now carries a daily number of MCP tool calls: 1,000 on the free plan and 10,000 on every paid plan, reset at midnight UTC and shared across your team. An interactive session uses a few dozen, so this is a bound on runaway automation rather than a meter on ordinary work. Calls against a site shared with you draw on that owner's allowance, and a guest can never use more than half of it, so an owner always keeps a working share of their own account.
- Error allowances right-sized. Growth moves to 50,000 errors a month and Scale to 100,000; Free and Pro are unchanged. Error quotas are storm protection, not a feature: half a million errors a month is a crash loop, not analytics. The 25% grace buffer still applies and nothing already recorded is touched.
3 September 2026
- Team sizes join the plans. Paid plans now state their team size plainly: 3 on Pro, 5 on Growth, 10 on Scale, counted with you included. The free plan is single-player. Seats still come with the plan, never billed one by one, and if a plan change ever puts a site over its allowance nobody is removed: the site just stops accepting new members until it is back under.
- An honest site ladder. Site counts move to 1, 3, 5 and 10. Accounts holding more sites than their plan now allows keep every one of them; creating new ones waits until the count is back under the limit.
2 September 2026
- Collision-proof tracking names. The custom event call is now window.staats() and the click attribute is data-staats, replacing the generic window.track and data-track that other tools on the same page could clash with. Staats runs happily alongside other analytics, so its names now stay out of everyone's way. Pageview tracking is unchanged and existing installs need nothing.
- Comparisons that refuse to mislead. compare_around now warns when its before window reaches back past the earliest data available for the site, and says how much of the window is actually covered. A tracker installed last week can no longer produce a +12,900% impact number without a health warning attached, and your agent is told plainly not to present it as impact.
- Operating system tracking. Every pageview now records the visitor's operating system (iOS, Android, ChromeOS, Windows, macOS, or Linux), derived server-side from the user agent. Ask your agent for an OS breakdown or filter any query by it. The tracker itself is unchanged: still ~1.4KB gzipped, zero bytes added, nothing new collected in the browser.
- Browser extension errors are filtered out. Errors thrown by a visitor's browser extensions (chrome-extension:// and friends) never reach your error list. They are a visitor's extension misbehaving, not your site.
- Honest traffic drops. what_changed no longer judges a traffic drop on the current, incomplete day, which used to make steady sites look like they were crashing every morning. Drops now require a complete day; spikes still fire same-day.
1 September 2026
- Error tracking on every tier. The free plan includes 5,000 errors a month, matching Sentry's free allowance, with paid tiers at 25,000, 100,000 and 500,000. Error events never count toward your event quota.
- Error tracking launched. The tracker passively captures uncaught JavaScript errors and unhandled rejections in ~1.4KB gzipped, scrubs identifying values before storage, and the new what_broke tool reports new errors and spikes alongside behavioral friction like refresh bursts, attributing each to the deploy that most plausibly introduced it.
- Privacy paperwork done for you. A data processing agreement is now part of the terms and applies to every account automatically, and ready-to-paste privacy policy wording lives in the docs, on every site page in the dashboard, and in the create_site response so your agent can offer it during setup.
- Dashboard improvements. Per-site error counts with last-error times, usage meters aligned in their own column, and zero rows hidden on the Usage view.
31 August 2026
- MCP discovery mode. Connecting without a key now shows all tools and answers calls with signup directions instead of a bare 401, so directories and clients can inspect the server before creating an account.
- First SEO surface. Three framework install guides, five competitor comparison pages, a sitemap, robots.txt, and clean extensionless URLs everywhere.
28 August 2026
- Self-exclusion and cleaner paths. A localStorage staats_ignore flag stops counting your own visits, localhost and file:// pages are skipped entirely, delivery moved to fetch with keepalive, and .html duplicate paths collapse at query time.
27 August 2026
- Team sharing. Invite links let your team join a site with their own account and agent. Members see traffic and record annotations; admin actions stay owner-only.
24 August 2026
- Staats launched. Cookieless web analytics with no analytics dashboard: a one-line script tag, and your coding agent as the interface over the Model Context Protocol.