: Staging
: Production
✨ New
Digital entitlements system
Introduced a comprehensive entitlements system for digital products:
- Entitlements are automatically granted when customers purchase digital products.
- Entitlements are revoked when orders are refunded, preventing unauthorized access to digital content.
- Digital downloads are now gated behind active entitlements, ensuring only paying customers can access content.
- Added API endpoints to query entitlements and redemption events.
- Webhook events now fire when entitlements are granted, redeemed, or revoked.
💎 Changed
Performance improvements
Made extensive performance improvements throughout the platform:
- Order queries now load customer addresses more efficiently.
- Checkout operations complete faster with optimized price calculations.
- Menu rendering with nested items is significantly faster.
- Viewing journal entries and ledger data loads more quickly.
- Permission group lookups are now batched and cached.
- Payout event queries execute with fewer database calls.
- Refund pages load substantially faster with optimized data loading.
- Product variant and attribute queries are more efficient across the platform.
- Bulk mutation operations (such as updating multiple products or variants) complete faster.
- Fulfillment operations process orders more quickly.
- The marketplace seller lookup is now cached per tenant for improved performance.
🪲 Fixed
Fixed an issue where updating orders could inadvertently modify fields that weren't intended to be changed.
Fixed an issue where updating sellers or products could inadvertently modify fields that weren't intended to be changed.
Fixed an issue where certain mutations could inadvertently modify fields that weren't intended to be changed.
Fixed an issue where automatic timestamp fields weren't being updated correctly during certain save operations.
Fixed a critical issue that prevented refund approvals and Shopify order cancellations from processing.
Fixed an issue where querying multiple product variants caused unnecessary database queries.
Fixed an issue where seller checklists were not loading correctly, showing factory defaults instead of stored configurations.
Fixed an issue where a failed payout disbursement could prevent other disbursements in the same batch from being recorded.
Fixed an issue where marketplace signup was incorrectly restricted based on Stripe payout availability instead of US sanctions compliance.
Updated transactional email sender configuration to use Traide branding by default.
Migrated existing tenant email senders away from legacy nauticalcommerce branding.
Fixed an issue where errors in related data could cause null values in API responses instead of proper error messages.