v0.0.77
Released Jul 20, 2026
All releases
Release Notes
Fixed issues now actually clear themselves. If you fixed something on a page that a later crawl never revisited, the finding used to sit there open forever and drag your score down. Three separate causes, all fixed. Reports also tell you what they scanned, label anything carried over from an earlier crawl, and five false positives are gone.
Added
- Reports disclose their scan scope. Every report now states what it actually looked at: how the run started, how deep it crawled, how many pages it covered, and how to run a full scan when you want the rest. No more guessing whether a clean report means "clean" or "barely looked".
- Carried-forward findings are labeled everywhere. A finding on a page that wasn't re-crawled this run is now marked as carried, with per-rule rollups ("4 of 12 pages carried from previous crawls") in the cloud report, the dashboard, and
get_reportover MCP. When a rule is clean on every page checked this run and stays red only because of carried pages, it says so, so you can tell "still broken" from "probably fixed, not re-checked yet". - "Was on N pages" expands to the actual URLs. In both the cloud report and the dashboard you can open the affected-page list, show all of them when it's long, copy the lot as plain text, and see which URLs were checked this run versus carried over.
- Agent clients get tool hints over MCP. Tools now advertise whether they only read, whether they change anything, and whether they touch the outside world, so agents can decide what's safe to call without asking first.
Fixed
- Fixed issues clear instead of piling up. Findings on pages that a later crawl never revisited stayed open indefinitely, and the accumulating warnings kept pushing the health score down. Three causes, all fixed: crawls now seed the frontier with pages that have open carried findings (and stop wasting budget on URLs that are known to be gone), reports over 100 affected pages per check can now resolve pages that were clipped from the published sample, and a page confirmed still failing this run gets a fresh "last seen" stamp instead of looking unconfirmed. On a large site with thousands of stale carried warnings, this is the difference between a score that recovers and one that only ever falls.
- One health score, not two. The score in your terminal and the score on the published report could disagree on the same run (84 in one place, 56 in the other). The published score is now authoritative everywhere.
- A burst of cloud audits no longer wedges dispatch. Stopped audit containers held onto their instance slots, so five audits in quick succession could block new runs for up to an hour. Containers are now torn down properly when a run ends.
- Privacy policy pages are found where they actually live. A
/privacypage titled "Privacy Policy" and linked from the footer was reported missing. It's detected now. - No more phantom Angular on Tailwind sites. Class names like
tracking-tightandleading-relaxedcontainng-, which was enough to report Angular on sites that have never seen it. Detection now requires real framework signals. - Cookie-consent checks read the page, not the prose. A page that merely mentions GDPR or cookies (a privacy policy, for instance) was treated as if it had a consent banner. The check now looks for actual consent machinery.
- Soft 404s confirm before warning. A page that briefly served an error shell during the crawl could produce a finding you couldn't reproduce a minute later. Findings are now confirmed before they're reported.
- Honeypot fields stop failing accessibility. Hidden anti-spam form fields were reported as focusable hidden content with no useful advice. They're now recognized, downgraded, and told exactly what to add (
tabindex="-1"). - Malformed publish dates are caught. A raw database timestamp in
datePublishedpassed validation silently. Structured-data dates are now validated as real ISO 8601. squirrel self doctorstops suggesting you delete your settings. A permission error reading the user settings file was reported as corruption, complete with a destructive "delete this file" hint. Permission problems are now reported as permission problems.- The updater speaks up when it keeps failing. If background auto-updates fail repeatedly, the CLI now tells you plainly to run
squirrel self updaterather than quietly staying out of date. Commands also wait for a pending update to settle before exiting, so an update in flight isn't cut off mid-write.
Faster
- Probe responses stream with a hard size cap. Checks that fetch supporting files no longer read an entire oversized response into memory before deciding they don't need it, which trims both time and memory on sites with large assets.
Update to this version
squirrelscan will auto-update, or run this command to update now:
$