Skip to main content

Changelog

Traide Changelog

We regularly update our product and API while providing detailed notes on each release. We first release to staging, then to production about a week later. Learn more about our release process.

: Staging

: Production

✨ New

Seller mgmt

Default seller assignment for all users​

Every user now automatically receives a default seller assignment, ensuring consistent seller-scoping across the platform and simplifying multi-seller management workflows.

Seller mgmt

View all seller associations per user​

Staff users can now view all sellers a user belongs to via the User.sellerusers field, providing better visibility into multi-seller relationships.

Seller mgmt

Seller-scoped order and fulfillment access​

Orders and fulfillments are now automatically scoped to all sellers a staff user belongs to, ensuring appropriate access control across multi-seller environments.

Seller mgmt

Required seller assignment for staff users​

Staff users are now required to have at least one seller assignment, and all seller-scoped views are validated to enforce proper access control and data isolation.

🪲 Fixed

Seller mgmt

Fixed an issue where the staffUsers query would return an error when the requesting user belonged to multiple sellers.

Seller mgmt

Fixed an issue where sellerUserMappingCreate would add a new seller mapping instead of replacing an existing one, which could lead to duplicate seller assignments.

🪲 Fixed

Shop

Fixed an issue where custom domains were only displayed when in the PROVISIONED status, instead of being visible across all active states.

: Staging

: Production

🪲 Fixed

Payments

Fixed an issue where payment gateway configuration was not properly restored when querying available payment gateways on a shop, which could result in incomplete gateway information.

Integrations

Fixed a race condition where webhook events could be dispatched to background workers before the related database changes were committed, potentially causing inconsistent data in webhook payloads.

: Staging

: Production

✨ New

Products

Filter products by fulfillment type​

Added the ability to filter products and product variants by fulfillment kind, making it easier to search for items based on how they're shipped or delivered.

🪲 Fixed

Payments

Fixed a race condition where payment webhooks from Stripe could arrive before the payment record was fully saved to the database, preventing proper payment processing in certain scenarios.

: Staging

: Production

✨ New

Products

Product warnings and seller agreement enforcement​

Added real-time warnings when sellers have not accepted their marketplace agreement, helping marketplace operators identify and resolve compliance issues before products go live. Product and variant warnings for missing required attributes are now computed on-demand rather than cached, ensuring warnings always reflect the current state of your catalog.

Entitlements

Digital entitlements system​

Introduced a comprehensive digital entitlements system supporting two primary use cases:

License key management:

  • Create and manage license key pools with automatic key generation
  • Reserve keys during checkout with configurable time-to-live
  • Support for per-unit entitlements tied to individual order line items
  • Automatic key reveal upon successful payment
  • Built-in key verification endpoints for validation

Event ticketing:

  • Create capacity pools with seat hold management
  • Generate unique ticket credentials for attendees
  • Support for attendee profile management and updates
  • Ticket scanning and verification
  • Transfer tickets by rotating credentials
  • Track capacity and availability in real-time

Guest entitlements are automatically claimed when users verify their email address, ensuring seamless access to digital products.

🪲 Fixed

Payouts

Made payout creation task redelivery-safe, preventing duplicate payouts when tasks are retried. Also adjusted timeout thresholds to accommodate longer build processes.

Products

Fixed several product management issues:

  • Products can now be safely saved even when their associated seller has been deleted
  • Required attribute warnings are properly removed when attribute requirements are relaxed
  • Category and default variant requirement warnings are now computed correctly
  • Seller references are now properly maintained across product variants and orders
Checkout

Fixed critical checkout issues:

  • Payment records are now preserved when checkout completion fails after the payment gateway has successfully charged the card, preventing lost transaction records
  • Retry attempts after a successful payment capture no longer charge the card again
  • Universal checkout portal now properly creates orders through the standard checkout engine
Seller mgmt

Fixed seller agreement handling to correctly identify the latest effective agreement rather than accepting any historical agreement.

Attributes

Fixed an issue where plain text and rich text attribute values could be incorrectly shared across multiple products, ensuring each product maintains its own independent attribute data.

: Staging

: Production

🪲 Fixed

Payouts

Fixed an issue where a payout stuck in the CREATING state could prevent all subsequent payouts from being processed.

Orders

Fixed an issue where product names containing a percent sign (%) would cause fulfillment errors to fail unexpectedly.

API

Fixed an issue where certain background tasks could fail when retried due to missing required arguments.

Emails

Fixed an issue where filtering email logs by the account_added_to_seller event type would not return any results.

: Staging

: Production

🪲 Fixed

Emails

Fixed issues with email template management that could cause templates to be missing or incorrectly configured in multi-tenant environments.

: Staging

: Production

💎 Changed

Performance

Performance improvements​

Improved health check endpoint performance, reducing overhead on system monitoring.

🪲 Fixed

API

Fixed an issue where the health check endpoint could become unresponsive during worker recycling, ensuring more reliable monitoring.

API

Fixed an issue where health check optimizations were not being applied correctly in certain deployment configurations.

Integrations

Fixed an issue where soft-deleting products through integrations could affect multiple records unintentionally.

Products

Fixed an issue where updating product types could fail when checking variant availability.

Products

Fixed an issue where replacing product images could cause data inconsistencies in certain scenarios.

Payments

Fixed issues with payment authorization and capture flows in the Universal Commerce Platform integration.

Payouts

Fixed an issue where payout dispatch failures could result in inconsistent status updates.

API

Fixed an issue where timestamp fields were not being updated correctly during certain data operations.

Emails

Fixed an issue where account holders were not being notified when added to a seller, and improved error tracking for failed email deliveries.

: Staging

: Production

💎 Changed

Performance

Performance improvements​

Improved API response times by optimizing GraphQL query execution monitoring and error handling.

🪲 Fixed

API

Fixed an issue where unresponsive API workers could hang without proper diagnostics, making it difficult to troubleshoot performance issues.

: Staging

: Production

💎 Changed

Performance

Performance improvements​

Improved API startup time by optimizing how plugins are loaded during server initialization.

🪲 Fixed

Products

Fixed an issue where setting tax codes on products could prevent bulk product creation from properly updating existing products when using External IDs.

: Staging

: Production

✨ New

Products

Bulk product approval status updates​

Added the ability to update approval status for multiple products at once, making it easier to manage large product catalogs.

Integrations

Algolia search integration​

Introduced Algolia as a search provider, offering enhanced search capabilities with secured API keys and operator maintenance tools. Search configuration is now available through the shop.searchConfiguration field.

Orders

Added digitalContentUrlRotate mutation to re-issue download links for digital products, providing better control over digital content delivery.

API

Enhanced relay node security​

Implemented a deny-by-default relay node entrypoint, improving security for GraphQL node resolution.

💎 Changed

Performance

Performance improvements​

Made several performance improvements across the platform:

  • Seller and customer connection queries are now significantly faster.
  • Checkout calculations are more efficient, running once per request instead of multiple times.
  • Navigation menus load much faster by optimizing menu item link queries.
  • Order search is now more responsive with improved query routing and indexing.
  • Product updates are faster when working with attributes and metadata.

🪲 Fixed

Checkout

Fixed an issue where discount calculations could produce inconsistent results in certain scenarios.

API

Fixed an issue where line-level money fields weren't respecting the currency type specified in request headers.

API

Improved shipping method queries to be more efficient when retrieving checkout and marketplace shipping options.

Payouts

Fixed an issue where disbursements that were sent but never recorded could be incorrectly re-billed.

Payouts

Fixed an issue where definitive gateway rejections could leave sellers in a stranded state.

Payouts

Enhanced payout reliability by ensuring PayPal and Stripe disbursements have the same durability markers as Trolley.

Products

Fixed an issue where inventory decreases weren't properly handling backorders in certain fulfillment scenarios.

API

Fixed an issue where navigation menu links weren't respecting visibility permissions for pages, policies, and products.

Orders

Fixed an issue where digital content delivery credentials weren't properly linked to marketplace orders.

API

Fixed several issues with audit event queries, including tenant scoping and relay node resolution.

Was this page helpful?