GraphQL Foundation Monthly Newsletter October 2020

By gqlfoundation  |  November 12, 2020  |  GraphQL Newsletter

GraphQL has redefined how developers work with APIs and client-server interactions. And as the community works hard to foster the growth and adoption of GraphQL, we are excited to share the work of the community and discussions via the monthly GraphQL Foundation newsletter.

WG Updates

The GraphQL Working Group meets monthly, and records detailed minutes. You can also listen to the replays of GraphQL technical meetings on YouTube.

Query ambiguity: discussion of replacement terms

In the GraphQL ecosystem the term “query” can seem overloaded and ambiguous - sometimes it refers to the query operation type or a query operation, sometimes it refers to a GraphQL request or a GraphQL document containing operations, sometimes it refers to the contents of selection sets (as in “query reuse”), and sometimes it is used as a verb to refer to the generic act of querying a server for information.

The WG discussed the best way to remove this ambiguity and how to move forward.

Schema Coordinates RFC check in

The RFC is filed, and the next action is to turn this into an actual spec edit.

Tagged type update

This is an RFC for a new “Tagged type” to be added to GraphQL. It replaces the "@oneField directive” proposal following feedback from the Input Unions Working Group. Please note that “Tagged type” is the working name, and may change if we come up with a better name for it.

A Tagged type defines a list of named members each with an associated type (like the fields in Object types and Input Object types), but differs from Object types and Input Object types in that exactly one of those members must be present.

The aim of the Tagged type is to introduce a form of polymorphism in GraphQL that can be symmetric between input and output. In output, it can generally be used as an alternative to Union (the differences will be outlined below). It goes beyond interfaces and unions in that it allows the same type to be specified more than once, which is particularly useful to represent filters such as this pseudocode {greaterThan: Int} | {lessThan: Int}.

In Other News…

Upcoming Events:

  • Nov 17: GraphQL Contributor Days, in partnership with Hasura, will give important updates to the community, and provide a forum for anyone using GraphQL to have direct access to core contributors and authors of various libraries and frameworks through live chat and an online broadcast.
  • Dec 2: Relay Meetup is a global, online meetup on Relay, the GraphQL client. This event will feature a conversation about the @defer and @stream directives and why it should be brought to the official GraphQL specification.
  • Dec 7-8: GraphQL Galaxy Conference is a new remote conference focusing on all things GraphQL.
  • Missed Apollo Day on Nov. 10th? Check out some of the great talks on Twitch.

Get Involved!

Developers can get involved in the community and contribute to the project at https://github.com/graphql.

Organizations interested in becoming members of the GraphQL Foundation or the GraphQL Specification can learn more on our member page. If you have questions about membership, please send an email to membership@graphql.org.