9 February 2026
Composable Commerce
HTTP API
Resolved issue
SearchProduct catalog
We have fixed the evaluation of 'not' expressions in Product Search that gave incorrect results in some cases when nested in an and expression.
You are affected by this change if you use not expressions on variants and variants.prices fields inside an and expression in Product Search queries:
{
    "query": {
        "and": [
            {
                /// simple expression on variant field or price field
            },
            {
                "not": [
                    {
                        /// simple expression on variant field or price field
                    }
                ]
            }
        ]
    }
}
Prior to this fix, the evaluation of such not expressions could lead to unexpected results because the individual conditions inside the not expression were evaluated independently across different variants/prices of a Product.
This bug fix aligns the semantics to ensure that the expression must be true for at least one variant/price, ensuring all criteria are always evaluated on the same variant/price. Also, this fix aligns the query results with the facet results for the same not expressions.

These improvements help you construct more effective Product Search queries for complex use cases, such as finding products with specific attributes but excluding some based on certain criteria.

Additionally, the documentation now includes information about the limitations of not expressions, specifically that checking the non-existence of the variants and variants.prices fields is not supported.