Release notes March 2026
Notable features
The New Norce Query is released to Production
The New modernized Query 3.0 API is now released to production. This has a few breaking changes from the old version, so we made it a new major release. Read about how to upgrade to version 3.0 here.
The New Product Feed is released to Production
The New modernized Product Feed is now released to production. All environments will gradually be moved over to the new version.
Norce Checkout - Error Transparency (Transactions)
Additional functionality to increase the transparency of the transaction workflows.
Now available in Playground and Stage!
We've rolled out a new feature that gives you visibility into what's happening behind the scenes in Norce Checkout.
What's new?
- Transactions API: A new API that captures detailed logs for requests flowing through checkout services. Unlike internal logs, these are available to you, filtered by your merchant and channel combination.
- Checkout Admin integration: Browse and filter transactions directly in Checkout Admin under Events > Transactions in the navigation menu.
- Call graph visualization: Each order view now includes a call graph that lets you follow every call made for that order, making it much easier to trace issues end to end.
These features are live in playground and stage now for evaluation. Let us know if you have questions or feedback!
Other patches and fixes
Norce Checkout
New features:
- Added Loyalty model to Customer on Norce Checkout Order.
Bug fixes:
- Preserve customer identity fields (
Id,Key,Code) during customer-changed webhook handling to prevent silent loss ofCustomerId/CompanyIdon Commerce baskets. - Allow shipping validation to pass for digital-only orders (for example gift cards) where Norce Commerce removes the freight item from the basket but the PSP adapter still provides a shipping entry.
Commerce Admin
New features:
- Pricelist: Added filters for currency, type, sales area, parent, public, favorite, and virtual.
- Promotions: Improved loading performance when viewing promotions with usage statistics.
Bug fixes:
- Parametrics: Fixed incorrect tooltip on the 'Show on text tab' checkbox in parametric edit view.
- Parametrics: Fixed misaligned rows in the parametric translation view for List and Multiple list types.
- Pricelist Rules: Fixed an issue where it was not always possible to apply rule changes.
- Security: Improved output encoding in list views and GDPR print.
- Event Settings: Fixed missing tooltips for event settings on CustomerChangedNotification, CompanyChangedNotification, SupplierSkuChangedNotification, SupplierSkuOnHandChangedNotification, and SupplierSkuPriceChangedNotification events.
- Event Settings: Added missing tooltips for tApplicationAccount and tApplicationAccountApplicationRole on the CustomerChangedNotification event settings page.
- Pricing: Fixed price history change log column name to show the correct field name instead of always showing 'Sale price'.
- General: Improved error message wording shown to users when an unexpected error occurs.
- GDPR: Fixed an issue where it was occasionally not possible to search for orders.
- Product Batch Updates: Fixed an issue where products selected for batch updates were deselected when navigating to a different page in the product listing.
- Roles: Fixed issue where a child component could not be inactivated.
Commerce Service
New features:
- Improved background caching performance.
- Price lists now support sales area associations.
Bug fixes:
- SearchProductsLite & SearchProductsLite2 will now return null on ManufacturerName if a Manufacturer can't be found, rather than failing.
- Various endpoints have received OpenAPI specification documentation improvements.
- Fixed an edge case 500 error in UpdateBasketItemQuantityWithChildren.
- Fixed duplicate freight rows appearing in basket responses when using FreightStructure delivery methods.
- Client sales area VAT codes are now cached per client for better performance.
- Account password updates now correctly prioritize the new password field.
- Fixed an issue where promotion prices could become stale when inserting basket items.
- Fixed a crash caused by a type mismatch when loading product relation types.
- Fixed a crash during payment completion for Collector payments.
- Added missing summary annotations for SearchManufacturers and DeliveryMethods endpoints.
Product Feed
Bug fixes:
Fixed in the modernized version before launch:
- ProductStatus now respects the "Detailed Prices" setting.
- QuantityBreaks under DetailedPrices in both ProductFeed and ProductStatus now function as expected.
- ProductFeed now returns null instead of empty string for text fields (descriptionHeader, description, subHeader, subDescription, synonyms) when fallback culture values are not used, aligning it with the old feed behavior.
- Fixed multipleValues in ProductFeed to include entries with null names, matching the old feed behavior.
- Quantity break prices are now rounded to 2 decimal precision, matching the old feed behavior.
- Fixed commodityCode returning null instead of empty string to match the old feed behavior.
- Fixed historicalBestPrices incorrectly filtering out some entries.
- Fixed an issue where product status exports included extra entries in chosenSupplierOnPriceLists caused by volume pricing rows. The field now correctly reflects only base price assignments.
- Fixed crash when duplicate supplier inventory entries exist. Exports no longer fail when multiple supplier inventory records share the same supplier/warehouse/location. Duplicates are now aggregated (quantities summed, shortest lead time kept).
- Status fallback changed from "Hidden" to "Inactive". Products or variants with an unrecognized status now default to "Inactive" instead of "Hidden", aligning the new feed with the old one.
- On-hand entries with unknown warehouses are now consistently filtered out across all export types.
Image Service
Bug fixes:
- Fixed image upload by removing decoding of content-type headers.
Management API
Bug fixes:
- Parametric List Values (PUT /parametric/{id}/list): Fixed an issue where parametric list values for the primary language culture were left blank when sending multiple translations.