: Staging
: Production
🪲 Fixed
Fixed an issue where the system incorrectly detected legacy vendor payouts, which could cause payout processing errors in certain scenarios.
: Staging
: Production
Fixed an issue where the system incorrectly detected legacy vendor payouts, which could cause payout processing errors in certain scenarios.
: Staging
: Production
Fixed an issue where the marketplace fulfillment setting was not properly respecting the seller's fulfilled_by_marketplace configuration in certain scenarios.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
Added the ability to sort products and product variants by inventory levels, making it easier to identify low-stock or out-of-stock items.
Added tracking for storefront editor actions, providing better insights into how marketplace operators customize their storefronts.
Introduced a new "locked" setting for product types. When enabled, this prevents modifications to attribute assignments for products and variants of that type, ensuring consistency across product catalogs.
Added a read-only indicator in plugin configuration showing whether Stripe Tax is operating in live mode, improving visibility into tax calculation settings.
Product templates can no longer be accidentally deleted if they are the last remaining template in the marketplace. This safeguard applies to both single and bulk deletion operations.
Fixed an issue where soft-deleted subcategories could still appear in category queries.
Removed character limits on attribute value names and increased the maximum slug length to 1,024 characters, allowing for more flexible attribute configurations.
Fixed an issue where plugin configuration changes were not properly persisted after mutations.
Removed deprecated page permissions that are no longer used in the platform.
: Staging
: Production
Marketplace operators and sellers can now sort products and variants by inventory. This enables products that are out of stock to appear at the end of the product or variant list. Learn more about sorting products here.
Descriptions for rich text and plain text attribute types can now be much longer. These attribute types previously had a limit of 256 characters which has been raised to 1024 characters, allowing for more detailed and complete descriptions when creating rich text or plain text attributes.
For the full list of deprecations and suggested replacements, see GraphQL API Deprecations and Removals.
: Staging
: Production
Added comprehensive shipping tax calculation support for Stripe Tax, including:
Added the ability to upload multiple product images at once with the new ProductImageBulkCreate mutation, supporting multi-file multi-part uploads with partial error handling.
Introduced ProductVariantImageBulkAssign mutation to efficiently assign images to multiple product variants at once, with partial error handling.
Added new asynchronous payout mutations (payoutCreateAsync and payoutProcess) that handle payout creation and processing in the background, improving performance for large payout operations.
Added a new saleMessage query that allows storefronts to display sale information without requiring special permissions.
Integrated PostHog analytics for tracking tenant signup journey, onboarding setup steps, and product information management events.
Enhanced packing slip PDFs with highlighted SKUs and sorted product listings for easier order fulfillment.
Signup confirmation emails are now sent immediately instead of being queued, providing faster feedback to new users.
Fixed an issue in Stripe Tax where shipping tax apportionment could fail when no sellers were involved.
Added missing discount handling logic in Stripe Tax calculations.
Fixed an issue where the fulfilled_by_marketplace field could display incorrect values.
Fixed an issue preventing filtering by plain text attributes in product searches.
Fixed an issue where updating plugin configurations would not return the updated values.
Fixed an issue where clearing a product's category would not properly update the product.
Fixed an issue where currency exchange rates could fail when OpenExchangeRates returned an unsupported currency.
Fixed an issue where certain background tasks would not respect the current tenant context.
Fixed an issue preventing the removal of supported currencies that are currently in use by the marketplace.
The following fields and mutations have been deprecated and will be removed in a future release:
Shop field (use Marketplace instead)payoutCreate mutation (use payoutCreateAsync)vendorPayoutsBulkProcess mutation (use payoutProcess): Staging
: Production
This fix enables staff members to look up and filter for plain text attributes, making it easier to manage product and variant characteristics.
Staff members can now upload multiple images at once when creating a product. Learn how to manage product images here.
For the full list of deprecations and suggested replacements, see GraphQL API Deprecations and Removals.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
This release contains internal improvements and maintenance updates.
: Staging
: Production
Added the tenant ID field to the User GraphQL type, making it easier to identify which tenant a user belongs to when working with multi-tenant marketplaces.
Added a new variable seller_order_link to the pending order email template, allowing sellers to receive a direct link to their order details.
Enhanced the Stripe Tax integration with several improvements:
Marketplace operators now have more time to set their first password when creating their account, reducing the need to request new password reset links.
Added a configuration option to designate single-tenant environments, simplifying setup for marketplaces running in dedicated instances.
Made several improvements to Stripe payment handling:
Fixed an issue where bulk deleting product types did not properly validate related data, which could cause errors when product types were still in use.
Fixed an issue where internal plugins did not properly respect the allow_sellers configuration setting.
Fixed filtering of payouts by gateway to ensure only payouts for the specified gateway are returned.
Fixed a serialization issue in the Stripe payment integration that could cause errors in certain environments.