-
Notifications
You must be signed in to change notification settings - Fork 62
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
Bump watershed to 2030? #322
base: main
Are you sure you want to change the base?
Conversation
2030 feels really far. I'm a bit wary it may send the wrong signal that this is never going to happen. What about moving it 2 years (2027)? We can always push the date again in 2 years time if needed so that preserves out option value. |
I think it should be at least 2 years after the spec is ratified. Which even if we get the spec out this year means 2028 would be the earliest I'd be comfortable with. I added a bit of buffer time to both sides.
GraphQL has been out for 10 years this year, and still doesn't have a ratified GraphQL-over-HTTP spec, so 5 years doesn't seem that far away to me 😅 What specifically are you concerned about never happening? The main watershed change is the ability for a client to not specify |
"Past performance is no guarantee of future results." Let's try/hope to get this out faster?
It's not that much about the extra bytes than the extra cognitive load. Being able to tell everyone "this is how it works from now on" has lots of educational value. If not, the message gets complicated. What's more, supporting |
I think it should depend on what’s commonly in use. For example, if servers already implement the draft spec, the date need not change but rather when the date passes we simple omit the old pre-watershed language. In general I’m in favor of pushing it out a couple years, if need be; 2030 is a long way off. |
FWIW – https://shopify.dev/changelog/graphql-over-http. We've rolled this out for most major APIs (albeit, not Storefront API which has latent mobile app traffic). There is some complexity in rollout given that many clients already request IMO, just ink it. |
Just for reference, GraphQL.NET 7.1.0+, released 9/3/2022, uses How does the reference server function? Do typical clients in use today omit the While I'm fine pushing the watershed period back a bit, I would also support omitting the watershed immediately. After all, this is a draft spec. The spec as written would still require support of |
I agree here with @Shane32 I personally don't see the point in pushing this back. The spec is in draft mode so to publish it with this caveat feels odd for me personally. All servers will support A big point people make about GraphQL is that the HTTP spec disregards existing HTTP standards like status-codes, ... well omitting The legacy is in there, the date won't matter for most implementors, what implementors care about is supporting all the cases. Which as far as I can see, we aren't twisting any arms by just leaving this be. I think we historically have been reluctant in changing things but as far as I see that hasn't really helped the case of the community moving towards these goals. I think giving a non-breaking push in the back like this actually helps. |
We can't really have a watershed that's before the spec itself is ratified. I've allowed us ~2 years to get the spec out, and then ~3 years for people to make the relevant changes. Though many of the prominent GraphQL server frameworks may already support this, there are likely a lot of people stuck on legacy servers out there, and having their clients stop working when they update would not be pleasant.
Also (and for a separate PR)... I wonder if we should pick a time other than midnight on New Years Day as the day that this kicks in... 🤔
cc @abernix @balshor @benjie @deinok @ErikWittern @jaydenseric @michaelstaib @mike-marcacci @mmatsa @Shane32 @sjparsons @spawnia @sungam3r @Touchstone117 @enisdenjo @JoviDeCroock