Release Notes

Release Notes

Every Core dna product, release by release, newest first. Each product ships on its own schedule.

Platform 2026.4

What’s new in Core dna Platform 2026.4

Multicurrency Support and Bug Fixes

Stores can sell in several currencies, with Base, Special, RRP and Cost prices per currency for each product and variant, carried through carts, checkouts, discounts, invoices and orders.

Key highlights

  • Sell in several currencies: Base, Special, RRP and Cost prices per currency for each product and variant.
  • Carts in the shopper's currency, carried through discounts, invoices and orders.

Changes in behaviour

  • Cart currency: an item can be added to a cart only when it has a price in the cart's currency.

Sell in several currencies

Stores can now sell in several currencies. Choose the currencies you price in, then give each product and variant its own Base, Special, RRP and Cost prices in each one. Carts and checkouts run in the shopper's currency, and the prices flow through to discounts, invoices and orders.

Set it up

  1. In the Products settings, set the Default currency, choose the Supported pricing currencies, and switch on Use multi currency for products. Existing prices are kept.
  2. On each product, the Pricing section then has a block per currency, with the default currency marked.

A template shows a product's price in the shopper's currency:

Template code
{* A product's price in the shopper's currency *}
{$currency = $_cart->getCart()->getCurrency()}
{$product->getFinalPrice($currency)} {$currency->getShortName()}
{# A product's price in the shopper's currency #}
{% set currency = _cart.getCart().getCurrency() %}
{{ product.getFinalPrice(currency) }} {{ currency.getShortName() }}
The currencies the store prices in
GET /cdna-api/currencies/supported HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Other improvements and bug fixes

  • Improved the reliability of cache clearing. Cache records are now removed only after the underlying cache files are confirmed deleted, so a failed clear is automatically retried instead of leaving stale content behind.
  • Fixed an issue where responses fetched from external services in some text-based formats — such as CSV, YAML, RSS and Atom feeds, and SOAP — were not recognized as readable content and could be dropped or garbled.
Go deeper

Was this page helpful?

Your answer goes to the docs team.