Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
schettn opened this issue Sep 3, 2024 · 0 comments
Labels
🕹 aspect: interface Concerns end-users' experience with the software ✨ goal: improvement Improvement to an existing feature 🟩 priority: low Low priority and doesn't need to be rushed 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work

Comments

@schettn
Copy link
Contributor

schettn commented Sep 3, 2024

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 schettn added 🟩 priority: low Low priority and doesn't need to be rushed 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work ✨ goal: improvement Improvement to an existing feature 🕹 aspect: interface Concerns end-users' experience with the software labels Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🕹 aspect: interface Concerns end-users' experience with the software ✨ goal: improvement Improvement to an existing feature 🟩 priority: low Low priority and doesn't need to be rushed 🚦 status: awaiting triage Has not been triaged & therefore, not ready for work
Projects
None yet
Development

No branches or pull requests

1 participant