Skip to content

Managing the growing oasdiff-err-ignore.txt alongside v1→v2 migration #28595

@infracore

Description

@infracore

Noticed you're running OasDiff in check-api-v2-breaking-changes.yml to catch breaking changes against main — solid setup. But it looks like oasdiff-err-ignore.txt is getting pretty long at this point, and there's no way to distinguish "intentional breaking change for v2 migration" from "someone accidentally removed a required field."

One thing OasDiff doesn't really do is classify changes by semver impact or let you set different policies per API version. Like, your v2 endpoints are actively evolving so you probably want a more relaxed posture there, but v1 should be locked down since people are still migrating.

We built Delimit — it's a GitHub Action that does the same breaking-change detection but adds policy presets (strict/default/relaxed) you can scope per path prefix, plus it auto-classifies every change as MAJOR/MINOR/PATCH. Could run alongside OasDiff without replacing anything.

Here's what it looks like on a real PR: delimit-ai/delimit-mcp-server#11

Happy to set up a test PR if you're curious. No pressure either way — the ignore file approach works, it just gets harder to maintain as the API surface grows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions