Miva 10.05.00 is now available for all merchants. However, it is strongly recommended they install it when it it is right for their business. Merchants will be presented with the following upgrade warning before installing:
We recommend that you install the update at a time that will least impact your business. Non-Compliance Fees for this update WILL NOT BE CHARGED until April 15, 2023
We are excited to provide PageBuilder for all customers who are ready, and upon installation you can start using PageBuilder immediately.
Installing PageBuilder now will not alter or delete any of your existing pages. We recommend that you install the update at a time that will least impact your business.
Your store will not be considered out of compliance against this update until April 15th, 2023. Therefore, you may choose to postpone until after the new year and start using PageBuilder when the time is right for your business.
Important: Non-Compliance Fees will not be charged on 10.05.00 until 4/15/2023
10.05.00 Resources (Release Date: 12/19/2022)
Notable Bugs Fixed
Bugs Fixed
We recommend that you install the update at a time that will least impact your business. Non-Compliance Fees for this update WILL NOT BE CHARGED until April 15, 2023
We are excited to provide PageBuilder for all customers who are ready, and upon installation you can start using PageBuilder immediately.
Installing PageBuilder now will not alter or delete any of your existing pages. We recommend that you install the update at a time that will least impact your business.
Your store will not be considered out of compliance against this update until April 15th, 2023. Therefore, you may choose to postpone until after the new year and start using PageBuilder when the time is right for your business.
Important: Non-Compliance Fees will not be charged on 10.05.00 until 4/15/2023
10.05.00 Resources (Release Date: 12/19/2022)
- Release Notes, Customer Impact & Database Changes
- 10.05.00 Landing Page
- PageBuilder Landing Page
- PageBuilder Videos
- PageBuilder Reference Guide
PageBuilder - PageBuilder is Miva’s native visual tool for building, launching, and managing website pages and content. PageBuilder is a marketing-focused content manager which empowers non-technical users to easily create a broad range of beautiful ecommerce site pages, without the need for a developer or knowledge of HTML. PageBuilder Features Include:
|
New Shadows Theme
|
Subscription Out of Stock Handling & Notifications
|
Separate Admin URL Domain Setting
|
JSON API Updates
|
New Runtime APIs for accessing product and category data across any page in Miva. These functions include features such as:
|
UPS Worldwide Economy - Both Duties Paid and Duties Unpaid are supported.
|
Brand New Development Framework for Miva - Flex Components
|
Copy Page & Copy Page Rules
|
New Module API Features & Functions |
New Miva Employee Admin User Type
|
Preview Site & Price Groups at a future date and time
|
New Clear Basket Action – CBSK |
External Refund Payment Module – Allows external systems (such has Netsuite) to push refund information back to Miva to ensure accurate revenue reporting from Miva. |
Custom Page Fields – Ability to create/view/update custom field data associated with pages, in addition to new functions to read/write custom page data. |
New Public Custom Field Flag – Determines if custom field is available in new runtime product/category JSON APIs |
Redis Page Caching now supports bzip2 compression for HTML to reduce the overall size of data store in memory (~80% reduction) but adds about ~3ms to each cached page load (to uncompressed the data) |
Runtime_PaymentMethodList_Load now has a helper function in runtime.js to make it easier to call on any page |
Shipping Method Rules now take into account discounts applied to the basket |
If a user with the Administrator privilege is created with an expiration date, that user can no longer self-extend or remove their expiration. Another Administrator user is now required to make such a change. |
As a result of the module API changes added for Store Utility Modules, both Manage Quotes and Review Baskets can be accessed without the admin user having full access to Utilities |
|
Bug ID | Component | Description |
MM-3614 | Administrative Interface | Adding a product with an attribute code that is too long caused multiple products to be added to the order. (mysql strict mode) |
MM-8584 | Administrative Interface | Replace legacy page-based lookup screens with lookup dialogs |
MM-11410 | Administrative Interface | Runtime error: relation "pages" does not exist |
MM-11542 | Administrative Interface | Incorrect file path when creating a CSS/JS in a store with multiple branches |
MM-11585 | Administrative Interface | SetEditorSupprtsFullScreenSave_Enabled is misspelled in MMTextEditorCustomElement |
MM-11586 | Administrative Interface | MMSelectCustomElement can draw multiple MMSelect elements |
MM-11587 | Administrative Interface | MMSelectCustomElement generates incorrect options |
MM-11802 | Administrative Interface | MMDialog's does not properly reset auto-height when existing fullscreen |
MM-11814 | Administrative Interface | Adding a rule from the Copy Page dialog should refresh the list of rules |
MM-11815 | Administrative Interface | Add implicit Copy Page Rule |
MM-11820 | Administrative Interface | MMSelectCustomElement does not return created option in "add" function |
MM-11826 | Administrative Interface | Js error when viewing the shipping label overlay |
MM-11841 | Administrative Interface | Off by one rounding errors when calculating negative tax value for a basket level discount. |
MM-11967 | Administrative Interface | Name field of "Add Product" is able to be occupied by more than 100 characters. |
MM-12048 | Administrative Interface | Opening a runtime context from admin allows window.opener context to be run from runtime, allowing security vulnerabilities |
MM-12110 | Administrative Interface | MMDialog: SetFullscreenEnabled_MaintainDialogIntegrity does not set fullscreen height on subsequent fullscreen starts |
MM-12162 | Administrative Interface | MMImagePicker: Close "X" button no longer shows the icon |
MM-12228 | Administrative Interface | Page Builder Preview Session Verification |
MM-12331 | Administrative Interface | Create a login specific combined JS feature |
MM-12415 | Administrative Interface | Users should never be able to update their own expiration date |
MM-12439 | Affiliates | JSON_EarningList_Load_Query does not properly sort the Voided By column |
MM-11651 | Caching Subsystem | Flush Cache fails if Store Settings are accessed through universal search |
MM-11809 | Copy Product | Copy product fails to copy all custom fields in certain scenarios |
MM-11360 | Core JSON | Content-Type charset in JSON should always be utf-8 |
MM-11440 | Core JSON | Include Part weight in Parts object in the OrderList_Load_Query JSON API response |
MM-11490 | Core JSON | All JSON functions should output disp_order where supported |
MM-11525 | Core JSON | JSON_ProductVariant_Insert should validate all user submitted data |
MM-11530 | Core JSON | Callers of Store_Update_CacheSettings should not update g.Store |
MM-11635 | Core JSON | JSON_ProductPriceGroupList_Load_Query does not properly sort the "type" column on PostgreSQL |
MM-11834 | Core JSON | Include Part Cost in Parts object in the OrderList_Load_Query JSON API response |
MM-11852 | Core JSON | Additional API functions for MMT |
MM-11880 | Core JSON | JSON_Output should call miva_json_encode |
MM-11922 | Core JSON | JSON_Search_Filter_Contains_Field does not properly search SUBWHERE fields |
MM-11923 | Core JSON | Core JSON Custom Field Callback functions need to be updated to allow a list of allowed custom fields to be filtered/queried/sorted on |
MM-11975 | Core JSON | Custom field plan generators should not limit which modules can use "multitext" custom fields |
MM-12000 | Core JSON | JSON_OrderItem_OnDemandColumns does not output product_id |
MM-12210 | Core JSON | Post 10.04.01 merge, JSON_Runtime_Product_Read needs to use Runtime_Product_InventoryFields_Read_WithInventory Settings |
MM-12411 | Core JSON | JSON_Runtime_ProductList_Load_Query should support outputting subscription settings / terms as an ondemandcolumn |
MM-12431 | Core JSON | Caching of runtime category and product list JSON function results |
MM-12002 | Core Runtime | Runtime product list API function facet support |
MM-12215 | Core Runtime | Move BasketDiscountTotal_Delete_All_Basket to Runtime_Basket_Empty |
MM-12216 | Core Runtime | Move Basket_Update_SubCount into Runtime_Basket_Empty |
MM-11317 | Customers | Password Last Changed is no longer visible on the Customer Dashboard |
MM-11407 | Customers | From the Customer Dashboard tab, deleting the customer with no other customers on the store will produce a blank screen |
MM-11654 | Customers | When deleting a customer from customer dashboard with other existing customers, admin returns to customer list instead of next customer dashboard |
MM-11786 | Customers | Admin logging within Action_CustomerAddress_Insert doesn't include the customer record |
MM-11588 | Database Layer | Screen_StoreUtilityModuleLinkList Should check for an open store |
MM-11772 | Database Layer | sNN_Basket/OrderDiscountOptions should use the sNN_Basket/OrderOption id column for its unique identifier |
MM-12016 | Database Layer | DB_Filter_ISNULL should wrap expression in parenthesis when dealing with 2 or more expressions |
MM-12166 | Database Layer | Add an index to the Bookmarks table that uses the disp_order column |
MM-12286 | Database Layer | Image_Update_Dimensions fails to notify not_image modules of changed dimensions in certain scenarios |
MM-12302 | Database Layer | SQL_Query_Index_OrderBy does not properly handle null_integer/number/double/bool columns |
MM-11549 | Discounting Subsystem | When adding a coupon to a basket via Review Baskets, then adding a qualifying product in runtime, the discount is not removed |
MM-12217 | Facets | Leakage of loaded facets in FacetList_Load_All_LowLevel_With_Query can result in fatal runtime errors |
MM-9839 | JSON API | Add AllOrderPaymentList_Load_Query to JSON API whitelist |
MM-11395 | JSON API | API Insert / Add functions should return the newly created record |
MM-11593 | JSON API | JSON_StoreCountryList_Load_Query improperly references the result set disp_order value |
MM-12101 | JSON API | PriceGroup and Coupon should output datetime fields using JSON_DateTime |
MM-12212 | JSON API | ProductVariant_Insert and ProductVariantList_Load_Query output inconsistent |
MM-11642 | MMBatchList | JS error in advanced search on the Template history for branch dialog batchlist. |
MM-11875 | MMBatchList | MMList: Full screen mode is missing the close X on the exit fullscreen button. |
MM-11965 | MMDialog | Customer payment card add/edit dialog gives generic, unhelpful error messages |
MM-10692 | MMList | Incorrect Sort order when moving records with drag and drop |
MM-11952 | MMList | MMList: Viewable Text Area column "View" buttons can be misaligned |
MM-11874 | MMMenuButton | Runtime Branch Preview: Selection can get stuck in certain circumstances |
MM-11114 | Module: avatax | AvaTax: When shipping price groups use a discounted charge for discount, a negative tax is applied |
MM-12149 | Module: avatax | AvaTax advanced search "AvaTax From Country" is unusable |
MM-12130 | Module: braintree | Mivapay reported error when Braintree credentials are incorrect is unhelpful. |
MM-11550 | Module: cmp-cssui-afflink | Affiliate Sign-In Link code should only attempt to load the affiliate session if the affiliates program is enabled |
MM-10705 | Module: cmp-cssui-prodlist | Add custom module validation to prodlist provisioning |
MM-11836 | Module: cmp-mv-flex | Support for multiple CSS/JS files per flex component |
MM-11837 | Module: cmp-mv-flex | Naming Terminology Change: Flex "Item" to "Flex Component" |
MM-12343 | Module: cmp-mv-flex | FlexComponentAdd modifications for use in frameworks |
MM-12345 | Module: cmp-mv-flex | Allow FlexComponentDelete to retain resources |
MM-12447 | Module: cmp-mv-flex | Adding a Flex component should support existing inline resources |
MM-12003 | Module: cmp-mv-prodctgy-meta | Product & Categories Fields should return the custom field type |
MM-12015 | Module: cmp-mv-prodctgy-meta | sNN_METAXXX value/value_long columns should contain NULLs instead of empty strings |
MM-11830 | Module: cmp-mv-sequence | Use TemplateManager_DateTime for sequence date comparisons |
MM-11948 | Module: customfields | Fields set via Product/Category/Customer/OrderField_Value should update the in-memory cache of the existing product |
MM-12030 | Module: customfields | XXXField_Update does not allow removing the custom field from a group |
MM-12031 | Module: customfields | XXXField_Update does not allow changing the case of a field code |
MM-12032 | Module: customfields | XXXField_Update does not delete field options when the field type changes |
MM-12033 | Module: customfields | JSON_CustomFieldList_Load_Query outputs an unused field option "type" value |
MM-12034 | Module: customfields | Module_Provision_Store_OrderField_Value incorrectly logs the order ID when an order value is set |
MM-12185 | Module: customfields | Custom Field page values should be copied when the page is copied |
MM-11504 | Module: endicialabels | Endicia shipping labels, Sign up for an ELS sandbox account link is dead. |
MM-12360 | Module: imagemanagement | Check for Updated Images does not refresh image attributes on Image Management screen |
MM-12361 | Module: imagemanagement | Generated images are not deleted from the server after using "Check for Updated Images" |
MM-10704 | Module: mailchimp | Set MailChimp cookie with Secure flag |
MM-10898 | Module: mailchimp | Register MailChimp URL tracking parameters with Miva Cache Settings |
MM-11535 | Module: mailchimp | MailChimp tracking cookie doesn't set an expiration time |
MM-11957 | Module: marketplaces | ScheduledTaskOperationList_Load leaks operations across modules |
MM-11200 | Module: paypalcp | PayPal Commerce Platform: MivaSQL bug causes UNIQUE constraint index error |
MM-11812 | Module: paypalcp | PaypalCP orders created with missing address information during paypal checkout. |
MM-12104 | Module: paypalcp | Modify OnApprove behavior to recalculate taxes with full address to fix tax discrepancy |
MM-12369 | Module: paypalcp | PayPal Commerce Platform unnecessarily patches the PayPal order at checkout |
MM-12372 | Module: paypalcp | PayPal Commerce Platform: Unable to clear PO box from shipping address once present in basket |
MM-12398 | Module: paypalcp | PO Box exclusion is not enforced when using PayPal checkout |
MM-11984 | Module: productdata | The generated custom field plan should not limit multitext custom fields to modules with an API version of 9.08 or higher |
MM-11673 | Module: qship | ShippingModule_Description returns unencoded method name |
MM-10392 | Module: quote | Add id column to sNN_QuoteOptions |
MM-11321 | Module: quote | Manage Quotes: Multiple Quotes per basket should be supported |
MM-11528 | Module: quote | Store Utility privilege should not be required to use the quoting portions Manage Quotes |
MM-11626 | Module: quote | l.quote:items array not being reset between iterations on quote reminder/expiration emails |
MM-11773 | Module: quote | sNN_QuoteOptionDiscounts can have duplicate index errors when multiple custom attributes exist |
MM-11864 | Module: quote | Include Part Cost in Parts object in the QuoteList_Load_Query JSON response |
MM-11866 | Module: quote | Manage Quotes should implement the cleanup_store feature |
MM-11868 | Module: quote | Quote_DummyBasket_Cleanup doesn't correctly delete the QuoteXBasket record |
MM-11869 | Module: quote | Include Part weight in Parts object in the QuoteList_Load_Query API response |
MM-11882 | Module: quote | Test Case C377062 - Request Quote tab on ABUS page has a blank template that can't be edited |
MM-12332 | Module: quote | Shipping method does not persist when reopening dialog in Manage Quotes |
MM-12418 | Module: readytheme | ReadyTheme should not resize the images if the specified size matches the existing image |
MM-11442 | Module: report_geosales | report_geosales, Fatal error when running a report with date range set to all dates |
MM-11961 | Module: report_sales | Y axis labels not properly displaying the lower range in sales report |
MM-11523 | Module: report_subscription_metrics | Subscriptions metrics report does not work with “every N months” subscriptions. |
MM-11616 | Module: report_subscription_metrics | Annual Reoccurring Revenue is incorrectly calculated for "Every N Days" subscription term frequency |
MM-11617 | Module: report_subscription_metrics | Subscriptions yet to be processed are included in the report data |
MM-11529 | Module: reviewbaskets | Store Utility privilege should not be required to use Review Baskets |
MM-11781 | Module: reviewbaskets | JSON_ReviewBaskets_ItemList_Load could output an error mid-success response |
MM-11910 | Module: shipimport | Shipment import, mysql strict error when excluding the optional cost field during import. |
MM-11538 | Module: square | Square Configuration Dialog is mis-sized when the processing icon is spinning |
MM-11611 | Module: stdschtasks | Standard Scheduled Tasks: Generate Dashboard Reports: Reports that fail should be logged with an error |
MM-12142 | Module: taxjar | TaxJar Product / Category custom fields do not sort properly on PostgreSQL |
MM-12348 | Module: taxjar | Any error returned from TaxJar in the scheduled task causes the scheduled task to exit |
MM-12371 | Module: taxjar | New transactions created after a refund transaction incorrectly uses the original transaction date |
MM-11486 | Module: templatefeed | Add note_count, dt_pwchg, tax_exempt, order_cnt, order_avg, and order_tot fields |
MM-11522 | Module: templatefeed | Template Based Feeds: Customer shipping / billing fields are not retained when in Point + Click mode |
MM-12292 | Module: upsxml | UPS Developer Kit attempts to insert invalid basket info records in certain scenarios |
MM-12274 | Page Builder | Add way to preview site at a future date from In admin site preview in Page Builder |
MM-12393 | Page Builder | Add Title tag to Page Builder Refresh Button |
MM-11943 | Payment | JSON_CustomerPaymentCardList_Delete has the incorrect Admin Log message |
MM-12068 | Payment | Payment_reCAPTCHA_Is_Active causes an MvDO error if an invalid module is passed in |
MM-11964 | Provisioning | PRV_Action_Provision_Store_ProductSubscriptionTerm _Update deletes all term dates even when the Frequency tag is omitted |
MM-12320 | Provisioning | PRV_Order_Item does not properly handle variant digital downloads |
MM-11603 | Setup Script | setup.mvc serves up insecure content when run over https |
MM-12229 | Shared Core | Restrict crossorigin="use-credentials" to clientside resources intended to be used in sandboxed iframes |
MM-10443 | Shipping/Packaging Rules | Shipping method rule subtotal checks should take into account discounts. |
MM-11630 | Shipping/Packaging Rules | Packaging Rules: Box Packing selection is not checking to ensure module is active |
MM-11510 | Subscriptions | Customer Information is missing from the Authorization Failure Log when a Subscription fails to process |
MM-11920 | Subscriptions | JSON_Subscription_Insert should use the customer's default address when the Customer Address is not specified |
MM-12167 | Subscriptions | Add an index to the sNN_ProductSubscriptionTerms table that uses the disp_order column |
MM-11573 | Template Subsystem | Redis page caching should ultilize bzip2 compression |
MM-11610 | Template Subsystem | Cannot sort or search Linked Pages for Resource by Cache |
MM-11614 | Template Subsystem | ItemPageList_Load_Query fails to sort/search the Cache column |
MM-11785 | Template Subsystem | Trim notes for TemplateManager_Page_Update_Settings and TemplateManager_Page_Update_Global_Settings |
MM-11808 | Template Subsystem | Layouts are not being prevent to be rendered at runtime |
MM-12043 | Upsale | Checkout with a product that has a sale price and is part of an upsale shows incorrect price when the sale price is greater than the upsale price therefore increasing your order cost |
MM-12458 | Utility Library | DiscountState_Adjusted_Price should return the product price when product:pgrpcount == 0 |
Comment