10.12.01 Resources (Release Date: 6/10/25 )
Miva Merchant updates include code and database changes that can take a short time to process. While we thoroughly test all updates to ensure they will not affect up-time it is still a good precaution to run updates outside of peak hours.
Miva’s AI Product Search initially used a single setting to decide how similar search results had to be to show up. This worked okay for some searches, but not for all.
As the feature rolled out to real stores, the team noticed two big issues. If a search was:
To fix this, instead of using just one rule, the team created a smart 3-level system based on how good the first search result is:
This flexible approach gives better results across different kinds of searches, especially when shoppers use filters (facets) to narrow things down further. It also helps handle bad or misspelled searches by still showing something potentially helpful.
Vexture is available in Beta only for now. To request access to the Beta visit: https://www.miva.com/vexture-search
The Combination Facets module allows multiple values—like Year, Make, and Model—to work together as a single filter. This is especially useful in things like parts finders, where users need to search by a specific combination.
Currently, when using the Combination Facet Flex Component, each dropdown (like Year) is always sorted in ascending order. That means users have to scroll from the earliest year—like 1940—to find newer options, which isn’t ideal.
To fix this without needing custom development, Miva added a sorting option for each field directly within the module. This lets you easily switch the sort order—for example, from newest to oldest—right from the admin.
Previously, there was no way to tell when an admin user account was created or when it was last used. This made it hard for store admins to know if an account is still active or can be deleted—especially on teams with lots of staff or developers.
Miva now tracks when each admin user was created and last logged in. This info is shown in the admin area so it's easier to spot inactive accounts and clean them up. It’s a simple update that helps improve overall security.
A security upgrade to the Miva admin will help prevent long-unused admin accounts from becoming targets for attackers. Previously, admin accounts don’t lock out automatically after a period of inactivity, which can be risky if those accounts belong to former developers or staff whose credentials might have been saved or compromised.
To address this, Miva is introducing a setting called "Revalidate Browsers When Password Older Than [X] Days" (defaulting to 180 days). If someone logs in with an old password, they’ll be required to reverify their browser through email and change their password before gaining access. This ensures the person logging in still controls the email linked to the account, adding a critical layer of protection.
This update avoids full account lockouts that could burden support teams, and instead focuses on increasing the security of dormant accounts without affecting active users. It builds on existing password change policies and browser verification, making the system more secure with minimal disruption..
Feature ID | Component | Description |
MM-15736 | Administrative Interface | OrderPayment cardbrand column |
MM-15782 | Administrative Interface | Forced Browser Reverification for Dormant User Accounts |
MM-15737 | Module: authnet | Authorize.Net: Populate OrderPayment.cardbrand |
MM-15738 | Module: braintree | Braintree: Populate OrderPayment.cardbrand |
MM-15739 | Module: chasepaytech | Chase Paymentech: Populate OrderPayment.cardbrand |
MM-15740 | Module: cybersource | CyberSource: Populate OrderPayment.cardbrand |
MM-15742 | Module: paypalcp | PayPal Complete Payments: Populate OrderPayment.cardbrand |
MM-15743 | Module: square | Square: Populate OrderPayment.cardbrand |
MM-15543 | Scheduled Tasks | Scheduled Task Status: UI |
Improvement ID | Component | Description |
MM-15783 | Administrative Interface | Add dt_created and dt_login columns to the Users table |
MM-15833 | Administrative Interface | Add logging of store-level module install, upgrade and uninstall events |
MM-16029 | Administrative Interface | Attribute template attribute list Default, Required, and Inventory column headers should not be abbreviated |
MM-16143 | AI Subsystem | AI Search Index List Record Count |
MM-16153 | AI Subsystem | Improved AI Search Indexing task efficiency and overlapping update handling |
MM-16225 | AI Subsystem | Improved 3 Tier Similarity Limitation for AI Search |
MM-15914 | Copy Product | Modify Copy Product recycle time limit to 30 seconds |
MM-16161 | Database Layer | Runtime search should log when falling back to a relational search |
MM-15913 | Import Subsystem | Modify import recycle time limit to 30 seconds |
MM-15851 | Module: combofacets | Combination Facets: MMX Combination Facet default sort |
MM-15950 | Module: endicialabels | Add Endicia Labels FEL counters for API calls |
MM-15832 | Module: multidomain | Warn if a user attempts to create a multi-domain using the primary HTTP host |
MM-15948 | Module: mvcanadapost | Add Canada Post FEL counters for API calls |
MM-15949 | Module: mvusps | Add USPS FEL counters for API calls |
MM-15883 | Module: reviewbaskets | The Review Baskets Product Code column should not be displayed in the basket list |
MM-15966 | Module: reviewbaskets | Add warning when converting basket to an order and one or more subscription items exist |
MM-15915 | Module: tforcefreight | Modify TForce Freight Copy Settings recycle time limit to 30 seconds |
MM-15947 | Module: tforcefreight | Add TForce Freight FEL counters for API calls |
MM-15916 | Module: upsrest | Modify UPS Shipping Copy Settings recycle time limit to 30 seconds |
MM-15943 | Module: upsrest | Add UPS Shipping FEL counters for API calls |
MM-15944 | Module: upsxml | Add UPS Shipping (XML) FEL counters for API calls |
MM-15541 | Scheduled Tasks | Scheduled Task Add / Edit Dialog Redesign |
Bug ID | Component | Description |
MM-15891 | Administrative Interface | Safari: macOS password manager can deduce the wrong username when changing admin password |
MM-16094 | Administrative Interface | Page Builder: Arrow keys in Text Settings inputs do not work as expected |
MM-16138 | Administrative Interface | Searchable Fields: AI Product Search warning can be out of sync with settings |
MM-16227 | AI Subsystem | Product_Transaction_Finalize_Insert doesn't correctly insert products into sNN_AISearchIndexXProduct |
MM-15912 | Collections | Collection filter does not properly handle "numeric" or "numeric_optional" custom field types |
MM-15765 | Copy Product | Copy Product fails to set the product's default option |
MM-15847 | Database Layer | Basket item processing can inconsistently process the child item order |
MM-16063 | Database Layer | Creating a store does not correctly populate the Store's branch variable |
MM-16184 | Database Layer | Order item processing can inconsistently process the child item order |
MM-15767 | Import Subsystem | Custom fields with the same code from different modules overlap when mapping import columns |
MM-15953 | Module: multidomain | Multi-Domain creates MultiDomainXProductCollectionExclusions when a product is deleted from a store |
MM-16150 | Module: mvavatax | AvaTax incorrectly sends address line 2 twice |
MM-15784 | Page Builder | Page Builder: PageBuilderUI_DataController_Component incorrectly sanitizes text property's "validation_pattern"/"validation_message" members |
MM-16055 | Payment | MivaPay URL validation does not properly support URI Management module sources |
MM-15906 | Scheduled Tasks | The Pre-calculate Product Discount Prices scheduled task closes the database view twice |
MM-16151 | Scheduled Tasks | ScheduledTask_ExecutionStatus_Commit does not work with the sleeping state |
MM-16157 | Scheduled Tasks | Scheduled Task Execution Status stops functioning when the cache is cleared |
MM-16068 | Template Subsystem | JavaScript error when attempting to uninstall a module while creating an item |
MM-16108 | Template Subsystem | Multiple Managed Property database functions fail to specify an ORDER BY causing results to be loaded inconsistently |
MM-16175 | Template Subsystem | Eliminate recursive miva_struct_member_callback data reference counting for page uridata |
MM-15975 | Wish Lists | Action_MoveAllProductsToWishList doesn't properly move child items to a wishlist |