# Virto’s Release Notes | March 2025

**URL:** <https://www.virtocommerce.org/t/virto-s-release-notes-march-2025/767>\
**Category:** news digest\
**Created:** [February 26, 2025, 3:11pm UTC](https://www.virtocommerce.org/t/virto-s-release-notes-march-2025/767 "2025-02-26T15:11:55Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![Maria-Volkova-Tula](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/maria-volkova-tula/32/1326_2.png) [@Maria-Volkova-Tula](https://www.virtocommerce.org/u/Maria-Volkova-Tula)\
**Post date:** [February 26, 2025, 3:11pm UTC](https://www.virtocommerce.org/t/virto-s-release-notes-march-2025/767/1 "2025-02-26T15:11:55Z")

</div>

🌸 Welcome to the **March 2025** release notes from **Virto Commerce**! As we step into the first month of spring, we’re bringing fresh updates, powerful enhancements, and new features to help your business grow!

 ![March Release Notes](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/2/26af28e46a01ec859be2dbc4c900001927991ada.jpeg)

**Highlights**

- New payment provider added.
- Back-in-stock notifications enabled.
- Product reviews enhanced.
- Vendor registration request added.

## [Frontend 2.15.0](https://github.com/VirtoCommerce/vc-frontend/releases/tag/2.15.0)

- A new feature to **upload company logo** directly from the corporate account has been added. Admins can upload images in JPG and PNG format not exceeding 4.8 MB:

- Buyers can now review products from their completed orders and upload real photos of them. After an order is completed, a review widget appears on the product page, allowing the buyer to submit a review and an image. Once the seller approves the review, it is displayed on the product page next to the product description:

## [Frontend 2.16.0](https://github.com/VirtoCommerce/vc-frontend/releases/tag/2.16.0)

- A **Text message** section has been added to product configuration, allowing customers to enter custom text while personalizing their products. This can be used for messages on postcards, engravings on rings, greetings on cakes, and more:

- Organization maintainers can now view all company orders placed by any user. This allows them to track what was ordered, in what quantities, when, and by whom:

- Category names in facets have been localized to display consistent information:

## [Back in Stock 🥇](https://github.com/VirtoCommerce/vc-module-back-in-stock/releases/tag/3.800.0)

The Back-in-stock module has been released to help customers stay informed when products are available again. Once back-in-stock notifications are [enabled in the Platform](https://docs.virtocommerce.org/platform/user-guide/back-in-stock/settings/), customers can [subscribe to real-time notifications](https://docs.virtocommerce.org/storefront/user-guide/shopping/back-in-stock-notifications) that the product is [restocked](https://docs.virtocommerce.org/platform/user-guide/back-in-stock/stock-and-notifications-management/#stock-and-notifications-management):

![back-in-stock-subscription](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/d/d0533e27a78b8943c48f0442eabe834f136a8156.gif)

After the product is restocked, the subscribers receive the following notification:

 ![back-in-stock-notification](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/e/efa1161dc48b56d40829203dc6af1e59e87eadec.png)

Now, users can add the product to the cart from the list:

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/a/a5f4bf4e02cecd4241215509219b2bfca7f8fae4.png)

## [CyberSource Payment Provider 🥇](https://github.com/VirtoCommerce/vc-module-cyber-source/releases)

[CyberSource](https://docs.virtocommerce.org/platform/user-guide/cybersource/overview/), a new payment provider has been integrated into the Platform along with [Authorize.net](http://Authorize.net) and Skyflow:

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/8/83545f6f948299135f6f8f8e18aba9b199f7fafd.png)

## [CyberSource 3.801.0](https://github.com/VirtoCommerce/vc-module-cyber-source/releases/tag/3.801.0)

The module allows order managers to initiate **Capture** and **Refund** operations.

- **Capture** : Finalizes an authorized payment, completing the transaction:  

- **Refund** : Allows Order Managers to issue refunds for completed payments.  

## [Customer 3.824.0](https://github.com/VirtoCommerce/vc-module-customer/releases/tag/3.824.0)

Customers can now automatically return to their last active organization after logging in. When a customer signs in to the frontend with multiple organizations (e.g., OrgA, OrgB), they are logged in under their **Default company** by default. If no Default Company is set, they are assigned to the first organization they belong to. If the customer switches to another organization (e.g., OrgB), that organization is saved as their default for future sign-ins:

 ![scheme](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/0/0204aaf8fb261b9869a69b82c8f848fc3c267fa0.png)

## [Catalog 3.839.0](https://github.com/VirtoCommerce/vc-module-catalog/releases/tag/3.839.0)

The breadcrumbs localization feature has been added to ensure that category names in breadcrumb navigation are displayed in the appropriate language based on localization settings.

The localization logic is as follows:

1. **SEO (page title)**: If a **localized page title** is available in the SEO settings, it is used in the breadcrumbs. This value comes directly from the **SEO “Page Title”** field.

2. **Localized category name** : If no SEO page title is defined, the system falls back to the **localized category name**. This ensures that the breadcrumb reflects the appropriate language.

3. **Default category name** : If neither an SEO page title nor a localized category name is available, the **default category name** is displayed.

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c3264e71f1bf737f83f0224e7923af56e67600f2.png)

## [Templates to create modules](https://docs.virtocommerce.org/platform/developer-guide/Tutorials-and-How-tos/Tutorials/module-templates-for-dotnet-new/)

Templates to create own custom modules using `dotnet new` have been updated. The developer experience has been improved by adding an option to generate all the necessary classes for CRUD operations:

| Template Name | Description |
| --- | --- |
| [vc-module-dba-xapi](https://github.com/VirtoCommerce/vc-cli-module-template/tree/main/templates/vc-module-dba-xapi-template) | Creates a new Virto Commerce module with DB Agnostic and xAPI support. |
| [vc-module-dba](https://github.com/VirtoCommerce/vc-cli-module-template/tree/main/templates/vc-module-dba-template) | Creates a new Virto Commerce module with DB Agnostic support. |
| [vc-module-xapi](https://github.com/VirtoCommerce/vc-cli-module-template/tree/main/templates/vc-module-xapi-template) | Creates a new Virto Commerce module with xAPI support. |
| [vc-crud](https://github.com/VirtoCommerce/vc-cli-module-template/tree/main/templates/vc-crud-template) | Creates all the classes needed for CRUD operations. |

For more information, refer to our [video](https://youtu.be/C77kBhl1At4) or [documentation](https://docs.virtocommerce.org/platform/developer-guide/Tutorials-and-How-tos/Tutorials/module-templates-for-dotnet-new/)

## [Frontend modularity](https://docs.virtocommerce.org/platform/developer-guide/Frontend-architecture/modules-architecture/)

Modules architecture description has been updated to explain core concepts and interactions:

 ![platform-acrhitecture](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c5b5dda80b53067b6d9b6f630dd57a4c9b7ac95f.png)

The key concepts of modules architecture are as follows:

| Concept | Description |
| --- | --- |
| Core | The main application that includes the API, router, builder, and other systems. |
| Module | An additional functionality developed with minimal impact on the Core. It is a self-contained feature area within the application. Each module encapsulates its own components, services, APIs, and other related code. |
| Extensions | Extension points that belong to the Core, also called **holes** or **sockets**.   
 **Existing extensions** :   
 - client-app/shared/common/composables/useCustomProductComponents.ts   
 - client-app/shared/layout/composables/useCustomAccountLinkComponents.ts   
 - client-app/shared/layout/composables/useCustomMobileMenuLinkComponents.ts   
 - client-app/shared/layout/composables/useCustomHeaderLinkComponents.ts   
 - client-app/shared/layout/composables/useCustomMobileHeaderComponents.ts |
| Module management system | A decision-making point and business logic handler. It is represented as [settings\_data.json](https://github.com/VirtoCommerce/vc-frontend/blob/ce852a790b0cc8b0ba9b01e3fde3187c3d1bf2bd/client-app/config/settings_data.json) at the bundle level and as an array of modules in the **getStore** request at the store level. It can be considered a form of **Feature flags**. |
| Type generation system | Handles the generation of types and constants for GraphQL API. |

## Marketplace

- In the operator portal, operators can now easily switch between vendors. Previously, operators could access the Vendor portal on behalf of any registered vendor to manage vendor-specific settings, troubleshoot issues, and provide direct support without needing the vendor’s login credentials. This feature has now been extended to allow seamless switching between vendors within the Vendor portal:

- Vendors can now submit registration forms to operators themselves to simplify the onboarding process. Previously vendors could only be invited by operators:

For more information, [request a demo](https://virtocommerce.com/request-demo)

## VC Shell

- The mobile grid layout has been restyled:

- The mobile toolbar menu has been redesigned:  

- The blade search bar is now hidden by default on the main blade.​ You can toggle it using the special “Search” button in the app header.

- The settings menu has been redesigned both visually and internally:

- In the mobile view, the notifications dropdown has been moved to a separate button in the application header.

- Navigation between blades is now handled using the ← button, which, on a long press, opens a list of previous blades.​ The mobile view now accommodates a maximum of 5 widgets. However, if their names are too long or they don’t fit physically, they are dynamically hidden under a chevron:

- Instead of a burger menu, the user’s avatar is now used to access the navigation menu in the mobile view.

- The vc-table/grid component has been improved, along with enhancements to row and column drag-and-drop actions. They now move within their designated areas with clearer visual indication.

[Explore the new features and capabilities](https://vc-shell-storybook.govirto.com/)

---

_[View the full topic](https://www.virtocommerce.org/t/virto-s-release-notes-march-2025/767)._
