Saleor v3.6.0 Release Notes

  • Saleor Apps

    • โž• Add support for the CUSTOMER_* app mount points (#10163) by @krzysztofwolski
    • Add permission group webhooks: PERMISSION_GROUP_CREATED, PERMISSION_GROUP_UPDATED, PERMISSION_GROUP_DELETED - #10214 by @SzymJ

    ๐Ÿ’ฅ Breaking changes

    • โฌ‡๏ธ Drop django-versatileimagefield package; add a proxy view to generate thumbnails on-demand - #9988 by @IKarbowiak
      • Drop create_thumbnails command
    • โž• Add synchronous tax calculation via webhooks - #9526 by @fowczarek, @mateuszgrzyb, @stnatic
      • Change return type from CheckoutTaxedPricesData to TaxedMoney in plugin manager methods:
      • calculate_checkout_line_total
      • calculate_checkout_line_unit_price

    Other changes

    • โž• Add VoucherFilter.ids filter - #10157 by @Jakubkuc
    • ๐Ÿ‘ Allow values of different attributes to share the same slug - #10138 by @IKarbowiak
    • โž• Add query for transaction item and extend transaction item type with order - #10154 by @IKarbowiak
    • ๐Ÿ›  Fix inconsistent beat scheduling and compatibility with db scheduler - #10185 by @NyanKiyoshi This fixes the following bugs:
      • tick() could decide to never schedule anything else than send-sale-toggle-notifications if send-sale-toggle-notifications doesn't return is_due = False (stuck forever until beat restart or a is_due = True)
      • tick() was sometimes scheduling other schedulers such as observability to be ran every 5m instead of every 20s
      • is_due() from send-sale-toggle-notifications was being invoked every 5s on django-celery-beat instead of every 60s
      • send-sale-toggle-notifications would crash on django-celery-beat with Cannot convert schedule type <saleor.core.schedules.sale_webhook_schedule object at 0x7fabfdaacb20> to model

    Usage:

    • Database backend: celery --app saleor.celeryconf:app beat --scheduler saleor.schedulers.schedulers.DatabaseScheduler
    • Shelve backend: celery --app saleor.celeryconf:app beat --scheduler saleor.schedulers.schedulers.PersistentScheduler
      • ๐Ÿ›  Fix problem with updating draft order with active avalara - #10183 by @IKarbowiak
      • ๐Ÿ›  Fix stock validation and allocation for order with local collection point - #10218 by @IKarbowiak
      • ๐Ÿ›  Fix stock allocation for order with global collection point - #10225 by @IKarbowiak
      • โž• Add synchronous tax calculation via webhooks - #9526 by @fowczarek, @mateuszgrzyb, @stnatic
    • Add option to calculate taxes via webhooks more info in docs <!-- We should put docs link here before release -->
      • โž• Add forceNewLine flag to lines input in CheckoutLinesAdd, CheckoutCreate, DraftOrderCreate, OrderCreate, OrderLinesCreate mutations to support same variant in multiple lines - #10095 by @SzymJ

    GraphQL API

    • โž• Add synchronous tax calculation via webhooks - #9526 by @fowczarek, @mateuszgrzyb, @stnatic
      • Add CHECKOUT_CALCULATE_TAXES and ORDER_CALCULATE_TAXES to WebhookEventTypeSyncEnum
    • โž• Add descriptions for some filters - #10240 by @dekoza

    ๐Ÿ”Œ Plugins

    • โž• Add synchronous tax calculation via webhooks - #9526 by @fowczarek, @mateuszgrzyb, @stnatic
      • Add new method to plugin manager:
      • get_taxes_for_checkout
      • get_taxes_for_order