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.

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