New FeatureSHIP-67
Setup is four steps instead of nine, and the waiting does something
The standard signup path collapses into a single setup hub that runs while your repository is being indexed, rather than making you click through informational screens first. A live status card shows exactly which repositories are being processed, and underneath it there are tabs to install the CLI, connect your observability tools, invite teammates, and link your GitHub account. The flow ends by offering to run your first codebase scan, so you leave onboarding having seen Autter actually do something.
What changed in the flow
- Setup runs during indexing
- The hub is usable while the index builds in the background, not after it.
- A real Windows install command
- The install guide now offers PowerShell. Previously it only ever showed the Mac and Linux command, even though Windows was supported.
- Onboarding finishes itself
- When indexing completes you land on your dashboard a couple of seconds later, instead of the screen sitting on a green checkmark waiting for two more clicks. If indexing ran into problems Autter deliberately does not auto-advance, so the warning stays on screen where you can read it.
- One GitHub step instead of two
- Installing the app links your personal profile at the same time, on the same screen. Signing up used to ask you to connect to GitHub twice.
Your remaining steps became a live checklist
The finish setting up section on the dashboard is now a proper checklist with a progress bar, and each step ticks itself off automatically based on what you have actually done: a scan that has been run, the CLI detected on your machine, observability data arriving, a teammate invited, your GitHub account linked. Hints are personalised with the repository name to scan, how many teammates you have, and which GitHub account you are connected as, and the header flips to a done state when you finish. It replaces a section that previously looked half-finished, with content floating in empty space.
Two things to know
- Teammates who never install anything themselves get a new Your GitHub account card in Settings, Source Control, which is also the first place in the product where you can disconnect a personal GitHub link.
- Linking your profile during app installation needs a small configuration change on our side to switch on, and behaves exactly as before until then.
New FeatureSHIP-66
Bring your own monitoring: Sentry, PostHog, Grafana, or any webhook
You no longer need to be using Autter's own runtime SDK to get incident investigation and automated fixes. Alerts from Sentry, PostHog, Grafana, or any tool that can send a JSON webhook now flow into the same incident pipeline: Autter correlates them with recent deployments and pull requests, investigates the root cause, and can open a fix pull request.
- You choose how far it goes
- Per source: just collect the data, investigate it, or investigate and auto-fix.
- External alerts open an incident immediately
- Your monitoring tool already decided the alert was worth firing, so these skip Autter's usual volume threshold. When your tool marks it resolved, Autter closes it too.
- Data Sources settings is fully working
- Previously a set of preview cards, now setup instructions per tool and a copyable webhook address.
New FeatureSHIP-65
Autter Runtime now catches slow code, not just broken code
A new monitor sweeps your runtime data every half hour looking for operations that are both slow and frequent, web routes and background jobs alike. When it finds one it opens a performance incident, marked with a violet PERF badge in Runtime, Incidents, correlates it with recent deployments, and runs an automated analysis using real trace evidence to work out where the time is actually going.
- The same loop, extended to latency
- Detect, investigate, fix. If there is a safe optimisation, Autter opens a pull request with the change and a test proving it.
- It tells you when it cannot help
- If it decides the code cannot safely be optimised, it says so on the incident timeline rather than staying silent.
- No nagging
- An unresolved slow process will not re-alert for a week.
New FeatureSHIP-64
Environment variables for your repositories, so checks run against real configuration
The repository Environment variables tab is no longer a placeholder. You can paste in a .env file as a named bundle and choose which parts of Autter's testing it feeds, builds, tests, or app startup, so checks that previously stalled on missing configuration now run properly.
- Import from a secret manager
- AWS Secrets Manager, Doppler, and Infisical, with a Sync now button to re-pull.
- Missing variables get named
- Autter shows which variables your repository declares that you have not configured yet, and a failing build check names the missing variable and points you at the tab.
- Write-only by design
- Nothing in the product or its APIs ever gives a value back. Only variable names are ever displayed.
ImprovementSHIP-63
Scans that fail now look like it
Two fixes on the same screen: first scans that failed with a raw internal error, and failed scans that still rendered a clean bill of health.
First scans no longer fail with a raw technical error
New users running their first codebase scan could hit a failure with an unfriendly internal error message printed directly on the dashboard. The underlying configuration gap in our processing infrastructure has been corrected and affected scans have been repaired. Beyond that, we changed the behaviour so this class of problem cannot fail a scan at all: a scan that cannot be dispatched right away now stays safely queued, and a new background sweep picks up anything waiting more than a few minutes and runs it. Internal error details go to our logs only, and you see plain-language status instead.
Failed scans stopped pretending they succeeded
A scan that failed partway through could still render a green shield, risk scores, and a No findings summary, reading as a clean bill of health when it was nothing of the sort. Failed scans now show a red indicator and a clear panel saying the scan did not finish, with the scores suppressed.
In the same pass
- The CLI install prompt no longer stacks up in three places at once.
- The Settings CLI screen recognises when you have already connected, instead of pitching a feature you are using.
- An architecture map message that implied your repository was not indexed when it was.
- Two pieces of misleading copy, one about how prompt data is stored, one about how CLI credentials work.
ImprovementSHIP-62
One blocking-issue count, and verdicts that update after the deeper pass
The pull request page is the one screen meant to tell you whether a merge is safe. Two ways it could mislead you are now fixed.
Every count on the page agrees
On a demo trial the page header said 7 hard blocks while the summary right below it said 10. The mismatch came from different parts of the page counting findings differently: some included findings the verification pass had already refuted, some did not. Every count now uses the same rule as the merge gate itself. Refuted findings still appear in the list, counted separately and labelled, so the arithmetic on screen adds up.
The verdict is recomputed after the deeper analysis
A test pull request with a deliberately broken import and a hardcoded API key still read 0 findings, 157 checks passed, approved and merge-ready, even though the deeper analysis pass had caught the broken import by actually running the code. The verdict had been posted earlier and nothing ever revisited it. It is now recomputed when the deeper pass completes: new problems supersede the approval with a change request and turn the check red, and if the deeper pass instead refuted the findings that were blocking, the gate re-opens. Check counts, the pill grid, and the dashboard cards all update to match.
Keys labelled fake are no longer discarded silently
API keys labelled fake or dummy were being silently discarded before detection ran, which is indistinguishable from not noticing them. They now surface as a clearly labelled low-risk note, so you can see the detection worked, and they never block a merge on their own.
ImprovementSHIP-61
Automated fix runs always report back
An automated fix run could announce that it was processing fixes and then go completely silent, with no branch, no follow-up, and no explanation, when its internal safety checks decided not to ship a patch. Every one of those quiet exits now posts a closing comment explaining what happened.
Effort spent where a patch can help
The fixer no longer works on findings that no patch can resolve, things like a missing linked issue or a pull request that mixes a refactor with a behaviour change. Those now get their own checklist comment addressed to you, so you can work through your half while the agent handles the automatable half, and they no longer crowd out real fixes.
Closed pull requests are handled honestly
Ticking the fix option on a pull request that was already closed used to start a job that could never run, leaving a processing message hanging forever. You now get an immediate reply explaining that fix runs only target open pull requests, and a run that is mid-flight when a pull request closes is cancelled with a comment instead of vanishing.
The patch-safety check always uses the best model
The final safety check that decides whether a generated patch is good enough to ship was being served by the economy model on lower plans, and was withholding perfectly sound fixes. That one check is now exempt from plan-based model selection for everyone. It is a tiny call, and the wrong place to economise.
ImprovementSHIP-60
Every CLI install screen now explains why you need it
People kept asking a fair question: "I just connected my repository to GitHub, why am I also installing something on my machine?" Each install screen now leads with a one-minute setup badge and a short side-by-side explanation, and it shows up everywhere the install guide appears, not just during signup.
- The GitHub connection reviews pull requests and indexes your code in the cloud, but only ever sees finished commits.
- The CLI runs where the code is actually written and records who wrote each line as it happens, which cannot be reconstructed after the fact.
ImprovementSHIP-59
Two pieces of hardening behind the scenes
The processes Autter runs against your code, builds, tests, and app boots, no longer inherit our internal credentials: they get a deliberately scrubbed environment containing only your own configuration. Separately, the infrastructure that hands scans off for processing was audited and corrected after the first-scan failures above, with a backstop sweep added so a similar gap cannot strand your work again.