Along with an admin refresh, we have new naming for Miva Releases, including the year, and a release number.
This is Miva ’26 Release 1, or 26R1 for short.
In this release we have refreshed admin navigation, modernized dialogs, and improved visual styling. These changes improve usability and consistency across the admin experience.
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.
Version 26R1 is a major release introducing several new features and platform improvements designed to enhance data insights, profitability tools, storefront customization, and the overall admin experience.
AI Insights introduces a new way for merchants to explore store data using natural language questions directly within the admin. Instead of manually building reports, merchants can ask questions about orders, products, customers, or sales performance and instantly receive results.
Results are displayed visually and can be saved as reusable reports, making it easier to track trends and gain deeper insights into store performance.
Access AI Insights from the AI button in the top-right corner of the admin.
Want to learn more? See the AI Insights documentation
The reporting interface has been updated with a refreshed design and improved integration with AI Insights. Merchants can now generate reports more easily, visualize store data through updated charts, and manage saved reports directly from the admin.
These improvements make it easier to analyze store performance, track trends, and build reports that can be reused for ongoing analysis.
Want to learn more? See the Creating and Managing Reports documentation
Margin Awareness introduces new calculated fields that help merchants better understand and optimize product profitability. New Profit and Margin values are automatically calculated for products based on formulas you define, allowing merchants to make more informed marketing and promotion decisions.
Once configured, margin and profit values can be used throughout the platform, including product collections, Vexture Merchandising, and Search, with additional integrations planned for future releases.
Want to learn more? See the Margin Awareness documentation
Button and styling choices made in the Theme Editor are now applied more broadly across template pages in the Miva Shadows framework. This includes pages related to Accounts, Checkout, MivaPay, Wishlists, Static Pages, and more.
Want to learn more? See the Theme Editor documentation
The Product Charges and Fees module now supports additional fee options. Merchants can configure charges to apply once per order, regardless of the number of items, which is useful for products with a one-time setup cost.
Charges can also now be calculated as a percentage of the product price instead of a fixed amount, allowing fees to automatically scale with the value of the product.
Want to learn more? See the Product Charges and Fees Module documentation
| Bug ID | Component | Description |
| MM-16852 | AI Subsystem | AI Search Index Add / Edit Dialog's source select incorrectly sets the value before loading the list of sources |
| MM-16856 | AI Subsystem | Remove support for Vector Database configuration "Redis (Store)" and "Postgres (Store)" |
| MM-16908 | AI Subsystem | AI Data Insights: Core Tables and JSON Functions |
| MM-16912 | AI Subsystem | AI Data Insights: Conversation Associated Reports |
| MM-17041 | AI Subsystem | AI Insight Conversations should be aware of the LLMs max prompt token limit |
| MM-17128 | AI Subsystem | AI Data Insights: Embedded Graphical Reports |
| MM-17208 | AI Subsystem | Reports generated via AI Insights should generate real titles |
| MM-17414 | AI Subsystem | AI Data Insights Feedback |
| MM-16506 | Administrative Interface | Require signature validation for pre-provide.xml, eliminate provide.xml processing |
| MM-16626 | Administrative Interface | Display Ship / Bill Company name in Customer Dashboard |
| MM-16641 | Administrative Interface | Multi-Select Custom Element |
| MM-16645 | Administrative Interface | Selector Custom Element |
| MM-16689 | Administrative Interface | Custom Elements should support "size" attribute |
| MM-16696 | Administrative Interface | Date Time Picker Display Custom Element |
| MM-16740 | Administrative Interface | MMFlexItemCustomElement should support "show" / "hide" functionality |
| MM-16741 | Administrative Interface | MMGridColumnCustomElement: Support additional attributes |
| MM-16742 | Administrative Interface | MMGridCustomElement: Support "grow" / "noshrink" attributes |
| MM-16743 | Administrative Interface | MMSelectCustomElement: Setting a value before the element has been fully processed in the DOM tree results an incorrect selection |
| MM-16748 | Administrative Interface | MMFlexItemCustomElement: Add support for "sub-prompt" |
| MM-16749 | Administrative Interface | MMFlexItemCustomElement: Dynamically added elements should be moved to the content element |
| MM-16756 | Administrative Interface | MMFlexItemCustomElement: Setting actiononclick via setter does not work |
| MM-16759 | Administrative Interface | MMSelectCustomElement is not processed correctly if dynamically added to the DOM via innerHTML |
| MM-16765 | Administrative Interface | MMFlexItemCustomElement: Add support for "invalid" styling based on invalid child form elements |
| MM-16767 | Administrative Interface | MMGridColumnCustomElement default styling prevents MMGridCustomElement from overriding grid alignment |
| MM-16777 | Administrative Interface | MMButtonCustomElement is not processed correctly if dynamically added to the DOM via innerHTML |
| MM-16778 | Administrative Interface | MMWeightInputCustomElement is not processed correctly if dynamically added to the DOM via innerHTML |
| MM-16779 | Administrative Interface | MMFlexItemCustomElement prompt should only show the pointer cursor if clicking the prompt will visually act on the contained element |
| MM-16782 | Administrative Interface | MMCheckboxCustomElement is not processed correctly if dynamically added to the DOM via innerHTML |
| MM-16783 | Administrative Interface | Using the mm-radio custom element requires double encoding to avoid allowing html in the text field |
| MM-16784 | Administrative Interface | MMRadioCustomElement is not processed correctly if dynamically added to the DOM via innerHTML |
| MM-16807 | Administrative Interface | MMSelectorCustomElement should support invalid with no message and invalid options |
| MM-16829 | Administrative Interface | Core Module Field UI |
| MM-16830 | Administrative Interface | Report Add / Edit Dialog: Add Module Field UI Support |
| MM-16868 | Administrative Interface | BaseProductList: Support multiple onConstruct hooks |
| MM-16870 | Administrative Interface | BaseCustomerList: Support multiple onConstruct hooks |
| MM-16871 | Administrative Interface | BaseCategoryList: Support multiple onConstruct hooks |
| MM-16872 | Administrative Interface | Support link-applied search on the Products tab of the Catalog screen |
| MM-16873 | Administrative Interface | Support link-applied search on the Categories tab of the Catalog screen |
| MM-16875 | Administrative Interface | Support link-applied search on the Orders tab of the Order Processing screen |
| MM-16898 | Administrative Interface | Miva 26 UI Refresh: Style Guide |
| MM-16902 | Administrative Interface | Remove Ability to Disable MMTextEditor |
| MM-16981 | Administrative Interface | Miva 26 UI Refresh: Dialogs |
| MM-16985 | Administrative Interface | Miva 26 UI Refresh: Global Navigation UI (MMScreen) |
| MM-16989 | Administrative Interface | Margin Awareness: Core |
| MM-17066 | Administrative Interface | Miva 26 UI Refresh: Default Store Icons |
| MM-17067 | Administrative Interface | Miva 26 UI Refresh: Standardize MMMenuButton Menu Styling: Core |
| MM-17068 | Administrative Interface | Action Dialog does not have correct Miva 26 Styling |
| MM-17070 | Administrative Interface | Copy / Merge Changeset dialogs should use common select styling |
| MM-17094 | Administrative Interface | AI Data Insights: UI |
| MM-17108 | Administrative Interface | MMIconCustomElement should support "tone" |
| MM-17152 | Administrative Interface | MMMenuButton CSS Update: Color Picker |
| MM-17177 | Administrative Interface | Standardize MMMenuButton Style: MMTexteditor |
| MM-17195 | Administrative Interface | Standardize MMMenuButton Style: MMTexteditor: Preferences Dialog |
| MM-17198 | Administrative Interface | Standardize MMMenuButton Style: Product Image Picker |
| MM-17207 | Administrative Interface | Standardize MMMenuButton Style: Image Picker |
| MM-17213 | Administrative Interface | Standardize MMMenuButton Style: Property Link |
| MM-17215 | Administrative Interface | Standardize MMMenuButton Style: Property List Link Item |
| MM-17222 | Administrative Interface | Edit Product: Profit and Margin display updates |
| MM-17223 | Administrative Interface | Margin Settings display improvements |
| MM-17226 | Administrative Interface | Add ability to apply "container" styling to any element via an HTML attribute |
| MM-17227 | Administrative Interface | Data Management: Implement mm-container-style |
| MM-17231 | Administrative Interface | Add / Remove Modules: Implement mm-container-style |
| MM-17232 | Administrative Interface | Tab Sections: Implement mm-container-style |
| MM-17233 | Administrative Interface | User Two-Factor Dialog displays broken styling in TOTP screen |
| MM-17235 | Administrative Interface | Standardize MMMenuButton Style: MMTooltip Custom Element |
| MM-17244 | Administrative Interface | Standardize MMMenuButton Style: Embedded Path Mivapay |
| MM-17250 | Administrative Interface | Standardize MMMenuButton Style: Merchandising Prompt Configuration Dialog |
| MM-17254 | Administrative Interface | Standardize MMMenuButton Style: Property Base |
| MM-17255 | Administrative Interface | Standardize MMMenuButton Style: Property Base Text Base Item |
| MM-17256 | Administrative Interface | Standardize MMMenuButton Style: Base |
| MM-17264 | Administrative Interface | Standardize MMMenuButton Style: Branch Create Dialog |
| MM-17273 | Administrative Interface | Standardize MMMenuButton Style: Store |
| MM-17275 | Administrative Interface | Standardize MMMenuButton Style: Edit User Dialog: Icon |
| MM-17276 | Administrative Interface | Standardize MMMenuButton Style: Add User Dialog: Icon |
| MM-17312 | Administrative Interface | Implement new custom element: MMGridSectionCustomElement |
| MM-17316 | Administrative Interface | Standardize MMMenuButton Style: Page Builder: Property Textarea |
| MM-17323 | Administrative Interface | Miva 26 UI Refresh: API Token Add Dialog and Tooltip Style |
| MM-17336 | Administrative Interface | MMTextEditor stuck in "loading" display when Google Fonts are used in Safari 26.2 |
| MM-17363 | Administrative Interface | Theme colors should be capable of external reference |
| MM-17364 | Administrative Interface | Theme File Changes |
| MM-17368 | Administrative Interface | Standardize MMMenuButton Style: Page Builder: UI |
| MM-17381 | Administrative Interface | Auto-focus fields no longer receive focus in Safari |
| MM-17382 | Administrative Interface | Standardize MMMenuButton Style: Theme Editor |
| MM-17389 | Administrative Interface | Standardize MMMenuButton Style: Page Builder: Configuration Screen Component |
| MM-17393 | Administrative Interface | Update Menu Button Icon Color Variable |
| MM-17403 | Administrative Interface | Add hidden attribute to to Grid Column element for Hide/Show Functionality |
| MM-17408 | Administrative Interface | Miva 26 UI Refresh: ReadyTheme Navigation Item Add/Edit Dialog |
| MM-17454 | Administrative Interface | Browser window "unload" event has been deprecated |
| MM-16814 | Collections | Collection Dashboard should be converted to using MMSelectorCustomElement |
| MM-16962 | Core JSON | JSON_Filter_Contains_Search_Field does not handle top-level search_OR or search_AND clauses |
| MM-16975 | Core JSON | Searching product_inventory using multiple filters within a top-level search generates an incorrect query |
| MM-17327 | Core JSON | Products out-of-stock are not rendered by the MMX Product Details component |
| MM-17432 | Core JSON | Wildcard cache setting causes an unintended "wildcards" entry to be displayed in the MMList |
| MM-17401 | Crypto Library | Encrypt_Payment_Password returns 0 when a suitable cipher cannot be found |
| MM-16874 | Customers | Support link-applied search on the Customers tab of the Customers screen |
| MM-17229 | Customers | Customer Dashboard: Implement mm-container-style |
| MM-16994 | Database Layer | Margin Awareness: ProductList_Load_Related |
| MM-17001 | Database Layer | Margin Awareness: Runtime Product List Relevance Sort |
| MM-16791 | Framework Import/Export | Save Framework screen should use MMMultiSelectCustomElement |
| MM-16694 | Gift Certificates | Gift Certificate Add / Edit Dialog Redesign |
| MM-17120 | MMList | Miva 26 UI Refresh: MMList |
| MM-17147 | MMMenuButton | MMMenuButton CSS Update: Customer Dashboard |
| MM-17230 | Merchandising | Merchandising: Implement mm-container-style |
| MM-17000 | Module: customfields | Margin Awareness: Custom Fields |
| MM-16792 | Module: mailchimp | MailChimp should use MMMultiSelectCustomElement |
| MM-16998 | Module: mailchimp | Margin Awareness: MailChimp |
| MM-16489 | Module: mmui_stsl | Remove Store Selection Layout |
| MM-16853 | Module: multidomain | Multi-Domain: Domain Dialog's store select incorrectly sets the value before loading the list of stores |
| MM-16997 | Module: multidomain | Margin Awareness: Multi-Domain |
| MM-16732 | Module: mvfedexsoap | Core Software Shipping Classification: mvfedexsoap |
| MM-16926 | Module: mvuspsrest | USPS: Provisioning does not include From ZIP store setting |
| MM-17492 | Module: mvuspsrest | Separate packages only return Flat Rate Box shipping methods for USPS |
| MM-16729 | Module: prodexp | Core Software Shipping Classification: prodexp |
| MM-16992 | Module: prodexp | Margin Awareness: Export Products to Flat File |
| MM-16604 | Module: productcharges | Product Charges and Fees: Percentage Based Pricing |
| MM-16615 | Module: productcharges | Product Charges and Fees: Single Quantity Charges |
| MM-17249 | Module: productcharges | Product Charges and Fees can add child items to baskets / orders / quotes in an inconsistent order |
| MM-16996 | Module: productdata | Margin Awareness: Product Data Fields and Feeds |
| MM-16728 | Module: productimport | Core Software Shipping Classification: productimport |
| MM-16583 | Module: report_coupon_usage | report_coupon_usage: Use true temporary tables |
| MM-16832 | Module: report_coupon_usage | Coupon Usage Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16937 | Module: report_coupon_usage | Miva 26 Refresh: Home Screen Reports: Coupon Usage Report |
| MM-16584 | Module: report_customer_sales | report_customer_sales: Use true temporary tables |
| MM-16603 | Module: report_customer_sales | report_customersales: In/Not In Price Group does not honor Business Accounts |
| MM-16620 | Module: report_customer_sales | report_customer_sales: Support Collections for Product Selection |
| MM-16833 | Module: report_customer_sales | Customer Sales Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16938 | Module: report_customer_sales | Miva 26 Refresh: Home Screen Reports: Customer Sales Report |
| MM-16585 | Module: report_geosales | report_geosales: Use true temporary tables |
| MM-16621 | Module: report_geosales | report_geosales: Support Collections for Product Selection |
| MM-16831 | Module: report_geosales | Geographic Sales Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16939 | Module: report_geosales | Miva 26 Refresh: Home Screen Reports: Geographic Sales Report |
| MM-16586 | Module: report_productsales | report_productsales: Use true temporary tables |
| MM-16606 | Module: report_productsales | report_productsales: In/Not In Price Group does not honor Business Accounts |
| MM-16617 | Module: report_productsales | report_productsales: Geographic Restrictions |
| MM-16622 | Module: report_productsales | report_productsales: Support Collections for Product Selection |
| MM-16834 | Module: report_productsales | Product Sales Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16940 | Module: report_productsales | Miva 26 Refresh: Home Screen Reports: Product Sales Report |
| MM-16588 | Module: report_sales | report_sales: Use true temporary tables |
| MM-16607 | Module: report_sales | report_sales: In/Not In Price Group does not honor Business Accounts |
| MM-16618 | Module: report_sales | report_sales: Geographic Restrictions |
| MM-16623 | Module: report_sales | report_sales: Support Collections for Product Selection |
| MM-16836 | Module: report_sales | Sales Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16942 | Module: report_sales | Miva 26 Refresh: Home Screen Reports: Sales Report |
| MM-16587 | Module: report_sales_commission | report_sales_commission: Use true temporary tables |
| MM-16835 | Module: report_sales_commission | Sales Commission Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16941 | Module: report_sales_commission | Miva 26 Refresh: Home Screen Reports: Sales Commission Report |
| MM-16837 | Module: report_searchlog | Search Log Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16943 | Module: report_searchlog | Miva 26 Refresh: Home Screen Reports: Search Log |
| MM-16838 | Module: report_stats | Statistics Display Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16944 | Module: report_stats | Miva 26 Refresh: Home Screen Reports: Statistics Display |
| MM-16589 | Module: report_subscription_inventory_projection | report_subscription_inventory_projection: Use true temporary tables |
| MM-16839 | Module: report_subscription_inventory_projection | Subscription Inventory Projection Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16945 | Module: report_subscription_inventory_projection | Miva 26 Refresh: Home Screen Reports: Subscription Inventory Projection |
| MM-16840 | Module: report_subscription_metrics | Subscription Metrics Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16946 | Module: report_subscription_metrics | Miva 26 Refresh: Home Screen Reports: Subscription Metrics |
| MM-16591 | Module: report_subscription_product_stats | report_subscription_product_stats: Use true temporary tables |
| MM-16841 | Module: report_subscription_product_stats | Subscription Product Statistics Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16947 | Module: report_subscription_product_stats | Miva 26 Refresh: Home Screen Reports: Subscription Product Statistics |
| MM-16842 | Module: report_subscription_stats | Subscription Statistics Report: Add support for Module Field UI via "report" API version 26.01 |
| MM-16948 | Module: report_subscription_stats | Miva 26 Refresh: Home Screen Reports: Subscription Statistics |
| MM-16995 | Module: searchspringlive | Margin Awareness: Searchspring Live Indexing and Pricing |
| MM-17228 | Module: srchrplc | Template Search & Replace: Implement mm-container-style |
| MM-16991 | Module: stdschtasks | Recalculate Product Profit and Margin Scheduled Task |
| MM-16999 | Module: templatefeed | Margin Awareness: Template Based Feed |
| MM-16730 | Module: tforcefreight | Core Software Shipping Classification: tforcefreight |
| MM-17057 | Module: upsinsureshield | UPS InsureShield |
| MM-17064 | Module: upsinsureshield | UPS InsureShield Transaction Event Logging |
| MM-17280 | Module: upsinsureshield | Dynamic display of quote messaging based on insured value |
| MM-17439 | Module: upsinsureshield | Remove "shipping" from InsureShield BasketCharge |
| MM-17440 | Module: upsinsureshield | Quoted insuranceAmounts should reflect shipping charges |
| MM-17443 | Module: upsinsureshield | UPS InsureShield: TOS and Initial User Experience |
| MM-16733 | Module: upsrest | Core Software Shipping Classification: upsrest |
| MM-16809 | Page Builder | Page Builder Property Selector should be converted to using MMSelectorCustomElement |
| MM-16810 | Page Builder | Page Builder Button Property should be modified to display Button State Selector using MMSelectorCustomElement |
| MM-16811 | Page Builder | Page Builder Button Text Field should be modified to display Button State Selector using MMSelectorCustomElement |
| MM-17003 | Pendo | Send mymiva_id in Pendo requests |
| MM-16693 | Price Groups | Coupon Add / Edit Dialog Redesign |
| MM-16936 | Reporting Subsystem | Miva 26 Refresh: Home Screen Reports |
| MM-16854 | Scheduled Tasks | Scheduled Task Add / Edit Dialog's operation select incorrectly sets the value before loading the list of operations |
| MM-17338 | Search | Searches performed after placing an order are immediately attributed to that order |
| MM-16726 | Shipping/Packaging Rules | Core Software Shipping Classification: Storage |
| MM-16790 | Shipping/Packaging Rules | Shipping Method Rules Dialog should use MMMultiSelectCustomElement |
| MM-16993 | Subscriptions | Margin Awareness: Subscriptions |
| MM-17281 | Template Subsystem | Deleting a product / category can lead to associated Managed Content records not having their reference count decremented |
| MM-16812 | Theme Editor | Theme Editor Field Selector should be converted to using MMSelectorCustomElement |
| MM-16813 | Theme Editor | Theme Editor Button Configuration Screen should be modified to display Button State Selector using MMSelectorCustomElement |
| Bug ID | Description |
| SHDWS-987 | Theme Editor in Framework: Account |
| SHDWS-1001 | Theme Editor in Framework: Account: MivaPay |
| SHDWS-1027 | Address Validation should not prevent checkout with free orders |
| SHDWS-988 | Theme Editor in Framework: Affiliate |
| SHDWS-991 | Theme Editor in Framework: Catalog Pages |
| SHDWS-992 | Theme Editor in Framework: Global Theme Components |
| SHDWS-989 | Theme Editor in Framework: Checkout |
| SHDWS-994 | Add UPS InsureShield Content Section to OSEL page |
| SHDWS-1038 | Checkout Basket Summary: Add link to the product-name |
| SHDWS-1039 | Improve the "Order Minimum Page" layout to match other Shadows pages |
| SHDWS-947 | Normalize the form-control focus state styles |
| SHDWS-637 | Product List: Product Card: Alternative Hover Image |
| SHDWS-1017 | Product List & Details: Fragments should render mmx-text without extra spacing |
| SHDWS-1014 | Product Details: image dimensions properties should be editable when Inspect Element is enabled |
| SHDWS-1015 | Product Carousel: Add Theme Editor support to product price & name details |
| SHDWS-924 | MMX_ProductDetails' render functions should use their willRender functions where possible |
| SHDWS-1022 | MMX Product Details should render out-of-stock products |
| SHDWS-646 | Product List: Product Card: Review Stars |
| SHDWS-1016 | Improve global search-field JavaScript logic |
| SHDWS-990 | Theme Editor in Framework: Static Pages |
| SHDWS-283 | Add Width Slider to Rich Text Editor |
| SHDWS-993 | Theme Editor in Framework: Wishlists |