Release notes August 2026
Notable features
Norce Commerce promotions on managed packages apply to the whole package
Norce Commerce promotions on managed packages now apply to the package as a whole, with the discount spread across the parts of the package. A manual price set on a bundle is also split proportionally across the products in the bundle.
Read about how Norce Commerce promotions evaluate bundles in Release notes June 2026.
Promotion requirements ignore basket lines added by promotions
In Norce Commerce, basket lines that a promotion has added no longer count when promotion requirements are evaluated. Promotions with quantity intervals (for example, buy 3–4 and buy 5–9) therefore no longer trigger each other. A promotion that requires the basket to not contain a product is no longer blocked by that product when another promotion added the product for free.
Login security improvements in Norce Commerce Admin
- A password reset link can now only be used once. The link stops working as soon as the password has been changed, and changing the password invalidates any outstanding reset links.
- Added rate limiting to the "forgot password" function.
- The "forgot password" function now always shows the same confirmation, whether or not the entered login name exists.
- Failed logins now show "Account name or password was not correct" instead of the session expired dialog.
Norce Commerce Query API v2.0 End of Support on August 31, 2026
Norce Commerce Query API v2.0 reached End of Support on August 31, 2026. No more bug fixes or patches are released for Query API v2.0. Query API v2.0 reaches End of Life and goes offline on October 31, 2026.
Read about how to upgrade in Upgrade Norce Commerce Query from v2 to v3.
Other patches and fixes
Norce Checkout
- Checkout Admin
- Added the Nexi adapter to the admin meta configuration selector.
- Configurations that exist outside of
admin_metaare still shown and merged.
- Order
CreateEmptyOrderNotificationsno longer wipes existing notification subscriptions on a transient Cosmos 408 timeout.- Removing orders now triggers the state hook.
- Norce adapter
- Removing an order is no longer stopped by hook validation.
- Adyen adapter
- The state-updated hook now uses the reversals endpoint instead of cancel.
- Fixed the payment reference being lost during rapid state transitions.
- Avarda adapter
- The Avarda authentication token is now cached to reduce calls to the token endpoint.
- Awardit adapter
- Fixed an issue where drained gift cards blocked payment updates, causing zero-amount authorization loops and leaving phantom intent vouchers when removal failed.
- Klarna adapter
- Removing a Klarna payment is no longer blocked while in processing state.
- Expired payments now return 404 instead of 500.
- Walley adapter
- A specific validation error is now returned when a Norce/Walley total mismatch is caused by shipping selection when
UseDeliveryModuleis true. - Fixed retry on the
CommittedToPurchaserace condition and fixed the payment state mapper. - Zero-amount gift card rows are no longer mapped.
- A specific validation error is now returned when a Norce/Walley total mismatch is caused by shipping selection when
Commerce Admin
- Category
- Improved performance when loading categories.
- The parent category dropdown no longer lists the category itself or its subcategories, which previously made it possible to break the category tree.
- Fixed an issue where adding a parametric group on the Category Parametrics page did not persist the group or its parametrics when saving.
- Price List
- When creating a new price list, you can now select a warehouse and location combination as the standard warehouse for the price list. The selection is optional. If you leave it blank, a warning is shown and you can continue without a warehouse.
- Promotions
- Promotion statistics load faster for applications with many promotions.
- Opening a promotion and loading the promotion list is faster for promotions with many products.
- Basket Info types
- Saving a basket info type with a code that is already used now explains which info type uses the code and that the code must be unique regardless of type, instead of showing a database error.
- Baskets
- Fixed an issue where the basket list could fail to load when the Payer company code column was shown.
- Customers and Companies
- Users with read-only (Viewer) access can no longer add company delivery addresses, and the "Add delivery address" popup no longer saves an empty or invalid address.
- Events
- Headers on an event's HTTP delivery configuration are now validated. Headers that break event delivery, such as "Content-Type", can no longer be saved.
- General
- Changing culture, currency, VAT, sales area, channel, client, or application in the header now warns about unsaved changes instead of silently discarding them.
- Login
- The code input field is now automatically focused on the two-factor authentication page.
- Navigation
- The left menu now keeps the current section expanded and its list item highlighted on detail pages.
- Product Analytics
- The "Orders" graph on product details now shows the number of ordered items of the product instead of the total order value.
- Product Images
- The product header now shows the new main image as soon as you save it.
- Product List
- The product list now loads cultures for the batch update panel even when your role does not have read access to Client settings.
- Product Search
- Faster searching and filtering of products on part number, manufacturer part number, EAN code, or variant code on large assortments.
- Product Settings
- Product and variant flags that are already added are no longer suggested in the flag list.
- Supplier Products Import
- The currency for a supplier products import can now be set to any active currency and defaults to the selected supplier's currency. The currency list is searchable and shows the currency code.
Commerce Service
- Faster and more stable basket, product, and order requests under load.
- Fixed the connected company being lost on orders created via external payment (callback/complete) when billing and shipping addresses differ. The basket's company is retained, unless the payment service reports a different organization number.
- Improved the error response when a product number is not found on the price list during basket insert. The response is now 400 instead of 500.
- Basket operations, including payment callbacks, no longer fail when the cache is unavailable.
- Fixed an issue where the order confirmation mail could fail to send when no payment or delivery method was included on the order.
- Manual freight prices are no longer lost during checkout when using freight structure delivery methods.
- Customer details are now saved when only shipping information is provided.
- Product sort order in listings now matches the order the products are returned in.
Commerce Connect
- Fixed a bug that caused duplicate manufacturer and category entries when importing supplier data.