*** WooCommerce Mix and Match Products Changelog*** 2020-12.07 - version 1.10.6 * Fix - Grand total calculations for containers + Product Addons. * Fix - Prevent double discounts when discounting from sale price. * Fix - Harden calls to init gallery on child product images to prevent Uncaught TypeError: .wc_product_gallery is not a function. * Fix - Use wc_product_class() for opening child item divs/rows. Restores compat with filters mini-extension. * Fix - Min/Max Quantities compatibility - ignore rules on variations too. 2020.11.18 - version 1.10.5 * Update: Tested up to WooCommerce 4.7.0. * Fix: Support Min/Max Quantities Variation level min/max rules. * Fix: CoCart integration configuration support for variation IDs in container. * Fix: Fix compatibility with Validate by Weight mini-extension. 2020.10.16 - version 1.10.4 * Update: Tested up to WooCommerce 4.6.0. * Fix: Restore compatibility with One Page Check single product template. * Fix: Harden is_child_supported_product_type() helper in case $product is false (ie, product no longer exists,etc) * Fix: pass container object to wc-mnm-container-quantities-updated trigger in front end script 2020.09.29 - version 1.10.3 * New: Add ability to configure the contents of a Mix and Match container in editable/manually-created subscriptions. * Fix: PHP notice when adding to cart with any child products out of stock. 2020.09.09 - version 1.10.2 * Update: Tested up to WooCommerce 4.5.0. * New: add has_options() method to product class for better compat with blocks. * Fix: Elementor style rule, force Elementor to display MNM form as a block instead of flex layout. * Fix: Fix incorrect shipping state on child items in manually created orders. 2020.08.25 - version 1.10.1 * Fix: Validate stock against quantity already in the cart. 2020.07.24 - version 1.10.0 * IMPORTANT: Includes a Database update so please make a database backup before proceeding. * New: REST API support for Mix and Match properties in product and order responses. * New: Compatibility with CoCart plugin. Props @seb86! * Dev: Change boot method so that `class_exists('WC_Mix_and_Match')` reliably determines if the plugin is active. * Dev: Deprecate woocommerce_mnm_order_item_part_of_meta_name filter * Dev: Change "Container size", "Part of", and "Purchased with" order item meta keys to "mnm_container_size", "mnm_part_of", and "mnm_purchased_with" * Fix: Repair mnm_data meta data save routine. 2020.07.09 - version 1.9.13 * Fix: Update plugin header with tested up to WooCommerce 4.3.0. 2020.07.09 - version 1.9.12 * Update: Tested up to WooCommerce 4.3.0. * Fix: Fatal error in cart subtotals for Mix and Match container and child products with WC 4.3.0. 2020.06.25 - version 1.9.11 * Fix: Delete accidental logging when container is not purchasable. 2020.06.24 - version 1.9.10 * Fix: Add parameter to wc_mnm_price_format() to return string without HTML. Resolves html in dropdown for All Products with Subscriptions (with bridge plugin). 2020.06.20 - version 1.9.9 * Fix: Make reset button work when editing quantities in cart/after add to cart. * Tweak: Deprecate maybe_sync() method. Check handled by sync(). 2020.06.15 - version 1.9.8 * Fix: Exclude build tools from zip file. Reducing zip file size. * Fix: Force saving the base price if it doesn't exist. 2020.06.07 - version 1.9.7 * Fix: Stray comma causing parse error in thumbnail template. 2020.06.06 - version 1.9.6 * Update: Tested up to WooCommerce 4.2.0. * Fix: Add product ID as value attribute to add to cart button. Better compatibility with some ajax add to cart theme scripts. * Fix: Incorrect display in cart price column for products with per-item pricing. * New: Add wc_mnm_product_thumbnail_link_classes filter for changing lightbox trigger classes. 2020.05.21 - version 1.9.5 * Fix: Incorrect initialization of the photoSwipe scripts! * Fix: Prevent linking to thumbnails if theme does not support `wc-product-gallery-lightbox`. * Fix: Inherit thumbnail of variable product when variation does not have a thumbnail. 2020.05.16 - version 1.9.4 * New: Add lightbox on thumbnails if theme supports wc-product-gallery-lightbox. * Fix: Remove orphaned child products from cart if parent container is removed. * Fix: Update Product Addons totals when quantity config changes. * Tweak: Switch mnm-quantity class to itself. 2020.05.08 - version 1.9.3 * Update: Tested up to WooCommerce 4.1.0. * Fix: Child products losing style indent when cart it updated. * Tweak: Stop center-aligning product details. Inherit styles from theme. 2020.04.23 - version 1.9.2 * Fix: Check if cart is set before trying to access cart_contents. * Fix: Use native functions to get parent container versus searching cart directly. * Tweak: Add product_id as data attribute to add to cart button, to help some themes that add ajax add to cart. * Tweak: Auto load certain properties if not defined. * Tweak: Instead of resetting to minium quantity value, set to original value attribute. * Tweak: Add broader support for checkbox/dropdown input types. 2020.04.11 - version 1.9.1 * New: add wc_mnm_before_sync hook * New: Prepare for compatibility with PayPal Express Smart buttons when PayPal Express gateway plugin updates. * Fix: Fix broken woocommerce_product_add_to_cart_text core filter. * Tweak: Simplify error message HTML markup in mnm-add-to-cart-wrap.php template. * Tweak: Hide error message on load if JS is enabled. * Dev: Add configuration to add to cart button as data attribute for potential ajax add to cart usage. 2020.03.20 - version 1.9.0 * Update: Tested up to WooCommerce 4.0.0. * Fix: Script errors when multiple forms are on the same page. * New: Quantity inputs are empty by default, use WC4 placeholders. * New: Filter for getting the posted configuration. * New: Dynamic filter for validating container based on context. * New: Script supports passing custom configuration when triggering container update. * New: Filter the child item's configuration data. * Fix: Check child cart item is set in cart before accessing. 2020.01.06 - version 1.8.0 * Update: Tested up to WooCommerce 3.9.0. * Fix: Add min/max size keys to WPML config. * Fix: Fatal error when all child contents are out of stock and out of stock products are hidden. * Fix: Fatal error calculating prices when all child contents are out of stock. * Fix: Do not show add to cart button when no contents are available. * Fix: Hide quantity inputs when the parent container is not available. * New: Introduce woocommerce_mnm_content_loop hook. 2019.12.03 - version 1.7.2 * Fix min/max compat. Only restore original values when "ignore min/max" rules is set. 2019.11.19 - version 1.7.1 * Fix - Fatal error from incorrectly named Wishlists compatibility module. * Update: Tested up to WooCommerce 3.7.0. 2019.10.23 - version 1.7.0 * New - Add ability to configure the contents of a Mix and Match container in editable/manually-created orders. 2019.08.06 - version 1.6.0 * Important - Added support for WooCommerce 3.7+. * Important - PHP 5.6.20+ is now required. * Fix: Incorrect error message when 1 quantity is selected. * Fix: Manually trigger product type change event in metabox on load. * Tweak - Ignore 'woocommerce_before_cart_item_quantity_zero' action under WC 3.7+. 2019.06.19 - version 1.5.1 * Fix: Print Invoice Compatibility - Do not remove bulk "Order #" headlines. * Tweak: Limit Name Your Price checkbox display control via "per-item pricing" to only Mix and Match products. 2019.04.15 - version 1.5.0 * Important: Dropped support for WooCommerce 3.0. * Important: Added support for WooCommerce 3.6+. * Tweak: Removed old WooCommerce Helper dependencies. * New: Stop saving "Part of" meta key. Use `add_filter( 'woocommerce_mnm_order_item_legacy_part_of_meta', '__return_true' );` to continue saving. * Fix: Correct discount calculations when not discounting product from regular price. 2019.03.22 - version 1.4.2 * Fix: Incorrect display in WooCommerce Print Invoices & Packing Lists 2019.02.26 - version 1.4.1 * New: Script auto-support any quantity type input * Fix: Script errors for custom quantity config * Fix: Script error for left/right space currency settings 2019.02.22 - version 1.4.0 * NOTICE: Add to cart script heavily refactored. If extending, please test integrations in staging environment before updating. * New: Support a percentage container discount when in per-item pricing mode. * New: Ability to edit a container's configruation from the cart. * New: WooCommerce Print Invoices & Packing Lists compatibility. * New: Scripts support handling of price suffix with front-end calculation of taxes. * New: Filter woocommerce_mnm_child_quantity_input_args to change args for only Mix and Matched item quantity selector. * Fix: Order Again support for WooCommerce 3.5 . * Fix: Add discount, layout, form location fields to import/export. * Fix: Handling of Mix and Match content data during import/export. * Fix: Incorrect price strings in certain instances * Tweak: Vertical alignment of quantity inputs 2018.11.04 - version 1.3.4 * Fix: Fatal error with Product Addons 3.0, insufficient arguments passed to woocommerce_add_cart_item_data * Fix: Fatal call to undefined method error on product save when updating constant is defined. * Fix: Hide reset link when item has not been configured 2018.07.09 - version 1.3.3 * New: Cache calculated prices at runtime * New: Add content in WP Privacy Policy Guide * Fix: Replace deprecated WC()->cart->get_cart_url() * Fix: Explicitly declare grid style inputs as block elements for theme's that don't * Fix: Add missing parameters to 'woocommerce_get_price_suffix' filter * Fix: Mobile cart styles * Tweak: Change thumbnail size to woocommerce_thumbnail. 2018.05.04 - version 1.3.2 * Fix: Replace deprecated WC()->cart->get_cart_url() 2018.05.02 - version 1.3.1 * New: Added woocommerce_mnm_tabular_column_headers filter to control table column headers 2018.04.09 - version 1.3.0 * Important - WooCommerce 2.X support dropped * New: New layout option, Grid layout! * New: New option for changing location of add to cart form. * New: Add support for WooCommerce product import/export. * Fix: wc_get_product() should include Mix and Match products * Fix: Shipstation integration. * Fix: Add blog ID to background updater to resolbve issues with DB updating in a WP MultiSite environment - see https://github.com/woocommerce/woocommerce/pull/18060 * Fix: Remove