This release puts you in control of how findings are labeled and tracked, watches your past fixes for regressions, and continues to sharpen what scans report.
Catch regressions in findings you already fixed
A fix can quietly come undone as code keeps changing. When you start a scan you can now turn on a regression check: it re-examines the findings you previously marked as resolved and verifies each one against your current code, flagging any whose vulnerability is back. The scan setup tells you how many resolved findings it will re-check on that repository before you commit. It uses your own resolution notes and discussion to understand how each issue was fixed, so it knows what to look for, and every regression it reports links straight back to the original finding so you can see the prior fix and the history at a glance.
Regressions are easy to spot without opening a scan. Your scan lists and your project dashboard now mark which scans ran the check, and any that found a returning bug show the count right there. Your findings view has a regressions filter, so you can pull up just the fixes that came undone in one click.
Sharper analysis flows
Our analysis flows keep improving at finding real bugs. snarksentinel, gestalt, and cryptopsy now catch issues they would have missed before, including on code earlier scans already looked at, so a fresh scan can surface findings a previous run did not.
Calibration: let your scans sharpen your guidance
You already steer each repository's scans with its zkao.md guidance. Now a new Calibration step helps you keep that guidance sharp. After a scan, your repository card can show that zkao has questions and suggestions for you: clarifying questions about scope, threat model, or severity that came up during the scan, and specific proposed edits to your zkao.md, each with a short reason and links to the findings behind it. Answer a question in a sentence, or accept an edit in one click to apply it to your guidance. You stay in control: dismiss anything you do not want, reject edits you disagree with, and review a full history of how your guidance changed over time, including which changes came from a suggestion you accepted. Sharper guidance means future scans focus on what matters to you.
Set the severity you trust
The analysis assigns every finding a severity, but you know your system best. You can now adjust a finding's severity yourself when you disagree. Your value is what shows everywhere it matters: the finding's badge, the ordering of your findings list, your severity filters, your project dashboard, and your public reports all follow your call. The original analysis rating is never lost, it stays visible next to your override so the history is clear, and you can revert to it at any time.
Manage findings across branches
Teams rarely live on a single branch: a release line and active development, a main branch and a long running feature branch, and the same code can differ between them. Scans now record which branch they ran against, and your project findings view has a branch filter so you can focus on the branch you care about. When you narrow to a single branch or commit, findings that recur from another branch or an earlier commit come into view alongside the rest, so you see that branch's complete picture instead of only what is brand new.
Get more out of every scan
Scans now make fuller use of the budget you set. When the earlier parts of an analysis come in under budget, what is left over is put toward the deeper bug hunting and proof-of-concept work rather than going unused, so the same budget reaches further into the cases that take real effort to crack.
Pay for what changed, not a full rebuild
Every scan begins by building an understanding of your repository to guide the analysis. When you scan a commit close to one already scanned, that understanding is now updated for just what changed instead of being rebuilt from scratch, so a small change costs a fraction of a first scan. The same holds when you only adjust the guidance you set for a repository: scans pick up your new guidance without redoing all the groundwork.
Other Changes
- A clearer repository coverage view: your project dashboard now shows, for each repository, whether its current HEAD is covered by a scan, how far it has moved on since, and which branches have been scanned and when. When the last scan ran on a different line of history than your current branch, it now says so plainly instead of implying the code only moved ahead.
- Read every finding in one place: a new "Read all" view on a scan and on your project findings lays out all findings in a single scrollable page, and copies them to Markdown in one click for reports and sharing.
- A smoother welcome for invited teammates: accepting a project invite now takes you straight to the project, with a one-time welcome to get you oriented.