Apollo Client Feature Requests
Note: Apollo Client bugs are tracked in the Apollo Client repo issue tracker.
Most of the features in Apollo came from suggestions by you, the community! We welcome any ideas about how to make Apollo better for your use case. Unless there is overwhelming demand for a feature, it might not get implemented immediately, but please include as much information as possible that will help people have a discussion about your proposal:
Use case: What are you trying to accomplish, in specific terms? Often, there might already be a good way to do what you need and a new feature is unnecessary, but it’s hard to know without information about the specific use case.
Could this be a plugin? In many cases, a feature might be too niche to be included in the core of a library, and is better implemented as a companion package. If there isn’t a way to extend the library to do what you want, could we add additional plugin APIs? It’s important to make the case for why a feature should be part of the core functionality of the library.
Is there a workaround? Is this a more convenient way to do something that is already possible, or is there some blocker that makes a workaround unfeasible?
Please keep in mind that feature requests should be well specified and unambiguous, to have the greatest chance of being worked on by a contributor.
The issues area of this repo should be used to discuss new features and possible implementation designs. You can show your support for (or against!) features by using GitHub reactions, or by adding meaningful details which help the feature definition become more clear. Please do not comment with "+1" as it creates a lot of noise (e-mails, notifications, etc.).
Please refrain from submitting a pull request in the main Apollo Client repo, to implement a proposed feature, until there is consensus that it should be included. This way, you can avoid putting in work that can’t be merged in. Once there is a consensus on the need for a new feature, proceed as listed in the Apollo Client CONTRIBUTING doc.
Feature Request Issue Triage
- For reasons described above, we would prefer features to be built as separate packages. If the feature can clearly be built as a package, explain this to the requester and close the issue.
- If it's not possible to build the feature as a package (as you identified in step 1), explore whether creating hooks in core would make it possible to do so. If it would, redefine the issue as a request to create those hooks.
- Work with the requester and others in the community to build a clear specification for the feature and update the issue description accordingly.
- Finally, add the
Core contributors may add the
help-wanted label to feature requests. This indicates the feature is aligned with the project roadmap and a high-quality pull request will almost certainly be merged.