@PascalSenn suggested at today's wg meeting that GAPs should list (in metadata.yml) what servers/clients implement the spec, so users can decide which spec to use. **Option 1 - text only** ```yaml implementedBy: - "Apollo Client >= v1.2.3" - "Relay >= v3.4.5" ``` **Option 2 - markdown links** ```yaml implementedBy: - [Apollo Client >= v1.2.3](https://www.apollographql.com/docs/react) - [Relay >= v3.4.5](https://github.com/facebook/relay) ``` **Option 3 - structured data** ```yaml implementedBy: - name: Apollo Client website: https://www.apollographql.com/docs/react version: 1.2.3 - name: Relay website: https://www.apollographql.com/docs/react version: 3.4.5 ``` **Option 4 - project definition keys + structured data** ```yaml implementedBy: - project: apollo-client version: 1.2.3 - project: relay version: 3.4.5 ``` ...which refers to some central projects.yml that looks like this: ```yaml - id: apollo-client website: https://www.apollographql.com/docs/react - id: relay website: https://github.com/facebook/relay ``` Maybe this can reuse the definitions list here https://caniuse.graphql.now/index.html#projects Note: I'd also like to support arbitrary projects here too, since support might initially be implemented as random a plugin (e.g. the `@mock` spec is currently implemented in [apollo-client-mock-directive-plugin](https://github.com/magicmark/apollo-client-mock-directive-plugin/), not apollo core. I would expect many specs might start out this way. So that implies something like this: ```yaml implementedBy: - project: relay version: 3.4.5 - name: apollo-client-mock-directive-plugin website: https://github.com/magicmark/apollo-client-mock-directive-plugin/ version: 0.0.1 ``` --- my vote is Option 4.