Skip to main content

API v4.19.0

: Staging

: Production

✨ New

Customer mgmt

Session management with refresh token rotation​

Implemented refresh token rotation for the tokenRefresh mutation. Active user sessions now automatically extend their validity when used, providing a smoother and more secure authentication experience.

Products

Metadata support for bulk product operations​

Added the ability to set metadata and privateMetadata when using productBulkCreate and productVariantBulkCreate, giving you more flexibility to store custom data during bulk operations.

Products

Enhanced warning reporting for bulk uploads​

Product warnings are now reported with their corresponding row index in productBulkCreate, making it easier to identify and fix issues in large imports.

API

Request queue monitoring​

Added logging for each worker's request queue, improving visibility into server performance and helping identify potential bottlenecks.

💎 Changed

Performance

Performance improvements​

Made several performance improvements across the platform:

  • Bulk product uploads are significantly faster by eliminating redundant attribute value lookups.
  • Re-uploading existing products no longer reads seller, type, and rate data for every row.
  • Product warning checks now read a row's attributes only once during bulk operations.
  • Attribute saves are more efficient by reading assignments in a single optimized query.
  • Bulk product deletions now announce changes in batches, reducing overhead.
  • Collection events are serialized in batches, including owner data.
  • Plugin payloads for bulk mutations are now serialized in a single batch operation.

🪲 Fixed

Emails

Email and invoice logos now correctly use the tenant's theme settings instead of falling back to defaults.

Customer mgmt

Fixed several issues with app principal authentication:

  • The staffCreate mutation now correctly recognizes when an app is making the request.
  • Account mutations now properly identify app principals across all operations.
  • Customer events now correctly record when a staff change was made by an app.
Attributes

Fixed multiple issues with attribute handling:

  • Attribute value ownership is now determined per attribute and slug, preventing conflicts.
  • Numeric attributes with no usable value no longer store 0.00 as a default.
  • Product attribute rows are now properly deleted when the product is removed.
  • Legacy numeric values without decimal points are automatically corrected.
Products

Fixed numerous issues with product mutations:

  • The productVariantBulkCreate mutation now correctly applies attributes and dimensions during upsert operations.
  • Variant mutations now properly apply SEO, publication, and currency inputs that were previously ignored.
  • The productBulkCreate mutation now respects the locked type when updating existing products.
  • Product upserts via productBulkCreate now apply all the same fields as productUpdate.
  • Product slug generation now includes retry logic when a slug is taken, and uses prefix-based lookups.
  • Failed productCreate or productUpdate operations now correctly roll back all changes.
  • The productUpdate mutation now properly applies SEO settings.
  • Product creation and bulk operations now correctly execute under the app's identity.
  • Image URLs that cannot be fetched are now properly reported as caller errors.
  • The productBulkCreate mutation now ensures one row per product to prevent duplicates.
  • Images fetched from URLs are now processed in the background for better performance.
  • Untyped fetched images are now automatically typed based on their content.
  • Long image URLs now attach successfully and clear any previous warnings.
  • Video URLs that cannot be fetched are properly reported as errors.
  • The productVideoBulkCreate mutation now reports row-level errors.
  • Media keys now correctly match on the product level.
  • Video uploads now follow the same seller rules as images.
  • Bad ports in image URLs now record warnings correctly.
  • CSV imports now properly handle fetched images.
  • Re-uploading the same image key no longer triggers unnecessary fetches.
  • CSV rows now correctly link to their variants.
  • Media write operations now verify the caller belongs to the product's seller.
  • Malformed reorder IDs are now properly rejected.
  • Media reordering now prevents using IDs from different media types or duplicate IDs.
API

Fixed several infrastructure issues:

  • The queue monitor now starts reliably and cannot fail application boot.
  • Failing queue samples now log errors only once to prevent log spam.
  • Tracing setup errors no longer prevent application startup.
  • Log handlers that raise exceptions cannot crash the queue monitor.
  • Guard blocks now properly contain all exceptions.
  • The saturation monitor now survives bad sampling attempts.
API

Fixed three migrations that depend on django_celery_beat, ensuring clean database initialization when migrating from an empty database.

API

Fixed an issue where soft-delete bulk creation operations now correctly insert all items from generators.

Was this page helpful?