What is a regression? Definition in software
A regression is behavior that used to work and now doesn't — a defect introduced by a recent change that has broken something previously verified.
A regression is behavior that used to work and now doesn't — a defect introduced by a recent change that has broken something previously verified.
The term is precise on purpose. A new bug is the absence of a fix; a regression is the loss of one. The distinction matters because the response is different: a new bug goes through the usual prioritization, a regression often blocks the release that introduced it until it is fixed or reverted.
Catching them earlier
Regression tests, smoke tests, and visual diff tools all exist to catch regressions before users do. The unwritten cost of every regression that escapes to production is a small amount of trust spent — users notice that a thing they used yesterday no longer works, and confidence in the product erodes a little.
For teams reviewing a staging build before each release, a regression-focused pass is one of the cheapest investments available. Capture the broken state, name the previous behavior, and ship the comparison to whoever owns the change. The markdown artifact gives a coding agent enough context to find the offending commit and propose a revert or fix.
Frequently asked questions
How is a regression different from a new bug?
A new bug is a defect in code that never worked correctly. A regression is a defect in code that was working until something changed.
Why are regressions worse than equivalent new bugs?
Because someone or something already validated the behavior. A regression means a check that should have caught it didn't — either the test does not exist or the test was not run. Both are worth investigating.
Capture your first review.
About a minute from open tab to a shareable URL your agent can ingest.
Start capturing