$ the-wire · showcase
Hydrogen fixes batched cart writes, first-load races, and route session requirements
By RepoJournal · Filed · About Shopify · Composed from the cited sources · methodology
Hydrogen's storefront layer absorbed the day's substantive work: multi-line cart mutations now get optimistic state, a cart change during the first load no longer strands the rest of the cart, and handleShopifyRoutes stops demanding a session manager no handler uses.
Handle multi-line cart changes and changes during the first cart load Shopify/hydrogen
Shopify.actions.updateCart({ lines: [a, b] }) previously produced no optimistic state, no pending entries, and no rollback, so the UI kept rendering lines the server had already removed; multi-line updates and removals now do. The same change covers a shopper who mutates the cart before the first load finishes, which used to leave only the new line visible with loading stuck true.
Only require sessionManager when a handler needs it Shopify/hydrogen
handleShopifyRoutes now infers whether a session is needed from the handlers passed to it, and requires sessionManager only when a handler's context declares it, such as Customer Account handlers or cart handlers built with customerSession. Cart-only apps no longer need a placeholder session manager just to call the route handler.
Only inject market values into CountryCode and LanguageCode variables Shopify/hydrogen
The Storefront client injected the request's market into any variable named $country or $language regardless of declared type, so a query using $country: String! for something like a metafield key silently received the market code instead of the caller's value. Injection is now limited to variables typed CountryCode and LanguageCode, and those names stay in the graphql() variables type.
Rename registrationTitle to handle in app module versions Shopify/cli
RegistrationTitle always held the module handle, and existing callers already treated it as one: deploy relinking compared it against local.handle and the events reverse transform read the handle from it. It is now named handle in AppModuleVersion and AppVersionsDiffExtensionSchema.
Merge pull request #8901 from Shopify/eddie/service-account-token-4-deprecation-warning Shopify/cli
The CLI now warns that SHOPIFY_APP_AUTOMATION_TOKEN and SHOPIFY_CLI_PARTNERS_TOKEN are deprecated in favor of SHOPIFY_SERVICE_ACCOUNT_TOKEN, with the warning naming whichever variable is in use; the partner token reads the same credentials as the others. Review feedback followed in the same day: the warning is throttled with runAtMinimumInterval to appear at most once a day, matching the CLI's ...
Action items