Safeguard
Developer Tools•

What counts as a breaking change in an automated fix PR?

A breaking change is any change that makes existing code stop working. Semver promises, what it misses, and how to check a fix PR for breakage.

Safeguard Security Team
3 min read

A breaking change is a change that makes code that worked with the old version stop working with the new one. Semantic versioning says a major increment signals incompatible API changes, but the number is a promise by the maintainer, not a measurement, so behaviour changes can arrive in smaller releases.

What semver does and does not say

The Semantic Versioning specification defines three increments: major for incompatible API changes, minor for backward-compatible functionality, and patch for backward-compatible bug fixes. It also says versioning depends on a declared public API, and that major version zero is for initial development, where anything may change at any time.

Three consequences follow. A 0.y.z package can break you in a minor bump. A maintainer may judge a bug fix as non breaking when your code depended on the old behaviour. And not every package follows the rule.

Forms of breakage

TypeExampleCaught by
Removed or renamed APIFunction no longer exportedCompile, type check
Changed signatureNew required argumentCompile, type check, tests
Changed defaultTimeout or validation now stricterTests, if they cover it
Changed output formatDifferent date or error textTests, sometimes
Dropped platform supportNeeds a newer runtimeBuild, deploy
Changed transitive packagesA new dependency brings conflictsInstall, tests

The middle rows are the dangerous ones, because they compile and may pass thin tests.

A five minute check on any fix PR

  1. Read the release notes between the two versions, not just the final one.
  2. Search your code for the changed or removed APIs named in them.
  3. Check the lockfile diff for added, removed and upgraded transitive packages.
  4. Confirm required checks include type checking and integration tests.
  5. Look at the runtime and platform requirements of the new version.

The reviewer checklist for fix PRs expands on this.

When no breaking change is documented

Absence of a note is weak evidence. Rely on your tests and a staged rollout for anything that sits on a critical path. A canary or phased deployment catches what a suite cannot.

Where Safeguard fits

Safeguard's autonomous remediation opens fix pull requests with every category on Manual by default, so a person judges breakage risk before merge, and policies and gates can require checks. You can run a free scan.

Try it yourself

Click through it at your own pace, or open it full screen. Look at what information accompanies a proposed version change.

Quick check

Is a patch release always safe?

No. Patch means backward-compatible bug fixes by promise, but behaviour your code relied on can change.

Do major bumps always break my code?

No, but they are allowed to. Plan time to read notes and run tests.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.