pylon icon indicating copy to clipboard operation
pylon copied to clipboard

Lack of Indication for Schema Changes Due to Code Updates and Option to Disable Breaking Changes

Open schettn opened this issue 1 year ago • 0 comments

Description:

The automatic GraphQL API generation feature in Pylon (as outlined in Pylon Documentation) simplifies the creation of GraphQL APIs but introduces a risk of unintended breaking changes due to code updates.

Problem:

When changes are made to the codebase, there is currently no built-in mechanism to indicate whether these changes result in a schema alteration. This absence of visibility can lead to unforeseen issues for API consumers if schema changes are introduced without adequate notice.

Proposed Solutions:

  1. Indication of Schema Changes:

    • Implement a feature that detects changes in the codebase and assesses their impact on the GraphQL schema.
    • Provide a report or notification indicating whether the changes lead to a schema modification. This could include:
      • Change Logs: Automated logs detailing schema changes after code updates.
      • Warnings: Alerts during the build or deployment process if a schema change is detected.
      • Versioning: Enhanced versioning to track schema changes more effectively.
  2. Option to Disable Breaking Changes:

    • Introduce a configuration option to disable breaking changes to the API. This would ensure that code updates cannot introduce breaking changes to the GraphQL schema unless explicitly allowed.
    • The option could be implemented as a flag or setting in the configuration, which, when enabled, enforces backward compatibility and prevents schema-breaking changes.

Benefit:

Implementing these features would enhance the stability of the API, improve the development workflow, and safeguard API consumers from unexpected disruptions caused by unintentional schema changes.

Related: #9

schettn avatar Sep 03 '24 08:09 schettn