{"componentChunkName":"component---src-templates-doc-tsx","path":"/blog/production-ready/","result":{"data":{"doc":{"frontmatter":{"title":"Leaving technical preview","date":"14 Sep 2016","permalink":"/blog/production-ready/","byline":"Lee Byron","guestBio":null,"sublinks":null,"layout":"blog"},"id":"4f311495-5c94-5a32-bf98-632d47845cbd","rawMarkdownBody":"\nAfter over a year of being open sourced we're bringing GraphQL out of \"technical preview\" and relaunching [graphql.org](http://graphql.org/).\n\nFor us at Facebook, GraphQL isn't a new technology. GraphQL has been delivering data to mobile News Feed since 2012. Since then it's expanded to support the majority of the Facebook mobile product and evolved in the process.\n\nEarly last year when we first [spoke publicly about GraphQL](https://www.youtube.com/watch?v=9sc8Pyc51uU) we received overwhelming demand to share more about this technology. That sparked an internal project to revisit GraphQL, make improvements, draft a specification, produce a reference implementation you could use to try it out, and build new versions of some of our favorite tools, like [GraphiQL](https://github.com/graphql/graphiql). We moved quickly, and released parts that were ready along the way.\n\nPart of Facebook's open source philosophy is that we want to only open source what is ready for production. While it's true that we had been using GraphQL in production at Facebook for years, we knew that these newly released pieces had yet to be proven. We expected feedback. So we carefully released GraphQL as a \"technical preview.\"\n\nExactly one year ago, we published graphql.org, with a [formal announcement](/blog/graphql-a-query-language/) that GraphQL was open source and ready to be \"technically previewed\". Since then we've seen GraphQL implemented [in many languages](/code/), and successfully adopted by other companies. That includes today's exciting announcement of the [GitHub GraphQL API](http://githubengineering.com/the-github-graphql-api/), the first major public API to use GraphQL.\n\nIn recognition of the fact that GraphQL is now being used in production by many companies, we're excited to remove the \"technical preview\" moniker. GraphQL is production ready.\n\nWe've also revamped this website, [graphql.org](http://graphql.org/), with clearer and more relevant content in response to some the most common questions we've received over the last year.\n\nWe think GraphQL can greatly simplify data needs for both client product developers and server-side engineers, regardless of what languages you're using in either environment, and we're excited to continue to improve GraphQL, support the already growing community, and see what we can build together.\n"},"nextDoc":null},"pageContext":{"permalink":"/blog/production-ready/","nextPermalink":null,"sideBarData":[{"name":"blog","links":[{"fileAbsolutePath":"/opt/build/repo/src/content/blog/20160914-production-ready.md","parent":{"relativeDirectory":"blog","sourceInstanceName":"content"},"frontmatter":{"title":"Leaving technical preview","permalink":"/blog/production-ready/","next":null,"category":null,"sublinks":null,"sidebarTitle":null,"date":"14 Sep 2016"},"id":"4f311495-5c94-5a32-bf98-632d47845cbd"},{"fileAbsolutePath":"/opt/build/repo/src/content/blog/20160502-rest-api-graphql-wrapper.md","parent":{"relativeDirectory":"blog","sourceInstanceName":"content"},"frontmatter":{"title":"Wrapping a REST API in GraphQL","permalink":"/blog/rest-api-graphql-wrapper/","next":null,"category":null,"sublinks":null,"sidebarTitle":null,"date":"5 May 2016"},"id":"a649faaf-f109-5196-a7c1-7054e2e13d73"},{"fileAbsolutePath":"/opt/build/repo/src/content/blog/20160419-mocking.md","parent":{"relativeDirectory":"blog","sourceInstanceName":"content"},"frontmatter":{"title":"Mocking your server is easy with GraphQL","permalink":"/blog/mocking-with-graphql/","next":null,"category":null,"sublinks":null,"sidebarTitle":null,"date":"19 Apr 2016"},"id":"fe3c944f-6972-58b7-9869-2507c2038f0f"},{"fileAbsolutePath":"/opt/build/repo/src/content/blog/20151016-subscriptions.md","parent":{"relativeDirectory":"blog","sourceInstanceName":"content"},"frontmatter":{"title":"Subscriptions in GraphQL and Relay","permalink":"/blog/subscriptions-in-graphql-and-relay/","next":null,"category":null,"sublinks":null,"sidebarTitle":null,"date":"16 Oct 2015"},"id":"6f1cc952-67b3-5136-ab9a-53ade12311eb"},{"fileAbsolutePath":"/opt/build/repo/src/content/blog/20150914-graphql.md","parent":{"relativeDirectory":"blog","sourceInstanceName":"content"},"frontmatter":{"title":"GraphQL: A data query language","permalink":"/blog/graphql-a-query-language/","next":null,"category":null,"sublinks":null,"sidebarTitle":null,"date":"14 Sep 2015"},"id":"7b33b023-80a1-5d5d-9af0-f17d45e93fd6"}]}],"sourcePath":"src/content/blog/20160914-production-ready.md"}},"staticQueryHashes":["1581580458"]}