Replies: 1 comment 1 reply
-
hello @cocoahero, |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
At Unite 2021, we announced that we want to make some changes to the Storefront GraphQL API that historically haven't fit well within our versioning system. These changes come in various forms from cosmetic to functional, but overall we want to improve the Storefront GraphQL API's schema to be more easily understood and used by you, the developer.
Below you will find details on what changes we are proposing and why, but the most important thing is we want your feedback:
Why are you doing this?
Over the years, the Storefront API has grown to support many new features and use cases. The majority of these improvements are purely additive and are not considered a "breaking" change. However, there have been times where in order to support new features we have had to resort to some less-than-desirable techniques to keep in line with GraphQL's best practice of evolving, not breaking. Some examples of these are:
MoneyV2
orpriceV2
.These types of changes over time have resulted in a schema that is hard to understand by developers, and from our point of view difficult to maintain in the long run.
What is changing?
At some point in the near future, we will be releasing a new and improved Storefront GraphQL API schema. The goal with this new schema is to have a fresh start and solid foundation to grow on, built against new principles that will help prevent getting into this situation again. To be clear, this schema will have many breaking changes from the release before it, and that is the point.
Some of the higher level changes include:
MoneyV2
=>Money
,Article.authorV2
=>Article.author
, etc2020-07
will be removed in2020-10
. Remember that2020-07
will still be available for one year after its initial release.Query.productByHandle
becomesQuery.product(by:)
Product.description: String
andProduct.descriptionHtml: HTML
becomeProduct.description: RichText
.interface
types where possible.Page.url
,Article.url
, andProduct.onlineStoreUrl
all becomeOnlineStorePublishable.onlineStoreUrl
.A more detailed list of changes is available here.
How can I play with the new schema?
In order to help you get to know the changes, we have put together a mock GraphiQL playground where you can make read-only queries against a fake storefront. However, there are a few key things to be aware of:
Looking forward to your feedback. Please comment below. 👇
Beta Was this translation helpful? Give feedback.
All reactions