├── .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 | 64 | 65 | 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 | " || HTML="$HTML 81 | " 82 | HAS_LATEST_RELEASE=1 83 | 84 | HTML="$HTML 85 | 86 | 87 | 88 | " 89 | done 90 | 91 | HTML="$HTML 92 |
PrereleaseWorking Draft$GITDATE
Latest Release$TAGTITLE$GITDATERelease Notes
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 | --------------------------------------------------------------------------------