Saleor v3.0.0 Release Notes
-
- ๐ Improve draft orders and orders webhooks - #SALEOR-4008 by @jakubkuc
- ๐ Mark
X-
headers as deprecated and add headers without prefix. All deprecated headers will be removed in Saleor 4.0 - #8179 by @L3str4nge- X-Saleor-Event -> Saleor-Event
- X-Saleor-Domain -> Saleor-Domain
- X-Saleor-Signature -> Saleor-Signature
- X-Saleor-HMAC-SHA256 -> Saleor-HMAC-SHA256
- Extend editorjs validator to accept blocks different than text - #SALEOR-3354 by @mociepka
- โ Add query contains only schema validation - #6827 by @fowczarek
- โ Add introspection caching - #6871 by @fowczarek
- ๐จ Refactor plugins manager(add missing tracing, optimize imports, drop plugins manager from settings) - #6890 by @fowczarek
- โก๏ธ Add CUSTOMER_UPDATED webhook, add addresses field to customer CUSTOMER_CREATED webhook - #6898 by @piotrgrundas
- โ Add missing span in PluginManager - #6900 by @fowczarek
- ๐ Fix Sentry reporting - #6902 by @fowczarek
- ๐ Fix removing page types in cleardb command - #6918 by @fowczarek
- โ Add possibility to apply discount to order/order line with status
DRAFT
- #6930 by @korycins - ๐ Deprecate API fields
Order.discount
,Order.discountName
,Order.translatedDiscountName
- #6874 by @korycins - ๐ Fix argument validation in page resolver - #6960 by @fowczarek
- โฌ๏ธ Drop
data
field from checkout line model - #6961 by @fowczarek - Add
PRODUCT_VARIANT_CREATED
,PRODUCT_VARIANT_UPDATED
,PRODUCT_VARIANT_DELETED
webhooks, fix attributes field forPRODUCT_CREATED
,PRODUCT_UPDATED
webhooks - #6963 by @piotrgrundas - ๐ Fix
totalCount
on connection resolver withoutfirst
orlast
- #6975 by @fowczarek - ๐ Fix variant resolver on
DigitalContent
- #6983 by @fowczarek - ๐ Fix race condition on
send_fulfillment-confirmation
- #6988 by @fowczarek - ๐ Fix resolver by id and slug for product and product variant - #6985 by @d-wysocki
- โ Add optional support for reporting resource limits via a stub field in
shop
- #6967 by @NyanKiyoshi - ๐ Allow to use
Bearer
as an authorization prefix - #6996 by @korycins - โก๏ธ Update checkout quantity when checkout lines are deleted - #7002 by @IKarbowiak
- Raise an error when the user is trying to sort products by rank without search - #7013 by @IKarbowiak
- ๐ Fix available shipping methods - return also weight methods without weight limits - #7021 by @IKarbowiak
- โ Remove redundant Opentracing spans - #6994 by @fowczarek
- โก๏ธ Trigger
PRODUCT_UPDATED
webhook for collections and categories mutations - #7051 by @d-wysocki - ๐ Support setting value for AttributeValue mutations - #7037 by @piotrgrundas
- Validate discount value for percentage vouchers and sales - #7033 by @d-wysocki
- โก๏ธ Optimize children field on Category type - #7045 by @IKarbowiak
- โ Added support for querying objects by metadata fields - #6683 by @LeOndaz, #7421 by @korycins
- โ Add rich text attribute input - #7059 by @piotrgrundas
- ๐ Avoid using
get_plugins_manager
method - #7052 by @IKarbowiak - โ Add field
languageCode
to types:AccountInput
,AccountRegisterInput
,CheckoutCreateInput
,CustomerInput
,Order
,User
. Add fieldlanguageCodeEnum
toOrder
type. Add new mutationCheckoutLanguageCodeUpdate
. Deprecate fieldOrder.languageCode
. - #6609 by @korycins - โ Add benchmarks for triggered product and variants webhooks - #7061 by @d-wysocki
- Extend
Transaction
type with gateway response andPayment
type with filter - #7062 by @IKarbowiak - ๐ Fix invalid tax rates for lines - #7058 by @IKarbowiak
- ๐ Allow seeing unconfirmed orders - #7072 by @IKarbowiak
- Raise GraphQLError when too big integer value is provided - #7076 by @IKarbowiak
- โก๏ธ Do not update draft order addresses when user is changing - #7088 by @IKarbowiak
- Recalculate draft order when product/variant was deleted - #7085 by @d-wysocki
- โ Added validation for
DraftOrderCreate
with negative quantity line - #7085 by @d-wysocki - โ Remove html tags from product description_plaintext - #7094 by @d-wysocki
- ๐ Performance upgrade on orders query with shipping and billing addresses - #7083 by @tomaszszymanski129
- ๐ Performance upgrade on orders query with payment status - #7125 by @tomaszszymanski129
- ๐ Performance upgrade on orders query with events - #7120 by @tomaszszymanski129
- ๐ Performance upgrade on orders query with
user
anduserEmail
fields - #7091 by @tomaszszymanski129 - ๐ Fix dataloader for fetching checkout info - #7084 by @IKarbowiak
- โก๏ธ Update also draft order line total price after getting the unit price from plugin - #7080 by @IKarbowiak
- ๐ Fix failing product tasks when instances are removed - #7092 by @IKarbowiak
- Catch invalid object ID and raise ValidationError - #7114 by @d-wysocki
- โก๏ธ Update GraphQL endpoint to only match exactly
/graphql/
without trailing characters - #7117 by @IKarbowiak - Introduce traced_resolver decorator instead of graphene middleware - #7159 by @tomaszszymanski129
- ๐ Fix failing export when exporting attribute without values - #7131 by @IKarbowiak
- Extend Vatlayer functionalities - #7101 by @korycins:
- Allow users to enter a list of exceptions (country ISO codes) that will use the source country rather than the destination country for tax purposes.
- Allow users to enter a list of countries for which no VAT will be added.
- ๐ Allow passing metadata to
accountRegister
mutation - #7152 by @piotrgrundas - ๐ Fix incorrect payment data for klarna - #7150 by @IKarbowiak
- โฌ๏ธ Drop deleted images from storage - #7129 by @IKarbowiak
- ๐ Fix core sorting on related fields - #7195 by @tomaszszymanski129
- ๐ Fix variants dataloaders when querying with default channel - #7206 by @tomaszszymanski129
- ๐ Performance upgrade on orders query with
subtotal
field - #7174 by @tomaszszymanski129 - ๐ Performance upgrade on orders query with
actions
field - #7175 by @tomaszszymanski129 - ๐ Performance upgrade on orders query with
totalAuthorized
field - #7170 by @tomaszszymanski129 - ๐ Fix export with empty assignment values - #7207 by @IKarbowiak
- ๐ Change exported file name - #7218 by @IKarbowiak
- ๐ Performance upgrade on
OrderLine
type withthumbnail
field - #7224 by @tomaszszymanski129 - ๐ Use GraphQL IDs instead of database IDs in export - #7240 by @IKarbowiak
- ๐ Fix draft order tax mismatch - #7226 by @IKarbowiak
- Introduce
calculate_order_line_total
plugin method
- Introduce
- โก๏ธ Update core logging for better Celery tasks handling - #7251 by @tomaszszymanski129
- Raise ValidationError when refund cannot be performed - #7260 by @IKarbowiak
- Extend order with origin and original order values - #7326 by @IKarbowiak
- ๐ Fix customer addresses missing after customer creation - #7327 by @tomaszszymanski129
- ๐ฐ Extend order webhook payload with fulfillment fields - #7364, #7347 by @korycins
- fulfillments extended with:
- total_refund_amount
- shipping_refund_amount
- lines
- fulfillment lines extended with:
- total_price_net_amount
- total_price_gross_amount
- undiscounted_unit_price_net
- undiscounted_unit_price_gross
- unit_price_net
- ๐ฐ Extend order payload with undiscounted prices and add psp_reference to payment model - #7339 by @IKarbowiak
- order payload extended with the following fields:
undiscounted_total_net_amount
undiscounted_total_gross_amount
psp_reference
onpayment
- order lines extended with:
undiscounted_unit_price_net_amount
undiscounted_unit_price_gross_amount
undiscounted_total_price_net_amount
undiscounted_total_price_gross_amount
- ๐ Copy metadata fields when creating reissue - #7358 by @IKarbowiak
- โ Add payment webhooks - #7044 by @maarcingebala
- ๐ Fix invoice generation - #7376 by @tomaszszymanski129
- ๐ Allow defining only one field in translations - #7363 by @IKarbowiak
- โก๏ธ Trigger
checkout_updated
hook for checkout meta mutations - #7392 by @maarcingebala - โก๏ธ Optimize
inputType
resolver onAttributeValue
type - 7396 by @tomaszszymanski129 - ๐ Allow filtering pages by ids - #7393 by @IKarbowiak
- ๐จ Refactor account filters - 7419 by @tomaszszymanski129
- Fix validate
min_spent
on vouchers to use net or gross value depends onsettings.display_gross_prices
- #7408 by @d-wysocki - ๐ Fix invoice generation - #7376 by tomaszszymanski129
- Unify channel ID params #7378
- targetChannel from ChannelDeleteInput changed to channelId
channel
fromDraftOrderCreateInput
changed to channelIdchannel
fromDraftOrderInput
changed to channelIdchannel
frompluginUpdate
changed to channelId
- Compress celery tasks related with
user_emails
andwebhooks
- #7445 by d-wysocki - ๐ Order events performance - #7424 by tomaszszymanski129
- โ Add hash to uploading images #7453 by @IKarbowiak
- โ Add file format validation for uploaded images - #7447 by @IKarbowiak
- โ Add boolean attributes - #7454 by @piotrgrundas
- ๐ Fix attaching params for address form errors - #7485 by @IKarbowiak
- โก๏ธ Update draft order validation - #7253 by @IKarbowiak
- Extend Order type with errors: [OrderError!]! field
- Create tasks for deleting order lines by deleting products or variants
- ๐ Fix doubled checkout total price for one line and zero shipping price - #7532 by @IKarbowiak
- ๐ Deprecate nested objects in TranslatableContent types - #7522 by @IKarbowiak
- ๐ Fix performance for User type on resolvers: orders, gift cards, events - #7574 by @tomaszszymanski129
- ๐ Fix failing account mutations for app - #7569 by @IKarbowiak
- ๐ฐ Introduce
event_payload
to webhook tasks - #8227 by @jakubkuc - Modify order of auth middleware calls - #7572 by @tomaszszymanski129
- โ Add app support for events - #7622 by @IKarbowiak
- Fulfillment confirmation - #7675 by @tomaszszymanski129
- โ Add date & date time attributes - #7500 by @piotrgrundas
- โ Add
withChoices
flag for Attribute type - #7733 by @dexon44 - โฌ๏ธ Drop assigning cheapest shipping method in checkout - #7767 by @maarcingebala
- Add
product_id
,product_variant_id
,attribute_id
andpage_id
when it's possible forAttributeValue
translations webhook. - #7783 by @fowczarek - ๐ Deprecate
query
argument insales
andvouchers
queries - #7806 by @maarcingebala - ๐ Allow translating objects by translatable content ID - #7803 by @maarcingebala
- Add
page_type_id
when it's possible forAttributeValue
translations webhook. - #7825 by @fowczarek - โก๏ธ Optimize available quantity loader. - #7802 by @fowczarek
- ๐ง Configure a periodic task for removing empty allocations - #7885 by @fowczarek
- Add webhooks for stock changes:
PRODUCT_VARIANT_OUT_OF_STOCK
andPRODUCT_VARIANT_BACK_IN_STOCK
- #7590 by @mstrumeck - ๐ Allow impersonating user by an app/staff - #7754 by @korycins:
- Add
customerId
tocheckoutCustomerAttach
mutation - Add new permision
IMPERSONATE_USER
- Handle
SameSite
cookie attribute in jwt refresh token middleware - #8209 by @jakubkuc
- Add
- โ Add workaround for failing Avatax when line has price 0 - #8610 by @korycins
- โ Add option to set tax code for shipping in Avatax configuration view - #8596 by @korycins
- ๐ Fix Avalara tax fetching from cache - #8647 by @fowczarek
- Implement database read replicas - #8516, #8751 by @fowczarek
- Propagate sale and voucher discounts over specific lines - #8793 by @korycins
- The created order lines from checkout will now have fulfilled all undiscounted fields with a default price value (without any discounts).
- Order line will now include a voucher discount (in the case when the voucher is for specific products or have a
flag apply_once_per_order). In that case
Order.discounts
will not have a relation toOrderDiscount
object. - Webhook payload for
OrderLine
will now include two new fieldssale_id
(graphql's ID of applied sale) andvoucher_code
(code of the valid voucher applied to this line). - When any sale or voucher discount was applied,
line.discount_reason
will be fulfilled. - New interface for handling more data for prices:
PricesData
andTaxedPricesData
used in checkout calculations and in plugins/pluginManager.
- Attach sale discount info to the line when adding variant to order - #8821 by @IKarbowiak
- Rename checkout interfaces:
CheckoutTaxedPricesData
instead ofTaxedPricesData
andCheckoutPricesData
instead ofPricesData
- New interface for handling more data for prices:
OrderTaxedPricesData
used in plugins/pluginManager.
- Rename checkout interfaces:
๐ฅ Breaking
- Multichannel MVP: Multicurrency - #6242 by @fowczarek @d-wysocki
- โฌ๏ธ Drop deprecated meta mutations - #6422 by @maarcingebala
- โฌ๏ธ Drop deprecated service accounts and webhooks API - #6431 by @maarcingebala
- โฌ๏ธ Drop deprecated fields from the
ProductVariant
type:quantity
,quantityAllocated
,stockQuantity
,isAvailable
- #6436 by @maarcingebala - โฌ๏ธ Drop authorization keys API - #6631 by @maarcingebala
- โฌ๏ธ Drop
type
field fromAttributeValue
type - #6710 by @IKarbowiak - Drop
apply_taxes_to_shipping_price_range
plugin hook - #6746 by @maarcingebala - Drop
CHECKOUT_QUANTITY_CHANGED
webhook - #6797 by @d-wysocki - โฌ๏ธ Drop deprecated
taxRate
field fromProductType
- #6795 by @d-wysocki - Unconfirmed order manipulation - #6829 by @tomaszszymanski129
- Remove mutations for draft order lines manipulation:
draftOrderLinesCreate
,draftOrderLineDelete
,draftOrderLineUpdate
- Use
orderLinesCreate
,orderLineDelete
,orderLineUpdate
mutations instead. - Order events enums
DRAFT_ADDED_PRODUCTS
andDRAFT_REMOVED_PRODUCTS
are nowADDED_PRODUCTS
andREMOVED_PRODUCTS
- Remove mutations for draft order lines manipulation:
- ๐ Email interface as a plugin - #6301 by @korycins
- โ Remove resolving user's location from GeoIP; drop
PaymentInput.billingAddress
input field - #6784 by @maarcingebala - ๐ Change the payload of the order webhook to handle discounts list, added fields:
Order.discounts
,OrderLine.unit_discount_amount
,OrderLine.unit_discount_type
,OrderLine.unit_discount_reason
, remove fields:Order.discount_amount
,Order.discount_name
,Order.translated_discount_name
- #6874 by @korycins - ๐ Update checkout performance - introduce
CheckoutInfo
data class - #6958 by @IKarbowiak; Introduced changes in plugin methods definitions:- in the following methods, the
checkout
parameter changed tocheckout_info
: calculate_checkout_total
calculate_checkout_subtotal
calculate_checkout_shipping
get_checkout_shipping_tax_rate
calculate_checkout_line_total
calculate_checkout_line_unit_price
get_checkout_line_tax_rate
preprocess_order_creation
- additionally,
preprocess_order_creation
was extend withlines_info
parameter
- in the following methods, the
- ๐ Fix Avalara caching - #7036 by @fowczarek;
- Introduced changes in plugin methods definitions:
calculate_checkout_line_total
was extended withlines
parametercalculate_checkout_line_unit_price
was extended withlines
parameterget_checkout_line_tax_rate
was extended withlines
parameter To get proper taxes we should always send the whole checkout to Avalara.
- โก๏ธ Remove triggering a webhook event
PRODUCT_UPDATED
when callingProductVariantCreate
mutation. UsePRODUCT_VARIANT_CREATED
instead - #6963 by @piotrgrundas - โก๏ธ Remove triggering a webhook event
PRODUCT_UPDATED
when callingProductVariantChannelListingUpdate
mutation. UsePRODUCT_VARIANT_UPDATED
instead - #6963 by @piotrgrundas - Refactor listing payment gateways - #7050 by @maarcingebala. Breaking changes in plugin methods: removed
get_payment_gateway
andget_payment_gateway_for_checkout
; insteadget_payment_gateways
was added. - ๐ Change error class in
CollectionBulkDelete
toCollectionErrors
- #7061 by @d-wysocki - ๐ Fix doubling price in checkout for products without tax - #7056 by @IKarbowiak
- Introduce changes in plugins method:
calculate_checkout_subtotal
has been dropped from plugins, for correct subtotal calculation,calculate_checkout_line_total
must be set (manager method for calculating checkout subtotal usescalculate_checkout_line_total
method)
- ๐ฐ Make
order
property of invoice webhook payload contain order instead of order lines - #7081 by @pdblaszczyk- Affected webhook events:
INVOICE_REQUESTED
,INVOICE_SENT
,INVOICE_DELETED
- Affected webhook events:
- ๐ Make quantity field on
StockInput
required - #7082 by @IKarbowiak ๐ง Extend plugins manager to configure plugins for each plugins - #7198 by @korycins:
- Introduce changes in API:
paymentInitialize
- addchannel
parameter. Optional when only one channel exists.pluginUpdate
- addchannel
parameter.availablePaymentGateways
- addchannel
parameter.storedPaymentSources
- addchannel
parameter.requestPasswordReset
- addchannel
parameter.requestEmailChange
- addchannel
parameter.confirmEmailChange
- addchannel
parameter.accountRequestDeletion
- addchannel
parameter.- change structure of type
Plugin
:- add
globalConfiguration
field for storing configuration when a plugin is globally configured - add
channelConfigurations
field for storing plugin configuration for each channel - removed
configuration
field, useglobalConfiguration
andchannelConfigurations
instead
- add
- change structure of input
PluginFilterInput
:- add
statusInChannels
field - add
type
field - removed
active
field. UsestatusInChannels
instead
- add
- Change plugin webhook endpoint - #7332 by @korycins.
- Use /plugins/channel// for plugins with channel configuration
- Use /plugins/global/ for plugins with global configuration
- Remove /plugin/ endpoint
โ Add description to shipping method - #7116 by @IKarbowiak
ShippingMethod
was extended withdescription
field.ShippingPriceInput
was extended withdescription
field- Extended
shippingPriceUpdate
,shippingPriceCreate
mutation to add/edit description - Input field in
shippingPriceTranslate
changed toShippingPriceTranslationInput
โฌ๏ธ Drop deprecated queries and mutations - #7199 by @IKarbowiak
- drop
url
field fromCategory
type - drop
url
field fromCategory
type - drop
url
field fromProduct
type - drop
localized
fild fromMoney
type - drop
permissions
field fromUser
type - drop
navigation
field fromShop
type - drop
isActive
fromAppInput
- drop
value
fromAttributeInput
- drop
customerId
fromcheckoutCustomerAttach
- drop
stockAvailability
argument fromproducts
query - drop
created
andstatus
arguments fromorders
query - drop
created
argument fromdraftOrders
query - drop
productType
fromProductFilter
- deprecate mutations'
<name>Errors
, typederrors
fields and remove deprecation
- drop
โ Add channel data to Order webhook - #7299 by @krzysztofwolski
๐ Deprecated Stripe plugin - will be removed in Saleor 4.0
- rename
StripeGatewayPlugin
toDeprecatedStripeGatewayPlugin
. - introduce new
StripeGatewayPlugin
plugin.
- rename
Always create new checkout in
checkoutCreate
mutation - #7318 by @IKarbowiak- deprecate
created
return field oncheckoutCreate
mutation
- deprecate
Return empty values list for attribute without choices - #7394 by @fowczarek
values
for attributes without choices from now are empty list.- attributes with choices -
DROPDOWN
andMULTISELECT
- attributes without choices -
FILE
,REFERENCE
,NUMERIC
andRICH_TEXT
Unify checkout identifier in checkout mutations and queries - #7511 by @IKarbowiak
๐ Use root level channel argument for filtering and sorting - #7374 by @IKarbowiak
- drop
channel
field from filters and sorters
- drop
โฌ๏ธ Drop top-level
checkoutLine
query from the schema with related resolver, usecheckout
query instead - #7623 by @dexon44๐ Make SKU an optional field on
ProductVariant
- #7633 by @rafalp๐ Change metadata mutations to use token for order and checkout as identifier - #8426 by @IKarbowiak
- After changes, using the order
id
for changing order metadata is deprecated
- After changes, using the order
Propagate sale and voucher discounts over specific lines - #8793 by @korycins
- Use a new interface for response received from plugins/pluginManager. Methods
calculate_checkout_line_unit_price
andcalculate_checkout_line_total
returnsTaxedPricesData
instead ofTaxedMoney
.
- Use a new interface for response received from plugins/pluginManager. Methods
Attach sale discount info to the line when adding variant to order - #8821 by @IKarbowiak
- Use a new interface for the response received from plugins/pluginManager.
Methods
calculate_order_line_unit
andcalculate_order_line_total
returnsOrderTaxedPricesData
instead ofTaxedMoney
. - Rename checkout interfaces:
CheckoutTaxedPricesData
instead ofTaxedPricesData
andCheckoutPricesData
instead ofPricesData
- Use a new interface for the response received from plugins/pluginManager.
Methods
๐ Do no allow using
id
for updating checkout and order metadata - #8906 by @IKarbowiak- Use
token
instead
- Use
Sign JWT tokens with RS256 instead of HS256 - #7990 by @korycins
Other
- ๐ Fix creating translations with app - #6804 by @krzysztofwolski
- โ Add possibility to provide external payment ID during the conversion draft order to order - #6320 by @korycins
- โ Add basic rating for
Products
- #6284 by @korycins - โ Add metadata to shipping zones and shipping methods - #6340 by @maarcingebala
- โ Add Page Types - #6261 by @IKarbowiak
- Migrate draftjs content to editorjs format - #6430 by @IKarbowiak
- โ Add editorjs sanitizer - #6456 by @IKarbowiak
- โ Add generic FileUpload mutation - #6470 by @IKarbowiak
- Order confirmation backend - #6498 by @tomaszszymanski129
- ๐ Fix password reset request - #6351 by @Manfred-Madelaine-pro, Ambroise and Pierre
- ๐ Refund products support - #6530 by @korycins
- โ Add possibility to exclude products from shipping method - #6506 by @korycins
- โ Add availableShippingMethods to the Shop type - #6551 by @IKarbowiak
- โ Add delivery time to shipping method - #6564 by @IKarbowiak
- Introduce file attributes - #6568 by @IKarbowiak
- Shipping zone description - #6653 by @tomaszszymanski129
- โ Add metadata to menu and menu item - #6648 by @tomaszszymanski129
- ๐ Get tax rate from plugins - #6649 by @IKarbowiak
- โ Added support for querying user by email - #6632 @LeOndaz
- โ Add order shipping tax rate - #6678 by @IKarbowiak
- ๐ Deprecate field
descriptionJSON
fromProduct
,Category
,Collection
and fieldcontentJSON
fromPage
- #6692 by @d-wysocki - ๐ Fix products visibility - #6704 by @IKarbowiak
- Introduce page reference attributes - #6624 by @IKarbowiak
- Introduce product reference attributes - #6711 by @IKarbowiak
- โ Add metadata to warehouse - #6727 by @d-wysocki
- Add page webhooks:
PAGE_CREATED
,PAGE_UPDATED
andPAGE_DELETED
- #6787 by @d-wysocki - Introduce numeric attributes - #6790 by @IKarbowiak
- โ Add
PRODUCT_DELETED
webhook - #6794 by @d-wysocki - โก๏ธ Fix
product_updated
andproduct_created
webhooks - #6798 by @d-wysocki - โ Add interface for integrating the auth plugins - #6799 by @korycins
- ๐ Fix page
contentJson
field to return JSON - #6832 by @d-wysocki - โ Add SendgridPlugin - #6793 by @korycins
- โ Add SearchRank to search product by name and description. New enum added to
ProductOrderField
-RANK
- which returns results sorted by search rank - #6872 by @d-wysocki - Allocate stocks for order lines in a bulk way - #6877 by @IKarbowiak
- โ Add product description_plaintext to populatedb - #6894 by @d-wysocki
- โ Add uploading video URLs to product's gallery - #6838 by @GrzegorzDerdak
- Deallocate stocks for order lines in a bulk way - #6896 by @IKarbowiak
- Prevent negative available quantity - #6897 by @d-wysocki
- ๐ Fix CheckoutLinesInfoByCheckoutTokenLoader dataloader - #6929 by @IKarbowiak
- ๐ Change the
app
query to return info about the currently authenticated app - #6928 by @d-wysocki - โ Add default sorting by rank for search products - #6936 by @d-wysocki
- ๐ Fix exporting product description to xlsx - #6959 by @IKarbowiak
- โ Add
Shop.version
field to query API version - #6980 by @maarcingebala - Return empty results when filtering by non-existing attribute - #7025 by @maarcingebala
- โ Add new authorization header
Authorization-Bearer
- #6998 by @korycins - โ Add field
paymentMethodType
toPayment
object - #7073 by @korycins - Unify Warehouse Address API - #7481 by @d-wysocki
- deprecate
companyName
onWarehouse
type - remove
companyName
onWarehouseInput
type - remove
WarehouseAddressInput
onWarehouseUpdateInput
andWarehouseCreateInput
, and change it toAddressInput
- deprecate
- ๐ Fix passing incorrect customer email to payment gateways - #7486 by @korycins
- โ Add HTTP meta tag for Content-Security-Policy in GraphQL Playground - #7662 by @NyanKiyoshi