: Staging
: Production
💎 Changed
This release contains internal improvements and maintenance updates.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
Fixed an issue where taxes were not properly calculated on offers when shipping was added before the offer was accepted.
Fixed an issue that could allow multiple marketplace orders to be created for a single seller order, ensuring proper order tracking and preventing data inconsistencies.
: Staging
: Production
Introduced the ability to decline fulfillments, allowing sellers to reject fulfillment requests when they cannot complete them. Declined quantities are tracked separately and reflected in order totals and history.
Added support for partial payments on orders, enabling customers to make multiple payments toward a single order. This includes the ability to specify payment IDs when capturing or voiding payments.
Payout statuses now update automatically after orders are fulfilled, improving accuracy and reducing manual intervention.
Added support for custom sort ordering of products within microsites, giving marketplace operators more control over product display.
Webhooks now fire for customer deletions, payout updates, and account confirmations, providing better integration capabilities.
Stock allocation and deallocation events are now tracked and can be queried, improving inventory visibility and audit capabilities.
Made several performance improvements across the platform:
Payment status for orders is now resolved from the marketplace order level, providing a more accurate view of order payment state.
Fixed an issue where product variant pricing could be calculated incorrectly when seller agreements were involved.
Fixed several issues with refund handling:
Fixed cases where orders without marketplace order data could cause errors in order queries and resolvers.
Fixed issues where product creation and updates didn't properly account for agreement commission types.
Fixed an issue where tax calculations were attempted even when taxes weren't applicable to an order.
Fixed currency handling when creating seller orders from marketplace orders in multi-currency environments.
Updated ShipStation integration to use modern order status calculation methods.
Fixed an issue where payment plugins weren't always querying the correct seller-level credentials.
Fixed the data type for Checkout.discount_type to correctly use VoucherTypeEnum instead of VoucherDiscountType.
Fixed stock recalculation issues that could occur when canceling orders.
Fixed an issue where invoice addresses weren't returned correctly.
Several legacy order mutations and fields have been deprecated in favor of new marketplace-aware alternatives. These deprecated mutations now perform no operations and will be removed in a future release.
The quantity_fulfilled field on NauticalOrderLine has been deprecated. Use the fulfillment-related fields instead.
: Staging
: Production
Added new webhooks for stock events:
STOCK_ALLOCATED: Triggered by new order stock allocation.STOCK_DEALLOCATED: Triggered by order stock fulfillment or removal/cancellation of order line items.Added support for SortOrder when querying products in a microsite.
Added the nauticalOrderRefreshTaxes mutation and object to force a recalculation of taxes on a non-finalized marketplace order, such as an order in the draft, offer, or quote stage.
Enhanced performance for faster loading times across various product catalog queries, product availability in multi-currency environments, and the orderFulfill mutation.
Various fields and mutations around payments on the seller order have been deprecated in order to build a more flexible and stable solution. Payments were, and continue to be, captured against the marketplace-level NauticalOrder, not the seller-level Order. The following components have been deprecated:
Order.paymentStatus, Order.paymentStatusDisplay, and Order.is_paid will now return values based on the underlying NauticalOrder.Order.payments and Order.actions are deprecated and will now return an empty list. After a deprecation period, these will be removed.Order.total_authorized, Order.total_captured, and Order.total_balance are deprecated and will now return 0. After a deprecation period, these will be removed.orderCapture, orderMarkAsPaid, orderRefund, and orderVoid mutations are now non-operational. These mutations are now deprecated and will be removed after the deprecation period.If you have built any custom functionality using these components, you will need to update your workflows to use the corresponding NauticalOrder instead.
Fixed an issue where apps with seller-level configurations, such as Shopify or WooCommerce, could experience issues syncing data.
Fixed an issue where the accountConfirm mutation did not trigger the CUSTOMER_UPDATED webhook.
Fixed an issue where the customerBulkDelete mutation did not trigger the CUSTOMER_DELETED webhook.
Fixed an issue where the PAYOUT_UPDATED and VENDOR_PAYOUT_UPDATED webhooks were not being triggered by edits to payouts.
Fixed an issue where cancelling a quote or offer order deleted the order instead of moving the order to the cancelled state.
Fixed an issue where multiple nauticalOrder records could be created in certain scenarios when finalizing an offer order.
Fixed an issue with the user query, where querying the checkout.discountType field returned an error.
Fixed an issue where quantityAllocated was not being decreased after cancelling an order.
Fixed an issue where the STOCK_ALLOCATED event was not created when an item was added to an order or quote from the storefront.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
Added the ability to manually trigger tax recalculation from the dashboard, giving marketplace operators more control over tax updates for orders.
Fixed an issue where orders could not be completed when the cart contained zero taxable line items, including shipping lines.
Fixed an issue in refund calculations that could return incorrect totals for sellers in certain scenarios.
Fixed an issue where updating refund lines with fixed amounts or percentages could produce incorrect results.
Fixed an issue where attempting to charge a marketplace order to a seller during refund line updates could fail.
: Staging
: Production
Added the following new size fields to the productVariant model: length, width, height, size_units.
Fixed an issue where STOCK_UPDATED events were not triggered during certain stock update scenarios.
: Staging
: Production
Added a user field to fulfillments, making it easier to track which team member processed each fulfillment.
Introduced a new "Manage Inventory" permission, allowing more granular control over who can update stock levels and manage product inventory.
Fixed an issue where refund lines could not be queried immediately after being added to an order.
Resolved a problem with the plugin system that could cause errors when loading plugins dynamically.
Fixed an issue where the order fully paid event could be triggered before the transaction was fully committed, potentially causing inconsistencies in order status.
Corrected internal data handling that could cause errors when working with related objects in certain edge cases.
Marked older refund APIs as deprecated. These will be removed in a future release. Please migrate to the newer refund API endpoints.
: Staging
: Production
We've made filtering by attributes more powerful by introducing support for AND operators.
This allows users to build detailed filters, improving the accuracy of their product or productVariant filtering, and enhancing their browsing experience.
To facilitate this this, the AttributeInput filter input has been extended with two fields:
condition: How to combine the specified attribute values, using either AND (default) or OR operators.connector: How to link multiple filter clauses, connecting the current filter clause to the previous ones with either AND (default) or OR operators.query {
products(
first: 100
filter: {
attributes: [
{
slug: "color",
values: [
"purple",
"violet",
"red"
],
condition: OR
}
{
slug: "brand",
values: ["acme"],
connector: AND
}
]
features: {
operations: {
name: "Season"
values: ["summer", "spring"]
condition: OR
}
connector: AND
}
}
) {
totalCount
edges {
node {
id
name
description
variants {
name
id
}
}
}
}
}
You can now configure the Invoicing plugin to generate invoices automatically once payment is received for an order.

Added the NauticalSecondaryOrderLine object, which represents a sub-order-line for grouped products.
Added more control over inventory allocation and stock validation handling.
The following new boolean fields are added to the MarketplaceConfigurationInput, for global settings on how your marketplace behaves:
enableStockAllocationForQuotes: When true (default), allocates inventory when a quote order is created.enableStockAllocationForOffers: When true (default), allocates inventory when an offer order is created.enableStockAllocationForDrafts: When true (default), allocates inventory when a draft order is created.validate_stock_on_order_payment_creation: When true, validates stock quantity to fulfill the order when a payment is created. Defaults to false.Added a new MANAGE_FULFILLMENT permission to the PermissionEnum. Users with this permission can manage order fulfillments, including reading, creating, updating, and cancelling, along with handling tracking information and shipping labels.
Without this permission, users are limited to reading fulfillment information for orders they have access to, but cannot perform any other fulfillment actions.
The postal_code and phone_number fields have been added to the Typeform payload for seller onboarding.
Fixed an issue where product images imported from Shopify were not being rendered properly.
Fixed an issue with applying an attribute filter to the productVariants query, where duplicate results could be returned.
Fixed an issue with the pluginUpdate mutation, where a seller user with manage plugins permission could update any plugin. Now seller admins can only change plugin configurations owned by their seller.
: Staging
: Production
Added the user field to the fulfillment model, which can be queried to view which user performed a fulfillment.
Added the MANAGE_INVENTORY permission, providing more control over which staff members can manage inventory-related fields (sku, track_inventory, stocks).
Fixed an issue where the products query was not returning complete information about grouped products in certain circumstances.
Fixed an issue where mapping the Tax ID (identification) field for seller onboarding with Typeform could cause the SELLER_CREATE webhook jobs to become stuck.
When the marketplace logo is unavailable, the upper left header of customer and proforma invoices now displays the marketplace name and contact information.