diff --git a/CHANGELOG.md b/CHANGELOG.md index dcac620..ec9a0ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 3.5.0 + +### Changed + +- New apps use Shopify API version 2026-10, the latest stable release, in + place of 2026-07. It applies to Admin API calls and webhooks from the + functions, to `shopify.app.toml` and to the theme block. Apps you already + generated keep their version until you change it. + ## 3.4.0 ### Added diff --git a/README.md b/README.md index 61e873b..e1cc81e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ npx @mksd0398/nitrogen my-app **[Website](https://mksd0398.github.io/nitrogen/)** · **[Will it be free for my app? Try the cost calculator](https://mksd0398.github.io/nitrogen/#calculator)** · **[Build it with an AI agent](#build-with-an-ai-agent)**

- + @@ -59,7 +59,7 @@ The **Firebase alternative** to `shopify app init`. Instead of Remix + Prisma + - **Polaris web components + App Bridge** — 6 pages, no React, no build step - **A complete reference inside your app** — every Polaris component and every App Bridge API, each with a working example to copy - **Theme App Extension** for storefront UI (works on all Shopify plans) -- **Shopify API 2026-07** — token exchange, OAuth, session tokens, webhooks, GDPR handlers +- **Shopify API 2026-10** — token exchange, OAuth, session tokens, webhooks, GDPR handlers - **Single- or multi-tenant** — locked to one store, open to many, or several Shopify apps on one backend - **API keys** for callers outside Shopify — hashed at rest, scoped, per tenant - **A test suite in every generated project** — `npm test` covers auth, webhooks, routing and wiring @@ -262,7 +262,7 @@ app with no traffic costs nothing, and a small app fits inside the free tier. ``` my-app/ -├── shopify.app.toml # Shopify app config (API 2026-07) +├── shopify.app.toml # Shopify app config (API 2026-10) ├── firebase.json # Hosting rewrites, headers, functions, Firestore ├── firestore.rules # Deny-all: only Cloud Functions touch the data │ diff --git a/lib/index.js b/lib/index.js index 8fb0386..464a2c8 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1786,7 +1786,7 @@ function printHelp() { ✔ Firebase v2 Cloud Functions — one per API resource, auto-scaling ✔ Multi-tenant — many shops, and several Shopify apps on one backend ✔ Tested — npm test covers auth, webhooks and routing - ✔ Shopify API 2026-07 — OAuth, webhooks, GDPR + ✔ Shopify API 2026-10 — OAuth, webhooks, GDPR ✔ Firestore — sessions, settings, app data ✔ TypeScript or JavaScript — your choice ✔ Scales to zero — an idle app costs nothing; a free tier covers small ones diff --git a/package-lock.json b/package-lock.json index b487da3..e806a20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mksd0398/nitrogen", - "version": "3.4.0", + "version": "3.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mksd0398/nitrogen", - "version": "3.4.0", + "version": "3.5.0", "license": "MIT", "dependencies": { "prompts": "^2.4.2" diff --git a/package.json b/package.json index f37154d..1a8e017 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mksd0398/nitrogen", - "version": "3.4.0", + "version": "3.5.0", "description": "Scaffold, deploy and install a Shopify app on Firebase in one command. Cloud Functions, Firestore and Hosting; Polaris web components and App Bridge; TypeScript or JavaScript. No framework, no server. Not affiliated with or endorsed by Shopify.", "keywords": [ "shopify", diff --git a/templates/js/functions/src/shopify.js b/templates/js/functions/src/shopify.js index 9a02cc0..8c8b431 100644 --- a/templates/js/functions/src/shopify.js +++ b/templates/js/functions/src/shopify.js @@ -4,7 +4,7 @@ const { HttpError } = require("./http"); // Shopify API version — update when Shopify releases new versions // (quarterly: January, April, July, October) // Docs: https://shopify.dev/docs/api/usage/versioning -const API_VERSION = "2026-07"; +const API_VERSION = "2026-10"; /** * Run an Admin API GraphQL query as the calling tenant and return `data`. diff --git a/templates/shared/extensions/theme-block/shopify.extension.toml b/templates/shared/extensions/theme-block/shopify.extension.toml index edad35a..23b1220 100644 --- a/templates/shared/extensions/theme-block/shopify.extension.toml +++ b/templates/shared/extensions/theme-block/shopify.extension.toml @@ -1,4 +1,4 @@ -api_version = "2026-07" +api_version = "2026-10" [[extensions]] name = "App Block" diff --git a/templates/shopify.app.toml b/templates/shopify.app.toml index 7c0913e..b19eb3c 100644 --- a/templates/shopify.app.toml +++ b/templates/shopify.app.toml @@ -20,7 +20,7 @@ redirect_urls = [ ] [webhooks] -api_version = "2026-07" +api_version = "2026-10" # App lifecycle [[webhooks.subscriptions]] diff --git a/templates/ts/functions/src/shopify.ts b/templates/ts/functions/src/shopify.ts index 21bc26a..9e7e83e 100644 --- a/templates/ts/functions/src/shopify.ts +++ b/templates/ts/functions/src/shopify.ts @@ -4,7 +4,7 @@ import { Context, HttpError } from "./http"; // Shopify API version — update when Shopify releases new versions // (quarterly: January, April, July, October) // Docs: https://shopify.dev/docs/api/usage/versioning -export const API_VERSION = "2026-07"; +export const API_VERSION = "2026-10"; /** * Run an Admin API GraphQL query as the calling tenant and return `data`.