โ ๏ธ Breaking Change
Impact Score: 7/10
Saleor 3.18.0 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: saleor ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
Breaking changes - Optimize the number of queries in bulk mutations when calling webhooks. This change affects only users of open-source Saleor, who have their custom plugin implementations. To adjust to this change, the `webhooks` parameter should be added to any of the affected methods. Affected methods:
- Feature preview breaking changes: - Drop `defaultTransactionFlowStrategy` from `OrderSettings` type. Use `PaymentSettings.defaultTransactionFlowStrategy` instead. Drop `defaultTransactionFlowStrategy` from `OrderSettingsInput` type. Use `PaymentSettingsInput.defaultTransactionFlowStrategy` instead. - #14671 by @korycins
โก Executive Summary (TL;DR)
Saleor 3.18.0. Source highlight: Welcome to Saleor 3.18 release!
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โ ๏ธ Breaking Changes & Deprecations (2)
- Breaking changes - Optimize the number of queries in bulk mutations when calling webhooks. This change affects only users of open-source Saleor, who have their custom plugin implementations. To adjust to this change, the `webhooks` parameter should be added to any of the affected methods. Affected methods:
- - Feature preview breaking changes: - Drop `defaultTransactionFlowStrategy` from `OrderSettings` type. Use `PaymentSettings.defaultTransactionFlowStrategy` instead. Drop `defaultTransactionFlowStrategy` from `OrderSettingsInput` type. Use `PaymentSettingsInput.defaultTransactionFlowStrategy` instead. - #14671 by @korycins
โจ New Features & Capabilities (6)
- Add `includeDraftOrderInVoucherUsage` to `OrderSettings`
- Add `includeDraftOrderInVoucherUsage` to `OrderSettingsInput`
- Optimize the number of queries in bulk mutations when calling webhooks. This change affects only users of open-source Saleor, who have their custom plugin implementations. To adjust to this change, the `webhooks` parameter should be added to any of the affected methods. Affected methods:
- Feature preview breaking changes:
- Allow add multiple codes per voucher - #14123 by @SzymJ, @IKarbowiak, @michal-macioszczyk, @zedzior
- Add `VoucherInput.addCodes` to `voucherCreate` and `voucherUpdate` mutations.
โก Performance & Enhancements (1)
- Improved GraphQL ID validation messages - #14447
๐ง Bug Fixes & Patches (1)
- Fix draft order voucher assignment - #14336
๐ View Raw Release Notes (Original Developer Log)
Welcome to Saleor 3.18 release!
### Highlights
- Allow including draft orders in voucher usage. The new `includeDraftOrderInVoucherUsage` flag allows defining if vouchers used in draft orders should be counted into voucher usage. - #14288 by @zedzior, @IKarbowiak, @michal-macioszczyk
- Add `includeDraftOrderInVoucherUsage` to `OrderSettings`
- Add `includeDraftOrderInVoucherUsage` to `OrderSettingsInput`
### Breaking changes
- Optimize the number of queries in bulk mutations when calling webhooks. This change affects only users of open-source Saleor, who have their custom plugin implementations. To adjust to this change, the `webhooks` parameter should be added to any of the affected methods. Affected methods:
- `attribute_updated`
- `attribute_deleted`
- `attribute_value_deleted`
- `promotion_deleted`
- `staff_deleted`
- Saleor will no longer reattempt delivery for webhooks that return non-transient HTTP errors (400, 404, etc.) or redirects - #14566 by @patrys
- Feature preview breaking changes:
- Drop `defaultTransactionFlowStrategy` from `OrderSettings` type. Use `PaymentSettings.defaultTransactionFlowStrategy` instead. Drop `defaultTransactionFlowStrategy` from `OrderSettingsInput` type. Use `PaymentSettingsInput.defaultTransactionFlowStrategy` instead. - #14671 by @korycins
### GraphQL API
- Allow add multiple codes per voucher - #14123 by @SzymJ, @IKarbowiak, @michal-macioszczyk, @zedzior
- Add `VoucherInput.addCodes` to `voucherCreate` and `voucherUpdate` mutations.
- Add the `Voucher.singleUse` flag.
- Deprecate `OrderBulkCreateInput.voucher`.
- Deprecate `VoucherInput.code` in `voucherCreate` and `voucherUpdate` mutations.
- Add `exportVoucherCodes` mutation.
- Add `voucherCodeBulkDelete` mutation.
- Adjust voucher usage calculations.
- Improved GraphQL ID validation messages - #14447 by @patrys
- Add `voucher` to `checkout` query - #14512 by @zedzior
- Fix draft order voucher assignment - #14336 by @IKarbowiak
### Other changes
- Add transaction items deletion to the `cleardb` command. - #14198 by @jakubkuc
- `requirements.txt` and `requirements_dev.txt` were dropped in favor of only supporting `poetry` - #14611 by @patrys
- Change the Attribute - Product relation to decrease code complexity and make it easier to understand the relations - #13407 by @aniav
- Change the Attribute - Page relation to decrease code complexity - #13621 by @michal-macioszczyk
- Added validation for timestamp comparison - #14025 by @ritanjandawn