-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] Improve experience of introducing new APIs to Gatsby Core #16055
Comments
Hiya! This issue has gone quiet. Spooky quiet. 👻 We get a lot of issues, so we currently close issues after 30 days of inactivity. It’s been at least 20 days since the last update here. If we missed this issue or if you want to keep it open, please reply here. You can also add the label "not stale" to keep this issue open! As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contributefor more information about opening PRs, triaging issues, and contributing! Thanks for being a part of the Gatsby community! 💪💜 |
Hey again! It’s been 30 days since anything happened on this issue, so our friendly neighborhood robot (that’s me!) is going to close it. Please keep in mind that I’m only a robot, so if I’ve closed this issue in error, I’m As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contribute for more information about opening PRs, triaging issues, and contributing! Thanks again for being part of the Gatsby community! |
Summary
When we have a need to introduce a new API, e.g. see #16027, we also unfortunately tend to break support/introduce some churn for older versions of Gatsby in the process.
For example, given the above API
validatePluginOptions
-- if we added that API to a plugin, and that plugin was updated but the gatsby version was kept constant (very common!) the following error would appear:See #15680 for a real world example of the issue.
Basic example
This is a straw man (aka a proposal that potentially has flaws, and that I'd love to iterate to something better) proposal.
The structure could look something like this:
Breaking Message
Note: if the network call fails, we need to fail quickly, and then tweak the message to be less useful and probably presumed breaking.
Motivation
We need to introduce new APIs. We can't break people's builds when they (very likely!) upgrade plugin versions, while keeping Gatsby versions constant.
We should encourage to upgrade, but not break builds whenever possible. We want to continue to iterate and build in useful functionality, but we also don't want to cultivate an environment of churn and frustration.
The text was updated successfully, but these errors were encountered: