March 9, 2017

Apollo Client 1.0 is coming

Jonas Helfer

Jonas Helfer

Today I have an exciting announcement: After almost a year, 2,800 commits, 100 releases, and the work of over 100 amazing contributors, we are getting ready to launch Apollo Client 1.0!

We and many others have been using Apollo Client in production for almost a year now, and we’re very happy with the current API. The transition to 1.0 means we are sticking with this API for a while, even as we continue making incremental changes.

The publication of our first release candidate marks the start of the final testing period before the official release. During this period, we want as many people as possible to try it out and report bugs and other issues so we can make sure Apollo Client is in great shape for the launch.

Apollo Client now has more than 300’000 downloads on npm!

What to expect in Apollo 1.0

Apollo Client 1.0 contains the best features from the 0.x series, and more:

Apollo Client 1.0 will also have a few significant improvements over the 0.x series:

  • New functions for fine-grained cache reads and writes
  • A vastly simplified client API with new patterns for returnPartialDatareduxRootKey and resultTransformer and better defaults for queryDeduplication and notifyOnNetworkStatusChange.
  • fetchPolicy replaces noFetch and forceFetch.

To get a full list of the features of Apollo Client, make sure to read our previous posts and check out the docs.

We want your help!

For a successful launch, a lot of things have to be right. We wouldn’t have gotten to where we are today without our amazing community, and we’re counting on you again to make this launch a success. Here are some of the things you can help us with:

  • Take Apollo Client for a spin and try it out in an app to provide feedback on developer ergonomics. If you‘re just getting started, try the tutorial.
  • Write a blog post about interesting things you did with Apollo
  • Find edge-cases that break Apollo Client and write up an issue.
  • Choose a small bug to fix from this list
  • Build a reproduction for an open issue
  • Tell us about your use-cases
  • Help us spread the word and tell your friends

What’s next?

During the run-up to the release, we’ll freeze new feature development on the 1.x branch to thoroughly test Apollo Client, collect feedback from the community and fix any major bugs that are found. Once we’re getting close to launch, we’ll send out an invitation for the release event 🎉 to all the contributors and users who have made this possible. Look forward to a presentation about Apollo Client’s internal architecture, hearing a Q&A with core contributors, learning about some apps that use Apollo in production today, and (hopefully) cake!

Reaching 1.0 doesn’t mean we stop improving Apollo and adding new features though, quite the opposite. We’re already working on cache invalidation, a persistent offline caching, a streaming network interface, native prefetching and more, so stay tuned!

The work on Apollo Client is far from over. If you have a few spare minutes every now and then, we’d love for you to become a contributor by joining our Slack channel and helping us with issues and pull requests. If you’d like to work on open-source software full-time, apply for one of our open positions!

If you want to be notified about the 1.0 release and future GraphQL blog posts, make sure to click “Follow” below, and follow us on Twitter at @apollographql.

Written by

Jonas Helfer

Jonas Helfer

Read more by Jonas Helfer