You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Changes reported in operations but only securityScheme changed #893
The resulting error message is misleading as the issue is not directly related to any concrete endpoint. This took me quite a while to narrow this down to this difference.
So it would be nice to have a more suitable error message.
org.opentest4j.AssertionFailedError: [### Company API (v V0)
---
#### What's Changed
---
##### `POST` /users
#### Result
---
API changes broke backward compatibility
]
I can reproduce the root cause from the current code path.
The OAuth flow URL change is detected correctly by the diff model:
ChangedOAuthFlow marks authorizationUrl, tokenUrl, and refreshUrl changes as changed/incompatible depending on config.
That changed security scheme is attached to the operation through ChangedSecurityRequirements.
The misleading output comes from the markdown renderer. MarkdownRender prints a changed operation header, but only renders these operation detail sections:
Operation ID
Parameters
Request
Return Type
It does not render ChangedOperation#getSecurityRequirements(), so a security-scheme-only change leaves the operation listed with no explanation before the final “API changes broke backward compatibility” result.
A focused fix would be to add security requirement rendering to MarkdownRender, similar to the existing HTML renderer path, and include the changed scheme/flow details such as OAuth flow type and changed authorizationUrl / tokenUrl.
Existing OAuthFlowBCTest covers the compatibility result, but a regression test should also assert that markdown output for an OAuth flow URL change includes a security-related detail instead of only the endpoint heading.
Activity
DrSatyr commentedon May 7, 2026
I can reproduce the root cause from the current code path.
The OAuth flow URL change is detected correctly by the diff model:
ChangedOAuthFlowmarksauthorizationUrl,tokenUrl, andrefreshUrlchanges as changed/incompatible depending on config.ChangedSecurityRequirements.The misleading output comes from the markdown renderer.
MarkdownRenderprints a changed operation header, but only renders these operation detail sections:It does not render
ChangedOperation#getSecurityRequirements(), so a security-scheme-only change leaves the operation listed with no explanation before the final “API changes broke backward compatibility” result.A focused fix would be to add security requirement rendering to
MarkdownRender, similar to the existing HTML renderer path, and include the changed scheme/flow details such as OAuth flow type and changedauthorizationUrl/tokenUrl.Existing
OAuthFlowBCTestcovers the compatibility result, but a regression test should also assert that markdown output for an OAuth flow URL change includes a security-related detail instead of only the endpoint heading.