├── .github
├── ISSUE_TEMPLATE
│ └── action-item.md
├── PULL_REQUEST_TEMPLATE
│ └── agenda-attendance.md
└── workflows
│ ├── ci.yml
│ ├── prettier.yaml
│ └── wgutils-automerge.yml
├── .gitignore
├── .prettierignore
├── INTERESTED_DEVELOPERS.md
├── JoiningAMeeting.md
├── LICENSE
├── README.md
├── ROADMAP.md
├── build.sh
├── cspell.yml
├── package-lock.json
├── package.json
├── rfcs
├── Batching.md
├── GraphQLOverSSE.md
├── GraphQLOverWebSocket.md
├── IncrementalDelivery.md
└── PersistedOperations.md
├── spec
├── GraphQLOverHTTP.md
└── metadata.json
├── wg.config.js
└── working-group
├── README.md
├── agendas
├── 2019
│ ├── 2019-11-21.md
│ └── 2019-12-17.md
├── 2020
│ ├── 2020-01-28.md
│ ├── 2020-02-25.md
│ ├── 2020-03-24.md
│ ├── 2020-04-28.md
│ ├── 2020-05-26.md
│ ├── 2020-06-30.md
│ ├── 2020-07-28.md
│ ├── 2020-08-25.md
│ └── 2020-09-29.md
├── 2022
│ ├── 2022-06-27.md
│ └── 2022-07-21.md
├── 2023
│ ├── 2023-09-28.md
│ ├── 2023-10-26.md
│ └── 2023-11-23.md
├── 2024
│ ├── 02-Feb
│ │ └── 29-graphql-over-http-wg-february-2024.md
│ ├── 07-Jul
│ │ └── 25-graphql-over-http-wg-july-2024.md
│ ├── 08-Aug
│ │ └── 29-graphql-over-http-wg-august-2024.md
│ ├── 09-Sep
│ │ └── 26-graphql-over-http-wg-september-2024.md
│ ├── 10-Oct
│ │ └── 31-graphql-over-http-wg-october-2024.md
│ ├── 11-Nov
│ │ └── 28-graphql-over-http-wg-november-2024.md
│ ├── 12-Dec
│ │ └── 26-graphql-over-http-wg-december-2024.md
│ └── 2024-01-25.md
├── 2025
│ ├── 01-Jan
│ │ └── 30-graphql-over-http-wg-january-2025.md
│ ├── 02-Feb
│ │ └── 27-graphql-over-http-wg-february-2025.md
│ ├── 03-Mar
│ │ └── 27-graphql-over-http-wg-march-2025.md
│ ├── 04-Apr
│ │ └── 24-graphql-over-http-wg-april-2025.md
│ ├── 05-May
│ │ └── 29-graphql-over-http-wg-may-2025.md
│ ├── 06-Jun
│ │ ├── 02-graphql-over-http-wg-may-postponed-2025.md
│ │ └── 26-graphql-over-http-wg-june-2025.md
│ ├── 07-Jul
│ │ └── 31-graphql-over-http-wg-july-2025.md
│ └── 08-Aug
│ │ └── 28-graphql-over-http-wg-august-2025.md
└── _template.md
├── implementations.md
├── notes
├── 2019
│ └── 2019-12-17-notes.pdf
├── 2022
│ ├── 2022-06-27.md
│ └── 2022-07-21.md
├── 2023
│ └── 2023-10.md
├── 2024
│ ├── 2024-01.md
│ ├── 2024-07.md
│ └── 2024-08.md
└── 2025
│ ├── 2025-01.md
│ └── summary-2025-04-24.md
├── public-apis.md
└── test-suite.md
/.github/ISSUE_TEMPLATE/action-item.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Meeting Action Item
3 | about:
4 | Template for action items recommended during GraphQL-over-HTTP WG meetings.
5 | labels: "Action item :clapper:"
6 | ---
7 |
8 |
9 |
10 | - assignee(s):
11 | - source:
12 |
13 | ---
14 |
15 | _Note: Action Item issues are reviewed and closed during Working Group
16 | meetings._
17 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE/agenda-attendance.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Meeting Agenda or Attendance
3 | about:
4 | Template for adding agenda or attendance to an upcoming GraphQL-over-HTTP WG
5 | meeting.
6 | labels: "Agenda :hand:"
7 | ---
8 |
9 |
25 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on:
3 | push:
4 | branches:
5 | - main
6 | pull_request:
7 | branches:
8 | - main
9 | jobs:
10 | test:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v2
14 | - uses: actions/setup-node@v1
15 | with:
16 | node-version: "16.x"
17 | - run: npm ci
18 | - run: npm test
19 | publish:
20 | if: github.ref == 'refs/heads/main'
21 | needs: test
22 | runs-on: ubuntu-latest
23 | steps:
24 | - uses: actions/checkout@v2
25 | with:
26 | fetch-depth: 0
27 | - uses: actions/setup-node@v1
28 | with:
29 | node-version: "16.x"
30 | - run: npm ci
31 | - run: npm run build
32 | - uses: peaceiris/actions-gh-pages@v3
33 | with:
34 | github_token: ${{ secrets.GITHUB_TOKEN }}
35 | keep_files: true
36 | user_name: "github-actions[bot]"
37 | user_email: "github-actions[bot]@users.noreply.github.com"
38 |
--------------------------------------------------------------------------------
/.github/workflows/prettier.yaml:
--------------------------------------------------------------------------------
1 | name: Prettier formatting
2 | on: [push, pull_request]
3 |
4 | jobs:
5 | build:
6 | runs-on: ubuntu-latest
7 | steps:
8 | - uses: actions/checkout@v2
9 | - uses: actions/setup-node@v1
10 | with:
11 | node-version: "16.x"
12 | - run: npm ci
13 | - run: npm run format:check
14 |
--------------------------------------------------------------------------------
/.github/workflows/wgutils-automerge.yml:
--------------------------------------------------------------------------------
1 | name: Agenda auto-merge
2 |
3 | on:
4 | pull_request_target:
5 | types: [synchronize, opened, reopened]
6 |
7 | permissions:
8 | contents: write
9 | pull-requests: read
10 | checks: read
11 |
12 | jobs:
13 | validate-and-merge:
14 | if: ${{ github.event.pull_request.base.ref == 'main' }}
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | # SECURITY: it's critical we do not check out the source pull request!
19 | - name: Checkout the main branch
20 | uses: actions/checkout@v3
21 | with:
22 | ref: main
23 |
24 | # We need wgutils to be installed
25 | - run: yarn install
26 |
27 | - name: Wait for checks to pass
28 | env:
29 | GH_TOKEN: ${{ github.token }}
30 | run: |
31 | # Give 15 seconds for any checks to register
32 | sleep 15
33 |
34 | # Wait for checks to pass
35 | gh pr checks ${{ github.event.pull_request.number }} --fail-fast --watch --required 2>&1 || true
36 | # Now get the result in JSON
37 | CHECKS_OUTPUT="$(gh pr checks ${{ github.event.pull_request.number }} --required --json bucket --jq 'map(.bucket == "pass") | all' 2>&1 || true)"
38 |
39 | if echo "$CHECKS_OUTPUT" | grep -q "no required checks reported"; then
40 | echo "Not required: $CHECKS_OUTPUT"
41 | elif [[ "$CHECKS_OUTPUT" == "true" ]]; then
42 | echo "$CHECKS_OUTPUT"
43 | else
44 | echo "PR state failed? $CHECKS_OUTPUT"
45 | exit 1
46 | fi
47 |
48 | - name: Automerge if wgutils approves
49 | env:
50 | GH_TOKEN: ${{ github.token }}
51 | run: |
52 | if yarn wgutils can-automerge "${{ github.event.pull_request.number }}" "${{ github.event.pull_request.head.sha }}"; then
53 | gh pr merge "${{ github.event.pull_request.number }}" --squash --auto --match-head-commit "${{ github.event.pull_request.head.sha }}"
54 | fi
55 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # nyc test coverage
21 | .nyc_output
22 |
23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24 | .grunt
25 |
26 | # Bower dependency directory (https://bower.io)
27 | bower_components
28 |
29 | # node-waf configuration
30 | .lock-wscript
31 |
32 | # Compiled binary addons (http://nodejs.org/api/addons.html)
33 | build/Release
34 |
35 | # Dependency directories
36 | node_modules/
37 | jspm_packages/
38 |
39 | # Typescript v1 declaration files
40 | typings/
41 |
42 | # Optional npm cache directory
43 | .npm
44 |
45 | # Optional eslint cache
46 | .eslintcache
47 |
48 | # Optional REPL history
49 | .node_repl_history
50 |
51 | # Output of 'npm pack'
52 | *.tgz
53 |
54 | # Yarn Integrity file
55 | .yarn-integrity
56 |
57 | # dotenv environment variables file
58 | .env
59 |
60 | # Visual Studio project specific, machine local files
61 | .vs/
62 |
63 | # Standard ignores from wg-template
64 | *.swp
65 | *~
66 | .*.haste_cache.*
67 | .DS_Store
68 | npm-debug.log
69 | /build
70 | /public
71 | /gh-pages
72 | yarn.lock
73 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # PRs to Working Group documents should be minimal effort - no need to force formatting compliance
2 | /working-group/
3 | # To maintain the expressiveness of the original poster, we do not auto-format RFCs
4 | /rfcs/
5 |
--------------------------------------------------------------------------------
/INTERESTED_DEVELOPERS.md:
--------------------------------------------------------------------------------
1 | # Interested Developers
2 |
3 | ## Want to get involved?
4 |
5 | If you're interested in this spec and helping contribute to it, you can get
6 | involved with the following steps:
7 |
8 | 1. Read the [Roadmap](ROADMAP.md) which outlines the planned development of this
9 | spec.
10 | 2. See [Agendas](working-group/agendas) for upcoming meetings of the
11 | GraphQL-over-HTTP working group. Given our world-wide span over many
12 | timezones, we are doing an experiment of attempting to advance the spec with
13 | fewer meetings and more asynchronous communication. During this experiment,
14 | please reach out over Discord and GitHub.
15 | 3. Add yourself to `List of Developers` below.
16 | 4. Find our working group on the
17 | [GraphQL Foundation Discord community](https://discord.graphql.org) in the
18 | #graphql-over-http channel.
19 |
20 | ## List of Developers
21 |
22 | This list helps us keep track people that are interested in taking decisions of
23 | the specification of GraphQL over HTTP.
24 |
25 | If you want to be listed here, open a PR with your information, just order
26 | yourself by username.
27 |
28 | - @abernix
29 | - Company/Project/Repo: https://github.com/apollographql/apollo-server,
30 | https://github.com/apollographql/apollo-client
31 | - Reason: Interested in client/server spec
32 | - @balshor
33 | - Company/Project/Repo: https://github.com/linkedin
34 | - Reason: Interested in a common HTTP spec
35 | - @benjie
36 | - Company/Project/Repo: https://github.com/graphql/graphiql,
37 | https://github.com/graphile/postgraphile
38 | - Reason: Interested in a common HTTP spec
39 | - @deinok
40 | - Company/Project/Repo: https://github.com/graphql-dotnet/graphql-client
41 | - Reason: Interested in client/server on C# stack
42 | - @enisdenjo
43 | - Company/Project/Repo: https://github.com/domonda,
44 | https://github.com/bhidapa, https://github.com/enisdenjo/graphql-ws
45 | - Reason: Interested in a common subscriptions spec
46 | - @erikwittern
47 | - Company/Project/Repo: https://github.com/graphql/libgraphqlparser,
48 | https://github.com/IBM/openapi-to-graphql
49 | - Reason: Interested in client/server in JavaScript/C++
50 | - @fredrick
51 | - Company/Project/Repo: https://github.com/atlassian
52 | - Reason: Interested in a common HTTP spec and common subscriptions spec.
53 | - @ghmcadams
54 | - Company/Project/Repo: https://github.com/ghmcadams
55 | - Reason: Interested in a common HTTP spec
56 | - @glennblock
57 | - Company/Project/Repo: https://github.com/microsoft
58 | - Reason: Interested in a common HTTP spec, and in adoption of emerging HTTP
59 | standards like HTTP SEARCH
60 | - @hemanth
61 | - Company/Project/Repo: PayPal https://github.com/hemanth
62 | - Reason: Interested in a common HTTP spec and common subscriptions spec.
63 | - @jaydenseric
64 | - Company/Project/Repo:
65 | https://github.com/jaydenseric/graphql-multipart-request-spec
66 | - Reason: Interested in multipart request spec
67 | - @JoviDeCroock
68 | - Company/Project/Repo: Stellate https://github.com/urql-graphql/urql
69 | - Reason: Interested in a common HTTP/subscriptions spec
70 | - @maraisr
71 | - Company/Project/Repo: https://github.com/maraisr/meros
72 | - Reason: Interested in common incremental delivery spec
73 | - @michaelstaib
74 | - Company/Project/Repo: https://github.com/ChilliCream/hotchocolate
75 | - Reason: Interested in client/server in JavaScript/C++/C#
76 | - @mike-marcacci
77 | - Company/Project/Repo: https://github.com/boltline
78 | - Reason: Interested in client/server spec
79 | - @mmatsa
80 | - Company/Project/Repo: https://github.com/graphql/libgraphqlparser
81 | - Reason: Interested in client/server in C++
82 | - @shane32
83 | - Company/Project/Repo: https://github.com/graphql-dotnet/server
84 | - Reason: Interested in a common HTTP spec and common subscriptions spec
85 | - @sjparsons
86 | - Company/Project/Repo: PayPal & Braintree https://github.com/sjparsons
87 | - Reason: Interested in common spec
88 | - @spawnia
89 | - Company/Project/Repo: https://github.com/nuwave/lighthouse
90 | - Reason: Interested in client/server in PHP
91 | - @sungam3r
92 | - Company/Project/Repo: https://github.com/graphql-dotnet/server
93 | - Reason: Interested in client/server spec
94 | - @touchstone117
95 | - Company/Project/Repo: https://github.com/amplience,
96 | https://github.com/touchstone117
97 | - Reason: Interested in a common HTTP spec
98 |
99 | ### CC Helper
100 |
101 | `@abernix @balshor @benjie @deinok @erikwittern @jaydenseric @michaelstaib @mike-marcacci @mmatsa @shane32 @sjparsons @spawnia @sungam3r @touchstone117 @enisdenjo @JoviDeCroock`
102 |
--------------------------------------------------------------------------------
/JoiningAMeeting.md:
--------------------------------------------------------------------------------
1 | # Joining a meeting
2 |
3 | 1. Subscribe to our [calendar][] to see upcoming meetings.
4 | 2. Find an upcoming [agenda file][] in the `working-group/agendas/` directory.
5 | 3. Read and follow the steps below to add yourself to an upcoming meeting.
6 |
7 | [calendar]:
8 | https://calendar.google.com/calendar/u/0/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8@group.calendar.google.com
9 | [agenda file]:
10 | https://github.com/graphql/graphql-over-http/tree/main/working-group/agendas
11 |
12 | ## How to join
13 |
14 | Hello! You're welcome to join our subcommittee meeting and add to the agenda by
15 | following these three steps:
16 |
17 | 1. Add your name to the list of attendees (in alphabetical order).
18 |
19 | - To respect meeting size, attendees should be relevant to the agenda. That
20 | means we expect most who join the meeting to participate in discussion. If
21 | you'd rather just watch, check out our YouTube[1].
22 |
23 | - Please include the organization (or project) you represent, and the
24 | location (including country code[2]) you expect to be located in during
25 | the meeting.
26 |
27 | - If you're willing to help take notes, add "✏️" after your name (eg. Ada
28 | Lovelace ✏). This is hugely helpful!
29 |
30 | 2. If relevant, add your topic to the agenda (sorted by expected time).
31 |
32 | - Every agenda item has four parts: 1) the topic, 2) an expected time
33 | constraint, 3) who's leading the discussion, and 4) a list of any relevant
34 | links (RFC docs, issues, PRs, presentations, etc). Follow the format of
35 | existing agenda items.
36 |
37 | - Know what you want to get out of the agenda topic - what feedback do you
38 | need? What questions do you need answered? Are you looking for consensus
39 | or just directional feedback?
40 |
41 | - If your topic is a new proposal it's likely an "RFC 0"[3]. The barrier of
42 | entry for documenting new proposals is intentionally low, writing a few
43 | sentences about the problem you're trying to solve and the rough shape of
44 | your proposed solution is normally sufficient.
45 |
46 | You can create a link for this:
47 |
48 | - As an issue against this repo.
49 | - As a GitHub discussion in this repo.
50 | - As an RFC document into the rfcs/ folder of this repo.
51 |
52 | 3. Review our guidelines and agree to our Spec Membership & CLA.
53 |
54 | - Review and understand our Spec Membership Agreement, Participation &
55 | Contribution Guidelines, and Code of Conduct. You'll find links to these
56 | in the first agenda item of every meeting.
57 |
58 | - If this is your first time, our bot will comment on your Pull Request with
59 | a link to our Spec Membership & CLA. Please follow along and agree before
60 | your PR is merged.
61 |
62 | Your organization may sign this for all of its members. To set this up,
63 | please ask operations@graphql.org.
64 |
65 | PLEASE TAKE NOTE:
66 |
67 | - By joining this meeting you must agree to the Specification Membership
68 | Agreement and Code of Conduct.
69 |
70 | - Meetings are recorded and made available on YouTube[1], by joining you consent
71 | to being recorded.
72 |
73 | [1] Youtube: https://www.youtube.com/channel/UCERcwLeheOXp_u61jEXxHMA [2]
74 | Country codes:
75 | https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes
76 | [3] RFC stages:
77 | https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md#rfc-contribution-stages
78 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) GraphQL Contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > **Stage 2: Draft**
2 | >
3 | > This spec is in the draft stage of development, and can change before reaching
4 | > `Accepted` stage. For more information, please see the [Roadmap](ROADMAP.md)
5 | > or [how to get involved](INTERESTED_DEVELOPERS.md).
6 | >
7 | > You can find our community in the
8 | > [graphql-over-http channel](https://discord.com/channels/625400653321076807/863141924126588958)
9 | > on the [GraphQL Foundation Discord](https://discord.graphql.org).
10 |
11 | ---
12 |
13 | # GraphQL over HTTP
14 |
15 | **Introduction**
16 |
17 | HTTP is the most common choice as the client-server protocol when using GraphQL
18 | because of its ubiquity. However the
19 | [GraphQL specification](https://graphql.github.io/graphql-spec) deliberately
20 | does not specify the transport layer.
21 |
22 | The closest thing to an official specification is the article
23 | [Serving over HTTP](https://graphql.org/learn/serving-over-http). Leading
24 | implementations on both client and server have mostly upheld those best
25 | practices and thus established a de-facto standard that is commonly used
26 | throughout the ecosystem.
27 |
28 | This specification is intended to fill this gap by specifying how GraphQL should
29 | be served over HTTP. The main intention of this specification is to provide
30 | interoperability between different client libraries, tools and server
31 | implementations.
32 |
33 | **Spec Location**
34 |
35 | The GraphQL over HTTP specification is edited in the
36 | [spec-md markdown file](./spec/GraphQLOverHTTP.md).
37 |
38 | In the future, we plan that you would be able to view the generated form of the
39 | specification as well.
40 |
41 | ### Contributing to this repo
42 |
43 | This repository is managed by EasyCLA. Project participants must sign the free
44 | ([GraphQL Specification Membership agreement](https://preview-spec-membership.graphql.org)
45 | before making a contribution. You only need to do this one time, and it can be
46 | signed by
47 | [individual contributors](https://individual-spec-membership.graphql.org) or
48 | their [employers](https://corporate-spec-membership.graphql.org).
49 |
50 | To initiate the signature process please open a PR against this repo. The
51 | EasyCLA bot will block the merge if we still need a membership agreement from
52 | you.
53 |
54 | You can find
55 | [detailed information here](https://github.com/graphql/graphql-wg/tree/main/membership).
56 | If you have issues, please email
57 | [operations@graphql.org](mailto:operations@graphql.org).
58 |
59 | If your company benefits from GraphQL and you would like to provide essential
60 | financial support for the systems and people that power our community, please
61 | also consider membership in the
62 | [GraphQL Foundation](https://foundation.graphql.org/join).
63 |
64 | ---
65 |
66 | Copyright Joint Development Foundation Projects, LLC, GraphQL Series.
67 | [graphql.org](https://graphql.org) | [Spec](https://spec.graphql.org) |
68 | [GitHub](https://github.com/graphql/graphql-over-http) |
69 | [GraphQL Foundation](https://foundation.graphql.org) |
70 | [Code of Conduct](https://code-of-conduct.graphql.org) |
71 | [Discord](https://discord.com/channels/625400653321076807/863141924126588958) |
72 | [Store](https://store.graphql.org)
73 |
--------------------------------------------------------------------------------
/ROADMAP.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP Specification Roadmap
2 |
3 | ## Mission
4 |
5 | _Provide a specification that allows GraphQL clients and servers with different
6 | implementations and technology stacks to interact freely over HTTP if both
7 | client and server are compliant._
8 |
9 | ## Guiding principles
10 |
11 | - Development is based on use cases
12 | - Strive for backwards-compatible progress
13 | - Servers supporting later versions of this spec should support clients using
14 | earlier versions of this spec.
15 |
16 | ## Version 1.0
17 |
18 | Version 1 aims to codify the most common existing uses of GraphQL queries and
19 | mutations over HTTP whilst encouraging some improved practices. The majority of
20 | GraphQL servers should find that they are already compatible with Version 1.0 of
21 | the GraphQL-over-HTTP specification, although they should still put work in to
22 | address the `SHOULD` behaviours that they may be missing, most notably around
23 | the use of the `application/graphql-response+json` Content-Type.
24 |
25 | Subscriptions, websockets and server-sent events are out of scope for version
26 | 1.0.
27 |
28 | In layout and structure version 1.0 should lay a foundation for future
29 | development and standardization.
30 |
31 | ### Scope
32 |
33 | - GET/POST Requests
34 | - Request parameters
35 | - Serialization format
36 | - Response body
37 | - Status codes
38 |
39 | ### Actions
40 |
41 | - Move to the GraphQL Foundation
42 | - Set of running examples of ~5 of the most popular servers/clients with a
43 | standard, minimal GraphQL schema
44 | - Test suite to automate testing of GraphQL servers compliance with the spec
45 | - Can be applied to examples of popular server or public GraphQL APIs
46 | - Results of popular libraries and APIs compliance with current spec
47 | - Structuring of existing spec to be easier to extend in later versions
48 | - Fine detail focus on each of the main sections of the spec
49 | - Update links to point to the GraphQL Foundation repos and websites not FB
50 | - Adopt similar formatting/tooling for spec to match the GraphQL spec
51 |
52 | ## Future versions
53 |
54 | Future versions of the spec may include these concepts:
55 |
56 | - Caching
57 | - Batching
58 | - Versioning mechanism for servers/clients to communicate what versions they
59 | support
60 | - Modularity - A way to communicate what features (and possibly versions) of the
61 | HTTP spec are supported by a server
62 | - Persisted queries
63 | - Multipart requests (file uploads)
64 | - Submit MIME type application/graphql+json to IANA
65 | - New HTTP SEARCH method and how it could be used
66 | https://tools.ietf.org/html/draft-snell-search-method-01
67 |
68 | ## Stages
69 |
70 | The process of writing this specification may proceed according this rough
71 | outline of stages. We are currently in the _Draft Stage_.
72 |
73 | ### Stage 0: Preliminary
74 |
75 | In the _Preliminary Stage_, things may change rapidly and no one should count on
76 | any particular detail remaining the same.
77 |
78 | - If a PR has no requests for changes for 2 weeks then it should be merged by
79 | one of the maintainers
80 | - If anyone has an objection later, they just open a PR to make the change and
81 | it goes through the same process
82 | - Optional: When there is lots of consensus but not 100% full consensus then:
83 | - We might merge the consensus-view and debate modifying it in parallel
84 | - Anyone can extract the non-controversial part and make a separate PR
85 |
86 | When the spec seems stable enough, the working group would promote it to
87 | _Proposal Stage_.
88 |
89 | ### Stage 1: Proposal
90 |
91 | In the _Proposal Stage_, things can still change but it is reasonable to start
92 | implementations.
93 |
94 | - Before release of the spec, in "Draft" stage, we have to review the spec and
95 | review all open PRs
96 | - Every merge to main would need strong consensus
97 | - Only changes that address concerns
98 | - Implementers could start trying things
99 |
100 | After the spec and open PRs are reviewed and there is strong consensus, the
101 | working group would promote it to _Draft Stage_.
102 |
103 | ### Stage 2: Draft
104 |
105 | This corresponds to the general
106 | [GraphQL Draft Stage](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md#stage-2-draft)
107 |
108 | ### Stage 3: Accepted
109 |
110 | This corresponds to the general
111 | [GraphQL Accepted Stage](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md#stage-3-accepted)
112 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 | # This script publishes the GraphQL specification document to the web.
3 |
4 | # Determine if this is a tagged release
5 | GITTAG=$(git tag --points-at HEAD)
6 |
7 | # Build the specification draft document
8 | echo "Building spec draft"
9 | mkdir -p public/draft
10 | spec-md --metadata spec/metadata.json --githubSource "https://github.com/graphql/graphql-over-http/blame/main/" spec/GraphQLOverHTTP.md > public/draft/index.html
11 |
12 | # If this is a tagged commit, also build the release document
13 | if [ -n "$GITTAG" ]; then
14 | echo "Building spec release $GITTAG"
15 | mkdir -p "public/$GITTAG"
16 | spec-md --metadata spec/metadata.json --githubSource "https://github.com/graphql/graphql-over-http/blame/$GITTAG/" spec/GraphQLOverHTTP.md > "public/$GITTAG/index.html"
17 | fi
18 |
19 | # Create the index file
20 | echo "Rebuilding: / (index)"
21 | HTML="
22 |
23 | GraphQL over HTTP Specification Versions
24 |
54 |
55 |
56 | GraphQL over HTTP
57 | "
58 |
59 | # Include latest draft
60 | GITDATE=$(git show -s --format=%cd --date=format:"%a, %b %-d, %Y" HEAD)
61 | HTML="$HTML
62 |
63 | Prerelease |
64 | Working Draft |
65 | $GITDATE |
66 | |
67 |
"
68 |
69 | GITHUB_RELEASES="https://github.com/graphql/graphql-over-http/releases/tag"
70 | for GITTAG in $(git tag -l --sort='-*committerdate') ; do
71 | VERSIONYEAR=${GITTAG: -4}
72 | TAGTITLE="${GITTAG%$VERSIONYEAR} $VERSIONYEAR"
73 | TAGGEDCOMMIT=$(git rev-list -1 "$GITTAG")
74 | GITDATE=$(git show -s --format=%cd --date=format:"%a, %b %-d, %Y" $TAGGEDCOMMIT)
75 |
76 | HTML="$HTML
77 | "
78 |
79 | [ -z $HAS_LATEST_RELEASE ] && HTML="$HTML
80 | Latest Release | " || HTML="$HTML
81 | | "
82 | HAS_LATEST_RELEASE=1
83 |
84 | HTML="$HTML
85 | $TAGTITLE |
86 | $GITDATE |
87 | Release Notes |
88 |
"
89 | done
90 |
91 | HTML="$HTML
92 |
93 |
102 |
103 | "
104 |
105 | echo $HTML > "public/index.html"
106 |
--------------------------------------------------------------------------------
/cspell.yml:
--------------------------------------------------------------------------------
1 | language: en-US
2 | ignoreRegExpList:
3 | # Posessives
4 | - /[a-z]{2,}'s/
5 | words:
6 | # Terms of art
7 | - roadmap
8 | - endianness
9 | - interoperation
10 | - monospace
11 | - openwebfoundation
12 | - parallelization
13 | - structs
14 | - subselection
15 | - mitigations
16 | # Software
17 | - ical
18 | - WebDAV
19 | - Protobuf
20 | - WHATWG
21 | - OWASP
22 | # Deliberate typos
23 | - qeury
24 | - __typena
25 | # Fictional characters / examples
26 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "graphql-over-http",
3 | "private": true,
4 | "license": "OWFa-1.0",
5 | "scripts": {
6 | "test": "npm run test:build && npm run test:spellcheck",
7 | "test:build": "spec-md --metadata spec/metadata.json spec/GraphQLOverHTTP.md > /dev/null",
8 | "test:spellcheck": "cspell \"spec/**/*.md\" README.md",
9 | "format": "prettier --write \"**/*.{md,yml,yaml,json}\"",
10 | "format:check": "prettier --check \"**/*.{md,yml,yaml,json}\"",
11 | "build": "./build.sh",
12 | "watch": "nodemon -e json,md --exec \"npm run build\"",
13 | "gen-agenda": "wgutils agenda gen"
14 | },
15 | "devDependencies": {
16 | "cspell": "6.31.1",
17 | "nodemon": "^2.0.20",
18 | "prettier": "^2.3.0",
19 | "spec-md": "^3.1.0",
20 | "wgutils": "^1.2.5"
21 | },
22 | "prettier": {
23 | "proseWrap": "always",
24 | "trailingComma": "none"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/rfcs/Batching.md:
--------------------------------------------------------------------------------
1 | # Batching
2 |
3 | Modern apps are chatty — they require a lot of data,
4 | and thus make a lot of requests to underlying services to fulfill those needs.
5 | Layering GraphQL over your services solves this issue,
6 | since it encapsulates multiple requests into a single operation, avoiding the cost of multiple round trips.
7 |
8 | Batching is the process of taking a group of requests, combining them into one,
9 | and making a single request with the same data that all of the other queries would have made.
10 |
11 | ## Mechanism
12 |
13 | The batching mechanism that is typically used today is based upon the standard mechanism
14 | for sending GraphQL queries through an HTTP `POST` request.
15 |
16 | In a normal request, the request body would contain the request parameters at the top level.
17 | For example if the `Content-Type` is `application/json` then the request body may be:
18 |
19 | ```json
20 | {
21 | "query": "query($id: ID!){user(id:$id){name}}",
22 | "variables": { "id": "QVBJcy5ndXJ1" }
23 | }
24 | ```
25 |
26 | A batched query would bundle such multiple operations in an array:
27 |
28 | ```json
29 | [{
30 | "query": "query($id: ID!){user(id:$id){name}}",
31 | "variables": { "id": "QVBJcy5ndXJ1" }
32 | }, {
33 | "query": "mutation{foo}",
34 | }]
35 | ```
36 |
37 | ## Implementations
38 |
39 | - https://www.apollographql.com/docs/link/links/batch-http/
40 | - https://webonyx.github.io/graphql-php/executing-queries/#query-batching
41 | - https://github.com/rmosolgo/graphql-ruby/blob/master/guides/queries/multiplex.md
42 | - https://hotchocolate.io/docs/batching#request-batching
43 |
44 |
--------------------------------------------------------------------------------
/rfcs/IncrementalDelivery.md:
--------------------------------------------------------------------------------
1 | # Incremental Delivery over HTTP
2 |
3 | This RFC proposes adding a specification of how "Incremental" GraphQL results should be delivered to clients, using HTTP chunked transfer encoding.
4 |
5 | ## Incremental Results
6 |
7 | An Incremental result is a GraphQL result that is split up into multiple payloads, allowing clients quicker access to parts of the results. Currently this is supported by the proposed `@defer` and `@stream` directives ([RFC](https://github.com/graphql/graphql-spec/blob/master/rfcs/DeferStream.md)).
8 |
9 | ### HTTP/1.1
10 |
11 | An incrementally delivered response should contain the `Transfer-Encoding: chunked` response header when using HTTP/1.1. Chunked transfer encoding allows the body of the response to be delivered as a series of chunks, allowing clients to read each chunk of the response as it is sent without waiting for the entire response.
12 |
13 | ### HTTP/2
14 |
15 | Because of improved data streaming mechanisms, HTTP/2 prohibits the use of the `Transfer-Encoding` header. It is very likely that compliant servers will treat requests containing the header as malformed ([see section 8.2.2. Connection-Specific Header Fields in HTTP/2 spec](https://datatracker.ietf.org/doc/html/rfc9113#section-8.1)).
16 |
17 | Compliant servers must follow the HTTP/2 specification and not set the `Transfer-Encoding` header.
18 |
19 | ## `Content-Type: multipart/mixed`
20 |
21 | The HTTP response for an incrementally delivered response should conform to the [specification of multipart content defined by the W3 in rfc1341](https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html). The HTTP response must contain the `Content-Type` response header with a specified boundary, for example `Content-Type: multipart/mixed; boundary="-"`. A simple boundary of `-` can be used as there is no possiblity of conflict with JSON data. However, any arbitrary boundary may be used.
22 |
23 | An example response body will look like:
24 |
25 | ```
26 |
27 | ---
28 | Content-Type: application/json; charset=utf-8
29 |
30 | {"data":{"hello":"Hello Rob"},"hasNext":true}
31 | ---
32 | Content-Type: application/json; charset=utf-8
33 |
34 | {"data":{"test":"Hello World"},"path":[],"hasNext":false}
35 | -----
36 | ```
37 | * The boundary used is `-` and is passed to the client in the http response's `Content-Type` header. Note that headers can appear in both the HTTP response itself and as part of the response body. The `Content-Type` header must be sent in the HTTP response.
38 | * Before each part of the multi-part response, a boundary (`CRLF`, `---`, `CRLF`) is sent.
39 | * Each part of the multipart response must contain a `Content-Type` header. Similar to the GraphQL specification this specification does not require a specific serialization format. For consistency and ease of notation, examples of the response are given in JSON throughout the spec.
40 | * After all headers for each part, an additional `CRLF` is sent, followed by the payload for the part.
41 | * After the final payload, the terminating boundary of `CRLF` followed by `-----` followed by `CRLF` is sent.
42 |
43 | ## Server Implementations
44 | * `express-graphql`: [pull request](https://github.com/graphql/express-graphql/pull/583)
45 | * `Hot Chocolate`: [release](https://github.com/ChilliCream/hotchocolate/releases/tag/11.0.0-preview.146)
46 |
47 | ## Client Implementations
48 | * [fetch-multipart-graphql](https://github.com/relay-tools/fetch-multipart-graphql) - Browser support using `fetch` or `XMLHttpRequest`
49 | * [meros](https://github.com/maraisr/meros) - A fast utility for reading streamed multipart/mixed responses on the client.
50 |
--------------------------------------------------------------------------------
/rfcs/PersistedOperations.md:
--------------------------------------------------------------------------------
1 | # Persisted Operations
2 |
3 | NOTE: this document is kept for historic purposes; Persisted Operations have been specified
4 | [As an appendix](../spec/Appendix A -- Persisted Documents.md).
5 |
6 | This RFC is intended to add Persisted Operations to the spec. A persisted operation contains
7 | a _hash_ of the `operation` that we are sending to the server, the server can translate this to the proper
8 | `operation` and execute it.
9 |
10 | With Persisted Operations we have a few goals:
11 |
12 | - Reduce request transfer size (GraphQL documents have a deterministic size)
13 | - Support caching (avoid running into max-url size constraints when using the `GET` HTTP method)
14 | - Lock down the number of request permutations (the server can choose to only accept persisted operations it is aware of)
15 |
16 | ## Flow
17 | ### Producing the document-id
18 |
19 | To produce a `documentId` we'll take a document containing the operation, including its fragments and perform a hashing algorithm like
20 | SHA-256 on the document. Now the the correlation of a document and its hash can be persisted to a GraphQL Server and the client can
21 | send this hash in GraphQL Requests.
22 |
23 | ### Sending
24 |
25 | When sending the persisted operation we will potentially be violating the current Request parameters where we say that `query`
26 | is a _required_ property. The proposal here is to add an additional _optional_ property `documentId` which has to be present
27 | when `query` isn't. We disallow both `documentId` and `query` to be absent when performing a GraphQL Request.
28 |
29 | The `documentId` would be the hashed representation of the stringified GraphQL document.
30 |
31 | We can send all the operation kinds as a persisted operation, however, we should make the distinction between `query` and `mutation`.
32 | By definition `query` contains cacheable data so we can send this either as a `GET` or a `POST` so we follow the spec, however a
33 | `mutation` represents side-effects so we should only send this as a `POST` request when leveraging persisted operations.
34 |
35 | When sending GraphQL variables along with a `query` operation over the `GET` HTTP method, the URL size limit (typically 2048
36 | characters) should be considered if the URL's query string is to be employed to encode these GraphQL variables. If this is an
37 | issue, one should consider utilizing a `POST` request's `body` or an HTTP header to encode these variables. When using a HTTP header
38 | to encode the variables the server has to add this request-header to the `Vary` header to ensure the correct cache-key is achieved.
39 |
40 | ### Executing
41 |
42 | When a server receives a request containing only `documentId` it is assumed that the server can perform this lookup, when the lookup
43 | fails the server responds with a status code 400 or 404 and denies the request. When the persisted operation can be found the server
44 | can assume that it's dealing with a valid GraphQL document, however, the schema could have changed so the server _should_ still validate
45 | before executing.
46 |
--------------------------------------------------------------------------------
/spec/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "biblio": {
3 | "https://spec.graphql.org/draft/": {
4 | "graphql-service": "#sec-Overview",
5 | "graphql-schema": "#sec-Schema",
6 | "graphql-request": "#request",
7 | "graphql-response": "#sec-Response",
8 | "graphql-request-error": "#sec-Errors.Request-errors",
9 | "graphql-field-error": "#sec-Errors.Field-errors",
10 | "graphql-document": "#sec-Document",
11 | "graphql-validation": "#sec-Validation"
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/wg.config.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | /** @type {import('wgutils').Config} */
4 | const config = {
5 | name: "GraphQL-over-HTTP WG",
6 | repoUrl: "https://github.com/graphql/graphql-over-http",
7 | repoSubpath: "working-group",
8 | videoConferenceDetails: `https://zoom.us/j/92781382543
9 | - _Password:_ httpwg`,
10 | liveNotesUrl:
11 | "https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing",
12 | timezone: "US/Pacific",
13 | frequency: "monthly",
14 | // For "last" set nth to -1
15 | nth: -1,
16 | weekday: "Th", // M, Tu, W, Th, F, Sa, Su
17 | time: "11:00-12:00", // 24-hour clock, range
18 | attendeesTemplate: `\
19 | | Name | GitHub | Organization | Location |
20 | | :------------------- | :------------ | :----------------- | :-------------------- |
21 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
22 | `,
23 | dateAndTimeLocations:
24 | "&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604",
25 | joiningAMeetingFile: "JoiningAMeeting.md",
26 | description: `\
27 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
28 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
29 | This is an open meeting in which anyone in the GraphQL community may attend.
30 |
31 | We typically meet on the last Thursday of the month.`
32 | /*
33 | // Additional configuration (optional):
34 |
35 | agendasFolder: "agendas",
36 | filenameFragment: "wg-primary",
37 | description: `\
38 | The GraphQL Working Group meets regularly to discuss changes to the
39 | [GraphQL Specification][] and other core GraphQL projects. This is an open
40 | meeting in which anyone in the GraphQL community may attend.
41 |
42 | This is the primary monthly meeting, which typically meets on the first Thursday
43 | of the month. In the case we have additional agenda items or follow ups, we also
44 | hold additional secondary meetings later in the month.`,
45 | links: {
46 | "graphql specification": "https://github.com/graphql/graphql-spec",
47 | calendar: "https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com",
48 | "google calendar": "https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t",
49 | "ical file": "https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics",
50 | },
51 | secondaryMeetings: [
52 | {
53 | // Wednesday, not Thursday
54 | dayOffset: -1,
55 | nth: 2,
56 | time: "16:00-17:00",
57 | name: "Secondary, APAC",
58 | // filenameFragment: "wg-secondary-apac",
59 | description: `\
60 | The GraphQL Working Group meets regularly to discuss changes to the
61 | [GraphQL Specification][] and other core GraphQL projects. This is an open
62 | meeting in which anyone in the GraphQL community may attend.
63 |
64 | This is a secondary meeting, timed to be acceptable for those in Asia Pacific
65 | timezones, which typically meets on the second Wednesday of the month. The
66 | primary meeting is preferred for new agenda, where this meeting is for overflow
67 | agenda items, follow ups from the primary meeting, or agenda introduced by those
68 | who could not make the primary meeting time.`,
69 | },
70 | {
71 | nth: 3,
72 | time: "10:30-12:00",
73 | name: "Secondary, EU",
74 | filenameFragment: "wg-secondary-eu",
75 | description: `\
76 | The GraphQL Working Group meets regularly to discuss changes to the
77 | [GraphQL Specification][] and other core GraphQL projects. This is an open
78 | meeting in which anyone in the GraphQL community may attend.
79 |
80 | This is a secondary meeting, timed to be acceptable for those in European
81 | timezones, which typically meets on the third Thursday of the month. The
82 | primary meeting is preferred for new agenda, where this meeting is for overflow
83 | agenda items, follow ups from the primary meeting, or agenda introduced by those
84 | who could not make the primary meeting time.`,
85 | },
86 | ],
87 | */
88 | };
89 |
90 | module.exports = config;
91 |
--------------------------------------------------------------------------------
/working-group/README.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP working group
2 |
3 | The GraphQL over HTTP working group is a sub group of the GraphQL working group. The current goals are laid out in the [Roadmap](../ROADMAP.md).
4 |
5 | ## Meetings
6 |
7 | > **Last Tuesday of the month at 17:30 - 18:30 UTC**
8 |
9 | See [Agendas](agendas) for upcoming scheduled meetings and notes from previous meetings.
10 |
11 | To create the agenda files for a given month YYYY/MM, run the following command:
12 |
13 | ```
14 | npm install && npm run gen-agenda YYYY MM
15 | ```
16 |
--------------------------------------------------------------------------------
/working-group/agendas/2019/2019-11-21.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – November 2019
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://meet.google.com/gop-aqar-ssv
9 | - **Live Notes**: https://docs.google.com/document/d/1SXTBxrHFye5dHlvIUdjQzHkNwqGWsT60qhv1bLXfHZo/edit
10 | - **Date & Time**: [November 21th 2019 17:00 - 20:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2019&month=11&day=21&hour=17&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ------------------------
25 | | Ivan Goncharov | GraphQL Foundation | Lviv, UA
26 | | Benedikt Franke | Lighthouse | Munich, Germany
27 | | Sam Parsons | PayPal | Ames, IA, USA
28 | | Vladimir Razuvaev | graphql-php | Tomsk, Russia
29 | | Robert Zhu | AWS | Seattle, WA
30 | | Michael Staib | ChilliCream | Zurich, Switzerland
31 | | Rafael Staib | ChilliCream | Zurich, Switzerland
32 | | Pascal Senn | ChilliCream | Zurich, Switzerland
33 | | Glenn Block | DocuSign | Seattle, United States
34 | | Benjie Gillam | GraphiQL / Graphile | Southampton, UK
35 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
36 | | Jesse Rosenberger | Apollo | Helsinki, FI
37 | | Morris Matsa | IBM | Boston, USA
38 | | Mike Marcacci | Marcacci Labs | Woodside, CA
39 | | Sean Grove. | OneGraph. | San Francisco, CA
40 | | Marc-Andre Giroux | GitHub | Montreal, Canada
41 | | Erik Wittern | IBM | Hamburg, Germany
42 | | *ADD YOUR NAME ABOVE TO ATTEND*
43 |
44 | ## Agenda
45 |
46 | > **Guidelines**
47 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
48 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
49 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
50 |
51 |
61 |
62 | 1. Introduction of attendees (5m, Ivan)
63 | 1. Determine volunteers for note taking (2m, Ivan)
64 | 1. Review agenda (2m, Ivan)
65 | 1. Motivation for "GraphQL Over HTTP" spec and its current state (15m, Ivan)
66 | 1. First release of GraphQL-over-HTTP spec: scope and action plan (30m, Sam)
67 | - See the [Roadmap PR](https://github.com/APIs-guru/graphql-over-http/pull/24) containing a starter for our discussion
68 | 1. Modularity and opt-in features (10m, Benedikt)
69 | 1. Future schedule for WG calls (10m, Ivan)
70 | 1. *ADD YOUR AGENDA ABOVE*
71 |
72 |
73 | ## Action items
74 |
75 | - [ ] @Ivan Move spec into GraphQL organization
76 | - [ ] @everyone Review current draft of the spec
77 | - [ ] @everyone Identify gaps or discrepancies with existing implementations
78 | - [x] List of GraphQL server libs (@sjparsons to create template, others can PR and add more)
79 | - [x] List of public GraphQL APIs (Github, Shopify, etc) (@sjparsons to create template, others can PR and add more)
80 | - [ ] List of possible 'specs' such as multipart, batching, subscription, etc (@sjparsons to create template, others can PR and add more)
81 | - [x] Publish the schedule (@sjparsons)
82 |
83 | ## Next meetings
84 |
85 | **Next meeting**
86 | [Dec 17, 2019 at 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2019&month=12&day=17&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152)
87 |
88 | **Future meetings**
89 | Last Tuesday of the month at 19:00 - 21:00 UTC
90 |
--------------------------------------------------------------------------------
/working-group/agendas/2019/2019-12-17.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – December 2019
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Recording**: https://zoom.us/rec/play/68YsIumtrT03GYbDtwSDUPV6W464L6Os0XRL-vEFyUi3AHgHZFryY-BHM7b2gWTGmnkzfW2FnDl9CHpd?continueMode=true
9 | - **Live Notes**: [Notes](../../notes/2019/2019-12-17-notes.pdf)
10 | - **Date & Time**: [December 17th 2019 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2019&month=12&day=17&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ---------
25 | | Michael Staib | ChilliCream | Zurich, Switzerland
26 | | Rafael Staib | ChilliCream | Zurich, Switzerland
27 | | Benjie Gillam | GraphiQL / Graphile | Southampton, UK
28 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
29 | | Benedikt Franke | Lighthouse | Munich, Germany
30 | | Sam Parsons | PayPal Inc / Braintree | Iowa, USA
31 | | Ivan Goncharov | GraphQL Foundation | Bangkok, TH
32 | | Jesse Rosenberger | Apollo | Helsinki, FI
33 | | Gabriel McAdams | PayPal | San Jose, CA (USA)
34 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
35 |
36 | ## Agenda
37 |
38 | > **Guidelines**
39 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
40 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
41 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
42 |
43 |
53 |
54 | 1. Introduction of attendees (5m)
55 | 1. Determine volunteers for note taking (2m)
56 | 1. Review agenda (2m)
57 | 1. Update on moving spec into GraphQL foundation (Ivan, 10m)
58 | 1. [V1 Proposed Roadmap](https://github.com/APIs-guru/graphql-over-http/pull/45) (Sam, 30m)
59 | 1. Review [Implementations](../../implementations.md) document (Sam, 10m)
60 | 1. Review Public GraphQL APIs, [PR](https://github.com/APIs-guru/graphql-over-http/pull/44) (Sam, 5m)
61 | 1. Discuss next steps (Sam, 15m)
62 | 1. *ADD YOUR AGENDA ABOVE*
63 |
64 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-01-28.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – January 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Recording**: https://drive.google.com/file/d/1l0jjj6qnyggKBb8ExMbii6R-iokN7UzA/view
9 | - **Live Notes**: [Google Doc](https://docs.google.com/document/d/1Gw6KDZ7ZoXtMvHCqr9BTSgVvuaps6-miXvSRv_Q0Es0/edit)
10 | - **Date & Time**: [January 28 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=1&day=27&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ---------
25 | | Trevor Scheer | Apollo | San Francisco, CA, US
26 | | Sam Parsons | Braintree/PayPal | Ames, IA, US
27 | | Michael Staib | ChilliCream. | Zurich, CH
28 | | Rafael Staib | ChilliCream. | Zurich, CH
29 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
30 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
31 |
32 | ## Agenda
33 |
34 | > **Guidelines**
35 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
36 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
37 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
38 |
39 |
49 |
50 | 1. Introduction of attendees (5m)
51 | 1. Determine volunteers for note taking (2m)
52 | 1. Review agenda (2m)
53 | 1. Review actions from last meeting (30m, Sam)
54 | 1. Discuss next steps (15m, Sam)
55 |
56 | 1. *ADD YOUR AGENDA ABOVE*
57 |
58 | ## Action items
59 |
60 | _Planned for next meeting_
61 |
62 | - [ ] @Sam - List of tests that we should implement
63 | - [ ] @Sam - Post some of the feedback about technical requirement for the test runner on the issue #57 (test running in the browser)
64 | - [ ] @Sam - Add link to GraphQL-over-HTTP slack channel
65 | - [ ] @Jayden - Get PoC of the test runner functioning (collab with Benedict) will look at possible integration with GraphiQL
66 | https://github.com/APIs-guru/graphql-over-http/issues/57
67 | - [ ] @Ivan - Provide one sentence mission statement
68 | - [ ] @Ivan - Add paragraph/sentence explaining the state of the project legally migrating to GraphQL
69 | - [ ] @Jesse - Put info about Apollo server/client in the feature matrix
70 |
71 | _Later_
72 |
73 | - [ ] ???? - Draft a standard sample schema - Dependent on list of things to test
74 | - [ ] Create sample servers to help test compliancy (i.e. graphql-express, graphql-api-koa, etc)
75 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-02-25.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – February 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Recording**: https://zoom.us/rec/play/78B4I-6grTg3HILHsASDC6IsW9Tseqqs2iQdr_YJmke1VCYCOgX0NbQSNLcBQJr5Xbmwquuk-9q94lSK?startTime=1582657189000
9 | - **Live Notes**: [Google Doc](https://docs.google.com/document/d/1TmEXr21DAiQ7wKVlQrFThbG-YXAaW2mxV-ljhZNDdr0/edit#)
10 | - **Date & Time**: [February 25, 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=02&day=25&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | --------------------
25 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
26 | | Sam Parsons | PayPal/Braintree | Iowa, USA
27 | | Benjie Gillam | Graphile & GraphiQL | Southampton, GB
28 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
29 |
30 | ## Agenda
31 |
32 | > **Guidelines**
33 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
34 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
35 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
36 |
37 |
47 |
48 | 1. Introduction of attendees (5m)
49 | 1. Determine volunteers for note taking (2m)
50 | 1. Review agenda (2m)
51 | 1. Test runner PoC progress for [#57](https://github.com/APIs-guru/graphql-over-http/issues/57) (15m)
52 |
53 | 1. *ADD YOUR AGENDA ABOVE*
54 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-03-24.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – March 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Recording**: https://drive.google.com/file/d/1OcaCQDid8bOZ2XYf7wBbY9xYflISxL1B/view
9 | - **Live Notes**: [Google Sheet](https://docs.google.com/document/d/19hHNDYlENI2FVC02UNiosfUD_6wKq3uBIlZDwH_4AY0/edit?usp=drivesdk)
10 | - **Date & Time**: [March 24 2020 17:00 - 18:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=03&day=24&hour=17&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ---------
25 | | Benjie Gillam ✏️ | Graphile/GraphiQL | Southampton, UK
26 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
27 | | Benedikt Franke | Lighthouse | Traunstein, Germany
28 | | Sam Parsons | PayPal/Braintree. | Iowa, USA
29 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
30 |
31 | ## Agenda
32 |
33 | > **Guidelines**
34 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
35 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
36 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
37 |
38 |
48 |
49 | 1. Introduction of attendees (5m)
50 | 1. Determine volunteers for note taking (2m)
51 | 1. Review agenda (2m)
52 | 1. State of the current draft (10m, Benedikt)
53 | 1. Discuss the proposed list of tests for our test suite (30m, Sam)
54 | - https://github.com/APIs-guru/graphql-over-http/issues/69
55 | 1. Discuss next steps (15m, Sam)
56 |
57 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-04-28.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – April 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://us02web.zoom.us/j/158297334
9 | - **Live Notes**: https://docs.google.com/document/d/1xF69yS-VOsjjEy2srw1HDJGPHunhe6q-Zsuq647JkzA/edit
10 | - **Date & Time**: [April 28 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=04&day=28&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace ✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ---------
25 | | Benjie Gillam ✏️ | Graphile | Southampton, UK
26 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
27 | | Benedikt Franke | Lighthouse | Germany
28 | | Gabriel McAdams | PayPal | San Jose, CA, USA
29 | | Sam Parsons | PayPal/Braintree. | Iowa, USA
30 | | Michael Staib | ChilliCream | Zurich, Switzerland
31 | | Morris Matsa | IBM | Boston, USA
32 | | Ivan Goncharov | express-graphql | Lviv, Ukraine
33 | | Will Farley | Amazon | Seattle, USA
34 | | Robert Zhu | Amazon | Seattle, USA
35 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
36 |
37 | ## Agenda
38 |
39 | > **Guidelines**
40 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
41 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
42 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
43 |
44 |
54 |
55 | 1. Introduction of attendees (5m)
56 | 1. Determine volunteers for note taking (2m)
57 | 1. Review agenda (2m)
58 | 1. Review last months action items (5m)
59 | 1. Discuss GraphQL Spec WG's input on HTTP status codes, media types, and more (30m, Benjie)
60 | 1. Discuss status codes clarification (10m, Benedikt)
61 | - https://github.com/APIs-guru/graphql-over-http/pull/79
62 | 1. Discuss content-type and serialization format updates (15m, Sam)
63 | - https://github.com/APIs-guru/graphql-over-http/pull/83
64 | 1. Discuss AWS AppSync HTTP behavior (Robert Zhu)
65 | - https://github.com/APIs-guru/graphql-over-http/issues/81
66 |
67 |
68 | 1. *ADD YOUR AGENDA ABOVE*
69 |
70 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-05-26.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – 26 May 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://zoom.us/j/595593013
9 | - **Live Notes**: [Google Docs](https://docs.google.com/document/d/1j70bSv3ivYDGK5UvHLxf4WQm4NfTqdnBZKJYlGYjCuw/edit#)
10 | - **Date & Time**: [May 26 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=05&day=26&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace ✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | --------------------
25 | | Benjie Gillam ✏️ | Graphile | Southampton, UK
26 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
27 | | Benedikt Franke | Lighthouse | Germany
28 | | Gabriel McAdams | PayPal | San Jose, CA, USA
29 | | Sam Parsons | PayPal/Braintree | Iowa, USA
30 | | Morris Matsa | IBM | Boston, USA
31 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
32 |
33 | ## Agenda
34 |
35 | > **Guidelines**
36 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
37 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
38 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
39 |
40 |
50 |
51 | 1. Introduction of attendees (5m)
52 | 1. Determine volunteers for note taking (2m)
53 | 1. Review agenda (2m)
54 | 1. Review [last month's actions](https://github.com/APIs-guru/graphql-over-http/issues/96) (10m, Sam)
55 | 1. Update on legal status (5m, Sam)
56 | 1. Jayden Seric to report automated test implementation progress.
57 | - https://github.com/jaydenseric/graphql-http-test (overhaul not pushed yet)
58 | 1. Clarify URL requirements https://github.com/APIs-guru/graphql-over-http/pull/94 (10m, Benedikt)
59 | 1. Clarify status codes https://github.com/APIs-guru/graphql-over-http/pull/79 (20m, Benedikt)
60 | 1. *ADD YOUR AGENDA ABOVE*
61 |
62 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-06-30.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – June 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://zoom.us/j/595593013
9 | - **Live Notes**: [Google Doc](https://docs.google.com/document/d/1VhWzaSQhKE6U1tKZGnG7yIi2K9jM_HHSO1pcaeFUYMo/edit?usp=sharing)
10 | - **Date & Time**: [June 30 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=06&day=30&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace ✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | --------------------
25 | | Michael Staib | ChilliCream | Zurich, Switzerland
26 | | Denis Badurina | domonda, BHIDAPA | Vienna, Austria
27 | | Benjie Gillam | Graphile | Southampton, UK
28 | | Jayden Seric | GraphQL multipart request spec | Melbourne, Australia
29 | | Morris Matsa | IBM | Boston, USA
30 | | Benedikt Franke | Lighthouse, graphql-php | Traunstein, Germany
31 | | Gabriel McAdams | PayPal | San Jose, CA, US
32 | | Sam Parsons | PayPal/Braintree | Iowa, USA
33 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
34 |
35 | ## Agenda
36 |
37 | > **Guidelines**
38 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
39 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
40 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
41 |
42 |
52 |
53 | 1. Introduction of attendees (5m)
54 | 1. Determine volunteers for note taking (2m)
55 | 1. Review agenda (2m)
56 | 1. Review [action items](https://github.com/APIs-guru/graphql-over-http/issues/103) from previous meeting (10m)
57 | 1. Discuss action point to migrate to spec-md
58 | 1. Clarify URL requirements https://github.com/APIs-guru/graphql-over-http/pull/94 (10m, Benedikt)
59 | 1. Clarify status codes https://github.com/APIs-guru/graphql-over-http/pull/79 (20m, Benedikt)
60 | 1. Jayden Seric to discuss automated test implementation progress in [`graphql-http-test`](https://github.com/jaydenseric/graphql-http-test) (15m).
61 | 1. Discuss: adding extensions to the graphql request https://github.com/APIs-guru/graphql-over-http/pull/4
62 | 1. Discuss: Provide clarifications on content type and serialization https://github.com/APIs-guru/graphql-over-http/pull/83
63 | 1. *ADD YOUR AGENDA ABOVE*
64 |
65 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-07-28.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – July 2020
2 |
3 | _CANCELLED_
4 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-08-25.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – August 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://zoom.us/j/595593013
9 | - **Live Notes**: https://docs.google.com/document/d/1U4QCaFGXpTqTfSSQgwF6-8RAqfKCVaLbwBImfOr86JQ/edit?usp=sharing
10 | - **Date & Time**: [August 25 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=8&day=25&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace ✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ---------
25 | | Sam Parsons | PayPal | Iowa, USA
26 | | Denis Badurina | [graphql-ws](https://github.com/enisdenjo/graphql-ws) | Vienna, Austria
27 | | Morris Matsa | IBM | Boston, USA
28 |
29 | ## Agenda
30 |
31 | > **Guidelines**
32 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
33 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
34 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
35 |
36 |
46 |
47 | 1. Introduction of attendees (5m)
48 | 1. Determine volunteers for note taking (2m)
49 | 1. Review agenda (2m)
50 | 1. Review [July 2020 Milestone](https://github.com/graphql/graphql-over-http/milestone/1?closed=1) (10m, Sam)
51 | 1. Review [August 2020 Milestone](https://github.com/graphql/graphql-over-http/milestone/4) (10m, Sam)
52 | 1. Discuss RFC for [Incremental Delivery](https://github.com/graphql/graphql-over-http/pull/124) (5m, Ivan)
53 | 1. Discuss criteria for accepting/merging RFC (10m, Ivan)
54 | 1. Discuss https://github.com/graphql/graphql-over-http/pull/79 and determine next steps (15m, Sam/Benedikt)
55 | 1. Discuss https://github.com/graphql/graphql-over-http/issues/8 - when do we want to upload a generated version or add automatic actions to generate it? (5 min, Morris)
56 | 1. Discuss https://github.com/graphql/graphql-over-http/issues/120 - do we want strict/permissive/options (15m, Sam/Morris)
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | 1. *ADD YOUR AGENDA ABOVE*
66 |
67 |
--------------------------------------------------------------------------------
/working-group/agendas/2020/2020-09-29.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG – September 2020
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://zoom.us/j/595593013
9 | - **Live Notes**: TBD
10 | - **Date & Time**: [September 29 2020 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=09&day=29&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace ✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ------------------
25 | | Michael Staib | ChilliCream | Zurich, CH
26 | | Morris Matsa | IBM | Boston, US
27 | | Ivan Goncharov | graphql-js | Lviv, UA
28 | | Gabriel McAdams | PayPal | San Jose, CA, US
29 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
30 |
31 | ## Agenda
32 |
33 | > **Guidelines**
34 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
35 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
36 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
37 |
38 |
48 |
49 | 1. Introduction of attendees (5m)
50 | 1. Determine volunteers for note taking (2m)
51 | 1. Review agenda (2m)
52 |
53 | 1. *ADD YOUR AGENDA ABOVE*
54 |
--------------------------------------------------------------------------------
/working-group/agendas/2022/2022-06-27.md:
--------------------------------------------------------------------------------
1 |
66 |
67 | | This is an open meeting: To attend or add agenda, send a Pull Request against this file. |
68 | | ---------------------------------------------------------------------------------------- |
69 |
70 | # GraphQL-over-HTTP WG – June 2022
71 |
72 | To read about the purpose of this subcommittee, please see
73 | [the README](../../README.md).
74 |
75 | This is an open meeting in which anyone in the GraphQL community may attend.
76 |
77 | - **Date & Time**: [Monday 27th June at 17:00 - 19:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2022&month=6&day=27&hour=17&min=0&sec=0&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
78 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
79 | - _Please Note:_ The date or time may change. Please check this agenda the
80 | week of the meeting to confirm. While we try to keep all calendars accurate,
81 | this agenda document is the source of truth.
82 | - **Video Conference Link**: https://zoom.us/j/99185628116
83 | - _Password:_ httpwg
84 | - **Live Notes**: [Google Doc](https://docs.google.com/document/d/1UKY4vBpJwk5f_tcWrhZZv8-Ogb8g0F8zOWrLVahTmqQ/edit?usp=sharing)
85 |
86 | [calendar]:
87 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
88 | [google calendar]:
89 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
90 | [ical file]:
91 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
92 |
93 | ## Attendees
94 |
95 |
96 | Name | GitHub | Organization | Location
97 | ----------------------- | ---------------------- | ---------------------- | --------------------------
98 | Benjie Gillam | @Benjie | Graphile | Southampton, UK
99 | Gabriel McAdams | @ghmcadams | - | San Jose, CA, US
100 | Benedikt Franke | @spawnia | graphql-php, Lighthouse | Traunstein, Germany
101 |
102 |
103 | ## Agenda
104 |
105 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and
106 | Code of Conduct (1m, Organizer)
107 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
108 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
109 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
110 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
111 | 1. Introduction of attendees (5m, Organizer)
112 | 1. Determine volunteers for note taking (1m, Organizer)
113 | 1. Review agenda (2m, Organizer)
114 | 1. Review previous meeting's action items (5m, Organizer)
115 |
116 |
--------------------------------------------------------------------------------
/working-group/agendas/2022/2022-07-21.md:
--------------------------------------------------------------------------------
1 |
66 |
67 | | This is an open meeting: To attend or add agenda, send a Pull Request against this file. |
68 | | ---------------------------------------------------------------------------------------- |
69 |
70 | # GraphQL-over-HTTP WG – July 2022
71 |
72 | To read about the purpose of this subcommittee, please see
73 | [the README](../../README.md).
74 |
75 | This is an open meeting in which anyone in the GraphQL community may attend.
76 |
77 | - **Date & Time**: [Thursday 21th July at 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2022&month=7&day=21&hour=19&min=0&sec=0&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
78 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
79 | - _Please Note:_ The date or time may change. Please check this agenda the
80 | week of the meeting to confirm. While we try to keep all calendars accurate,
81 | this agenda document is the source of truth.
82 | - **Video Conference Link**: https://zoom.us/j/99185628116
83 | - _Password:_ httpwg
84 | - **Live Notes**: [Google Doc](https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing)
85 |
86 | [calendar]:
87 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
88 | [google calendar]:
89 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
90 | [ical file]:
91 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
92 |
93 | ## Attendees
94 |
95 |
96 | Name | GitHub | Organization | Location
97 | ----------------------- | ---------------------- | ----------------------- | --------------------------
98 | Benjie Gillam | @Benjie | Graphile | Southampton, UK
99 | Denis Badurina | @enisdenjo | Individual | Vienna, AT
100 | Benedikt Franke | @spawnia | graphql-php, lighthouse | Bavaria, Germany
101 | Michael Staib. | @michaelstaib | ChilliCream | Zurich, CH
102 | Gabriel McAdams | @ghmcadams | - | San Jose, CA, US
103 | Morris Matsa | @mmatsa | IBM | Boston, US
104 | David Glasser | @glasser | Apollo Graph | Berkeley, CA, US
105 |
106 | ## Agenda
107 |
108 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and
109 | Code of Conduct (1m, Organizer)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | 1. Introduction of attendees (5m, Organizer)
115 | 1. Determine volunteers for note taking (1m, Organizer)
116 | 1. Review agenda (2m, Organizer)
117 | 1. Review previous meeting's action items (5m, Organizer)
118 | 1. Discuss remaining steps for advancing this spec (45m, Benjie)
119 | 1. Formulate plan for the test suite (15m, Benedikt)
120 |
--------------------------------------------------------------------------------
/working-group/agendas/2023/2023-09-28.md:
--------------------------------------------------------------------------------
1 |
66 |
67 | | This is an open meeting: To attend or add agenda, send a Pull Request against this file. |
68 | | ---------------------------------------------------------------------------------------- |
69 |
70 | # GraphQL-over-HTTP WG – October 2023
71 |
72 | To read about the purpose of this subcommittee, please see
73 | [the README](../../README.md).
74 |
75 | This is an open meeting in which anyone in the GraphQL community may attend.
76 |
77 | - **Date & Time**:
78 | [Thursday 28th September at 17:30 - 18:30 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2023&month=9&day=28&hour=17&min=30&sec=0&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
79 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
80 | - _Please Note:_ The date or time may change. Please check this agenda the
81 | week of the meeting to confirm. While we try to keep all calendars accurate,
82 | this agenda document is the source of truth.
83 | - **Video Conference Link**: https://zoom.us/j/99185628116
84 | - _Password:_ httpwg
85 | - **Live Notes**:
86 | [Google Doc](https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing)
87 |
88 | [calendar]:
89 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
90 | [google calendar]:
91 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
92 | [ical file]:
93 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
94 |
95 | ## Attendees
96 |
97 |
98 | Name | GitHub | Organization | Location
99 | ----------------------- | ---------------------- | ----------------------- | --------------------------
100 | Benjie Gillam | @Benjie | Graphile | Southampton, UK
101 |
102 | ## Agenda
103 |
104 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and
105 | Code of Conduct (1m, Organizer)
106 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
107 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
108 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
109 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
110 | 1. Introduction of attendees (5m, Organizer)
111 | 1. Determine volunteers for note taking (1m, Organizer)
112 | 1. Review agenda (2m, Organizer)
113 | 1. Review previous meeting's action items (5m, Organizer)
114 |
--------------------------------------------------------------------------------
/working-group/agendas/2023/2023-10-26.md:
--------------------------------------------------------------------------------
1 |
66 |
67 | | This is an open meeting: To attend or add agenda, send a Pull Request against this file. |
68 | | ---------------------------------------------------------------------------------------- |
69 |
70 | # GraphQL-over-HTTP WG – October 2023
71 |
72 | To read about the purpose of this subcommittee, please see
73 | [the README](../../README.md).
74 |
75 | This is an open meeting in which anyone in the GraphQL community may attend.
76 |
77 | - **Date & Time**:
78 | [Thursday 26th October at 17:30 - 18:30 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2023&month=10&day=26&hour=17&min=30&sec=0&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
79 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
80 | - _Please Note:_ The date or time may change. Please check this agenda the
81 | week of the meeting to confirm. While we try to keep all calendars accurate,
82 | this agenda document is the source of truth.
83 | - **Video Conference Link**: https://zoom.us/j/92781382543?pwd=R2RtVWV4SlQybGYzVXArSjU5WjBzUT09
84 | - _Password:_ graphqlwg
85 | - **Live Notes**:
86 | [Google Doc](https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing)
87 |
88 | [calendar]:
89 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
90 | [google calendar]:
91 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
92 | [ical file]:
93 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
94 |
95 | ## Attendees
96 |
97 |
98 | Name | GitHub | Organization | Location
99 | ----------------------- | ---------------------- | ----------------------- | --------------------------
100 | Benjie Gillam | @Benjie | Graphile | Southampton, UK
101 | Jovi De Croock | @JoviDeCroock | Stellate | Aalst, BE
102 | Denis Badurina | @enisdenjo | The Guild | Sarajevo, BA
103 | Gabriel McAdams | @ghmcadams | self | San Jose, CA, USA
104 | Ivan Goncharov | @IvanGoncharov | Apollo | Lviv, UA
105 |
106 | ## Agenda
107 |
108 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and
109 | Code of Conduct (1m, Organizer)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | 1. Introduction of attendees (5m, Organizer)
115 | 1. Determine volunteers for note taking (1m, Organizer)
116 | 1. Review agenda (2m, Organizer)
117 | 1. Review previous meeting's action items (5m, Organizer)
118 | 1. ["Accept" header PR](https://github.com/graphql/graphql-over-http/pull/227) decision (15m, Benjie)
119 | 1. Review persisted operations RFC (25m, @JoviDeCroock)
120 | 1. Advancing the spec to stage 2 (remaining time, Benjie)
121 |
--------------------------------------------------------------------------------
/working-group/agendas/2023/2023-11-23.md:
--------------------------------------------------------------------------------
1 |
66 |
67 | | This is an open meeting: To attend or add agenda, send a Pull Request against this file. |
68 | | ---------------------------------------------------------------------------------------- |
69 |
70 | # GraphQL-over-HTTP WG – November 2023
71 |
72 | To read about the purpose of this subcommittee, please see
73 | [the README](../../README.md).
74 |
75 | This is an open meeting in which anyone in the GraphQL community may attend.
76 |
77 | - **Date & Time**:
78 | [Thursday 23rd November at 17:30 - 18:30 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2023&month=11&day=23&hour=17&min=30&sec=0&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
79 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
80 | - _Please Note:_ The date or time may change. Please check this agenda the
81 | week of the meeting to confirm. While we try to keep all calendars accurate,
82 | this agenda document is the source of truth.
83 | - **Video Conference Link**: https://zoom.us/j/92781382543
84 | - _Password:_ httpwg
85 | - **Live Notes**:
86 | [Google Doc](https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing)
87 |
88 | [calendar]:
89 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
90 | [google calendar]:
91 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
92 | [ical file]:
93 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
94 |
95 | ## Attendees
96 |
97 |
98 | Name | GitHub | Organization | Location
99 | ----------------------- | ---------------------- | ----------------------- | --------------------------
100 | Benjie Gillam | @Benjie | Graphile | Chandler's Ford, UK
101 |
102 | ## Agenda
103 |
104 | Meeting cancelled due to lack of attendance.
105 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/02-Feb/29-graphql-over-http-wg-february-2024.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — February 2024
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [February 29, 2024, 5:30 – 6:30 PM UTC](https://www.timeanddate.com/worldclock/converter.html?iso=20240229T173000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 |
106 |
107 | ## Agenda
108 |
109 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | 1. Introduction of attendees (5m, Host)
115 | 1. Determine volunteers for note taking (1m, Host)
116 | 1. Review agenda (2m, Host)
117 | 1. Review previous meeting's action items (5m, Host)
118 | - [Ready for review](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
119 | - [All open action items (by last update)](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Action+item+%3Aclapper%3A%22+sort%3Aupdated-desc)
120 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/07-Jul/25-graphql-over-http-wg-july-2024.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — July 2024
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [July 25, 2024, 5:30 – 6:30 PM UTC](https://www.timeanddate.com/worldclock/converter.html?iso=20240725T173000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 | | Martin Bonnin | @martinbonnin | Apollo | Paris, FR |
106 | | Jovi De Croock | @jovidecroock | Independent | Aalst, BE |
107 | | Shane Krueger | @shane32 | Independent | Detroit, MI, USA |
108 |
109 |
110 | ## Agenda
111 |
112 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
113 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
114 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
115 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
116 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
117 | 1. Introduction of attendees (5m, Host)
118 | 1. Determine volunteers for note taking (1m, Host)
119 | 1. Review agenda (2m, Host)
120 | 1. Review previous meeting's action items (5m, Host)
121 | - [Ready for review](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
122 | - [All open action items (by last update)](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Action+item+%3Aclapper%3A%22+sort%3Aupdated-desc)
123 | 1. Persisted operation identifiers syntax (@martinbonnin)
124 | - https://github.com/graphql/graphql-over-http/pull/296#pullrequestreview-2190975205
125 | - Anyone here with specific ID needs? (guids, base64, checksums, counters, what are we forgetting?)
126 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/08-Aug/29-graphql-over-http-wg-august-2024.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — August 2024
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [August 29, 2024, 5:30 – 6:30 PM UTC](https://www.timeanddate.com/worldclock/converter.html?iso=20240829T173000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Martin Bonnin | @martinbonnin | Apollo | Paris, FR |
105 | | Shane Krueger | @shane32 | Independent Dev | Detroit, MI, USA |
106 |
107 |
108 | ## Agenda
109 |
110 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
111 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
112 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
113 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
114 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
115 | 1. Introduction of attendees (5m, Host)
116 | 1. Determine volunteers for note taking (1m, Host)
117 | 1. Review agenda (2m, Host)
118 | 1. Review previous meeting's action items (5m, Host)
119 | - [Ready for review](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
120 | - [All open action items (by last update)](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Action+item+%3Aclapper%3A%22+sort%3Aupdated-desc)
121 | 1. Identifier syntax
122 | - Are we good on https://github.com/graphql/graphql-over-http/pull/296?
123 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/09-Sep/26-graphql-over-http-wg-september-2024.md:
--------------------------------------------------------------------------------
1 | Meeting cancelled due to lack of agenda.
2 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/10-Oct/31-graphql-over-http-wg-october-2024.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — October 2024
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [October 31, 2024, 5:30 – 6:30 PM UTC](https://www.timeanddate.com/worldclock/converter.html?iso=20241031T173000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 |
106 |
107 | ## Agenda
108 |
109 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | 1. Introduction of attendees (5m, Host)
115 | 1. Determine volunteers for note taking (1m, Host)
116 | 1. Review agenda (2m, Host)
117 | 1. Review previous meeting's action items (5m, Host)
118 | - [Ready for review](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
119 | - [All open action items (by last update)](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Action+item+%3Aclapper%3A%22+sort%3Aupdated-desc)
120 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/11-Nov/28-graphql-over-http-wg-november-2024.md:
--------------------------------------------------------------------------------
1 | Cancelled due to Thanksgiving (and lack of agenda).
2 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/12-Dec/26-graphql-over-http-wg-december-2024.md:
--------------------------------------------------------------------------------
1 | Meeting cancelled due to winter break.
2 |
--------------------------------------------------------------------------------
/working-group/agendas/2024/2024-01-25.md:
--------------------------------------------------------------------------------
1 |
66 |
67 | | This is an open meeting: To attend or add agenda, send a Pull Request against this file. |
68 | | ---------------------------------------------------------------------------------------- |
69 |
70 | # GraphQL-over-HTTP WG – January 2024
71 |
72 | To read about the purpose of this subcommittee, please see
73 | [the README](../../README.md).
74 |
75 | This is an open meeting in which anyone in the GraphQL community may attend.
76 |
77 | - **Date & Time**:
78 | [Thursday 25th January 2024 at 17:30 - 18:30 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2024&month=1&day=25&hour=17&min=30&sec=0&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
79 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
80 | - _Please Note:_ The date or time may change. Please check this agenda the
81 | week of the meeting to confirm. While we try to keep all calendars accurate,
82 | this agenda document is the source of truth.
83 | - **Video Conference Link**: https://zoom.us/j/92781382543
84 | - _Password:_ httpwg
85 | - **Live Notes**:
86 | [Google Doc](https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing)
87 |
88 | [calendar]:
89 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
90 | [google calendar]:
91 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
92 | [ical file]:
93 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
94 |
95 | ## Attendees
96 |
97 |
98 | Name | GitHub | Organization | Location
99 | ----------------------- | ---------------------- | ----------------------- | --------------------------
100 | Benjie Gillam (Host) | @Benjie | Graphile | Chandler's Ford, UK
101 | Jovi De Croock | @JoviDeCroock | Stellate | Aalst, BE
102 |
103 | ## Agenda
104 |
105 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and
106 | Code of Conduct (1m, Host)
107 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
108 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
109 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
110 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
111 | 1. Introduction of attendees (5m, Host)
112 | 1. Determine volunteers for note taking (1m, Host)
113 | 1. Review agenda (2m, Host)
114 | 1. Review previous meeting's action items (5m, Host)
115 | 1. [Other keys are reserved](https://github.com/graphql/graphql-over-http/pull/278) (10m, Benjie)
116 | 1. [Advancing the spec to stage 2](https://github.com/graphql/graphql-over-http/pull/275) (5m, Benjie)
117 | 1. [Adding a section on security concerns](https://github.com/graphql/graphql-over-http/issues/280) (30m, Benjie)
118 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/01-Jan/30-graphql-over-http-wg-january-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — January 2025
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [January 30, 2025, 5:30 – 6:30 PM UTC](https://www.timeanddate.com/worldclock/converter.html?iso=20250130T173000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 | | Denis Badurina | @enisdenjo | The Guild | Sarajevo, BA |
106 | | Martin Bonnin | @martinbonnin | Apollo | Paris, FR |
107 | | Shane Krueger | @shane32 | GraphQL.NET | Detroit, MI, USA |
108 |
109 |
110 | ## Agenda
111 |
112 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
113 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
114 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
115 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
116 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
117 | 1. Introduction of attendees (5m, Host)
118 | 1. Determine volunteers for note taking (1m, Host)
119 | 1. Review agenda (2m, Host)
120 | 1. Review previous meeting's action items (5m, Host)
121 | - [Ready for review](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
122 | - [All open action items (by last update)](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Action+item+%3Aclapper%3A%22+sort%3Aupdated-desc)
123 | 1. Watershed (10m, Martin)
124 | - https://github.com/graphql/graphql-over-http/pull/322
125 | 1. Spec status (10m, Martin)
126 | - What are we missing for a release?
127 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/02-Feb/27-graphql-over-http-wg-february-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — February 2025
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [February 27, 2025, 6:00 – 7:00 PM UTC](https://www.timeanddate.com/worldclock/converter.html?iso=20250227T180000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Martin Bonnin | @martinbonnin | Apollo | Paris, FR |
105 |
106 |
107 | ## Agenda
108 |
109 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | 1. Introduction of attendees (5m, Host)
115 | 1. Determine volunteers for note taking (1m, Host)
116 | 1. Review agenda (2m, Host)
117 | 1. Check for [ready for review agenda items](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
118 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/03-Mar/27-graphql-over-http-wg-march-2025.md:
--------------------------------------------------------------------------------
1 | Cancelled due to lack of agenda.
2 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/04-Apr/24-graphql-over-http-wg-april-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — April 2025
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [April 24, 2025, 11:00 AM – 12:00 PM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20250424T180000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 | | Martin Bonnin | @martinbonnin | Apollo | Paris |
106 | | Shane Krueger | @shane32 | GraphQL.NET | Detroit, USA |
107 |
108 |
109 | ## Agenda
110 |
111 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
112 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
113 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
114 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
115 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
116 | - Meetings are [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos) and we may use LLM/AI summary tools
117 | 1. Introduction of attendees (5m, Host)
118 | 1. Determine volunteers for note taking (1m, Host)
119 | 1. Review agenda (2m, Host)
120 | 1. Check for [ready for review agenda items](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
121 | 1. Watershed removal + next steps?
122 | - https://github.com/graphql/graphql-over-http/pull/330
123 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/05-May/29-graphql-over-http-wg-may-2025.md:
--------------------------------------------------------------------------------
1 | This meeting has been cancelled and reschedule to
2 | [June 2nd](../06-June/02-graphql-over-http-wg-may-postponed-2025.md).
3 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/06-Jun/02-graphql-over-http-wg-may-postponed-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ------------------------------------------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — May 2025 (postponed)
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: ~~May 29, 2025, 11:00 AM – 12:00 PM PDT~~
85 | [June 2, 2025, 9:00 AM – 10:00 PM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20250602T160000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
86 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
87 | - _Please Note:_ The date or time may change. Please check this agenda the
88 | week of the meeting to confirm. While we try to keep all calendars accurate,
89 | this agenda document is the source of truth.
90 | - **Video Conference Link**: https://zoom.us/j/92781382543
91 | - _Password:_ httpwg
92 | - **Live Notes**: [Live Notes][]
93 |
94 | [calendar]:
95 | https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
96 | [google calendar]:
97 | https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
98 | [ical file]:
99 | https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
100 | [joiningameeting.md]:
101 | https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
102 | [live notes]:
103 | https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
104 |
105 | ## Attendees
106 |
107 |
108 | | Name | GitHub | Organization | Location |
109 | | :------------------- | :------------ | :----------------- | :-------------------- |
110 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
111 | | Martin Bonnin | @martinbonnin | Apollo | Paris, FR |
112 |
113 | ## Agenda
114 |
115 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and
116 | Code of Conduct (1m, Host)
117 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
118 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
119 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
120 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
121 | - Meetings are
122 | [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos)
123 | and we may use LLM/AI summary tools
124 | 1. Introduction of attendees (5m, Host)
125 | 1. Determine volunteers for note taking (1m, Host)
126 | 1. Review agenda (2m, Host)
127 | 1. Check for
128 | [ready for review agenda items](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc)
129 | (5m, Host)
130 | 1. What is missing for a release?
131 | - Partial status code? https://github.com/graphql/graphql-over-http/pull/346
132 | - Persisted queries? https://github.com/graphql/graphql-over-http/pull/264
133 | - Anything else?
134 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/06-Jun/26-graphql-over-http-wg-june-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — June 2025
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [June 26, 2025, 11:00 AM – 12:00 PM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20250626T180000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 |
106 |
107 | ## Agenda
108 |
109 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | - Meetings are [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos) and we may use LLM/AI summary tools
115 | 1. Introduction of attendees (5m, Host)
116 | 1. Determine volunteers for note taking (1m, Host)
117 | 1. Review agenda (2m, Host)
118 | 1. Check for [ready for review agenda items](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
119 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/07-Jul/31-graphql-over-http-wg-july-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — July 2025
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [July 31, 2025, 11:00 AM – 12:00 PM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20250731T180000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 |
106 |
107 | ## Agenda
108 |
109 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | - Meetings are [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos) and we may use LLM/AI summary tools
115 | 1. Introduction of attendees (5m, Host)
116 | 1. Determine volunteers for note taking (1m, Host)
117 | 1. Review agenda (2m, Host)
118 | 1. Check for [ready for review agenda items](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
119 |
--------------------------------------------------------------------------------
/working-group/agendas/2025/08-Aug/28-graphql-over-http-wg-august-2025.md:
--------------------------------------------------------------------------------
1 |
72 |
73 | | This is an open meeting: To attend, read [JoiningAMeeting.md][] then edit and PR this file. (Edit: ✎ above, or press "e") |
74 | | ---------------------------------------------------------------------------------------- |
75 |
76 | # GraphQL-over-HTTP WG — August 2025
77 |
78 | The GraphQL-over-HTTP Working Group meets regularly to discuss changes to the
79 | [GraphQL-over-HTTP Specification](https://graphql.github.io/graphql-over-http/).
80 | This is an open meeting in which anyone in the GraphQL community may attend.
81 |
82 | We typically meet on the last Thursday of the month.
83 |
84 | - **Date & Time**: [August 28, 2025, 11:00 AM – 12:00 PM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20250828T180000&&p1=3775&p2=110&p3=24&p4=37&p5=188&p6=496&p7=676&p8=438&p9=268&p10=234&p11=78&p12=604)
85 | - View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
86 | - _Please Note:_ The date or time may change. Please check this agenda the
87 | week of the meeting to confirm. While we try to keep all calendars accurate,
88 | this agenda document is the source of truth.
89 | - **Video Conference Link**: https://zoom.us/j/92781382543
90 | - _Password:_ httpwg
91 | - **Live Notes**: [Live Notes][]
92 |
93 | [calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
94 | [google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
95 | [ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
96 | [JoiningAMeeting.md]: https://github.com/graphql/graphql-over-http/blob/main/JoiningAMeeting.md
97 | [live notes]: https://docs.google.com/document/d/1hUi3kSdcINQLWD6s8DBZIwepnqy51dwPZShDn8c1GZU/edit?usp=sharing
98 |
99 | ## Attendees
100 |
101 |
102 | | Name | GitHub | Organization | Location |
103 | | :------------------- | :------------ | :----------------- | :-------------------- |
104 | | Benjie Gillam (Host) | @benjie | Graphile | Chandler's Ford, UK |
105 |
106 |
107 | ## Agenda
108 |
109 | 1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
110 | - [Specification Membership Agreement](https://github.com/graphql/foundation)
111 | - [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
112 | - [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
113 | - [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
114 | - Meetings are [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos) and we may use LLM/AI summary tools
115 | 1. Introduction of attendees (5m, Host)
116 | 1. Determine volunteers for note taking (1m, Host)
117 | 1. Review agenda (2m, Host)
118 | 1. Check for [ready for review agenda items](https://github.com/graphql/graphql-over-http/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
119 |
--------------------------------------------------------------------------------
/working-group/agendas/_template.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP WG –
2 |
3 | The GraphQL over HTTP Working Group meets monthly to discuss proposed additions
4 | to the GraphQL over HTTP Specification and other relevant topics.
5 | This is an open meeting in which anyone in the GraphQL community may attend.
6 | *To attend this meeting or propose agenda, edit this file.*
7 |
8 | - **Video Conference Link**: https://zoom.us/j/595593013
9 | - **Live Notes**: TBD
10 | - **Date & Time**: [MONTH DAY YEAR 19:00 - 21:00 UTC](https://www.timeanddate.com/worldclock/meetingdetails.html?year=2019&month=11&day=21&hour=19&min=0&sec=0&p1=224&p2=179&p3=136&p4=37&p5=239&p6=101&p7=152).
11 |
12 | *NOTE:* Meeting date and time may change. Please check this agenda the week of the meeting to confirm.
13 |
14 | ## Attendees
15 |
16 | > **Guidelines**
17 | > - Before attending, you (or your organization) must sign the [Specification Membership Agreement](https://github.com/graphql/foundation).
18 | > - To respect meeting size, attendees should be relevant to the agenda.
19 | > - If you're willing to take notes, add "✏️" after your name (eg. Ada Lovelace ✏️)
20 | > - Include the organization (or project) you represent, and the location (including [country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes#Current_ISO_3166_country_codes)) you expect to be located in during the meeting.
21 | > - Read and follow the [participation guidelines](https://github.com/graphql/graphql-wg#participation-guidelines) and [code of conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md).
22 |
23 | | Name | Organization / Project | Location
24 | | ------------------------ | ------------------------------ | ---------
25 | | *ADD YOUR NAME ABOVE TO ATTEND, ORDER BY ORG THEN NAME*
26 |
27 | ## Agenda
28 |
29 | > **Guidelines**
30 | > - To cover everything, discussion may be time-constrained. Topics that require less time should be covered first. Most topics take 15-30 minutes.
31 | > - Include any and all relevant links (RFC, issues & PRs, presentations). If there are no relevant links, open an issue to provide context and link to that.
32 | > - Read the [spec contribution guide](https://github.com/graphql/graphql-spec/blob/master/CONTRIBUTING.md).
33 |
34 |
44 |
45 | 1. Introduction of attendees (5m)
46 | 1. Determine volunteers for note taking (2m)
47 | 1. Review agenda (2m)
48 |
49 | 1. *ADD YOUR AGENDA ABOVE*
50 |
51 |
--------------------------------------------------------------------------------
/working-group/implementations.md:
--------------------------------------------------------------------------------
1 | # GraphQL over HTTP Implementations
2 |
3 | The following is a list of popular server and client implementations of GraphQL over HTTP.
4 |
5 | The goal of this document is to help the working-group identify common patterns in doing GraphQL over HTTP. To that end only _popular_ _implementations_ are listed here. If you're looking for a canonical list, see [graphql.org/code](https://graphql.org/code).
6 |
7 | #### Definition: _"Popular"_
8 |
9 | > The project has more than 100 stars on its GitHub repo.
10 |
11 | Though it's not a perfect measure, it's a commonly accessible measure get a sense of how popular a library or project is.
12 |
13 | #### Definition: _"Implementation"_
14 |
15 | > Published software that interacts with GraphQL over HTTP.
16 |
17 | This broadly includes GraphQL servers, clients, middleware, SDK level libraries and IDEs. To be listed, it **must** at least support GraphQL over HTTP, although it **may** support other transport protocols.
18 |
19 | ## Server implementations
20 |
21 | | Name | Language | ⭐️ |
22 | | -------------------------------------------------------------------- | ----------- | ---- |
23 | | [apollo-server](https://github.com/apollographql/apollo-server) | JavaScript | 8674 |
24 | | [graphql](https://github.com/graphql-go/graphql) | Go | 5758 |
25 | | [Graphene](https://github.com/graphql-python/graphene) | Python | 5235 |
26 | | [graphql-yoga](https://github.com/prisma-labs/graphql-yoga) | TypeScript | 5184 |
27 | | [express-graphql](https://github.com/graphql/express-graphql) | JavaScript | 4937 |
28 | | [graphql-ruby](https://github.com/rmosolgo/graphql-ruby) | Ruby | 4058 |
29 | | [graphql-java](https://github.com/graphql-java/graphql-java) | Java | 3889 |
30 | | [GraphQL for .NET](https://github.com/graphql-dotnet/graphql-dotnet) | C#/.NET | 3810 |
31 | | [gqlgen](https://github.com/99designs/gqlgen) | Go | 3672 |
32 | | [graphql-php](https://github.com/webonyx/graphql-php) | PHP | 3474 |
33 | | [absinthe](https://github.com/absinthe-graphql/absinthe) | Elixir | 2967 |
34 | | [graphql-go](https://github.com/graph-gophers/graphql-go) | Go | 3065 |
35 | | [Juniper](https://github.com/graphql-rust/juniper) | Rust | 2025 |
36 | | [Sangria](https://github.com/sangria-graphql/sangria) | Scala | 1647 |
37 | | [Lighthouse](https://github.com/nuwave/lighthouse) | PHP/Laravel | 1424 |
38 | | [lacinia](https://github.com/walmartlabs/lacinia) | Clojure | 1325 |
39 | | [graphql-laravel](https://github.com/rebing/graphql-laravel) | PHP/Laravel | 1066 |
40 | | [Thunder](https://github.com/samsarahq/thunder) | Go | 930 |
41 | | [graphql-elixir](https://github.com/graphql-elixir/graphql) | Elixir | 838 |
42 | | [Siler](https://github.com/leocavalcante/siler) | PHP | 853 |
43 | | [graphql-upload](https://github.com/jaydenseric/graphql-upload) | JavaScript | 832 |
44 | | [GraphQL.Net](https://github.com/chkimes/graphql-net) | C#/.NET | 802 |
45 | | [Hot Chocolate](https://github.com/ChilliCream/hotchocolate) | C# | 777 |
46 | | [koa-graphql](https://github.com/chentsulin/koa-graphql) | JavaScript | 728 |
47 | | [tartiflette](https://github.com/tartiflette/tartiflette) | Python | 506 |
48 | | [graphql-kotlin](https://github.com/ExpediaGroup/graphql-kotlin) | Kotlin | 377 |
49 | | [graphql-relay-go](https://github.com/graphql-go/relay) | Go | 335 |
50 | | [graphql-clj](https://github.com/tendant/graphql-clj) | Clojure | 269 |
51 | | [graphql-erlang](https://github.com/shopgun/graphql-erlang) | Erlang | 258 |
52 | | [Alumbra](https://github.com/alumbra/alumbra) | Clojure | 136 |
53 |
54 | ⭐️ Accurate as of December 2019.
55 |
56 | ## Client implementations
57 |
58 | | Name | Language | ⭐️ |
59 | | ----------------------------------------------------------------------------- | ---------- | ----- |
60 | | [Relay](https://github.com/facebook/relay) | JavaScript | 13909 |
61 | | [apollo-client](https://github.com/apollographql/apollo-client) | TypeScript | 12826 |
62 | | [graphiql](https://github.com/graphql/graphiql) | JavaScript | 9712 |
63 | | [GraphQL Playground](https://github.com/prisma-labs/graphql-playground) | TypeScript | 5456 |
64 | | [graphql-editor](https://github.com/graphql-editor/graphql-editor) | TypeScript | 4221 |
65 | | [urql](https://github.com/FormidableLabs/urql) | TypeScript | 3920 |
66 | | [Apollo iOS](https://github.com/apollographql/apollo-ios) | Swift | 2228 |
67 | | [graphql-request](https://github.com/prisma-labs/graphql-request) | TypeScript | 2071 |
68 | | [apollo-android](https://github.com/apollographql/apollo-android) | Java | 1998 |
69 | | [Altair](https://github.com/imolorhe/altair) | TypeScript | 1900 |
70 | | [Lokka](https://github.com/kadirahq/lokka) | JavaScript | 1486 |
71 | | [graphql-hooks](https://github.com/nearform/graphql-hooks) | JavaScript | 1045 |
72 | | [apollo-upload-client](https://github.com/jaydenseric/apollo-upload-client) | JavaScript | 859 |
73 | | [graphql-react](https://github.com/jaydenseric/graphql-react) | JavaScript | 482 |
74 | | [machinebox/graphql](https://github.com/machinebox/graphql) | Go | 473 |
75 | | [nanographql](https://github.com/yoshuawuyts/nanographql) | JavaScript | 360 |
76 | | [GQL](https://github.com/graphql-python/gql) | Python | 310 |
77 | | [graphql](https://github.com/shurcooL/graphql) | Go | 304 |
78 | | [re-graph](https://github.com/oliyh/re-graph) | Clojure | 269 |
79 | | [GraphQL.Client](https://github.com/graphql-dotnet/graphql-client) | C# | 259 |
80 | | [Grafoo](https://github.com/grafoojs/grafoo) | TypeScript | 251 |
81 | | [nodes](https://github.com/americanexpress/nodes) | Java | 215 |
82 | | [sgqlc](https://github.com/profusion/sgqlc) | Python | 168 |
83 | | [python-graphql-client](https://github.com/prisma-labs/python-graphql-client) | Python | 107 |
84 |
85 | ⭐️ Accurate as of December 2019.
86 |
--------------------------------------------------------------------------------
/working-group/notes/2019/2019-12-17-notes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/graphql/graphql-over-http/4f46046b6496b200aa17ea5a541772916d5c0d96/working-group/notes/2019/2019-12-17-notes.pdf
--------------------------------------------------------------------------------
/working-group/notes/2022/2022-06-27.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - June 2022
2 |
3 | Video: https://www.youtube.com/watch?v=sdF-trSgPPs
4 |
5 | ## Discussion of [https://github.com/graphql/graphql-over-http/pull/175](https://github.com/graphql/graphql-over-http/pull/175)
6 |
7 | - Security aspects brought up
8 | - Specify, non-normative notes, ignore entirely
9 | - “If you use other media types, make sure you’re aware of the security
10 | consequences of doing so”
11 | - Should we forbid not sending a content-type header?
12 | - Forbidding it seems too strong.
13 | - We should add a note explaining why servers should reject a request with no
14 | content-type header, but perhaps not forbid it outright.
15 | - Any time we have a should, we should add a non-normative note explaining why
16 | - **ACTION** - Benjie - see if you can incorporate David’s feedback, with the
17 | feedback of the subcommittee too.
18 |
19 | ## Status
20 |
21 | - Currently preliminary
22 | - Will turn into draft status when proposed to the main GraphQL working group
23 |
24 | ## Structure of future extensions
25 |
26 | - How do we tie in additional features such as subscriptions, server-sent
27 | events, stream, defer, …?
28 | - Separate specifications or addition to the main spec?
29 | - Additional features should be introduced optionally and not change compliance
30 | of existing servers
31 | - Having features such as subscriptions in the spec can reduce duplication
32 | - Headings such as “Media Types” might move under a top-level heading to allow
33 | them to be duplicated
34 | - Top level heading for the currently described mechanism would need a fitting
35 | name
36 | - **ACTION** @benjie - contact Denis: does the current spec work well with
37 | websockets/SSE?
38 | - **ACTION** @benjie - check spec-md is working correctly and split the spec up in
39 | sections
40 |
41 | ## Issue organisation
42 |
43 | - **ACTION** @gabriel - go through the issues and close those that are not relevant
44 | any more
45 | - **ACTION** @gabriel - copy across the issue labels from the main spec repo
46 | - Assignment to milestones Pre and Post 1.0, close September 2020 milestone
47 |
48 | ## Other
49 |
50 | - Aim for July Spec WG: tell them that we’ll be presenting it at the next (Aug)
51 | WG, so wait a week or two and then have a read ready.
52 | - **ACTION** @benjie - try and schedule a next meeting shortly after the July Spec
53 | WG, preferably at a time that David and Denis can attend.
54 |
--------------------------------------------------------------------------------
/working-group/notes/2022/2022-07-21.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - July 2022
2 |
3 | Video: https://www.youtube.com/watch?v=sdF-trSgPPs
4 |
5 | ## Review Action Items
6 |
7 | - [https://github.com/graphql/graphql-over-http/issues/11](https://github.com/graphql/graphql-over-http/issues/11):
8 | - Benjie: not necessary to do anything beyond the new media type for the
9 | accept header
10 | - [https://github.com/graphql/graphql-over-http/issues/31](https://github.com/graphql/graphql-over-http/issues/31)
11 | - Benjie: not necessary for now
12 | - [https://github.com/graphql/graphql-over-http/issues/191](https://github.com/graphql/graphql-over-http/issues/191)
13 | - Benjie: did it
14 | - David: mostly happy with it
15 | - [https://github.com/graphql/graphql-over-http/issues/192](https://github.com/graphql/graphql-over-http/issues/192)
16 | - Denis: is here
17 | - [https://github.com/graphql/graphql-over-http/issues/193](https://github.com/graphql/graphql-over-http/issues/193)
18 | - Benjie: made it work
19 | - [https://github.com/graphql/graphql-over-http/issues/194](https://github.com/graphql/graphql-over-http/issues/194)
20 | - Gabriel and Benjie did it
21 | - [https://github.com/graphql/graphql-over-http/issues/195](https://github.com/graphql/graphql-over-http/issues/195)
22 | - Gabriel did it
23 | - [https://github.com/graphql/graphql-over-http/issues/196](https://github.com/graphql/graphql-over-http/issues/196)
24 | - It is happening
25 |
26 | ## Test Suite
27 |
28 | - Browser Testing vs. CLI
29 | - Benjie: Browsers can not make any kind of request, which would limit
30 | capabilities
31 | - Technology
32 | - JavaScript
33 | - Get inspired by
34 | [https://github.com/apollographql/apollo-federation-subgraph-compatibility](https://github.com/apollographql/apollo-federation-subgraph-compatibility)
35 | - As few dependencies and as simple as possible
36 | - Errors for MUST, warnings for SHOULD
37 | - Host in a separate repository under the GitHub graphql organization
38 |
39 | ## Remaining steps for advancing this spec
40 |
41 | - Michael: 2 implementations (one JS) that include all the MUST _and_ the SHOULD
42 | behaviors.
43 | - Everyone read it again.
44 | - Denis: I can build graphql-http based solely on the spec.
45 | - Benjie: then we can spot any omissions.
46 | - David: using express-graphql would be potentially better because it has a
47 | larger user base.
48 | - Denis: whilst building it I'd also be building out a test suite, maybe that
49 | can be reusable.
50 | - Benedikt: I might do this for GraphQL PHP also.
51 |
--------------------------------------------------------------------------------
/working-group/notes/2023/2023-10.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - 26th October 2023
2 |
3 | **Watch the replay**:
4 | https://www.youtube.com/watch?v=nHSixplvCc0&list=PLP1igyLx8foEz9127xc0SsabIrbTMt9g5
5 |
6 | ## Agenda
7 |
8 | - Accept header with unsupported formats
9 | - Persisted Operations
10 | - Advancing GraphQL over HTTP to stage 2
11 |
12 | ## Accept header PR
13 |
14 | Linking back to the HTTP specification, either respond with non-acceptable when
15 | we can’t serve the format in the Accept header (recommended), not recommended
16 | would be to answer in an unaccepted format.
17 |
18 | - PR from Benjie
19 | [https://github.com/graphql/graphql-over-http/pull/227](https://github.com/graphql/graphql-over-http/pull/227)
20 |
21 | General approval, no reservations - will merge.
22 |
23 | ## Persisted Operations RFC
24 |
25 | Common pattern in Facebook since before GraphQL was open-sourced, this was used
26 | to enhance security so only recognised operations can be executed. Worth calling
27 | out that currently there is no specification for persisted operations, hash it
28 | and send it to the server is the current state.
29 |
30 | - RFC from Jovi
31 | [https://github.com/graphql/graphql-over-http/blob/main/rfcs/PersistedOperations.md](https://github.com/graphql/graphql-over-http/blob/main/rfcs/PersistedOperations.md)
32 | - RFC w/ Appendix from Benjie
33 | [https://github.com/graphql/graphql-over-http/pull/264](https://github.com/graphql/graphql-over-http/pull/264)
34 |
35 | APQ can be extended on top of the RFC’s but there’s some missing pieces as we
36 | wouldn’t want to encourage using the extensions object for that as these are
37 | free from the spec.
38 |
39 | Relay would be compatible as it has its own network layer, chosen not to advance
40 | this RFC this close to advancing the HTTP spec.
41 |
42 | Coupling back to the current spec, `query` is mandatory, so from a compatibility
43 | point persisted documents wouldn’t be compliant? It’s modeled differently,
44 | optional to implement and it’s a translation to a query.
45 |
46 | ## Advancing the spec
47 |
48 | Denis: been testing a lot of implementations, some are behind but shouldn’t be
49 | too much effort to get them in line.
50 |
51 | → advancing the GraphQL Over HTTP spec to stage 2
52 |
53 | Everyone is already treating this as a stage 2 spec, actually going to stage 3
54 | will involve some legal work, getting signatures from contributors, … Help from
55 | the Linux Foundation would happen here. TSC will vote before releasing the 1.0
56 | version.
57 |
58 | **Action item**: Benjie will create a pull request and leave it open for a few
59 | weeks so folks can express any concerns.
60 |
61 | **Action item**: Benjie to add a 3 minute agenda item to the core WG meeting
62 |
--------------------------------------------------------------------------------
/working-group/notes/2024/2024-01.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - 25th January 2024
2 |
3 | **Watch the replay**:
4 | https://www.youtube.com/watch?v=nHSixplvCc0&list=PLP1igyLx8foEz9127xc0SsabIrbTMt9g5
5 |
6 | Agenda:
7 | [https://github.com/graphql/graphql-over-http/blob/main/working-group/agendas/2024/2024-01-25.md](https://github.com/graphql/graphql-over-http/blob/main/working-group/agendas/2024/2024-01-25.md)
8 |
9 | ## [Other keys are reserved](https://github.com/graphql/graphql-over-http/pull/278) (10m, Benjie)
10 |
11 | - We want to explicitly reserve the keys, extensions are meant for extending the
12 | keys. We reserve the top-level shape (query, variables, extensions,
13 | operationName). The paragraph needs to clarify this
14 | - It has been open for a while no-one has raised concerns
15 |
16 | ## [Advancing the spec to stage 2](https://github.com/graphql/graphql-over-http/pull/275) (5m, Benjie)
17 |
18 | - Has been approved by the main wg
19 | - :tada: merged the pull request effectively putting us at stage 2
20 |
21 | ## [Adding a section on security concerns](https://github.com/graphql/graphql-over-http/issues/280) (30m, Benjie)
22 |
23 | - We don’t need to re-iterate all the HTTP security concerns as they are covered
24 | in different places
25 | - However we shouldn’t ignore this, especially for GraphQL pitfalls
26 | - Example: particular media-types bypass CORS
27 | - Inquiring with David Griesser and Stellate for Security concerns
28 | - Generic HTTP security concerns
29 | - **ACTION** - Jovi: reach out to Apollo regarding Persisted operations
30 |
--------------------------------------------------------------------------------
/working-group/notes/2024/2024-07.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - 25th July 2024
2 |
3 | **Watch the replay**:
4 | https://www.youtube.com/watch?v=nHSixplvCc0&list=PLP1igyLx8foEz9127xc0SsabIrbTMt9g5
5 |
6 | Agenda:
7 | [https://github.com/graphql/graphql-over-http/blob/main/working-group/agendas/2024//07-Jul//25-graphql-over-http-wg-july-2024.md](https://github.com/graphql/graphql-over-http/blob/main/working-group/agendas/2024//07-Jul//25-graphql-over-http-wg-july-2024.md)
8 |
9 | - Action item: Talking to Apollo about persisted operations
10 | - Jovi: Biggest issue were the set identifiers
11 | - Jovi: They were also keen on moving away from extensions
12 | - Persisted operations identifier syntax (Martin)
13 | - Martin: Persisted documents, commented on the PR from Benjie for a formal
14 | syntax for the operation identifiers
15 | - Martin: follow-up PR
16 | [https://github.com/graphql/graphql-over-http/pull/296](https://github.com/graphql/graphql-over-http/pull/296)
17 | - Martin: Big question, should we restrict the characters to alphanumeric,...?
18 | - Martin: started with allowing everything, after a comment from Benjie
19 | restricted it more.
20 | - Martin: It’s always easier to relax rather than restrict the syntax
21 | - Martin: currently it’s restrictive allowing for URL-safe base64, checksums
22 | and guid
23 | - Martin: Does anyone need something else that is not captured in the PR?
24 | - Shane: Why forego an existing spec, i.e. using a smiley face in wikipedia
25 | encodes well as well
26 | - Benjie: as Martin said, it’s easier to relax than restrict - if there’s no
27 | solid use case for enabling additional characters we shouldn’t do so.
28 | - Benjie: the only missing one is allowing additional colons
29 | - Benjie: point to the RFC as copied it, non-normative
30 | - Benjie: I am in favor of this proposal
31 | - Persisted operations
32 | - Benjie: A change to /graphql/<hash>/<operation-name>
33 | - Benjie: traditional tooling can understand the format more
34 | - Benjie: the sub-path solution would solve a lot of the common grievances
35 | with GraphQL like easier debugging,...
36 | - Jovi: we would need to highlight how to handle variables when i.e. URL gets
37 | too long
38 | - David: we have to ensure that clients that don’t go out of spec
39 | - David: I don’t love the concept of documentId in the JSON body
40 | - Advancing the spec
41 | - Benjie: base spec excluding persisted operations is basically done and what
42 | everyone does anyway
43 | - Benjie: we should address security concerns, we have to be sensible as we
44 | don’t want to repeat the whole HTTP spec
45 | - Jovi: looking at prior art like gRPC they mention building on the HTTP/TLS
46 | spec
47 | - Shane: Things to explicitly note, Nature of GET vs POST and CORS
48 | - Samuel: being strict about content-type/…
49 | - Benjie: Good point, by saying that they _may_ use other encodings is
50 | stopping ourselves from using them in the future. Worth passing by Dennis
51 | - Benjie: There are a few encodings that I have used that aren’t in the spec
52 |
--------------------------------------------------------------------------------
/working-group/notes/2024/2024-08.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - 25th July 2024
2 |
3 | **Watch the replay**:
4 | https://www.youtube.com/watch?v=nHSixplvCc0&list=PLP1igyLx8foEz9127xc0SsabIrbTMt9g5
5 |
6 | Agenda: https://github.com/graphql/graphql-over-http/blob/main/working-group/agendas/2024/08-Aug/29-graphql-over-http-wg-august-2024.md
7 |
8 | Participants:
9 |
10 | * @shane32
11 | * @martinbonnin
12 |
13 | Reviewed topics/PRs from last meeting:
14 |
15 | * Identifier syntax
16 | * [https://github.com/graphql/graphql-over-http/pull/296](https://github.com/graphql/graphql-over-http/pull/296)
17 | * No comments
18 | * Everyone please review
19 | * Security and compatibility notes
20 | * [https://github.com/graphql/graphql-over-http/pull/303](https://github.com/graphql/graphql-over-http/pull/303)
21 | * No comments
22 | * Everyone please review
23 |
--------------------------------------------------------------------------------
/working-group/notes/2025/2025-01.md:
--------------------------------------------------------------------------------
1 | # GraphQL-over-HTTP WG - 25th January 2024
2 |
3 | **Watch the replay**:
4 | https://www.youtube.com/watch?v=nHSixplvCc0&list=PLP1igyLx8foEz9127xc0SsabIrbTMt9g5
5 |
6 | Agenda:
7 | https://github.com/graphql/graphql-over-http/blob/main/working-group/agendas/2025/01-Jan/30-graphql-over-http-wg-january-2025.md
8 |
9 | Participants:
10 |
11 | - @shane32
12 | - @martinbonnin
13 | - @benjie
14 | - @enisdenjo
15 |
16 | ## Watershed
17 |
18 | - [https://github.com/graphql/graphql-over-http/pull/322](https://github.com/graphql/graphql-over-http/pull/322)
19 | - Aim of the spec:
20 | - Benjie: describe the status quo
21 | - Benjie: increase compatibility by describing what’s used right now
22 | - Benjie: this was expected to be released pretty quickly. The watershed dates
23 | ~2 years ago.
24 | - Security and other discussions have delayed the 1.0 release
25 | - Follow up features:
26 | - Batched variables
27 | - Trusted documents
28 | - Etc…
29 | - Denis: the “must” are implemented. The “should” are not always
30 | - It’s not released yet
31 | - Benjie: serving over HTTP is relatively straightforward.
32 | - People were just using the “serving over HTTP” page. Requiring the new content
33 | type would break those.
34 | - Shane: technically, a server that does not support the new content-type
35 | wouldn’t be compliant because they would not auto switch.
36 | - There’s a difference between server and clients. We could require clients to
37 | send both content-types and relieve some of the pain for server.
38 | - Shane: HTTP spec mandates the order of the Accept header. Or is it?
39 | - Benjie: We could remove the watershed and release as-is
40 | - Benjie: partial HTTP status code is probably something we want to add before
41 | releasing
42 | - Denis: 200 is recommended only if there are no “errors”
43 | - Benjie: We could make an update with a “should” but it’d be better for
44 | compatibility if we could make it a “must”.
45 | - Benjie: we should consider making 200 a “MUST” if data is present and there is
46 | no error.
47 |
48 | ## Spec status
49 |
50 | - What about clients sending no “accept” headers?
51 | - If the client doesn’t send an “accept” header, the client can do whatever it
52 | wants
53 | - We could mandate the “accept” header for any graphql client.
54 | - Is this something we include in the testing suite?
55 | - Not really, testing clients is a lot of work.
56 | - Does it matter if a curl client isn’t a compliant client?
57 | - Maybe not as long as the server would return something. The script would still
58 | work.
59 | - If we want to change the aim of the spec, we can! Filing an issue is the way
60 | to go.
61 | - Benjie: question for the GraphQL foundation board: how many requests do not
62 | have an “accept” header?
63 | - Martin: would be also useful to know what percentage of servers support the
64 | new media type
65 | - Benjie: the only thing holding the spec back is security.
66 | - Issue 280
67 |
--------------------------------------------------------------------------------
/working-group/notes/2025/summary-2025-04-24.md:
--------------------------------------------------------------------------------
1 | # Meeting Summary for GraphQL-over-HTTP
2 |
3 | **NOTICE**: This summary was auto-generated by Zoom's "AI". AI-generated
4 | content may be inaccurate or misleading. Always check for accuracy. If in
5 | doubt, please consult the meeting recording at
6 | https://youtube.com/@GraphQLFoundation/playlists
7 |
8 | - Meeting start: 2025-04-24T17:53:54Z
9 | - Meeting end: 2025-04-24T18:29:17Z
10 | - Summary start: 2025-04-24T18:00:57Z
11 | - Summary end: 2025-04-24T18:29:16Z
12 |
13 | The group discussed the removal of the watershed from the GraphQL over HTTP specification and the introduction of a new HTTP status code for partial success in GraphQL responses. They also planned to review and merge pull requests, including one about partial success, and aimed for a coupled release with the GraphQL spec in July. The group agreed to triage other open pull requests and issues, and planned to meet again in a month to push the project forward.
14 |
15 | ## Next Steps
16 |
17 | - Benjie to merge the pull request for removing the watershed in one month's time.
18 | - Benjie to add the partial success response code to the spec and raise a pull request.
19 | - Benjie to review and merge the pull request for adding security to the spec.
20 | - Benjie to update the spec to link to the extensions property in the GraphQL spec.
21 | - Benjie to triage open pull requests and issues.
22 |
23 | ## Summary
24 |
25 | ### Removing Watershed From GraphQL Specification
26 |
27 | Benjie, Martin, and Shane discuss the removal of the watershed from the GraphQL over HTTP specification. They agree to merge the pull request that removes the watershed, as there has been little adoption of the new header in the community. Benjie plans to review the changes for consistency and merge the pull request the following Thursday. The group also briefly touches on the need to move faster with the specification process.
28 |
29 | ### Introducing Partial Success HTTP Status Code
30 |
31 | Benjie proposes introducing a new HTTP status code for partial success in GraphQL responses. The suggested code is in the 290s range, possibly 294. This would indicate that while the request was successful overall, some errors occurred. The status code would be useful for logging, proxies, intrusion detection systems, and monitoring tools, but not necessarily for clients. Shane and Martin agree it could be beneficial for tooling and logging purposes. The group decides to add it as a "should" recommendation rather than a "must" requirement in the specification. They also discuss the rationale behind mandating 2xx status codes for successful responses, citing client compatibility and interoperability with existing tools and practices. The security-related pull request has not yet been merged.
32 |
33 | ### GraphQL Spec and Pull Requests
34 |
35 | Benjie plans to review and merge two pull requests on Thursday, including one about partial success. Martin suggests aiming for a coupled release with the GraphQL spec in July. The group discusses updating the extensions property, which is now defined in the GraphQL spec. They agree to triage other open pull requests and issues, and plan to meet again in a month to push the project forward.
36 |
--------------------------------------------------------------------------------
/working-group/test-suite.md:
--------------------------------------------------------------------------------
1 | 🚨 **WARNING** 🚨 This proposed test suite is out of date and does not reflect the current status of the spec. For a more up to date test suite, please see [graphql-http audits](https://github.com/graphql/graphql-http#audits) or the testing tool at [graphql-http.com](https://graphql-http.com/). This document only exists for historical reasons.
2 |
3 | # Automated Test Suite
4 |
5 | > These are the descriptions of the tests that we intend to build. This document is a scaffold until we have the tests implemented. At that point, the code itself will become the documentation and this document will be removed.
6 |
7 | | Instruction in specification | Meaning | Result of test failure |
8 | |---|---|---|
9 | | MUST | Required behavior | ERROR
10 | | SHOULD | Recommended behavior | WARNING
11 | | MAY | Allowed behavior | NONE
12 |
13 | The tests described below indicate whether they will raise an ERROR or a WARNING if the assertion is violated. In order for a server to be marked as fully compliant it must receive no ERROR assertion failures when this automated test suite is run. In order to have a 100% scored-card the server must receive no ERROR or WARNING assertion failures when this automated test suite is run.
14 |
15 | ## Requests
16 |
17 | A GET method SHOULD be successful
18 | * Send a GET HTTP request for introspection
19 | * **WARNING** Assert that the server returns a 200 HTTP response
20 |
21 |
22 | A GET method with `query`, `operationName` and `variables` SHOULD be successful
23 | * Send a GET HTTP request for introspection using `query`, `operationName`, and `variables`. These should encoded as key-value pairs as query params. `variables` must be a URL-encoded valid JSON string.
24 | * **WARNING** Assert that the server returns a 200 HTTP response
25 |
26 | At least one of either a POST or a GET method MUST be successful
27 | * Send a GET HTTP request for introspection AND send a POST HTTP request for introspection:
28 | * **ERROR** Assert that the server returns a 200 HTTP response to one of the requests
29 |
30 | A POST method SHOULD be successful
31 | * Send a POST HTTP request for introspection
32 | * **WARNING** Assert that the server returns a 200 HTTP response
33 |
34 | A POST method with `query`, `operationName` and `variables` SHOULD be successful
35 | * Send a POST HTTP request for introspection using `query`, `operationName`, and `variables`. These will be encoded as a JSON object.
36 | * **WARNING** Assert that the server returns a 200 HTTP response
37 |
38 |
39 | ## Responses
40 |
41 | A 200 HTTP response to a request without a specified content-type MUST include a body and MUST indicate the encoding with the `content-type` HTTP header.
42 | * Send a GraphQL query in an HTTP request without an `Accept` header. May be a GET or POST, based on which is supported by this server.
43 | * **ERROR** Assert that the HTTP response includes an HTTP Header `Content-type: application/graphql+json`
44 | * **ERROR** Assert that the HTTP response body is valid JSON containing at least a non-null `data` or a non-null `error` top-level attribute.
45 | * This header MAY include encoding information (e.g. `Content-type: application/graphql-json; charset=utf-8`)
46 |
47 | Servers MUST respect the content type requested in the `Accept` HTTP header in the request.
48 | * Send a GraphQL query in an HTTP request with HTTP Header `Accept: application/graphql+json`.
49 | * **ERROR** Assert that the HTTP response includes an HTTP Header `Content-type: application/graphql+json`
50 | * **ERROR** Assert that the HTTP response body is valid JSON
51 | * Send a GraphQL query in an HTTP request with HTTP Header `Accept: unknown/content-type`, and invalid and unsupported content-type
52 | * **ERROR** Assert that either:
53 | * The HTTP response is `406 Not Acceptable`; OR
54 | * The HTTP response includes an HTTP Header `Content-type: application/graphql+json` and the HTTP response body is valid JSON
55 |
56 | A syntax error in the query MUST result in either a 200 and a body with an `error` attribute OR a 400 response
57 | * Send a GraphQL query with a valid structured request, but an invalid GraphQL query document. Include an `Accept: application/graphql-json` to ensure we receive JSON-encoded body.
58 | * **ERROR** Assert that either
59 | * The server responds with a 200 HTTP response and a JSON document containing a non-null `errors` top level attribute; OR
60 | * The server responds with a 400 HTTP response
61 |
--------------------------------------------------------------------------------