Changelog
Follow up on the latest improvements andΒ updates.
RSS
You can now write JavaScript that runs
inside Shopify checkout
β synchronously, on every order, enforced by Shopify itself. Where scripts react to events after they happen, Functions let you set rules that apply before
the order is placed.Three things you can build:
- π Cart & Checkout Validationβ block checkout with custom error messages: order limits, address rules, customer restrictions, or any other condition you can express in code.
- π Delivery Customizationβ hide, rename or reorder the delivery options shown at checkout.
- π³ Payment Customizationβ hide, rename or reorder payment methods.
How it works
Head to the new
Functions Console
in the app and click Add new
. Pick a family β it decides which checkout data your code receives (cart, customer, addresses, tags, selling plans, time and more) β and write a plain JavaScript function body. The editor gives you full autocomplete for your input data, adjustable variables
so values like thresholds can be changed without touching code, and built-in version history
β every save is committed, and you can view diffs and restore any previous version.A few things worth knowing:
- No credits usedβ functions run on Shopify's infrastructure, so they don't consume DataJet credits. They're included on the Advanced plan and higher, and free on development stores.
- Fail-open by designβ if your code ever throws, checkout continues unaffected. Broken code never blocks your buyers.
- Merchant-friendly configurationβ on the dashboard, each function exposes a simple form for adjusting its variables, so anyone on the team can tweak a limit without opening the editor.
- Build with AIβ the AI Assistant can create and update functions for you; just describe the rule you need.
Not sure where to start? We've collected ready-to-use examples β order limits, PO Box blocking, B2B payment rules, free-shipping perks for loyal customers, and more.
The number of simultaneously active functions depends on your plan (Advanced: 1, Pro: 5, DataJet: 25). See the Functions documentation for full details.
Managing many open tasks just got easier.
Right-click a tab
for quick actions:- Closeβ close the tab (with a heads-up if it has unsaved changes)
- Close Othersβ keep just this tab
- Close to the Rightβ tidy up everything after it
- Close Savedβ close all tabs without unsaved changes
- Close Allβ start fresh
Drag & drop to reorder
β grab any tab and drop it where you want it. Your tab order is remembered, so it's right where you left it next time you open the Developer Console.Closed a tab by accident?
β₯β§T
(Alt+Shift+T) brings it back.The Developer Console just got a lot faster to move around in. Press
ββ₯K
(Ctrl+Alt+K) β or ?
β anytime to see the full shortcut list right in the editor.Find things instantly
- βP / Ctrl+Pβ Quick-open: start typing a task name and jump straight to it, no sidebar scrolling needed
- ββ§F / Ctrl+Shift+Fβ Search across the code ofallyour tasks at once. Results show the matching line, and picking one opens the task and jumps right to it β unsaved changes are searched too
Work across tabs
- ββ₯β / ββ₯β(Ctrl+Alt+β/β) β Switch to the previous / next editor tab
- ββ₯W(Ctrl+Alt+W) β Close the current tab (you'll be asked before unsaved changes are discarded)
- β₯β§T(Alt+Shift+T) β Reopen the tab you just closed
- ββ§S / Ctrl+Shift+Sβ Save all tabs with unsaved changes in one go
And more
- ββ§H / Ctrl+Shift+Hβ Open the version history of the current task
- Tabs now show a dot indicatorwhen they have unsaved changes β and those changes are kept safe when you switch tabs, open the variables panels, or navigate to another page and back
- The old favorites still work: βSsave,βRrun,βB / βJ / β\to toggle the sidebar, logs, or both
new
Export logs
You can now export a script's full log history and have it delivered straight to your inbox β no more scrolling through the log viewer or copying entries by hand.
Open the
action menu
next to any script and choose Export logs
, enter the email address to send to, and we'll do the rest in the background.Switching between scripts in the editor now feels instant and remembers exactly where you left off.
- Folds and position are preservedβ collapsed code regions (query definitions, JSON tags,ifblocks, etc.), scroll position, and cursor location are kept per script. Jump to another tab and back and your view is exactly as you left it.
- Instant tab switchingβ scripts are already loaded in memory, so we removed the old loading skeleton. Tabs now swap the moment you click, with no flicker or delay.
- No cross-tab bleedβ in-editor changes stay tied to their own script, so opening variable panels or switching tabs never carries content into the wrong file.
Editor tabs
- Open multiple scripts at once and switch between them with tabs above the editor. Click the Γ to close.
- Tabs persist per user β your last open tabs and active tab are restored when you come back.
Collapsible layout
- Side panels can be collapsed via thin clickable rails between columns; collapse state persists per user.
- Editor now takes whatever horizontal space is left, so columns no longer get squeezed at narrow viewports.
- Smooth animation on collapse/expand.
Keyboard shortcuts
- Cmd/Ctrl + Bβ toggle left sidebar
- Cmd/Ctrl + Jβ toggle right logs panel
- Cmd/Ctrl + \β toggle both (focus mode)
You can now define repeatable sections inside variables, making it easier to manage structured, multi-item content (lists of features, FAQ items, testimonials, etc.) directly from DataJet.
- Define a section once, reuse it across as many entries as you need.
- Edit content in one place; every storefront output updates together.
New: Shipping rate calculators (theme app extension)
You can now add a theme app extension block where customers can fill in delivery address details and instantly see the shipping cost, calculated from the
shipping_rate
task configured in DataJet.- Drop the block into any theme section from the theme editor.
- Customers enter their address and receive a live shipping quote.
- Rates come straight from your DataJet shipping_ratetask β no extra setup on the storefront side.
Get notified by email when your user logs are paused due to exceeding the 24-hour limit - and again when they resume. Opt in from Settings > Notifications to stay informed without having to check manually.
You can now upload files (CSV, JSON, XML, etc.) directly in the AI chat. The assistant will automatically create a task to parse and process the file - making it easy to import or update any data in your store.
Load More
β