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

Set include_deprecated default value to true for backwards compatibility #1333

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

filipemonteiroth
Copy link

Context

Absinthe introspection has always included deprecated fields, but there were a few misleading tests.

For example, this test was targeting the ProfileInput object, which had no deprecated fields until #1291 added one.

The test mentioned above continued working successfully because the include_deprecated argument default was set to false.

Purpose

Since Absinthe has always included deprecated fields for args, input_fields, and field, I recommend setting the default value of include_deprecated to true for these categories to maintain backwards compatibility (changed by #1291).

Considerations

  • enum_values and __type already had include_deprecated default set to false before adding include_deprecated to other fields. I understand the inconsistency this PR introduces, with some defaults set to true and others to false. However, the trade-off seems worth it to maintain backwards compatibility. If we decide to set include_deprecated to false by default, we could highlight this breaking change more explicitly in the CHANGELOG.

Fixes #1327

@filipemonteiroth
Copy link
Author

@benwilson512 maybe I could have your review here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mix.Tasks.Absinthe.Schema.Json nolonger includes deprecated input fields
1 participant