Change Log

What's New in Function Studio

Stay up to date with the latest features, improvements, and bug fixes.

Recent Updates

Subscribe via RSS

v0.10.59

Latest

(2026-06-25)

  • New Free Gift discount block: automatically configure complex GWP discount logic
  • Added an "Is Order Editable" condition for promotions
  • Cart tester now correctly accounts for shipping discounts and shipping option costs

v0.10.58

Latest

(2026-06-21)

  • Line groups can now build on a parent group, so you can filter items in multiple steps.
  • You can now set a limit on the number of items in a line group.
  • You can now control the order of items within a line group.

(2026-06-19)

  • Initial sidekick integration adds Shopify Sidekick support.
  • Fixed an issue where discount codes could not be duplicated.

(2026-06-17)

  • Bug fixes and improvements.

(2026-06-14)

  • Advanced expression editor: fully redesigned with improved usability

v0.10.52

Latest

(2026-06-12)

  • Fixed support for post-discount subtotals in advanced expressions
  • Fixed tracing for advanced expressions

(2026-06-11)

  • You can now purchase additional bulk discount codes when you need more
  • Product discounts can now apply to multiple line groups at once without issues with quantity limits

(2026-06-09)

  • Added support for using single-line text metafields in line group conditions.
  • Fixed the Delete button at the bottom of forms so it now works.

(2026-06-05)

  • Fixed a random freeze when clicking "Apply changes" on large or complex flows.
  • Improvements around how cart tester loads product data.

(2026-06-03)

  • Cart total override: implemented support for cart total override in Promotions.
  • Fixed problems with timeline and restore.
  • All timeline functions are now available on the Advanced plan.

(2026-06-02)

  • New global Timeline displays changes across all functions. Added flow preview for Restore on Plus plans.
  • Fixed a bug where the discounts generator ignored quantity settings when they were turned off.
  • Updated and improved translations.

(2026-05-30)

  • Functions tabs now switch instantly.
  • Improved the onboarding experience for new users.
  • Fixed an issue with discount code rejection inputs.
  • Fixed banner display and styling issues.
  • Fixed a text size display problem.

(2026-05-27)

  • Subscription settings are now available for code-based discounts
  • Streamlined subscription settings for discounts
  • Shipping discount option is now hidden in combinations when the flow produces a shipping discount (as Shopify doesn't allow shipping discounts to combine)

(2026-05-26)

  • Faster app performance when working with complex functions
  • Function template selector now loads on demand for quicker page loads
  • Fixed an issue where the top bar would not hide when expected

(2026-05-25)

  • Added metafield support for promotions
  • Added metafield support for checkout promotions
  • Improved advanced condition handling in promotions
  • Replaced selling plan input with an easier-to-use dropdown
  • Subscription item conditions now display as Yes/No in previews
  • Improved form error handling
  • Faster subscription loading
  • Fixed field-level validation errors not displaying correctly
  • Fixed bundling not continuing after the first cart lines failed to bundle
  • Fixed duplicate discounts being created on Shopify Plus stores

(2026-05-22)

  • Added a separate checkout error message field for promotion banners
  • Fixed discount optimization being applied when grouping on tiers
  • Fixed discount generation for promotions with multiple gift-with-purchase products
  • Added support for state/province in the default delivery customization
  • Discount codes pasted into conditions are now automatically uppercased

(2026-05-20)

  • Promotions: customers can choose specific products for the "auto add to cart" feature

(2026-05-19)

  • Added plan selector for development stores

(2026-05-16)

  • Added selling plan support to discount delivery focused function input
  • Fixed an issue where unrelated fields appeared in subconditions for delivery groups
  • Cart transform expand actions now support multi-currency pricing in component JSON

(2026-05-15)

  • Promotions can now use cart attributes in conditions
  • Improved handling of different cart property types in promotion conditions
  • Fixed the "Starts With" operator in promotion conditions
  • A clear permission error is now shown when markets can't be loaded

(2026-05-11)

  • Added a new payment function input with cart and metafields support
  • Added discount codes sync into a metafield
  • Fixed handling of JSON arrays stored in metafields

(2026-05-10)

  • Improved handling of complex nested conditions in your function logic
  • Added access to specific products in checkout validation customer metafield inputs
  • Added support for discount tags and stacking line item discounts

(2026-05-08)

  • Advanced plan now supports up to 100,000 discount codes per batch
  • Fixed an issue with dislaying string metafields in the selector
  • Added country selector UI component for cart metafields
  • Added two new templates for order discounts based on delivery country and US states

(2026-05-06)

  • Improved how default value types are handled
  • Added a new customer metafield input for validation functions
  • Added "includes only" condition (useful for checking if only specific discount codes are applied)

(2026-05-05)

  • Shipping discount values can now be linked to other fields
  • Fixed an issue where validation blocks weren't working correctly in checkout

(2026-05-02)

  • Added ability to duplicate functions from both the list and edit views
  • Linked fields now show available variables in numerical fields too

(2026-05-02)

  • Promotions: Added support for displaying banners in checkout based on conditions

(2026-04-30)

  • Payment customization: modify block now supports partial and regular expression matching for greater flexibility
  • Improved experience for configuring modified payment methods
  • Cart transforms: added currency conversion support
  • New calculated condition: group item subtotal sums prices of items within a group
  • New customer-focused discount function input with email access
  • Added list type matching for line item properties
  • Crisp chat support is now available on Advanced and Plus plans
  • Checkout extension: shipping address can now be synced into a metafield
  • Discount code minimum length reduced to 1 character
  • Added address line 2 to delivery input for validations
  • New cart.subtotal_post_discount condition field for use after discounts are applied
  • Added customer and company fields to the delivery-focused input

(2026-04-25)

  • Cart transforms: bundles can now be defined using variant references
  • Cart transforms: merge operation now supports target variant mode
  • Currency conversion is now enabled for all inputs that previously lacked it

(2026-04-24)

  • Fixed line item properties mapping in delivery customization and default discount inputs
  • Fixed cart total calculation in cart tester
  • Added notification when a node has multiple incoming connections

(2026-04-22)

  • Promotions: Added support for displaying product discounts on PDP and collection pages
  • Promotions: Added compare-at price support for product discount promotions
  • Promotions: Added base pricing field option for product discount promotions
  • Promotions: Fixed product discount calculations to correctly handle line item groups on the storefront
  • Promotions: Fixed discount values to use original prices, ensuring storefront matches expected function behavior
  • Updated default styling to match the Horizon theme

(2026-04-18)

  • Added missing input options when manually selecting function inputs
  • Fixed default values for metafields and cart attributes/properties in the cart tester
  • Fixed validation issues with linked fields in discount blocks

(2026-04-16)

  • Added product collections to discount conditions based on line properties
  • Added product collections support for payment customization rules
  • Added support for overriding function inputs manually
  • Fixed an issue where function output was being cut off in cart tester
  • Improved automatic detection of inputs when importing from JSON

(2026-04-14)

  • Added usage limits support for bulk discount codes
  • Added character limit validation for rejection error messages

(2026-04-13)

  • Auto-remove block now properly supports multiple product variants
  • Added linked discounts section to Promotions
  • Fixed default value persistence and line property selection in aggregation blocks
  • Checkout block now supports aggregation on line properties

(2026-04-13)

  • Added bulk discount code generation with CSV export for Klaviyo
  • Real-time progress updates when generating bulk discount codes
  • Fixed an issue where bulk code generation could fail on large batches

(2026-04-10)

  • Fixed rounding errors that could cause incorrect amounts on fixed price discounts
  • Subscription items can now be included in discount groups
  • Bundle merge operations now support dynamic bundles
  • You can now mark the main item in a bundle
  • Payment methods can now be renamed without changing their order

(2026-04-08)

  • Added support for grouping items by custom fields in the Tiers block
  • Improved preview display for the Tiers block
  • Added support for item groups and aggregation blocks in Promotions
  • Fixed default values not saving correctly for group blocks and advanced expressions

(2026-04-04)

  • Fixed issues with the cart tester
  • Added support for default values in metafields, cart properties, and attributes

(2026-04-04)

  • Improved function execution performance for faster checkout processing
  • Updated to the latest Shopify Functions libraries

(2026-04-02)

  • Added support for default values in the Set Variable block

(2026-04-02)

  • Added support for fixed amount discounts in bundle discount blocks
  • Cart tester now supports multiple line properties for more accurate testing
  • Fixed an issue with input handle offset in the flow editor

(2026-04-02)

  • Added new discount input with access to 3 cart line attributes
  • Added warning banner when debug mode is enabled
  • POS discounts: fixed function input automatic selection bug

(2026-03-31)

  • Improved support for JSON cart attributes in advanced expressions
  • Improved cart attributes preview
  • POS discounts: added support for reject-codes in discount codes input
  • Fixed order discount exclusion logic

(2026-03-30)

  • Tiered discounts: fixed additional currency conversion issue

(2026-03-30)

  • Added support for JSON cart attributes - you can now reference elements from JSON attributes in conditions and discounts by keys.
  • POS discounts: added new input with access to discount codes
  • Tiered discounts: fixed currency conversion issue

(2026-03-28)

  • Promotions: added theme integration code setting for promotions runtime (for app embed block)
  • Promotions: improvements to Gift With Purchase (GWP)
  • Cart tester: fixed localization issue

(2026-03-27)

  • Conditions: added simplified regular expression matching for string conditions (validation functions, delivery customizations, payment customizations)
  • Discounts: improved function input auto-selection
  • Promotions: improved discount handling
  • Bundle discounts: fixed currency conversion handling
  • Conditions: fixed handling of nested conditions with empty branches

(2026-03-26)

  • Cart tester: fixed support for multiple variant metafields

(2026-03-25)

  • Discounts: added new discount codes delivery input for shipping-based discount codes
  • Shipping discounts: fixed visibility on unsupported input types

(2026-03-21)

  • Payment customizations: added support for cart attributes and selling plan conditions
  • Discounts: fixed base price calculation when used in non-default function inputs
  • Import: redesigned as a modal for a smoother experience

(2026-03-18)

  • Checkout promotions: added support for checkout block evaluator with auto-add/remove from cart
  • Promotions: added new promotion templates
  • POS discounts: improved input handling with cart attribute support

(2026-03-17)

  • Variable selector: redesigned with improved layout and backdrop overlay
  • Cart properties and controls: organized into collapsible sections for cleaner UI
  • Promotions: added support for markets in promotions and conditions
  • Cart transforms: fixed input handling issues
  • Metafields: fixed availability check for plan-specific features
  • AI chat: improved connection handling and message history management
  • Various bug fixes and UI improvements

(2026-03-11)

  • Discount strategies: improved handling of flows with multiple strategies
  • AI assistant: multiple improvements for conditions handling
  • Function management: improved modal and creation experience
  • Conditions preview: fixed loading state display
  • Various bug fixes and stability improvements

(2026-03-09)

  • Conditions: added filter for excluding items with compare-at price
  • Added calculated field for compare-at price exclusion in group filtering

(2026-03-09)

  • Validation functions: added more templates
  • AI conditions builder: completely reworked for better accuracy
  • AI assistant: added troubleshooter tool with validation functions support
  • App billing: implemented app charges

(2026-03-03)

  • AI assistant: major improvements, refactored agent architecture for scalability
  • Nested items: implemented support for nested item matching
  • Parent relationship: field access and relationship configuration
  • Subscription items: added matching for subscription/non-subscription items with template

(2026-02-27)

  • Upsell buttons: converted to checkbox behavior with cart request injection
  • Bundle limits: added support for limiting bundle quantities
  • Fixed layout for editable options list and auto-fit issues
  • Color theme and performance improvements

(2026-02-25)

  • Tiered discounts: added new tier modes

(2026-02-24)

  • Payment customization: added input with metafield access
  • Payment customization: added delivery-focused extension
  • Cart expand: various updates

(2026-02-23)

  • Variable selector: added delete button when no variable is selected
  • Cart transform expand: added image and title override support via JSON
  • Volume discounts: improved handle auto-selection
  • Bundle items: auto-priority assignment and UX improvements
  • Cart transforms: bundle price override via JSON

(2026-02-21)

  • Major size optimizations and refactoring
  • Internal performance improvements

(2026-02-20)

  • Order discount fixes
  • Fixed incorrect function input selection

(2026-02-19)

  • Upsell buttons: support for target regexp extraction
  • POS: fixed currency conversion instruction for POS inputs
  • Infrastructure upgrades
  • [Promotions] Added basic support for HTML template settings
  • Fixed excluded groups support for order discounts

(2026-02-17)

  • Automatic function handle selection
  • Fixes in payment and delivery function management and creation
  • UX improvements for Activate/Deactivate discount

(2026-02-15)

  • Implemented copy/paste and group duplication
  • Execution tracing: display aggregate values (sum/count/max)
  • Display resolved variable values in condition trace banners
  • Fixed branch code generation and decimal value issues for discounts

(2026-02-13)

  • Fixed support for multiple groups in product discounts
  • Fixed auto-select issue in Tiers block

(2026-02-12)

  • Promotions enabled for all users
  • Added quantity limit logic for fixed price discounts
  • Fixed payment and delivery group selector
  • Implemented basic execution tracing

(2026-02-11)

  • Fixed aggregations in validation functions
  • [Promotions] Upsell buttons: added regexp matching support
  • [Promotions] Implemented discount flow management for upsell buttons
  • [Promotions] Implemented import/export

(2026-02-10)

  • Added div/mul operators to advanced expressions
  • Added discount codes support in promotions
  • [Promotions] Implemented Gift With Purchase (GWP) discount logic

(2026-02-07)

  • Added custom ProgressBar component
  • Removed legacy Collapsible and Page components
  • Added productType to metafields cart-focused input

(2026-02-06)

  • Fixed bundle sorting logic for correct cheaper/expensive product pairing

(2026-02-05)

  • Added custom combobox and spinner components
  • Added customer-focused input for payment customizations
  • Various component migrations and UI improvements

(2026-02-03)

  • Added customer segments support in promotions
  • Performance improvements
  • Fixed customer eligibility options logic for promotions

(2026-02-03)

  • Fixed bundle logic edge cases with new test coverage
  • Exposed language in cart and customer-focused validation inputs

(2026-02-02)

  • Migration to Polaris web components
  • Fixed time picker and discount code generation
  • Increased promotions table limit to 50

(2026-01-31)

  • Added dynamic block extension
  • Added predefined cart options for extension-set metafields
  • Fixed GWP threshold logic
  • Fixed bundle discounts preview in cart tester

(2026-01-29)

  • Added delivery-focused function input
  • Implemented apply-to-cheapest delivery option
  • Added function template for free cheapest shipping method
  • Added 'Starts with any' string operator

(2026-01-28)

  • [Promotions] Upsell button implementation with design panel
  • [Promotions] Upsell translations and mapping fixes
  • Exposed cart attributes in default validation input

(2026-01-27)

  • Migrated to Shopify Polaris web components (Button, BlockStack, InlineStack)
  • Cart tester fixes

(2026-01-26)

  • Fixed rounding issue with bundles

(2026-01-24)

  • Added 'Starts with any' operator for collections

(2026-01-23)

  • Added localization and translations support
  • Fixed codes input

(2026-01-22)

  • Cart transform: support for discounting whole bundle with linked percentage value
  • Expand operation updates
  • Fixed compare-at-price condition

(2026-01-15)

  • Fixed product metafields in cart tester
  • Emit cart:updated event when gift is added to cart
  • Metafield UX improvements

(2026-01-14)

  • [Promotions] Variant data enrichment based on Admin API
  • Optimistic add-to-cart and auto-add/remove cart item improvements
  • Added support for calculated expressions
  • Fixed line item quantity field detection
  • Improved condition preview for product tags

(2026-01-07)

  • Exposed cart total for validation functions
  • Add-to-cart frontend fixes for older theme support

(2026-01-06)

  • Fixed support for calculated fields in advanced expressions

(2026-01-05)

  • Cart transform: skip prices on dynamic components when not set

(2026-01-01)

  • Added reject codes template
  • Fixed boolean fields preview
  • Added calculated 'is subscription item' field
  • Auto-focus field search when displayed

(2025-12-29)

  • Support for rejecting discount codes
  • Performance improvements

(2025-12-22)

  • Auto-add and auto-remove cart items based on conditions

(2025-12-17)

  • Metafields can now be used as discount values

(2025-12-15)

  • Improved customer eligibility options UX

(2025-12-12)

  • Customer segments integration
  • Cart tester improvements

(2025-12-09)

  • Payment terms improvements
  • Performance optimizations

(2025-12-04)

  • Fixed aggregation calculations

(2025-12-04)

  • Performance improvements
  • Added support for JSON subfields
  • Shop metafields can now be used as source for discount values

(2025-11-26)

  • Added support for payment terms and order review

(2025-11-24)

  • Performance optimizations (LCP/CLS improvements)

(2025-11-22)

  • Added support for linking discount quantity limit to variables
  • Added line-based grouping for tiered discounts
  • Fixed issue with no-match branch in volume discounts
  • Fixed codegen issue with complex branches

(2025-11-20)

  • Added support for quantity per line

(2025-11-17)

  • Added support for linking value fields

(2025-11-16)

  • Fixed redirect issue after creating validation function
  • Fixed issue with node duplication

(2025-11-16)

  • Exposed line item attributes in validation functions
  • Added support for calculated group quantity

(2025-11-14)

  • Added price mapping support for cart transforms
  • Added generic metafield selector
  • Added hide payment block and payment group definitions
  • Exposed market data to payment methods

(2025-11-12)

  • Fixed sorting order for cheapest component selection

(2025-11-11)

  • Fixed quantity limit logic
  • Fixed tiered discount branches to use calculated tiers logic

(2025-11-09)

  • Added support for new base discount price logic
  • Added max() aggregation support
  • Fixed form error handling
  • Fixed issue with boolean attributes

(2025-11-07)

  • Added groups caching for improved performance

(2025-11-07)

  • Fixed issue with Buy X Get Y template
  • Added access to cart attributes in cart-focused input

(2025-11-05)

  • Moved functions into separate page for better organization

(2025-11-04)

  • Added set-variable support for dynamic discount values
  • Fixed bundle ordering and sorting issues

(2025-11-01)

  • Added support for unlimited line items in bundle components
  • Added setting for enabling app embed

(2025-10-30)

  • Added product/collection realtime data

(2025-10-29)

  • Added support for distributed discounts
  • Fixed issue with company metafield

(2025-10-23)

  • Count Block: Added support for counting unique products and variants
  • Metafields: Added shop metafield support and improved metafield display for proper entities
  • Advanced Features: Added scope selection for advanced expressions and metafield index selector

(2025-10-21)

  • Metafields: Enhanced date/time metafield handling
  • Discounts: Fixed issue with order discount type switching

(2025-10-21)

  • Discounts: Improvements to discount application logic

(2025-10-21)

  • Currency: Fixed issues with currency conversion in conditions

(2025-10-20)

  • UX Improvements: Enhanced error handling and display
  • Metafields: Added support for multiple metafield fields and variant-focused metafield discounts

(2025-10-17)

  • UX: Completely reworked user experience for creating and editing functions
  • Cart Transform: Added empty state for cart transform with updated icons

(2025-10-17)

  • Delivery: Added delivery option cost field