The quiet deadline in Shopify''s Winter '26 Edition
Amid 150+ updates in the Winter '26 Edition, one change matters more than the rest if you run a serious store: Shopify Functions has finished replacing Scripts. Since June, Functions ship with faster execution and enough parity that the migration path is no longer a gamble. That sounds like a footnote. It isn't. Checkout Scripts were the engine behind custom discounts, payment gating, and shipping logic for years of Plus stores. If that logic still lives in Scripts, you're maintaining code on a platform Shopify has stopped investing in.
What actually changed
Scripts ran Ruby inside Shopify's runtime and were locked to Plus. Functions run compiled WebAssembly, execute at the edge in single-digit milliseconds, and are open to every developer, not just Plus merchants. That last part is the real story. The customization that used to be a paid-tier privilege is now table stakes for anyone building on Shopify.
The trade is real, though. Functions are not a drop-in port of your old Ruby. You write them in Rust, JavaScript, or anything that compiles to Wasm, you deploy them as part of an app, and you test them against a typed input schema. A discount rule that was 15 lines of Ruby becomes a small extension with its own build step and its own deployment. Teams that treated Scripts as a config field are going to feel that.
Why this is a build decision, not a checkbox
Speed and access change how you design checkout logic. When your discount and shipping rules ran as interpreted Ruby, you kept them small because they were slow and hard to observe. Wasm at the edge removes that ceiling. You can run richer logic (tiered bundles, real-time eligibility checks, market-specific pricing tied to the new channel markets API) without paying for it in conversion-killing latency.
The catch is ownership. Scripts were something a merchant could paste in. Functions are software. They need a repo, a deploy pipeline, versioning, and someone who can read a stack trace when a cart total comes back wrong on Black Friday. The stores that win here are the ones that treat checkout logic like the production code it always was.
What to do before the story writes itself for you
Three concrete moves:
- Audit every Script you still run. Discounts, payment customizations, shipping. List them and tag the ones tied to revenue.
- Rebuild the revenue-critical ones as Functions first, and test them against real cart shapes, not the happy path.
- Wire them into a proper deploy flow so a checkout change gets reviewed like any other code change, because now it is.
Do this while it's a planned migration and not an incident. The teams that wait will end up rebuilding the same logic in a hurry, under load, with a merchant asking why discounts stopped applying.
Shopify moved checkout customization from a Plus perk into the core developer platform. That's an opening for smaller stores and a maintenance bill for older ones. Either way, the logic that decides what your customer pays now deserves to be engineered, not pasted.
We're here to help founders and teams design and build digital products that are built to scale with you, not slow you down. If you're looking to build something, get in contact with us today!