Miva 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.
26R2 is major release including the following feature highlights
Vexture Merchandising now gives merchants greater control over how products are selected, grouped, sorted, and prioritized across the storefront. Merchandising Showcases can be built from collections, categories, Vexture search strings, or AI prompts.
Search results and category product displays now support default, search-specific, and category-specific boosting and sorting rules. Category-level rules can also be inherited by subcategories, allowing merchandising strategies to cascade through the category tree. Each boosting rule supports up to 26 filters.
Want to learn more? See the Vexture documentation.
Page Cache now automatically updates cache keys when related product, category, or page content changes. Product and category edits invalidate only the affected cached content, allowing unrelated pages to continue serving from cache for faster storefront performance.
Flex component JSON requests are kept in sync with page cache state, helping prevent visitors from seeing a mix of old and new data.
Want to learn more? See the Full Page Caching documentation
Category Facets now let shoppers choose multiple matching categories in search results, making it easier to narrow a search.
Product List component settings can also display matching categories as category cards above or below the search results.
Merchants using AvaTax, TaxCloud, or TaxJar now have clearer tax status information directly in the order overlay. AvaTax displays both the Miva Merchant status and AvaTax transaction status, TaxCloud displays the Miva Merchant status, and TaxJar labels its status field more clearly as Miva Merchant Status.
TaxCloud uses the current completed date for recreated orders to support accurate reporting periods, and AvaTax tracks hash versions internally to help avoid unnecessary API calls.
| Bug ID | Component | Description |
| MM-17753 | Administrative Interface | Collection Filter "Empty Field" operator displays a value input field |
| MM-17800 | Administrative Interface | Fix customer address validation dialog radio selects address text display |
| MM-17820 | Administrative Interface | Merchandising Showcases: UI |
| MM-17870 | Administrative Interface | MMScreen "panel" element can scroll hidden content programmatically when focusing elements outside of the viewport |
| MM-17886 | Administrative Interface | Admin Style Guide: Focusable Form Fields have incorrect focus shadow |
| MM-17893 | Administrative Interface | Admin Structural Custom Elements: Standardize Attributes |
| MM-17899 | Administrative Interface | MMInputCustomElement should support processTreeChanges |
| MM-17936 | Administrative Interface | MMSelectCustomElement will not properly set the "value" attribute when using the keyboard to change values |
| MM-17951 | AI Subsystem | Vexture Settings: Postgres password reverts to "Use Password" on every page load |
| MM-17956 | AI Subsystem | Rebuilding an AI Search Index incorrectly displays "redis" text when configured with Postgres |
| MM-17746 | Core JSON | Runtime Product List: Collection Query Support |
| MM-17747 | Core JSON | Runtime_MerchandisingProductList_Load_Query: Merchandising Showcase Support |
| MM-17782 | Core JSON | Runtime_MerchandisingProductList_Load_Query refactor to use BaseRuntimeProductList_Load_Query |
| MM-17824 | Core JSON | Category Boosting Rules |
| MM-17826 | Core JSON | Search Boosting Rules |
| MM-17829 | Core JSON | Runtime_CategoryProductList_Load_Query: Cache Behavior Correction |
| MM-17861 | Core JSON | Runtime JSON ProductList loading functions do not sort by discounted prices when the sale_price ondemandcolumn is requested |
| MM-17864 | Core JSON | Runtime_MerchandisingProductList_Load_Query: Cache Behavior Correction |
| MM-18024 | Core JSON | Boosting rules should support sort by "Best Sellers" |
| MM-17758 | Core Runtime | Product Custom Field API: Boost Capability |
| MM-17757 | Database Layer | SQL_Query Helper Functions: Boosting Rule Support |
| MM-17766 | Database Layer | Positional Relevance ORDER BY Support in SQL Query Functions |
| MM-17773 | Database Layer | Runtime ProductList Query Building: Boosting Rule Support |
| MM-17809 | Database Layer | Merchandising Showcase Refactor: Prompt and Boosting Rule Consolidation |
| MM-17859 | Database Layer | Boosting Rules: Additional Boost-Supported Filters |
| MM-17744 | Merchandising | Add ability to update a Merchandising Prompt via provisioning |
| MM-17745 | Merchandising | Merchandising Showcases: Core |
| MM-17760 | Merchandising | Boosting Rules: Core |
| MM-17821 | Merchandising | Merchandising Showcases: Boosting Rule Application |
| MM-17823 | Merchandising | Default Category and Search Boosting Rules: Core |
| MM-17881 | Merchandising | Universal Search: Update Merchandising entries to match new screens |
| MM-17806 | Module: avatax | Create new hash version to handle future order hashes |
| MM-17894 | Module: avatax | AvaTax includes refunded items when creating tax invoices |
| MM-17911 | Module: avatax | Add the current AvaTax status to the order details screen |
| MM-17930 | Module: avatax | AvaTax fallback tax calculation calculates tax on cancelled and returned items |
| MM-17989 | Module: avatax | AvaTaxInvoice_Call_Load_Admin uses incorrect value for 'to_addr' value |
| MM-17994 | Module: avatax | AvaTax refunded and recreated invoices reference the incorrect invoice code |
| MM-17843 | Module: cmp-cssui-prodlist | CSSUI Product List: Category and Search Boosting Rule Support |
| MM-17849 | Module: cmp-cssui-searchfield | CSSUI Search Field: Search Boosting Rule Support |
| MM-17877 | Module: cmp-mv-flex | Page Builder: Merchandising Showcase Property (merchandisingshowcase) |
| MM-17919 | Module: cmp-mv-shipselect | Shipping methods should include a base_price member |
| MM-17992 | Module: fedexrest | FedEx REST Rating/Shipping calls incorrectly define groupPackageCount and is missing sequenceNumber |
| MM-17993 | Module: fedexrest | FedEx REST rate may be incorrectly pulled from the response when rate type is LIST |
| MM-18013 | Module: fedexrest | FedEx REST Non US/CA/PR address should not send stateOrProvince |
| MM-18048 | Module: fedexrest | FedEx REST: Selected shipping method is always replaced with "last" method when applying shipping to the basket |
| MM-17818 | Module: productcharges | Product Charge titles are missing entity encoding |
| MM-17891 | Module: productdata | Product Data Fields and Feeds: Incremental Feed Generation |
| MM-17817 | Module: readytheme | ReadyTheme Content Section and Navigation Set titles are missing entity encoding |
| MM-17832 | Module: srchrplc | Template Search and Replace does not properly link to Layouts and Fragments |
| MM-17842 | Module: srchrplc | Search and Replace should title Page results with related Page Code over Template filename |
| MM-17908 | Module: stdfacets | Standard Facets: Checkbox (Multi-Select) Category Facet Mode |
| MM-17835 | Module: taxcloud | TaxCloud order completion date always uses the date the order was placed |
| MM-17906 | Module: taxcloud | TaxCloud order completion date should always use the current datetime |
| MM-17922 | Module: taxcloud | Add the current TaxCloud status to the order details screen |
| MM-17921 | Module: taxjar | Add the current TaxJar status to the order details screen |
| MM-17854 | Module: upsrest | Remove default shipping method exclusions from UPS Shipping |
| MM-17822 | Page Builder | Flex Components with large names overflow past parent width |
| MM-17792 | Shipping/Packaging Rules | Percent-Based Shipping Rate Adjustments to $0.00 Floor |
| MM-17712 | Template Subsystem | Page Cache: Page, Product and Category Modification Tracking |
| MM-17825 | Theme Editor | Duplicating Display, Primary Link, Secondary Link, Primary Navigation, and Secondary Navigation buttons in Theme Editor renders as black rectangles |
| Bug ID | Description |
| SHDWS-1152 | Category page canonical URLs should include the Offset |
| SHDWS-1142 | BASK: Preserve scroll position after a quantity update |
| SHDWS-1094 | JSON Cache Invalidation: mmx-product-list & mmx-base |
| SHDWS-1099 | JSON Cache Invalidation: mmx-category-carousel |
| SHDWS-1098 | JSON Cache Invalidation: mmx-category-list |
| SHDWS-1125 | Combination Facet dropdown menus are too narrow in FireFox |
| SHDWS-1101 | mmx-dialog colors should be customizable and use existing mmx-base CSS variables |
| SHDWS-1097 | JSON Cache Invalidation: mmx-featured-product |
| SHDWS-1135 | Product List: Price slider's mmx-form-input-range knob drag incorrectly |
| SHDWS-1095 | JSON Cache Invalidation: mmx-product-carousel |
| SHDWS-1110 | Product Carousel: heading should be able to hide when no products are displayed |
| SHDWS-1126 | JSON Cache Invalidation: Runtime_MerchandisingProductList_Load_Query |
| SHDWS-1132 | mmx-product-carousel: Convert merchandisingprompt to merchandisingshowcase |
| SHDWS-1096 | JSON Cache Invalidation: mmx-product-details |
| SHDWS-1106 | Product Details: Should not show a console error when it has attributes without a quantity-input |
| SHDWS-1100 | JSON Cache Invalidation: mmx-product-fitment-list |
| SHDWS-1116 | Product List: Should not have extra whitespace below footer when there are lots of "Show More" facet-values |
| SHDWS-1119 | Product List: Category Facets should apply "Show More" property |
| SHDWS-1120 | Product List: Default image-size should better match largest display size |
| SHDWS-1131 | mmx-product-list: Convert merchandisingprompt to merchandisingshowcase |
| SHDWS-1140 | Product List: Categories in Search Results |
| SHDWS-1149 | Remove rel=nofollow to SFNT & PROD pages |