Note

    CHANGELOG

    @shopify/shopify-app-template-remix 2026. 03. Imported Context @shopify/shopify-app-template-remix 2026.03.10 [1001] Refreshed lifecycle email...

    @shopify/shopify-app-template-remix ## 2026. 03.

    @shopify/shopify-app-template-remix

    2026.03.10

    • [1001] Refreshed lifecycle email templates (welcome, feedback, review) for clearer merchant messaging and action prompts.
    • [1001] Added automation/email regression coverage for lifecycle scheduling, template rendering, preferences toggles, review-prompt recording, and unsubscribe flow.
    • [1001] Updated merchant/internal docs to reflect implemented review/email cadence, removed unsupported usage-cap email claim, and added manual QA + automation matrix coverage for review/email workflows.
    • [1001] Added app_subscriptions/update webhook support (Shopify config + route handler) to sync tier state promptly after subscription updates/cancellations.

    2026.03.09

    • [1001] Switched merchant docs deployment to Cloudflare Pages: .github/workflows/deploy-docs.yml now deploys VitePress output on main pushes that touch docs/merchant/**, with Pages project shopify-bulk-editor-app-docs.
    • [1001] Updated deployment/docs index documentation for Cloudflare merchant-docs auto-deploy and required GitHub secrets (CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID).
    • [1001] Fixed docs-site build rendering by escaping inline GitHub Actions template syntax in project doc checkpoint notes.

    2026.03.08

    • [1001] Added Claude Code governance scaffolding: repo-level CLAUDE.md aligned to AGENTS.md, workspace guardrails in .claude/settings.json, and a setup guide at docs/development/claude-code-setup.md.

    2026.03.06

    • [1001] Standardized the docs system scaffold in docs/ (projects structure, checkpoint workflow, docs-site wrapper, VitePress config, and docs tooling scripts).
    • [1001] Added regression coverage for Shopify productsCount query behavior (limit: null) to guard the 2025-07 API semantics change.
    • [1001] Updated app defaults to Shopify Admin/Webhook API 2025-07 (ApiVersion.July25) to stay ahead of the April 1, 2026 deprecation window.
    • [1001] Added root governance baseline files (AGENTS.md, ROADMAP.md) and docs build configuration scaffolding (wrangler.toml, pending workflow hookup).
    • [1001] Improved onboarding step 3 guidance with actionable copy, removed the redundant Skip tour CTA, and fixed progress indicator math so step 3 of 3 correctly displays as 100% complete.
    • [1001] Corrected docs/internal/billing/pricing-source-of-truth.md to match live tier configuration (tier1/Starter, tier2/Standard, tier3/Advanced), removed obsolete free-tier entries, and documented that annual discounts are not configured.
    • [1001] Reconciled internal listing/launch/QA/billing docs to the paid-only managed-pricing model and removed stale “free tier/free cap” guidance.
    • [1001] Updated tier pricing metadata and docs to include annual plan options ($49/$99/$249 yearly for tier1/tier2/tier3) and added regression coverage for the monthly/annual matrix.
    • [1001] Corrected managed-pricing ownership: removed hardcoded annual billing metadata from app runtime config and documented Partner Dashboard as the canonical source for price intervals, with app code remaining the source for feature limits/gating.
    • [1001] Hardened merge CI reliability by fixing optional SHOPIFY_APP_STORE_URL env parsing and adding CI defaults for required Shopify env vars; updated CLA and dependency-audit workflows to avoid guaranteed failures when secrets are absent on PR/staging.
    • [1001] Hardened CLA workflow gating by making token presence a step-level condition: run CLA validation only when CLA_TOKEN exists, otherwise mark the check as an explicit skip.
    • [1001] Removed CLA workflow enforcement for this single-contributor private repository to eliminate non-value merge blocking.
    • [1001] Closed stale PR backlog (keeping only active release PR #196) and deleted branches tied to closed-unmerged PR heads to reduce merge noise.
    • [1001] Reconfigured Dependabot for low-noise operation: monthly schedules, open-PR limit of 1 per ecosystem, grouped minor/patch updates, semver-major suppression, and disabled auto-rebase churn.
    • [1001] Added a full manual editing matrix (docs/internal/qa/full-editing-manual-matrix.md) covering all action types, variant targeting modes, skipped e2e scenarios, rollback paths, and final billing lifecycle validation.
    • [1001] Fixed onboarding regression on reinstall: /app/billing no longer bypasses onboarding for incomplete/reinstalled shops; loader now resets reinstall state before route exemptions and redirects to onboarding first.
    • [1001] Hardened reinstall onboarding recovery when uninstall signals are missing/delayed: if onboarding is marked complete but plan-selection marker is absent and no active subscription exists, loader now resets onboarding and routes to onboarding before billing.
    • [1001] Reverted March 6 onboarding UI/step-flow adjustments in app/routes/app.onboarding.tsx (quick-tour copy refresh, skip-tour CTA removal, revised step progress math, and broader back-button visibility) to restore the prior onboarding behavior for regression isolation.
    • [1001] Fixed onboarding completion loop by removing loader-side fallback that reset onboarding when no subscription was active; completed onboarding now routes to billing as intended instead of restarting onboarding.
    • [1001] Updated onboarding step-3 secondary CTA from Skip tour to Read FAQs; this action now completes onboarding and redirects to /app/faq for immediate self-serve help.

    2025.12.03

    • Normalize variant terminology across the app: UI labels now say “Variant title”, docs include a terminology glossary (option names vs option values), and tests guard the variantName DSL field. No payloads changed.

    Documentation

    2025.10.01

    Remix is now React Router. As of React Router v7, Remix and React Router have merged.

    For new projects, use the Shopify App Template - React Router instead.

    To migrate your existing Remix app, follow the migration guide.

    2025.08.16

    • #52 Use ApiVersion.July25 rather than LATEST_API_VERSION in .graphqlrc.

    2025.07.07

    • #1103 Remove deprecated .npmrc config values

    2025.06.12

    2025.06.12

    -#1082 Remove local Shopify CLI from the template. Developers should use the Shopify CLI installed globally.

    2025.03.18

    -#998 Update to Vite 6

    2025.03.01

    • #982 Add Shopify Dev Assistant extension to the VSCode extension recommendations

    2025.01.31

    • #952 Update to Shopify App API v2025-01

    2025.01.23

    • #923 Update @shopify/shopify-app-session-storage-prisma to v6.0.0

    2025.01.8

    • #923 Enable GraphQL autocomplete for Javascript

    2024.12.19

    • #904 bump @shopify/app-bridge-react to latest

    2024.12.18

    • 875 Add Scopes Update Webhook

    2024.12.05

    • #910 Install openssl in Docker image to fix Prisma (see #25817)
    • #907 Move @remix-run/fs-routes to dependencies to fix Docker image build
    • #899 Disable v3_singleFetch flag
    • #898 Enable the removeRest future flag so new apps aren't tempted to use the REST Admin API.

    2024.12.04

    • #891 Enable remix future flags.

    2024.11.26

    • 888 Update restResources version to 2024-10

    2024.11.06

    • 881 Update to the productCreate mutation to use the new ProductCreateInput type

    2024.10.29

    • 876 Update shopify-app-remix to v3.4.0 and shopify-app-session-storage-prisma to v5.1.5

    2024.10.02

    • 863 Update to Shopify App API v2024-10 and shopify-app-remix v3.3.2

    2024.09.18

    • 850 Removed "~" import alias

    2024.09.17

    • 842 Move webhook processing to individual routes

    2024.08.19

    Replaced deprecated productVariantUpdate with productVariantsBulkUpdate

    v2024.08.06

    Allow SHOP_REDACT webhook to process without admin context

    v2024.07.16

    Started tracking changes and releases using calver

    Provenance