Saleor v3.6.0 Release Notes
-
๐ฅ Breaking changes
- โฌ๏ธ Drop
django-versatileimagefield
package; add a proxy view to generate thumbnails on-demand - #9988 by @IKarbowiak- Drop
create_thumbnails
command
- Drop
- Change return type from
CheckoutTaxedPricesData
toTaxedMoney
in plugin manager methodscalculate_checkout_line_total
,calculate_checkout_line_unit_price
- #9526 by @fowczarek, @mateuszgrzyb, @stnatic
Saleor Apps
- โ Add GraphQL subscription support for synchronous webhook events - #9763 by @jakubkuc
- 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 - Add
ACCOUNT_ACTIVATED
andACCOUNT_DEACTIVATED
events - #10136 by @tomaszszymanski129 - ๐ Allow apps to query data protected by MANAGE_STAFF permission (#10103) (4eb93d3f5)
- ๐ Fix returning sale's GraphQL ID in the
SALE_TOGGLE
payload (#10227) (0625c43bf) - โ Add descriptions to async webhooks event types (#10250) (7a906bf7f)
GraphQL API
- Add
CHECKOUT_CALCULATE_TAXES
andORDER_CALCULATE_TAXES
toWebhookEventTypeSyncEnum
#9526 by @fowczarek, @mateuszgrzyb, @stnatic - โ Add
forceNewLine
flag to lines input inCheckoutLinesAdd
,CheckoutCreate
,DraftOrderCreate
,OrderCreate
,OrderLinesCreate
mutations to support same variant in multiple lines - #10095 by @SzymJ - โ Add
VoucherFilter.ids
filter - #10157 by @Jakubkuc - โ Add API to display shippable countries for a channel - #10111 by @korycins
- ๐ Improve filters' descriptions - #10240 by @dekoza
- โ Add query for transaction item and extend transaction item type with order (#10154) (b19423a86)
๐ Plugins
- Add a new method to plugin manager:
get_taxes_for_checkout
,get_taxes_for_order
- #9526 by @fowczarek, @mateuszgrzyb, @stnatic - ๐ Allow promoting customer users to staff (#10115) (2d56af4e3)
- ๐ Allow values of different attributes to share the same slug (#10138) (834d9500b)
- ๐ Fix payment status for orders with total 0 (#10147) (ec2c9a820)
- ๐ Fix failed event delivery request headers (#10108) (d1b652115)
- Fix create_fake_user ID generation (#10186) (86e2c69a9)
- ๐ Fix returning values in JSONString scalar (#10124) (248d2b604)
- ๐ Fix problem with updating draft order with active Avalara (#10183) (af270b8c9)
- ๐ Make API not strip query params from redirect URL (#10116) (75176e568)
- โก๏ธ Update method for setting filter descriptions (#10240) (65643ec7c)
- Add expires option to CELERY_BEAT_SCHEDULE (#10205) (c6c5e46bd)
- Recalculate order prices on marking as paid mutations (#10260) (4e45b83e7)
- ๐ Fix triggering
ORDER_CANCELED
event at the end of transaction (#10242) (d9eecb2ca) - ๐ Fix post-migrate called for each app module (#10252) (60205eb56)
- Only handle known URLs (disable appending slash to URLs automatically) - #10290 by @patrys
Other changes
- โ Add synchronous tax calculation via webhooks - #9526 by @fowczarek, @mateuszgrzyb, @stnatic
- ๐ 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
- 0๏ธโฃ Populate the initial database with default warehouse, channel, category, and product type - #10244 by @jakubkuc
- ๐ 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 thansend-sale-toggle-notifications
ifsend-sale-toggle-notifications
doesn't returnis_due = False
(stuck forever until beat restart or ais_due = True
)tick()
was sometimes scheduling other schedulers such as observability to be run every 5m instead of every 20sis_due()
fromsend-sale-toggle-notifications
was being invoked every 5s on django-celery-beat instead of every 60ssend-sale-toggle-notifications
would crash on django-celery-beat withCannot 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
- ๐ Fix assigning an email address that does not belong to an existing user to draft order (#10320) (97129cf0c)
- ๐ Fix gift cards automatic fulfillment (#10325) (6a528259e)
- โฌ๏ธ Drop