# Vitrin Changelog

<Card title="September 15, 2026">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Feature Update
  </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; display:inline-block;">
    Products
  </span>
</div>

<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Product Brands Theme Support
</h3>

<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
Vitrin now supports Product Brands across the storefront.

Theme developers can use <code>brands.jinja</code> to display all store brands at <code>/brands</code> and <code>brand.jinja</code> to display a specific brand and its products at <code>/brands/{slug_brand}</code>.

The <code>product.jinja</code> template also now exposes <code>product.brand.name</code> and <code>product.brand.logo</code>, allowing themes to display the assigned brand on product pages.

Brand routes are not currently supported by <code>url_for()</code>.
</p>

<!-- LINK -->
[Read full post →](https://docs.zid.sa/brands-jinja-2427114m0)
</Card>

---
----
<Card title="August 20, 2026">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#B91C1C; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:600; margin-right:6px; display:inline-block;">
    Action Required
  </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Payment
  </span>
</div>

<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Bank Discounts Theme Support
</h3>

<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
Vitrin now supports Bank Discounts, allowing merchants using ZidPay to offer discounts for eligible banks and card types, including Mada, Visa, and Mastercard.

Theme developers are required to add the Bank Discounts shared template to both the product details and cart pages:

`{% include 'vitrin:shared/bank_discounts.jinja' %}`

Without this template, Bank Discounts configured by merchants will not appear on these pages. No theme changes are required for checkout.
</p>

<!-- LINK -->
[Read full post →](https://docs.zid.sa/bank-discounts-2332488m0)
</Card>

---

<Card title="December 23, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#B91C1C; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:600; margin-right:6px; display:inline-block;">
    Action Required
    </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Feature Update
  </span>
</div>

<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Multi-Inventory & Region–Language Modal
</h3>

<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
We’ve introduced support for the <strong>multi-inventory</strong> feature along with a new
<strong>region & language selection modal</strong>.
Theme developers are required to implement this update to ensure compatibility and enable
full migration of remaining stores.

This change should also be applied to previously released themes.
QA test cases will be updated to cover this functionality moving forward.
</p>

<!-- LINK -->
<a href="https://docs.zid.sa/region-language-popup-1861342m0" target="_blank">
Read full post →
</a>
</Card>

------

<Card title="December 16, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
   Performance
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Grouped Products Template Update
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
We’ve introduced a new template for grouped products as part of last week’s updates.
Theme developers are required to apply this change to ensure compatibility with the latest Vitrin structure.

What changed?
A simple substitution of the old Twig template with the new Jinja template:

Old (Twig):
{{ template_for_product_grouped }}

New (Jinja):
{% include 'vitrin:products/grouped-product.jinja' %}
    </p>
<!-- LINK -->
[Example implementation →](https://github.com/zidsa/soft-theme-vitrin/commit/574ea3d5b6a8a6ded6b1a6607d7590cd974c4222)
</Card>

---


<Card title="December 11, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
   <span style="background:#B91C1C; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:600; margin-right:6px; display:inline-block;">
    Action Required
    </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
     Payment
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Apple Pay Quick Checkout Template Support
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
Vitrin now fully supports the new Apple Pay Quick Checkout template, enabling faster and more seamless checkout experiences for customers.
All theme developers are required to update their themes to use this new template as soon as possible to prevent any checkout issues.
    </p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/apple-pay-quick-checkout-1859764m0)
</Card>

---


<Card title="December 7, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Checkout
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Checkout as a Pop-up
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
The checkout popup feature allows customers to display the checkout page inside a modal dialog instead of redirecting customers away from the current page. When enabled, this creates a smoother, faster checkout experience and allows customers to complete their purchase without losing context.
    </p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/checkout-as-a-popup-1806668m0)
</Card>

---

<Card title="December 4, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Performance
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
UndefinedErrors Now Visible in Dev Preview
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
Undefined-variable errors are now displayed in the development preview environment.
Themes that previously looked fine may now show errors—this is expected.
Use this update to fix missing fallbacks, handle optional values, and rely on safeget where needed.
    </p>
<!-- LINK -->
</Card>

---

<Card title="December 4, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Performance
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Updated Settings Mapping   
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
The Store Settings Mapping page has been updated with corrected and complete mappings.
Developers should review the page to ensure their themes reflect the correct configuration behavior.
    </p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/store-settings-mapping-1379317m0)
</Card>

---
<Card title="December 3, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Performance
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Validate Endpoint Now Available   
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
We’ve added a new /validate endpoint is now available for all partners.
Use it to instantly validate theme files, catch issues early, and shorten the testing cycle.
    </p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/theme-development#theme-testing)
</Card>

---

<Card title="November 18, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Performance
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Image Handling & Performance Update    
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
We’ve added a detailed guide in the Performance page for the new `image_url` helper, the equivalent of the old `imageUrl` function.
We strongly recommend all developers use `image_url` to generate responsive, optimized images, which greatly enhances performance and reduces page load time.
    </p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/performance-1379358m0)
</Card>

---

<Card title="November 18, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; margin-right:6px; display:inline-block;">
    Products
  </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; display:inline-block;">
    Categoris
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
Route Updates for Products & Categories
    </h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
**Products Route:**
Previously, both `/p` and `/products` were supported. Now, only `/products` is valid.
`/p` will permanently redirect to `/products`.
**Categories Route:**
`/c` now permanently redirects to `/categories`.

    ---
    
**🚨 IMPORTANT:** Always use the `url_for` filter when generating links. Hard-coding URLs may break your theme if routes change again in the future.
[Example `url_for` for a product details link
](https://github.com/zidsa/soft-theme-vitrin/blob/36c31cb1aaa2116c7be9527d12b707ce63bdc213/templates/reviews.jinja#L15)
    </p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/overview-1379323m0)
</Card>

---

<Card title="October 27, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#B91C1C; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:600; margin-right:6px; display:inline-block;">
    Action Required
  </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; display:inline-block;">
    Login
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
  Customer Login as a Pop-up
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
The login popup feature allows users to authenticate without leaving the current page. When enabled, it provides a modal dialog for user login, creating a smoother and more seamless user experience.
</p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/login-popup-1702155m0)
</Card>

---

<Card title="October 20, 2025">
<!-- TAGS -->
<div style="margin:0; padding:0;">
  <span style="background:#B91C1C; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:600; margin-right:6px; display:inline-block;">
    Action Required
  </span>
  <span style="background:#1E293B; color:white; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:500; display:inline-block;">
    Login
  </span>
</div>
<!-- TITLE -->
<h3 style="margin-top:16px; margin-bottom:12px; font-size:20px; font-weight:700;">
  Customer Address as a Pop-up
</h3>
<!-- DESCRIPTION -->
<p style="margin:0 0 16px 0; color:#9CA3AF; font-size:15px; line-height:1.6;">
  The address dialog feature allows users to add or edit their shipping addresses without leaving the current page.
  When enabled, it provides a modal dialog for address management, creating a smoother and more seamless user
  experience.
</p>
<!-- LINK -->
[Read full post →](https://docs.zid.sa/addresses-popup-1706785m0)
</Card>
