Welcome to the August 2026 release notes! Summer is winding down and the out-of-office messages are rolling in, but our Odyssey continues and hasn’t slowed for a second!
The headlines of this cycle are:
- Native MCP for UCP: a verified agentic-commerce endpoint for your store.
- Sales Rep Hub: a dedicated workspace and back-office app for sales representatives.
- Background Jobs: a new engine-agnostic background-processing module.
Native MCP for UCP first release
Your store becomes buyable inside AI agents. Virto Commerce can now expose a verified Model Context Protocol endpoint that speaks the Universal Commerce Protocol (UCP) - the open standard, co-developed by Google with Shopify and a coalition of retailers and payment networks, that AI shopping agents use to discover products, build carts, and complete checkout. Turn it on and agents such as Claude, Gemini or your own assistant can transact against your catalog, pricing and orders directly without no bespoke integration per surface.
Every AI surface that wants to sell your products has, until now, needed its own adapter - an unsustainable matrix of bespoke integrations. UCP collapses that matrix into one protocol: agents speak UCP, your store answers in UCP.
UCP connects the key stages of the AI-powered shopping journey:
UCP provides a unified integration layer between AI agents and your commerce stack, connecting agent interfaces with your catalog, pricing, cart, checkout, and order management capabilities:
Sales Rep Hub module first release
Sales representatives get their own workspace. The new Sales Rep Hub turns selected users into reps who serve a defined set of customer organizations, with a back-office app to create and assign them and a hub to work their book of business.
On the hub, a rep includes:
-
A Dashboard of KPI cards (orders on hold, active projects, orders placed MTD, my customers) with recent orders:
-
A My customers page listing every organization they serve with the latest order for each:
Reps can contact a customer’s whole organization by push or email in one action.
Sales Rep Hub. Frontend
Manage sales representatives. Platform
Sales Rep GraphQL
Background Jobs module first release
Background processing is now an engine-agnostic framework. A module defines a serializable payload and an IBackgroundJobHandler<T>, then enqueues work through IBackgroundJob. A single active engine per instance (Hangfire, RabbitMQ, or In-Memory) runs it, selected by configuration. Consumer modules reference only VirtoCommerce.Platform.Core and take no dependency on any specific engine.
The module ships with:
- Map/Reduce fan-out (checkpoint, resume, exactly-once).
- Recurring jobs (cron or setting-driven).
- Live job progress over SignalR.
- Retry with a dead-letter queue.
- KEDA autoscaling on queue depth.
No breaking changes. Hangfire stays the default engine and existing modules run untouched. RabbitMQ can be enabled as the primary engine with EnableLegacyHangfire=true so custom modules keep working on Hangfire side by side, then flipped off once migrated.
Page Builder Asset Library. Page Builder 3.1015.0
Page Builder gets a centralized, per-store Asset Library. Every uploaded file is stored once and referenced by URL, so an image can be reused across pages and components instead of being re-uploaded. It offers folder navigation with breadcrumbs, in-folder search, drag-and-drop upload, delete-with-usage-detection, an asset details panel, and a picker built into the Page Builder image control.
Organization-scoped roles. Customer 3.1014.0 + Frontend 2.53.0
A member’s access now comes from two kinds of roles combined:
- Company-wide roles assigned to the whole organization (every member inherits them automatically)
- Individual roles assigned to one specific member.
On the Company members page you can see all the roles each member holds, filter by role, and change the roles you manage in one organization without affecting any other.
Manage organization-scoped roles
Managing roles on the Frontend
Resilient large-backup restore. Backup and Restore 3.1001.2
Restoring large backups no longer hangs on proxy body-size limits. Admins can now pick a .zip that already lives in the store’s backups storage folder instead of uploading it through the browser. A new Backup storage hub opens the list of available backup files.
Admin session hardening Platform 3.1042.0
Stale or replayed cookies are now rejected on every request: sign-out rotates the security stamp server-side (“sign out everywhere”), the revalidation interval is configurable and short, and the application cookie is hardened with HttpOnly, SecurePolicy=Always, SameSite=Lax, and a bounded sliding expiration.
Session revocation and cookie hardening
Continuous performance improvements
We continuously work on improving Platform performance, using benchmarks to identify optimization opportunities and measure the impact of changes.
- Benchmark-driven optimization: Performance improvements are validated with benchmarks before and after changes, ensuring that optimizations are backed by measurable results.
- Shared benchmark logic: Reusable benchmark building blocks make it easier to measure performance across multiple modules.
- Benchmark Claude skill: A Claude Code skill helps scaffold and run benchmarks.
- Ready for local development: Benchmarks can be run locally, helping identify performance regressions before changes are released.
The equality and hashing performance improvements described above were identified and validated through this ongoing benchmarking process.
Faster equality and hashing. Platform 3.1039.3
A production hot path where ValueObject recomputed its equality components via reflection on every GetHashCode, Equals, and GetCacheKey call has been optimized. The result is a dramatic drop in CPU time and allocations at scale:
| Operation | Time (before → after) | Allocated (before → after) |
|---|---|---|
| GetHashCode (sum over list) | 3,297 μs → 403 μs (−88%) | 9,641 KB → 195 KB (−98%) |
| Distinct().Count() | 3,749 μs → 579 μs (−85%) | 9,839 KB → 393 KB (−96%) |
| Equals (value-equal pairs) | 6,822 μs → 905 μs (−87%) | 19,282 KB → 1,406 KB (−93%) |
| GetCacheKey (total length) | 5,330 μs → 3,268 μs (−39%) | 14,762 KB → 8,908 KB (−40%) |
| GetFlatObjectsListWithInterface | 87.4 μs → 38.4 μs (−56%) | 131.7 KB → 69.2 KB (−47%) |
Per-store asset (CDN) URLs. Store 3.1006.0 + xCatalog + xAPI
Each store can now define its own base URL for public asset links via Store asset URL, exposed through the xAPI. Relative paths are combined with it and absolute platform URLs are rebased onto it at query time, no reindexing required. Leave it empty to use the global default, and optionally restrict the absolute-URL rewrite to known hosts in appsettings.json.
Catalog linking permissions. Catalog 3.1037.0
Two new permissions control, per role and independently, whether a user can link categories (catalog:categories:link) or products (catalog:products:link) into virtual catalogs via the Catalog Map / Add → Link flow. Disallowed row types are dimmed in the picker, and the backend returns 403 for a disallowed type with no API bypass.
Migration note. Linking previously required catalog:*:update now requires the new *:link permissions. Grant *:link to existing roles that relied on *:update, or linking will start returning 403.
Numerical sorting for facet terms. Catalog 3.1034.0
When shoppers filter a catalog by a numeric property (size, length, weight, alcohol content), the facet values now read in natural number order (2, 4, 10, 34, 100) instead of alphabetical text order:
Red theme (light and dark modes) release. Frontend 2.53.0.
In addition to the Mercury, Coffee, Watermelon and other themes, a new Red theme has been released, inlcuding:
-
Light mode:
-
Dark mode:
BOPIS pickup locations with pagination. Frontend 2.53.0.
The cart “Pick points” modal now lets shoppers browse, search, and page through every store pickup location in the list and on the map, not just the alphabetically-first 50.
UI kit
The UI kit shipped a design-system refresh, released independently of the Frontend and VC-Shell:
-
Design tokens: A design-token preset system for consistent component theming.
-
New icons: Outline (Lucide) icons, plus refreshed module icons.
-
Buttons: Updated UI-kit buttons.
-
VcTable: Improvements to the VcTable data grid.
QA
QA shipped vc-fix, a full bug-lifecycle toolkit for Virto Commerce distributed as a Claude Code marketplace plugin (8 agents, 16 skills, 8 commands). It files, reproduces, fixes, deploys, and verifies bugs against a live deployment through one chain: /qa-bug → /qa-fix → human merge → /qa-deploy-pr → /qa-verify-fix, but never auto-merges.
This cycle updates include:
-
Self-diagnostics: An opt-in, local feedback loop (
vc-self-check\+ `/vc-feedback`) that tells whether the plugin’s own commands did the right thing, catching silent failures and, when confirmed, contributing a scrubbed fix upstream without leaking client code. -
Client-deployment routing: The autofix pipeline now speaks two trackers and two code hosts (Jira / Azure Boards, GitHub / Azure Repos), routing each bug to the right repo behind a hard client-code-containment invariant.
-
Hotfix lifecycle: A three-step chain to backport a released fix onto a frozen stable line and verify it live.
-
Regression dashboard and triage: A self-refreshing per-case HTML report with per-failure traces, cross-run trends, and a
qa-triage-resultsstep that classifies each failure and verifies the real ones.
Alongside the toolkit, the team stabilized flaky end-to-end tests, enriched CI runs with Platform, database, and Elasticsearch logs for faster failure analysis, and continued growing automated visual and functional regression coverage.
Marketplace
Configurable products matured across the catalog and order flow, demoed on the vendor/marketplace side:
-
Default option values for configuration sections and conditional sections that appear based on earlier selections:
-
Max length support for text-type sections:
-
Section names on order line items, so a configured product’s chosen components (ski bag, boot brand/size, binding, and so on) are clearly itemized on the order:
The marketplace also moved to the Stable 15 baseline this cycle.
For more information, request a demo
VC-Shell
VC-Shell reached v2.2.0 with a new calendar organism and a framework-wide hotkey layer, on top of a heavy security, accessibility, and performance pass:
-
VcScheduler: A new calendar organism with month grid, week timeline, and adaptive mobile agenda; built-in quick-create and event editing; and a full rrule-backed recurrence engine (repeat editor, occurrence expansion, this-event vs. all-events edit scope, zone-safe dates).
-
Keyboard shortcuts :
useKeyboardShortcutswith layout-independent matching, OS-aware⌘S/Ctrl+Schips and tooltips, and nav-root dispatch suppressed while modals are open. -
Security and reliability hardening: Explicit
postMessageorigins for the AI-agent bridge, a secure default iframe sandbox, 401 sign-out handling, guardedJSON.parse, and time-bound Module-Federation host loading. -
Accessibility and performance: Zero WCAG 2.1 A/AA violations with an axe audit harness, localized aria-labels and errors, lazy-loaded editor and charts, off-screen row skipping, and an environment banner plus navigation loading skeletons in the app shell.
Breaking change.VcDropdownPanel has been renamed to VcPopover for a clearer public component name.
Explore the new features and capabilities
Knowledge hub
-
Watch a B2B eCommerce Show with Virto Commerce Founders!
B2B buyers don’t shop the way B2C shoppers do. They reorder, they work inside approvals and contracts, and B2C experience patterns quietly break under that weight. In this episode, Virto Commerce’s founders explain why — and make the case for decomposable architecture: composition you can adjust one part at a time, instead of assembling and maintaining the whole stack yourself. Along the way, the hidden costs that surface in real projects, multi-region integration, where AI actually changes the economics of flexibility, and what a 13-year customer relationship teaches about building for change.
-
New asset SAP Hybris End of Life: Your Migration Playbook + Cases has been released.
SAP Commerce (Hybris) on-premise reaches end of maintenance on 31 July 2026. That deadline forces a decision — move to SAP Commerce Cloud, keep running on unsupported software, or replatform — and each path carries a different mix of risk, cost, and lock-in. This playbook lays out all three honestly, compares the main composable alternatives side by side, and walks the six steps from audit to go-live. Three real migrations show how it plays out — including how to modernize on your own terms without tearing out the ERP you already run.
-
Explore our Enterprise Digital Commerce Decision Guide.
Choosing an enterprise commerce platform is a decision you live with for years — and the wrong call means another replatforming before you’ve seen the return. This guide gives you the framework to avoid that: how to define your real requirements, compare build vs. buy vs. composable on their actual trade-offs, model total cost of ownership, and build a business case that ties the investment to revenue and operating results. It closes with a platform evaluation checklist and an implementation roadmap — so you invest with confidence and scale without a costly replatform.
-
Paradigm B2B’s 2026 Combine is out — the independent, analyst-run evaluation of B2B commerce platforms, scored across five strategic pillars and seven product capabilities with no vendor input into the result. Virto Commerce medaled in 9 of its 12 categories: five Gold, two Silver, two Bronze. Analyst Andy Hoar’s read: Virto is “particularly well-suited for midmarket B2B companies looking for a highly-customizable, all-in-one eCommerce platform,” with out-of-the-box Search, OMS, and Marketplaces called out as strengths and advanced intent search a standout.























