Skip to content

story: detect breaking changes in generated OpenAPI schemas #21

Description

@soulcodingmatt

Story

As a backend developer, I want Equilibrium to detect when changes to a base class would produce breaking changes in the OpenAPI schema, so that I can version my DTOs accordingly and avoid breaking API consumers.

Context

Parent epic: #18

When a field is removed or its type changes in a source class, the generated DTO and its corresponding OpenAPI schema change. If an API consumer depends on the old schema, this is a breaking change. Equilibrium should detect this and either warn the developer or automatically generate a versioned DTO (e.g., ExampleDtoV2.yaml with deprecated fields).

Acceptance Criteria

  • Given a previously generated schema and a modified source class, when the processor runs, then breaking changes are detected (removed fields, type changes)
  • Given a breaking change is detected, when configured for auto-versioning, then a new versioned schema is generated with deprecated fields marked
  • Given a breaking change is detected, when configured for warning-only, then a compiler warning is emitted describing the breaking change
  • Non-breaking changes (added fields, added optional fields) do not trigger warnings or versioning

Acceptance Criteria

TODO: Define acceptance criteria for this story.

Acceptance Criteria

TODO: Define acceptance criteria for this story.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendArea: backendstoryHierarchy: story

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions