# Shopify changelog

What changed in each Shopify simulator release, newest first.

What changed in each Shopify simulator release, newest first.

## v0.0.1 — 2026-11-06

1. **A local Shopify store for the code that runs a shop and sells from it.** The first release of the Shopify simulator: Shopify's Admin and Storefront GraphQL APIs at version 2026-10, served at `/admin/api/2026-10/graphql.json` and `/api/2026-10/graphql.json` on one port. Point `@shopify/admin-api-client`, the `shopify_api` gem or any GraphQL client at it with a placeholder access token, or boot it with `--intercept` and run your program under `rystic exec` to route every `*.myshopify.com` host to it. A request with no Admin token gets Shopify's 401 answer, and no email, payment, webhook or app callback is ever sent.

2. **Bulk operations and background jobs.** `bulkOperationRunQuery` starts a bulk query that finishes on the simulator's clock and serves its result as JSONL from the simulator itself, and `bulkOperationCancel` cancels one still running. `collectionReorderProducts` returns a job that `job(id:)` reads until it is done.

3. **Online Store content and custom data.** Create pages, blogs, articles, menus and URL redirects on the Admin API, and read what is published on the Storefront API. A menu item that links a product, collection, page, blog or article keeps its store path, and the Storefront API returns it as a full URL. Read metafield definitions, metaobjects and their definitions.

4. **Orders, customers and fulfillment to read.** Read orders with their line items, payment transactions, price sets, fulfillment orders, fulfillments, returns and refunds, and customers with what they have spent and the segments they fall in. An Admin token without the `read_all_orders` grant sees only the last 60 days of orders, as on Shopify, and you can bind grants to a token to widen it.

5. **Five scenarios to boot straight into.** `shopify_apparel_storefront` (a lived-in apparel store with products, collections, customers, orders, content and a live cart), `shopify_fulfillment_desk` (five orders in five fulfillment states), `shopify_inventory_ledger` (one catalog spread over three locations), `shopify_custom_data_lab` (a store shaped by metafields and metaobjects) and `shopify_fresh_store` (a store on its first day). `--scenario` boots one, and `POST /_rystic/scenario` loads one without a restart. The same requests from the same reset give the same ids and bodies.

6. **The Storefront catalog, search and carts.** Read the published catalog, collections with their own products, and recommendations, and search them with `search`, `predictiveSearch` and `products(query:)` in Shopify's search syntax. Build a shopper's cart with `cartCreate`: add, change and remove lines, set a note, attributes, a buyer identity, discount codes, delivery addresses and metafields, and read the cart back by its id.

7. **Tested against a live Shopify store.** The newest full measurement, of 2026-11-06, matched 255 of the 275 tests that compare the simulator with Shopify (92.7%), and 4 of those tests gave no verdict. The simulator's page lists, under Limitations, the differences this release ships with.

8. **The catalog and its inventory.** Create and update products with their variants, options and media, or set a whole product at once with `productSet`; group products in collections and reorder them; and publish them to the store's Online Store, Shop and Point of Sale channels, after which the Storefront API shows them. Track stock across locations with `inventorySetQuantities`, `inventoryAdjustQuantities` and `inventoryMoveQuantities`, which check `changeFromQuantity` as Shopify does. The `query:` argument filters the product, variant, collection, customer, order and inventory item lists, and the product and order counts, in Shopify's search syntax; the customer, variant and collection counts ignore it.

---

Source: https://www.rystic.ai/docs/simulators/shopify/changelog · Markdown: https://www.rystic.ai/docs/simulators/shopify/changelog.md
