Skip to content

Commit f5b161b

Browse files
committed
spec release blog
1 parent 8f0f659 commit f5b161b

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: "GraphQL spec releases are not important"
3+
date: 2021-02-12T09:00:00+10:00
4+
author: Andreas Marek
5+
draft: false
6+
---
7+
8+
Every once in a while somebody asks which version of the GraphQL spec GraphQL Java supports.
9+
The general answer is: the current draft.
10+
11+
The bigger question behind this is: what is the information you want get out of this question?
12+
Why do you ask this question?
13+
14+
The thing is: spec releases are not really important and people misinterpret what they mean.
15+
16+
# Evolution of the spec process
17+
18+
The GraphQL spec has five releases so far:
19+
20+
- two in 2015 (including the first published version)
21+
- two in 2016
22+
- one in 2018
23+
24+
As you can see in the first two years spec releases where quite frequently, but after the one in 2018,
25+
there has not been a release.
26+
27+
2017 was also the year the [GraphQL Working Group](https://github.com/graphql/graphql-wg) was established.
28+
This group is the main forum to evolve the spec since then. Over time this group established a very high bar
29+
for every PR to be merged into the spec. (See the [Contributing guidelines](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md))
30+
31+
With this high standard set, nearly all implementations (including GraphQL Java) started to implement every
32+
merged PR instead of waiting for a big release. Because they are very confident this change will be released
33+
in this form, it is safe to implement it right away.
34+
35+
This treatment of merged PRs as de-factor releases is now an established rule in the GraphQL community.
36+
This explains why the whole GraphQL ecosystem has evolved a lot since 2018, even without a release.
37+
38+
__A release is not needed anymore if every merged PR is like a mini release.__
39+
40+
Future releases are more like an
41+
[opportunity to look back and promote the work since the last release.](https://github.com/graphql/graphql-wg/blob/main/notes/2021-02-04.md#promoting-and-documenting-spec-release-5m-brian)
42+
43+
I personally hope that we make this de-facto rule, that evey PR is a mini release, more official.
44+
We should not use the word "draft" any more, but every merged PR should automatically result in a
45+
new GraphQL spec version which is formally approved by the [GraphQL TSC.](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md)
46+
47+
Coming back to the question: "Which spec version of GraphQL is supported"?
48+
I hope by now it is clear why this question is probably not really helpful.
49+
50+
It is better to think about certain features you want to discuss instead referring to the spec releases.
51+
52+
# Feedback or questions
53+
We use [GitHub Discussions](https://github.com/graphql-java/graphql-java/discussions) for general feedback and questions.
54+
55+
You can also contact us on Twitter: [@graphql_java](https://twitter.com/graphql_java)
56+
57+
You can also checkout our [Workshops](/workshops) for more possibilities to learn about GraphQL
58+
and GraphQL Java.
59+
60+
61+

0 commit comments

Comments
 (0)