# 2026

{% updates format="full" %}
{% update date="2026-04-15" tags="dashboard,metrics-api" %}

## Meet the new Metrics dashboard

The Metrics dashboard is now live — a single place inside Commerce Layer where commerce teams can monitor performance, explore trends, and go from insight to action without jumping across tools.&#x20;

All metrics are updated in real time and the dashboard launches with four key sections: **Orders**, **Promotions**, **Returns**, and **Carts**. Every element is fully interactive, with flexible time range comparisons, powerful filtering by dimensions like market, currency, country, and tags, and one-click drill-downs into the underlying orders.

{% hint style="warning" icon="user-lock" %}
Available for [Enterprise](https://commercelayer.io/pricing) customers — request access from your Dashboard or get in touch with your account manager.
{% endhint %}

<details>

<summary><strong>Introducing the Metrics Dashboard.</strong></summary>

Get a clear, actionable, real-time view of your commerce performance. Explore trends, compare results, and understand what’s driving your business — all in one place.

<a href="https://commercelayer.io/blog/introducing-the-metrics-dashboard" class="button primary" data-icon="book">Read more on our blog</a> <a href="https://commercelayer.fillout.com/t/n7qbQBzH63us?product=flex" class="button secondary" data-icon="user-headset">Contact sales</a>

</details>

<figure><img src="https://3718919489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8DjTu5pfPzXTm6rzaAmr%2Fuploads%2FRLRid5Yhm5apbX1IzV52%2Funlock-advanced-metrics.jpg?alt=media&#x26;token=109692c9-0c47-4bb2-bcb2-a90e1f2e5d0a" alt=""><figcaption></figcaption></figure>

{% hint style="success" icon="rocket-launch" %}
More sections are already in the works, including Customers insights, Fulfillment analytics, and a Metrics Agent.
{% endhint %}
{% endupdate %}

{% update date="2026-04-14" tags="metrics-api" %}

## New queryable fields for returns

The [returns](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns) resource in the Metrics API now exposes two new fields — `return_line_items.name` and `return.currency_code` — available across all query types ([breakdown](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns/breakdown), [date breakdown](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns/date-breakdown), [stats](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns/stats), [search](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns/search), and [export](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns/export)). This makes it possible to group and analyze return data by product name or currency, enabling insights like which products are returned most frequently, return quantities per product, and multi-currency return aggregations.
{% endupdate %}

{% update date="2026-04-01" tags="core-api" %}

## Removed export size limit

[Exports](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/exports) just got a significant upgrade. There is now no limit on [export size](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/exporting-resources#export-size) — large jobs are processed in multiple rounds, prioritizing reliability, with new attributes available to monitor how things are going (number of processed exports, estimated completion time, etc.). On top of that, you can now [interrupt](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/exporting-resources#interrupting-and-restarting) a running export at any time and restart it from where it left off, making it much easier to manage long-running jobs.
{% endupdate %}

{% update date="2026-03-10" tags="core-api" %}

## Coupons count info for promotions, and more

Now you can check the total number of coupons created for a specific promotion by inspecting the related attribute on the single promotion type. On top of that, in the past few days, we released the following minor (but still relevant) updates:

* [Transactions](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/transactions/object) — now you can get information about the payment method used in a transaction (available for all transaction types).
* [Shipping methods](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/shipping_methods/object) — now you can add and remove tags to shipping methods like any other [taggable resource](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/tags#taggable-resources).
* [Bundles](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/bundles/object) — now you can [sort](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/bundles/list#sortable-fields) bundles by name as well.
  {% endupdate %}

{% update date="2026-03-03" tags="metrics-api" %}

## New export query

The [Metrics API](https://app.gitbook.com/o/-Lfu_B3DKew-kvoEWzTk/s/ASSiAvbL4nFnkl8plQy2/) now supports a new [query](https://app.gitbook.com/s/ASSiAvbL4nFnkl8plQy2/getting-started/queries) type. The [export](https://app.gitbook.com/s/ASSiAvbL4nFnkl8plQy2/getting-started/queries/export) query is a CSV-flavored variant of the [search](https://app.gitbook.com/s/ASSiAvbL4nFnkl8plQy2/getting-started/queries/search) query that returns matching records as a plain *text/csv* file, sorted and filtered to your needs. Available for [orders](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/orders/export), [returns](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/returns/export), and [carts](https://app.gitbook.com/s/lhTYC557IzGiJNS84RKD/resources/carts/export), with up to **100K** records per export.
{% endupdate %}

{% update date="2026-02-24" tags="rules-engine" %}

## New free gift action and date-based dynamic values

We just shipped two new Rules Engine capabilities that expand what you can express in your [rules](https://app.gitbook.com/s/hiqD9AvrD8A8IPj7QXPv/rules) — one on the [actions](https://app.gitbook.com/s/hiqD9AvrD8A8IPj7QXPv/actions) side, one on the [conditions](https://app.gitbook.com/s/hiqD9AvrD8A8IPj7QXPv/conditions) side:

* **Free gift action** — A new [free gift](https://app.gitbook.com/s/hiqD9AvrD8A8IPj7QXPv/actions/types/free-gift) action type is now available for [flex promotions](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/flex_promotions). It applies a 100% discount to specific line items added to the cart as free gifts, with full control over which items are eligible and how many units are discounted. Remember that Commerce Layer also exposes two dedicated [order](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/orders/object) relationships that targets the available free SKUs and bundles to make it easy to surface a gift selection UI at checkout.
* **Date-based dynamic values** — Condition values now support [date expressions](https://app.gitbook.com/s/hiqD9AvrD8A8IPj7QXPv/conditions/dynamic-values#date-based-values), making it straightforward to write time-sensitive rules without hard-coding any dates. You can reference the current date, extract date parts, match birthdays, or define date windows — all using the same notation already available for [dynamic values](https://app.gitbook.com/s/hiqD9AvrD8A8IPj7QXPv/conditions/dynamic-values) (see some example and real use cases on our [latest blog post](https://commercelayer.io/blog/time-based-promotions-birthday-coupons-and-spend-limits)).

<details>

<summary><strong>Birthday coupons and spend limits with Commerce Layer.</strong></summary>

Learn how to use Commerce Layer’s Rules Engine to create birthday discounts, limit eligibility with customer metadata, and manage dynamic spend thresholds with precision.

<a href="https://commercelayer.io/blog/time-based-promotions-birthday-coupons-and-spend-limits" class="button primary" data-icon="book">Read more on our blog</a> <a href="https://commercelayer.fillout.com/t/n7qbQBzH63us?product=flex" class="button secondary" data-icon="user-headset">Contact sales</a>

</details>
{% endupdate %}

{% update date="2026-01-21" tags="core-api" %}

## Option to disable payment gateways, and more

We just powered the whole set of our supported [payment gateways](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/payment_gateways) with a couple of new options:

* **Disable / enable** — Now you can disable the payment gateways you don't use anymore (and possibly re-enable them, if needed) by passing a new trigger attribute on the specific payment gateway type. Active / inactive payment gateways can be retrieved by [filtering](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/payment_gateways/list#filterable-fields) / [sorting](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/payment_gateways/list#sortable-fields) the list by the new `disabled_at` timestamp with the proper query.
* **Force payments** — the force payments option is now available on additional payment gateways beyond [Stripe](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/stripe_gateways) (for which it was already enabled by default). For those gateways (including [Adyen](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/adyen_gateways), [Axerve](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/axerve_gateways), [Checkout.com](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/checkout_com_gateways), [Satispay](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/satispay_gateways), and all [external gateways](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/external_gateways)), the feature is not enabled, meaning that the value for the `force_payments` option is `false`. Set it to `true` on the specific gateway if you want incoming payment events to automatically align the order’s payment source with the one used by the transaction (as long as the order is still editable).
  {% endupdate %}

{% update date="2026-01-15" tags="core-api" %}

## Custom include list for external resources, and more

Now you can [overwrite the default list](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/external-resources#custom-include-list) of resources included in the request payload of all the external resources (external order validations excluded) and specify a custom one. The allowed includes are based on the target resource required by the external request. Providing an invalid include for the target resource will result in an error. On top of that, in the past few days, we released the following minor (but still relevant) updates:

* [Imports](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/imports/object) — we added a new boolean parameter that you can set to `true` (default is `false`) to disable the interruption of an import even if the number of errors exceeds the [10% threshold](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/importing-resources#maximum-error-percentage). We also enabled the possibility to [add and/or remove tags](https://app.gitbook.com/s/-LgByaSP8eKjad-MIuHE/importing-resources#importing-a-list-of-customers-removing-the-associated-tags-csv) directly when importing [taggable resources](https://app.gitbook.com/s/RWJeylueWkzLadK710XZ/tags#taggable-resources).
  {% endupdate %}
  {% endupdates %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.commercelayer.io/changelog/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
