*** WooCommerce Product Bundles ***
2017.05.03 – version 5.2.4
* Fix – Issues with missing bundled contents data and missing bundled product attributes when importing orders with bundles in Shipstation (Shipstation Integration v4.1.13 required).
* Fix – Inaccurate results when calling ‘wc_pb_get_bundled_product_map’ and “WordPress database error” entries in websites containing a large number of products.
2017.05.01 – version 5.2.3
* Fix – Fatal error when trying to get product bundle prices incl/excl tax under WC 2.6-.
* Fix – Warning when duplicating bundles.
* Fix – Bundle total not showing up under some rare circumstances.
* Fix – Variation attributes not showing up in cart if variable bundled product title is overridden.
* Fix – Warnings due to use of deprecated ‘WC_Coupon’ properties under WC 3.0+.
2017.04.20 – version 5.2.2
* Fix – One Page Checkout integration.
* Fix – Workaround for “Request-URI Too Long” error when configuring the “Filter Variations” option of bundled variable products with more than 100 variations.
* Fix – Some warnings when using PHP 7.1.
* Fix – Added RTL styles.
2017.04.11 – version 5.2.1
* Fix – Infinite loop when exporting order data to Shipstation/Shipwire under WC 3.0. Triggered when ‘WC_PB_Order::get_order_items’ is used as a ‘woocommerce_order_get_items’ filter callback.
* Fix – Bundled variable product image not updating when choosing variations if the featured post image is undefined.
2017.03.24 – version 5.2.0
* Important – WooCommerce 3.0 support added.
* Dev – ‘WC_Product_Bundle’ refactored based on the core CRUD pattern (WC 3.0+ only). Type-specific data is now handled using getters/setters and a dedicated data store class, ‘WC_Product_Bundle_Data_Store_CPT’.
* Dev – It is now possible to create bundled items directly on ‘WC_Product_Bundle’ objects using ‘WC_Product_Bundle::set_bundled_data_items’ (WC 3.0+ only).
* Dev – Introduce unit tests for ‘WC_PB_Order’ and ‘WC_Product_Bundle’ classes.
* Feature – Create bundles using the REST API ‘/products/’ endpoint (WC 3.0+ only). Read more at https://docs.woocommerce.com/document/bundles/bundles-rest-api-reference/ .
* Feature – Add bundles to orders using the REST API ‘/orders/’ endpoint (WC 3.0+ only). Read more at https://docs.woocommerce.com/document/bundles/bundles-rest-api-reference/ .
* Feature – New REST API ‘bundle_layout’ field with get/update support.
* Feature – Allow variations filtering of bundled Variable Subscriptions (WC 3.0+ only).
* Fix – Weight of composite products in shipping packages does not include the weight of bundled products physically packaged in a bundle that is itself physically packaged in its parent composite.
* Fix – Infinite loop when viewing an order that contains a bundle set to be preordered using the WooCommerce Pre-Orders extension.
* Fix – Strip slashes when validating and saving overridden attribute default values.
* Fix – Sold Individually > “Matching configurations only” option not working correctly.
* Fix – Bundled product indentation in cart is not preserved after refreshing cart contents.
* Tweak – Renamed Sold Individually > “Identical configurations only” option to “Matching configurations only”.
2017.02.23 – version 5.1.4
* Feature – Disable bundled Product Add-Ons. New “Disable Add-Ons” option found under the “Advanced Settings” tab of each bundled item.
* Tweak – Simplify price filter widget meta query.
* Tweak – Auto-check “Priced Individually” the first time a subscription product is added to a bundle.
* Fix – Prevent infinite loop with plugins calling ‘WC_Product::get_sale_price’ from a function hooked into ‘woocommerce_get_price’.
2017.02.20 – version 5.1.3
* Tweak – Use caching to reduce number of bundled item data DB queries.
* Fix – Subtotal of bundles selected in conditionally hidden composite product components incorrectly added to composite total.
* Fix – Missing semicolon in inline JS declared in ‘WC_PB_Display::enqueue_bundled_table_item_js’.
2017.01.19 – version 5.1.2
* Fix – Empty price string showing up when a bundle without a base price contains optional-only, individually-priced items. Price string is now correctly showing up as “From: $0.00”.
* Fix – Give Products support for bundles with static contents.
* Fix – Database upgrade from v5.0.x unable to complete when migrating thousands of bundles on some systems.
* Dev Fix – Prevent stock validation when adding bundles to orders using ‘WC_PB_Order::add_bundle_to_order’.
* Tweak – Bundled products that are physically packaged in their bundle container now show up as individual options of their parent in Shipstation packing slips. Previously, they were listed in a single “Contents” option of their parent.
2016.12.29 – version 5.1.1
* Fix – Values in Regular and Sale Price fields missing decimal separator if other than ‘.’.
2016.12.17 – version 5.1.0
* Important – The update to version 5.1.0 is irreversible. Please test the update on a local/staging environment first and – as always – backup your website!
* Dev – Price methods ‘get_[regular_/sale_]price’ now always return the base prices defined under ‘Product Data > General’. To ensure that product sorting and product price filtering in the shop catalog work without issues, meta fields ‘_[regular_/sale_]price’ hold the cheapest raw configuration price.
* Dev – Base price filters no longer used in order to simplify compatibility with third-party discount plugins.
* Dev – Refactored ‘WC_Product_Bundle’ class initialization to minimize queries.
* Fix – Product Bundles not sorted by price in the catalog correctly.
* Fix – Wrong discount calculations affecting Bundles contained in Composites under specific circumstances.
* Fix – Maintain original order of bundled items in ‘Print Invoices and Packing Lists’ lists.
* Fix – Data exported to Shipwire now contains accurate physical representations of product bundles, based on their shipping configuration. Note that Shipwire-managed bundled products that are physically packaged in their bundle containers are not included in exports as individual line items.
* Fix – Name Your Price compatibility: Price strings of NYP Bundles that contain individually-priced items now show up correctly.
* Tweak – Edit-in-cart UX: Show notice when editing a Bundle in the cart.
* Tweak – Edit-in-cart UX: ‘Click to edit’ is now also clickable.
2016.11.30 – version 5.0.2
* Fix – Sanitization of overridden bundled product titles.
* Fix – Bundled items not merged properly when merging product data with the WooCommerce Product CSV Import/Export Suite.
* Fix – Incorrect use of ‘wc_variation_attribute_name’ function with WooCommerce versions earlier than 2.6.
* Fix – Adding Bundles to Grouped products is unsupported but “Product Data > Linked Products > Grouping” is visible.
* Fix – Inaccurate optional variable bundled product price strings (displayed next to checkbox) when filtering variations.
* Fix – Inaccurate optional variable bundled product availability (displayed next to checkbox if product unavailable).
2016.11.16 – version 5.0.1
* Fix – Calculation of subtotals in Composite Products app.
2016.11.09 – version 5.0.0
* Dev – New database structure for storing and retrieving bundled item data based on custom tables for: i) bundled items and ii) bundled item meta. The new structure is very performant while allowing complex data queries, such as getting all bundles that contain a specific product.
* Dev – Introduced ‘WC_Bundled_Item_Data’ class to represent bundled item data objects and handle all bundled item data CRUD operations – see ‘class-wc-bundled-item-data.php’.
* Dev – Introduced APIs for querying bundled items and retrieving, modifying and destroying bundled item data – see ‘WC_PB_DB’ class in ‘class-wc-pb-db.php’.
* Dev – New ‘wc_pb_get_bundled_product_map’ function to facilitate quick retrieval of bundle data (bundled item IDs, product bundle IDs key/value pairs) associated with any product.
* Dev – New cart/order functions for establishing bundle parent/child item relationships and bundle parent/child item status – see ‘wc-pb-functions.php’.
* Dev – Added detailed bundle data in REST API order/product GET responses (WP REST API, WC 2.6+ only) – see ‘class-wc-pb-rest-api.php’ and/or details product/order response schemas.
* Dev – Validate and add bundle configurations to the cart programmatically – see ‘class-wc-pb-cart.php’.
* Dev – Validate and add bundle configurations to orders programmatically – see ‘class-wc-pb-order.php’.
* Dev – Min/max bundled item quantities used in bundle availability/pricing calculations are now filterable. Useful for developing plugins associated with configuration constraints.
* Dev – It is now possible to reconstruct an accurate shipping representation of a bundle from order data. Useful when exporting order data to Shipping Fulfilment services – see ‘class-wc-pb-order.php’. Bundle container SKUs are also filterable to allow building a kit SKU from contents “packaged” in bundle containers (“Shipped Individually” option unchecked).
* Fix – WP Import/Export Tools support.
* Fix – WC Product CSV Import/Export Suite support – requires version 1.10.11.
* Fix – Ability to fetch bundled variable product variations data via AJAX using the core WC script – requires WC 2.6.2+, see ‘WC_Bundled_Item::use_ajax_for_product_variations’ in ‘class-wc-bundled-item.php’ for details.
* Fix – Issue with Composite Product prices not updating properly in the single-product app when selecting a bundle.
* Feature – New “Priced Individually” and “Shipped Individually” options at bundled item level. The new options replace the “Per-Item Pricing” and “Per-Item Shipping” options to provide greater pricing and shipping flexibility.
* Feature – Bundles can now be saved as virtual or physical items at will. Bundled items can be freely defined as “Shipped Individually” without being coupled to the “Virtual” status of their container, making very complex shipping configurations easily possible.
* Feature – New “Layout” option for choosing a ‘Tabular’ vs ‘Default’ single-product template layout for Bundles. Integrates functionality previously available in the free “Tabular Layout” mini-extension.
* Feature – Added new “Insufficient stock” section under WooCommerce > Reports > Stock, to allow monitoring bundled products with insufficient stock. Detailed availability data is also available when viewing bundles in the Products section of the Dashboard.
* Feature – Bundles are now editable from the cart by enabling the “Allow editing in cart” option under the “Advanced” edit-product panel tab.
* Feature – Bundles can now be marked as Downloadable, making it possible to add downloadable content at both: i) bundled product level and ii) bundle level.
* Feature – Added context to the “Sold Individually” option found in the “Inventory” edit-product panel tab, to prevent multiple bundles from being bought in a single order unconditionally, or conditionally when their configuration is identical.
* Tweak – The Base Price fields and associated metadata are no longer used and have been removed in favor of the Regular and Sale Price fields.
* Tweak – Hide attribute dropdown if only a single, well-defined variation is allowed in the Variation Filtering list, and show the attribute value as text.
* Tweak – Helper functions converted to static. Helper class no longer accessible as property of the main plugin class.
* Tweak – Restructured admin classes. Main admin class methods are now static. Admin class no longer accessible as property of the main plugin class.
* Tweak – Removed the ‘woo_bundles_’ prefix from all class methods. Old methods deprecated where applicable.
* Important – Template functions are now prefixed with ‘wc_pb_template_’. Please review your customizations if you are unhooking any functions from template action hooks.
* Important – Template action ‘wc_bundles_bundled_item_details’ renamed to ‘woocommerce_bundled_item_details’ for consistency.
* Important – WooCommerce 2.3 support dropped.
* Important – All product post meta fields created by the plugin are now prefixed with ‘wc_pb_’.
* Important – Data exported to Shipstation now contain accurate physical representations of product bundles, based on their shipping configuration. Bundled items that are physically “packaged” in a bundle (“Shipped Individually” option unchecked) are no longer exported as individual items to Shipstation. Instead, their value (and optionally, weight) is added to the value of the container (assuming it is shipped/non-virtual). Bundle container SKUs are now filterable to allow building a kit SKU from contents “packaged” in bundle containers.
2016.08.16 – version 4.14.7
* Fix – Added missing argument to the core ‘woocommerce_product_default_attributes’ filter, used in ‘class-wc-bundled-item.php’.
* Tweak – Modified woothemes.com references to woocommerce.com.
2016.07.21 – version 4.14.6
* Fix – Synced bundled subscription always treated as prorated, resulting in wrong up-front price strings.
* Fix – Can’t pay for failed/pending renewal order that contains subscription products which were part of a Product Bundle in the initial subscription order.
* Fix – WC_ROUNDING_PRECISION constant undefined in WC 2.6.3.
2016.07.12 – version 4.14.5
* Fix – Product Data “Inventory” tab missing in WC 2.6+.
2016.06.02 – version 4.14.4
* Tweak – Show admin inventory settings note as tooltip.
* Tweak – Added ‘woocommerce_bundled_items’ filter.
* Fix – When the validation of any bundled product with Add-ons fails, bundle-level Product Add-ons also fail to validate.
* Fix – ‘WC_Product_Bundle’ price methods ‘get_bundle_price’ and ‘get_bundle_regular_price’ now respect the ‘$display’ argument when Per-Item Pricing is checked.
* Tweak – ‘WC_Product_Bundle’ price methods output is now cached in the object during its lifecycle.
* Tweak – Allow front-end JS object methods to be used with custom Bundle ‘price_data’ inputs for compatibility with WooCommerce Subscribe All the Things.
* Fix – Fixed support for Packing Lists in the WooCommerce Print Invoices and Packing Lists extension (didn’t get it right last time, it seems).
* Fix – Ensure no dash is visible next to the bundled item title when an optional bundled item suffix is set to an empty string.
2016.05.05 – version 4.14.3
* Fix – PHP warning in WC_PB_Order.
* Fix – Trigger ‘woocommerce-product-bundle-initializing’ event.
* Fix – JS console error when unavailable bundled item exists with minimum bundled quantity equal to 0.
* Fix – Added support for the WooCommerce Print Invoices and Packing Lists extension.
* Fix – Bundled subscription products are duplicated when paying for an order (order-pay endpoint).
2016.04.21 – version 4.14.2
* Fix – Bundled cart item ‘product_id’ value now correctly cast to the integer type, as required by WooCommerce core.
* Fix – Bundle range-format price strings display inverted min/max regular price values in some edge cases.
* Fix – “Total:” price string incorrectly showing up for bundles with a static price.
2016.04.05 – version 4.14.1
* Fix – Up-front price calculation of bundled subscriptions.
* Fix – JS console error in Firefox due to missing event argument.
* Fix – Stray JS console log debug output.
* Fix – Long delay or timeout in admin when attempting to add a large variable product to a bundle.
* Fix – Support cart editing functionality in Composite Products.
* Tweak – Added ‘woocommerce_bundle_front_end_params’ filter.
2016.03.31 – version 4.14.0
* Fix – Added ‘bundled_by’ and ‘bundled_items’ keys to WC API order response data, to assist in establishing Product Bundles parent/child item relationships.
* Fix – Added ‘bundled_item_title’ key to WC API order response data, to assist in retrieving overridden bundled item titles.
* Fix – Modified bundle parent/child weight and dimension keys in WC API order response data, depending on the “Per-Item Shipping” option state and exact cart package content.
* Fix – Added price suffix to JS-generated total. To calculate prices incl/excl tax, prices passed to the script are now raw, instead of based on the ‘tax_display_shop’ setting.
* Fix – Fixed front-end rounding issues with display prices incl/excl tax and prices defined excl/incl tax when quantity > 1. All JS price calculations are now carried out using 4th decimal precision.
* Fix – Wrong cart package ‘contents_cost’ value when a bundle is not shipped per-item.
* Dev Feature – Introduced JS API for accessing various Bundle properties including prices, availability statuses, validation messages and configuration data.
* Fix – Limit use of ‘woocommerce_get_item_count’ filter within the front-end “My Account” area.
* Fix – Add support for Composite Products v3.6.0.
2016.02.11 – version 4.13.3
* Fix – Missing variations in the Variation Filtering dropdown options.
* Tweak – Improved handling of bundles with unavailable/deleted products.
* Tweak – Statically-priced Bundles with subscription products: No longer show zero recurring totals in cart.
* Fix – Bundle availability no longer shows as “insufficient” if the min quantity of all out-of-stock bundled items is zero.
* Fix – Validate screen id when calling get_current_screen().
* Fix – ‘wc_composite_get_template’ deprecated notice.
2016.01.20 – version 4.13.2
* Fix – Incorrect base price calculations incl/excl tax when the Base Price field is empty.
2016.01.13 – version 4.13.1
* Fix – Fatal error associated with ‘wc_get_product_cat_ids’ function missing from WC versions earlier than 2.5.
* Fix – Bundle price strings incorrectly appearing in strikethrough “from-to” format, with the before/after prices exactly the same.
* Tweak – Moved all WC back-compatibility functions into the ‘WC_PB_Core_Compatibility’ class. Deprecated the old ones.
2016.01.07 – version 4.13.0
* Important – Subscriptions v2.0+ required when bundling subscription products.
* Important – Bundle price methods get_price(), get_regular_price() and get_sale_price() now always return the minimum prices of a bundle for a uniform behaviour with other WC product types. To avoid issues in cart when the “Per-Item Pricing” option is checked, all container cart item properties are set to their base price counterparts when session data is loaded.
* Fix – Bundled subscription recurring totals are now properly grouped based on the subscription period, interval and length of the selected bundled items.
* Fix – Handling of bundled products in coupons. Coupon validity of bundled items is now inherited from their parents – specifically: A coupon cannot be valid for a bundled item if the bundle that contains it is excluded from the coupon. A coupon will be valid for a bundled item if it is valid for the bundle that contains it, unless the coupon exclusion rules apply to the bundled item itself.
* Tweak – Added ‘woocommerce_bundled_add_to_cart’ action.
* Fix – Unnecessary casting of bundled product prices to double.
* Fix – Made “Required option” string translatable.
* Fix – Missing bundled variable product quantity fields under specific conditions.
* Fix – Ajax add-to-cart in WC 2.5.
* Tweak – Move QuickView compatibility filters into separate class.
* Tweak – Added WC_PB_Order::get_bundle_parent and WC_PB_Order::get_bundle_children functions.
* Tweak – Renamed “Non-Bundled Shipping” to “Per-Item Shipping” for clarity.
2015.12.09 – version 4.12.2
* Fix – Broken Add-ons on Composite Products that contain Bundles.
* Fix – jQuery ‘.finish’ error.
* Fix – Max bundle-level quantity input field respects the available stock.
* Fix – Max bundled-item-level quantity input fields respect the available stock.
* Tweak – Append quantity values to bundled item titles.
2015.11.26 – version 4.12.1
* Fix – Check product exists when filtering ‘get_product_from_item’.
2015.11.25 – version 4.12.0
* Important – Support for WC 2.2 has been dropped in order to allow posting variable product form content more reliably – input fields are now posted directly.
* Important – Template files ‘bundle.php’, ‘bundle-product.php’, ‘bundled-item-quantity.php’ and ‘bundled-product-variable.php’ have been updated! If your theme overrides any updated templates, please review and update your customizations!
* Feature – Leave the Max Quantity field empty for an unlimited max bundled item quantity.
* Feature – Separate bundled-item visibility controls for the single-product, cart and order/e-mail templates.
* Tweak – Add ‘hidden’ class to bundled items hidden from the single-product template.
* Tweak – Use ‘yes|no’ instead of true|false for boolean price data.
* Tweak – Simplify bundled product admin metaboxes: Introduced “Basic”/”Advanced” tabs to tidy up the available options.
* Tweak – Modified multiple admin strings.
* Fix – Prevent “no products matched your selection” alert from appearing when variation filters are in use.
* Fix – Update ‘woocommerce_stock_html’ filter arguments.
2015.11.04 – version 4.11.7
* Fix – Fix json_encode() recursion error with older versions of PHP.
* Tweak – Deprecate ‘has_variables’ method with ‘requires_input’.
2015.11.03 – version 4.11.6
* Feature – Support for Variable Subscriptions.
* Feature – Ability to define a base price.
* Fix – Optional variable bundled item price string did not take into account discounts.
* Tweak – Change method of attaching price filters. Moved price filters into the helpers class.
* Fix – When the min quantity of an out-of-stock bundled item is 0, front-end validation should allow the bundle to be purchased.
* Fix – Quantities exposed to 3rd party scripts can be incorrect when front-end validation fails.
* Fix – Preserve original bundled item session data if present (WPML compatibility).
2015.10.06 – version 4.11.5
* Dev Tweak – Introduced ‘woocommerce_bundled_cart_item’ filter to make it easier for 3rd party plugins to modify bundled cart items.
* Dev Feature – Added support for the “Tabular Layout” mini-extension: https://github.com/somewherewarm/woocommerce-product-bundles-tabular-layout.
* Dev Feature – Ability to set min/max bundled item count constraints with the “Min/Max Items” mini-extension: https://github.com/somewherewarm/woocommerce-product-bundles-min-max-items.
* Tweak – Added ‘woocommerce_bundled_products_admin_config’ action to allow adding custom settings under the “Bundled Products” tab.
* Dev Feature – Added ‘woocommerce-product-bundle-initialized’, ‘woocommerce-product-bundle-validate’ triggers in script to allow 3rd party code to carry out custom validation tasks.
* Tweak – Added ‘woocommerce_bundles_optional_bundled_item_suffix’ filter.
* Tweak – Changed ‘WC_PB_Stock_Manager’ constructor and ‘validate_stock’ args. Container product can be optionally passed in constructor and is accessible publicly.
* Tweak – Added ‘woocommerce_bundles_synced_bundle’ action.
2015.09.05 – version 4.11.4
* Tweak – Abandoned use of the $woocommerce_bundles global in favour of WC_PB(), which now returns the main instance of the plugin.
* Tweak – Front-end performance tweaks.
* Tweak – Display prices in WC_Bundled_Item class now obtained using the ‘get_bundled_item_price’ and ‘get_bundled_item_regular_price’ methods. Class min/max price properties are now based on raw bundled product prices.
* Fix – Missing bundled item attributes under “Additional Information” in WC 2.4.
* Tweak – Refactor compatibility class.
* Fix – Respect bundled item visibility status when displaying attributes of bundled items in the “Additional Information” tab.
* Tweak – Price filter widget results are now based on the ‘_price’ meta only. Meta fields ‘_min_bundle_price’ and ‘_max_bundle_price’ are no longer used.
* Tweak – Improved Shipstation integration: Send both container/child order items to allow stock management via Shipstation. Container/child items that are not shipped individually are exported with zero weight to prevent unnecessary shipping cost charges.
2015.08.26 – version 4.11.3
* Fix – Bundled item name issues in specific admin areas, such as the Orders page.
* Fix – Shipstation integration.
2015.08.25 – version 4.11.2
* Fix – Load cart-item session data only when not present.
* Fix – Revise admin JS ‘show_if_bundle’ / ‘hide_if_bundle’ logic for improved plugin compatibility.
2015.08.10 – version 4.11.1
* Fix – Allow script re-init for the same bundle id.
2015.08.03 – version 4.11.0
* Fix – WC 2.4 support.
* Important – Dropped WC 2.1 support.
* Important – Refactored templating engine for easier customization with hooks. Updated ‘bundled-product-variable.php’ template to support new handling of text-based attributes in WC 2.4. If your theme overrides any updated templates, please review and update your customizations!
* Important – Updated support for Composite Products v3.2. Bundles added in Composite Products require Composite Products v3.2 to work.
* Tweak – Moved single product template functions and hooks out of the display class and into separate files. Hooked functions are global and no longer methods of the display class.
* Fix – Minor admin styling fixes for WC 2.4.
* Fix – Improved CSS for theme compatibility.
* Fix – Validation message animation issues with some themes.
2015.07.23 – version 4.10.1
* Fix – Default bundled variable product attributes not initialized properly.
2015.07.20 – version 4.10.0
* Fix – Compatibility with 3rd party plugins that display out-of-stock statuses in shop pages.
* Fix – Revise creation of ‘bundle’ product type on activation.
* Tweak – Refactor front-end script.
* Tweak – Relocate the JS validation notices container. Apply core style classes to JS validation messages.
2015.06.09 – version 4.9.5
* Fix – Correct l8n context for a number of strings.
* Fix – Division by zero PHP warnings.
* Fix – Allow shortcodes in bundled product descriptions.
* Tweak – Localize quantity ‘×’ string and bundled product title strings.
* Tweak – CSS tweaks to prevent cutting off JS dropdowns.
2015.05.18 – version 4.9.4
* Fix – Sanitize attribute meta values when validating defaults.
* Fix – Escaped product title in bundled product templates.
* Fix – Bundle price strings with synced Subscriptions.
* Fix – Incorrect get_max_bundle_price() value when a bundle contains optional items.
* Fix – Fatal error when a Bundle in cart contains discounted bundled items that were deleted from the Bundle after the cart session data was saved.
2015.04.21 – version 4.9.3
* Feature – Support optional Subscriptions.
* Feature – Support for multiple bundled subscriptions (WC Subscriptions v2.0+).
* Tweak – Bundled table item indentation: improved theme compatibility.
* Fix – Escaped add_query_arg to fix reported WP XSS issue.
2015.04.16 – version 4.9.2
* Fix – Fixed ‘function return value in write context’ PHP error.
2015.04.14 – version 4.9.1
* Fix – Fix empty bundled item attribute values under “Additional Information”.
* Fix – Include regular price in bundled item price html string when product on sale.
* Dev Feature – Introduce ‘woocommerce_bundle_show_bundled_product_attributes’ filter.
* Dev Feature – Introduce ‘woocommerce_bundled_item_discount_from_regular’ filter.
* Tweak – Titles and quantities of composited bundle container cart/order items with optional-only product content.
* Tweak – Move ‘woocommerce_cart_shipping_packages’ filter into WC_PB_Cart class.
* Tweak – Remove ‘Part of’ order item meta.
* Fix – Stray quantity +/- buttons when min equals max qty.
2015.04.07 – version 4.9.0
* Feature – Support min/max bundled item quantities. Important: Please ensure that your theme does not override an older version of the ‘bundle.php’ template file.
* Tweak – Restructured template files. Simplified ‘bundle.php’ and introduced ‘bundled-product-simple.php’, ‘bundled-product-variable.php’ and ‘bundled-item-quantity.php’ templates.
* Dev Feature – New ‘woocommerce_bundles_process_bundled_item_admin_data’ filter for processing custom admin settings fields added through ‘woocommerce_bundled_product_admin_config_html’.
* Fix – Improved Composite Products JS integration.
* Fix – Fix use of objects vs arrays in JS.
2015.03.30 – version 4.8.7
* Dev Tweak – Pass composite product into composited bundle template.
* Dev Tweak – Introduced ‘woocommerce_add_to_cart_bundle_validation’ filter.
* Dev Tweak – Replaced ‘WC_Bundled_Stock_Data’ by ‘WC_PB_Stock_Manager’, which makes it easy to loop through bundled items when hooking into ‘woocommerce_add_to_cart_bundle_validation’.
* Fix – Shipstation compatibility.
* Fix – Fatal error when a product is added to the cart with Wishlists installed.
* Tweak – Admin styles.
* Tweak – Indent composited items in e-mail templates.
2015.03.06 – version 4.8.6
* Important – Please review any weight/value customizations based on the ‘woocommerce_cart_shipping_packages’ filter!
* Fix – Shipping weight/value calculation tweaks and edge case fixes.
* Dev Feature – Introduced ‘woocommerce_bundled_item_has_bundled_weight’ filter. Used in Bundled shipping mode to add the weight of bundled products to the weight of the container.
* Fix – Rounding after discounts based on the shop decimal precision.
2015.03.04 – version 4.8.5
* Fix – select2 localization in WC 2.3.6+.
* Tweak – Introduce ‘woocommerce_bundled_item_is_shipped_individually’ filter.
* Tweak – Remove ‘Included With’ meta from the cart/checkout.
2015.03.01 – version 4.8.4
* Fix – Sign-up fee when physical bundles coexist with subscriptions in the cart.
* Fix – Wrong cart prices when Per-Item Pricing unchecked / Non-Bundled Shipping checked.
2015.02.24 – version 4.8.3
* Fix – Show from price in bundled item price string when using discounts.
* Fix – Fix shipping insurance value when i) Per-Item Pricing checked / Non-Bundled Shipping unchecked, and ii) Per-Item Pricing unchecked / Non-Bundled Shipping checked.
* Fix – Correctly escape jQuery selectors with outfit chars.
* Fix – Correctly show terms when attribute has outfit chars.
* Tweak – Mini cart tweaks: get_cart_contents_count() now counts only bundle containers, bundled items are not shown.
2015.02.11 – version 4.8.2
* Fix – Bundled item cart discounts applied by composite.
2015.02.08 – version 4.8.1
* Feature – Hide bundled items from the bundle, cart, order and e-mail templates – WC 2.3 only.
* Fix – Price filter widget range – WC 2.3 only.
* Fix – Error when product saved in bundle does not exist.
* Fix – Remove/restore bundled items when removing/restoring bundle in cart – WC 2.3 only.
* Fix – Fix output of bundled item attributes.
* Fix – Support Cost of Goods – requires at least CoG 1.5.2. Note: Use the “Apply Costs” CoG option to correctly re-calculate costs for old orders.
* Tweak – All display-related hooks moved from the WC_CP_Helpers class into the WC_CP_Display class.
* Tweak – Update bundle price on quantity change in per-item pricing mode.
* Tweak – Do not hide bundle button price in static pricing mode if bundle is composited.
2015.01.16 – version 4.8.0
* Fix – WC 2.3 support.
* Fix – Update chosen to select2 in WC 2.3.
* Fix – Cart price of any bundled variation is calculated based on the cheapest variation when applying bundle discounts.
* Fix – Handling of non-purchasable variable items when the “Hide out of stock items from the catalog” setting is checked.
* Fix – Cart errors when third party code breaks cart item parent/child relationships.
* Tweak – Bundled items cart/order indentation.
* Tweak – Hide bundle cart item price in per-item pricing mode.
* Tweak – Hide bundle button price in static pricing mode.
* Tweak – Cleaned up old WC 2.0 compatibility functions and global WC declarations and refactored all function references. Introduced ‘WC_PB_Core_Compatibility’ class.
* Tweak – OPC compatibility: prevent OPC from managing bundled cart items.
* Tweak – Provide access to bundled item properties in ‘bundled-item-title.php’ template.
* Tweak – Introduce back-end “Add product” button for adding bundled products and simplify the back-end interface.
* Tweak – Introduce ‘wc_bundles_get_product_terms’ function for WC 2.3 compatibility.
2014.12.08 – version 4.7.5
* Feature – One Page Checkout support.
* Fix – Fatal error when bundling variable products that have never been viewed or saved since WC 2.0.x.
* Fix – Recurring bundle total price string issue when currency is “$” and format is “left space”.
* Tweak – Use single_add_to_cart_text() to display add-to-cart button text.
2014.11.22 – version 4.7.4
* Fix – Revert is_checkout conditional from button templates hook.
2014.11.19 – version 4.7.3
* Fix – ‘Free!’ string display conditions in line with WC 2.1+.
* Tweak – Tweaks for future One Page Checkout support.
* Tweak – Remove WC 2.0 compatibility code and resources.
* Fix – Bundle price is displayed wrong in the summary under certain conditions.
2014.11.12 – version 4.7.2
* Fix – Resolve variation image refreshing issues.
2014.10.30 – version 4.7.1
* Feature – Add multiple instances of simple products. Useful for implementing simple bulk discounts by marking additional instances of the same simple product as optional and adding discounts to them.
* Tweak – Bundles with optional items must fall back to “From:” price html format.
* Tweak – Composited bundle template additions.
* Tweak – Unavailable JS message when price is undefined in static pricing mode.
2014.10.26 – version 4.7.0
* Important – v4.7.0 is a major update. Before updating any live websites, please test everything on a local/staging environment and as always, backup your website!
* Important – Template files have been modified to implement optional bundled items and other fixes/tweaks. Please update any overridden template files!
* Feature – Ability to mark bundled items as optional.
* Feature – Composite Products support. Product Bundles can be added in Composite Products as Component Options. Requires Composite Products v2.5.0+.
* Fix – Fixed the add-to-cart price string of Bundles that contain a Subscription.
* Fix – Re-ordering fixes.
* Fix – Fixed bundle-level add-ons having no effect on price.
* Tweak – Refactored JS add-to-cart script.
* Tweak – To improve UX and conversions, the add to cart button is no longer hidden when bundled product options are missing. Instead, the button is disabled and a “To continue, please choose product options…” message is shown above the button. The “woocommerce_bundles_button_behaviour” filter can be used to disable this new behaviour.
* Tweak – Improved back and front end performance by initializing bundled product data on demand.
* Tweak – Introduced WC_Bundled_Stock_Data class for validating bundled stock.
* Tweak – Refactored WC_Bundled_Item and WC_Product_Bundle classes.
* Tweak – Updated bundled item availability method.
* Tweak – Introduce ‘woocommerce_bundle_force_old_style_price_html’ filter to force “From:” style price html strings.
* Tweak – Introduced Composited Product Bundle template (composited-product/bundle-product.php).
2014.10.09 – version 4.6.4
* Tweak – Price filter widget tweaks.
* Tweak – JS tweaks for compatibility with other extensions.
* Fix – ‘is_nyp’ recursion.
* Fix – Wrong prices when using WC incl./excl. tax price suffixes.
2014.10.02 – version 4.6.3
* Tweak – Use ‘woocommerce_get_children’ filter to selectively load variation data and simplify code in future updates.
* Fix – Missing min variation prices in incl/excl price calculations.
* Fix – Pre-Orders support.
2014.09.30 – version 4.6.2
* Important – Support for WooCommerce versions older than 2.1.0 has been dropped.
* Fix – Points and Rewards support.
* Tweak – Admin area performance enhancements.
* Tweak – The ‘enable_bundle_transients’ meta is no longer used due to issues with conditional pricing extensions. As a counter-measure, the extension code has been heavily optimized for WooCommerce versions higher than 2.1.0.
* Tweak – Introduce separate class with extensions compatibility functions.
2014.09.15 – version 4.5.5
* Fix – Possible cart rounding issue when discounts are applied.
* Fix – Bundle total price string issue when currency is “$” and format is “left space”.
2014.09.03 – version 4.5.4
* Fix – Write panel JS dependencies for WC 2.2.
2014.08.20 – version 4.5.3
* Fix – Resolved file upload issues affecting composited item add-ons.
* Tweak – Remove localization and currency data from the WC_Product_Bundle class and localize scripts.
* Tweak – Add activation/deactivation hooks to create the ‘bundle’ product type if missing.
2014.08.01 – version 4.5.2
* Fix – Incorrect bundled item prices in the order review/details templates. Caused by other extensions under specific conditions.
* Fix – Better validation for items sold individually.
* Tweak – Bundle level inventory note.
* Tweak – Changed text domain name to ‘woocommerce-product-bundles’.
2014.07.15 – version 4.5.1
* Fix – Fixed ‘is_on_backorder’ strict notice.
* Tweak – Added .pot file.
2014.06.20 – version 4.5.0
* Feature – Added support for a single Simple Subscription in every bundle.
* Feature – Added support for ‘woocommerce_template_overrides_scan_paths’.
* Fix – Admin price saving bug when using non-standard decimal/thousand separators.
* Fix – Fix sale status and sold individually status of a bundle when using enable_bundle_transients.
* Fix – Add bundled items via ‘bundled_add_to_cart’, to avoid updating session data, recalculating totals or calling ‘woocommerce_add_to_cart’ recursively.
* Fix – Correct validation of bundled item stock that takes into account quantities in cart.
* Fix – Items which are sold individually can’t be saved with a quantity > 1.
* Fix – Admin order item count now includes separate bundled items count info.
* Fix – Bundled item add-on options do not affect container uniqueness.
* Fix – Added ‘single_add_to_cart_button’ class for GA event tracking.
* Fix – Price filter results are empty when no bundles exist.
* Tweak – Re-organized functions and filters in classes according to context.
* Tweak – Alert admin ajax saving errors.
* Tweak – Indentation of bundled line items in admin “Orders” and “Edit Order” screens.
* Tweak – Reported count of bundles & bundled items in the cart is now based on the Bundled/Non Bundled shipping setting. If the bundled items are set to retain their shipping properties, it makes much more sense to treat them as standalone items and count them instead of counting their containers. In the opposite case, if a bundle has its own (new) physical properties, the quantity of its contents is probably irrelevant.
2014.05.30 – version 4.2.0
* Feature – Save bundled item configuration changes via Ajax without having to publish or save as draft.
* Tweak – Introduced WC_Bundled_Item class to abstract bundled item initialization data from container.
* Tweak – Organized admin functions in separate WC_Product_Bundles_Admin class.
* Tweak – Heavily refactored WC_Product_Bundle and WC_Bundle_Helpers classes.
* Tweak – Heavily refactored product bundle add-to-cart template.
* Tweak – Access helpers class through main plugin class instead of making it global.
* Tweak – Admin metabox CSS and JS tweaks.
* Tweak – Display ‘View contents’ instead of ‘Select options’ when bundled items don’t require any configuration.
* Tweak – Added quantity “/pc.” suffix to html price strings of bundled items with quantity > 1.
* Tweak – Added woocommerce_bundled_item_price_html filter.
* Tweak – Added ‘woocommerce_bundled_item_title’ and ‘woocommerce_bundled_item_description’ filters.
2014.05.9 – version 4.1.3
* Tweak – Documentation.
* Tweak – Bundle cart and email order item presentation tweaks.
2014.04.14 – version 4.1.2
* Fix – Wishlists compatibility.
* Fix – Admin notices on save.
2014.03.20 – version 4.1.1
* Fix – Static bundle price increases when certain tax combination settings are used.
2014.03.10 – version 4.1.0
* Fix – Add-to-cart button text and linked url in WC 2.1.
* Fix – Sort by price.
* Fix – JS trim zeros behaviour uses ‘woocommerce_price_trim_zeros’ filter.
* Fix – QuickView compatibility.
* Fix – Microdata zero price in per-product pricing mode.
2014.02.28 – version 4.0.7
* Fix – Product Bundle doesn’t show correct price if a product has 100% discount.
2014.02.13 – version 4.0.6
* Fix – Broken admin layout in WC 2.1.1.
2014.02.05 – version 4.0.5
* Fix – Multiple variable product instances saving bug.
* Fix – Bundle total price calculation when a per-item priced bundle contains NYP items.
2014.01.29 – version 4.0.1
* Tweak – Decimal discounts.
* Tweak – Introduced woocommerce_bundle_is_on_sale filter.
2013.12.15 – version 4.0.0
* Important – WooCommerce 2.1 compatibility.
* Important – Simplified data storage scheme to facilitate bundle data imports. Please backup your website and database before upgrading!
* Important – Template files updated, please update all overrides present in your theme!
* Fix – Bundle prices respect woocommerce_tax_display_shop setting.
* Fix – Deprecated attribute_label notices.
* Tweak – WC 2.1 variations template and add-to-cart changes.
* Tweak – Price filter widget results are more accurate.
* Tweak – Bundle availability status improvements.
* Feature – Name Your Price support for Bundles and Simple Products in “per-item” priced Bundles.
2013.11.07 – version 3.6.5
* Fix – JS parsefloat.
2013.11.02 – version 3.6.4
* Fix – QuickView CSS and bundled product image CSS improvements.
* Fix – QuickView + “Enable AJAX add to cart buttons on archives” fix.
2013.10.31 – version 3.6.3
* Fix – Resolved a QuickView JS bug.
2013.10.29 – version 3.6.2
* Feature – Bundled products are sortable.
* Tweak – Form submit method replaced by input.
* Fix – Resolves issue where a bundle appears as out-of-stock when a bundled variable product has a quantity of 0.
2013.10.17 – version 3.6.1
* Fix – Variations listener moved higher.
2013.10.06 – version 3.6.0
* Important – Template files updated!
* Tweak – Input fields moved under a single form.
2013.10.02 – version 3.5.6
* Tweak – Minor JS tweak.
2013.09.30 – version 3.5.5
* Fix – Title and Description templates updated.
2013.09.27 – version 3.5.4
* Important – Template files updated!
* Tweak – More persistent transients implementation for WC 2.1.
* Fix – Further JS and markup updates.
* Fix – Resolve quick view add-to-cart-bto/bundle.js clash.
2013.09.26 – version 3.5.3
* Tweak – Added get_available_variations transient.
* Tweak – Cart CSS tweaks.
* Tweak – Quick view support.
2013.09.21 – version 3.5.2
* Tweak – Last bits of support for NYP.
* Fix – Pulling default options when no overrides are set.
2013.09.20 – version 3.5.1
* Tweak – Discount prices based on get_price and get_price_html for 2.1 compatibility.
2013.09.19 – version 3.5.0
* Tweak – Refactored class WC_Product_Bundle.
2013.09.18 – version 3.4.6
* Feature – Support for Name-Your-Price bundled items and bundles.
2013.09.16 – version 3.4.5
* Fix – Bundles re-purchasing possible for bundles in new orders.
2013.09.13 – version 3.4.4
* Fix – Do not attempt to add-to-cart bundled simple products with an empty price.
* Fix – Zero JS-calculated price when simple products with an empty price exist in the bundle.
* Tweak – Added order item count filter.
* Fix – Pricing order-item meta is stored only when necessary.
2013.09.11 – version 3.4.3
* Fix – _price meta for per-item-priced bundles is updated when syncing. – thanks Hugh!
2013.9.9 – version 3.4.2
* Tweak – Minor tweaks.
2013.9.9 – version 3.4.1
* Important – Dropped support for WC 1.6: Time to upgrade, folks.
2013.9.9 – version 3.4.0
* Feature – Support for Addons (kudos to MJ & PR).
2013.8.21 – version 3.3.7
* Fix – wp_kses_post warning.
2013.8.15 – version 3.3.6
* Tweak – Security tweaks.
2013.7.25 – version 3.3.5
* Fix – Bundle price calc conditional not closed.
2013.7.21 – version 3.3.4
* Fix – Bundle html tags not closed.
2013.7.12 – version 3.3.3
* Fix – Bundle visibility fix.
2013.7.3 – version 3.3.2
* Fix – Minor speed improvements.
2013.6.28 – version 3.3.1
* Fix – Fixed discount price calculation when bundled items have sale prices attached.
2013.6.18 – version 3.3.0
* Feature – Bundled items can now have discounts in per-item pricing mode.
2013.6.10 – version 3.2.2
* Fix – Fixed admin errors when a bundled item had been deleted from the database.
* Fix – Fixed front-end notice for non-existing simple item variations.
2013.6.9 – version 3.2.1
* Tweak – Sold individually property respects admin setting, unless all bundled items are sold individually.
2013.5.26 – version 3.2.0
* Tweak – Ajax add to cart for bundles that contain simple products.
* Tweak – Cart-item and add-to-cart cleanup.
* Tweak – CSS frontend tweaks.
2013.5.12 – version 3.1.3
* Tweak – Added empty price check to validation.
2013.5.11 – version 3.1.2
* Fix – Order item meta fixed in WC 2.0+.
2013.5.2 – version 3.1.1
* Fix – Fix rare term issue with simple products.
2013.3.25 – version 3.1.0
* Fix – Applied core changes for individually sold products.
* Fix – Downloadable + virtual item bundling – orders now complete without issues.
2013.3.25 – version 3.0.4
* Fix – maybe_unserialize some metadata.
2013.3.20 – version 3.0.3
* Fix – ‘Choose product options’ bug that appeared under specific circumstances is now fixed.
2013.3.20 – version 3.0.2
* Fix – Product Add-ons can now be added to any Bundle in WC 2.0+.
2013.3.19 – version 3.0.1
* Note – Bundling variable products based on custom attributes requires WC 2.0+ to work.
* Fix – Variable products with custom product attributes issues fixed.
* Tweak – Template and CSS changes.
2013.2.27 – version 2.5.5
* Fix – Admin JS changes for better compatibility with other extensions.
* Tweak – Switched to a 3-digit version number format.
2013.2.1 – version 2.53
* Fix – No more issues when ‘bundle’ term already exists.
2013.1.28 – version 2.52
* Fix – Some action hooks renamed to filter hooks.
2013.1.23 – version 2.51
* Fix – ‘Choose product options’ error with ‘any’ type variations fixed.
2013.1.5 – version 2.50
* Tweak – Bundle JS now relies on variation JS.
* Tweak – Stylesheets added, templates revised.
2012.12.25 – version 2.41
* Fix – Inventory Tab disappeared in WooCommerce v2.
* Fix – Admin error message for per-item priced bundles with zero items.
2012.12.25 – version 2.40
* Tweak – Added support for WooCommerce v2.
2012.12.18 – version 2.30
* Fix – Moved add-to-cart JS to bundle template.
* Tweak – Add-to-cart JS updated to work with multiple bundles on the same page.
2012.12.11 – version 2.28
* Tweak – Compatibility tweaks with Dynamic Pricing.
2012.12.04 – version 2.27
* New updater
2012.11.29 – version 2.26
* Fix – Dropped support for product add-ons in bundled items until further notice.
2012.11.25 – version 2.25
* Fix – Cart session data is now retrieved properly (per product pricing / shipping issues).
* Fix – Bundle uniqueness in the cart is now dependent on the selected options, not the selected variations.
2012.11.12 – version 2.24
* Tweak – Shop catalog ‘View Options’ button changed to ‘Add to Cart’ when a bundle contains simple items only.
* Fix – Fixed mini-cart item count: With per-product pricing on, bundled items are not added to the item count.
2012.10.4 – version 2.23
* General cleanup + maintenance.
2012.09.16 – version 2.22
* Fix – Wrong out of stock messages when only 1 bundled item is in stock.
2012.09.14 – version 2.20
* Feature – Ability to control the visibility of bundled items on the front-end.
* Tweak – Bundle availability shows as ‘out of stock’ if it contains out of stock items.
2012.08.23 – version 2.11
* Tweak – Bundle js attr_name fix.
2012.08.22 – version 2.10
* Tweak – Bundle js updated.
* Tweak – Title support added to images.
2012.08.15 – version 2.05
* Feature – Bundled items now support Product Addons.
* Feature – It’s now possible to hide any filtered-out variation options from the bundled item front-end drop-downs.
* Fix – Bundled item featured images now appear correctly when container item featured image is not set – thanks, Adam!
* Fix – Number of filtered variations must be greater than zero.
* Important: The template files have been modified – keep note if your theme overrides any of them!
2012.08.12 – version 2.04
* Tweak – Simplified bundle-add-to-cart js and php.
* Tweak – ‘Per-Item Pricing’ moved to ‘Product Bundle’ type shipping options.
* Fix – Minor admin writepanel js fixes.
2012.08.11 – version 2.03
* Fix – ‘Product Bundle’ type shipping option restored.
2012.08.10 – version 2.02
* Fix – Individually sold quantity product bug fixed.
2012.08.9 – version 2.0
* Feature – Bundle multiple instances of variable items.
* Feature – Override bundled item single-page titles.
* Feature – Override bundled item single-page excerpts.
* Fix – Mini-cart item count fixed.
* Fix – Mini-cart price fixed.
2012.08.2 – version 1.31
* Tweak – Attributes of variable bundled items that correspond to filtered-out variations are now hidden.
2012.07.29 – version 1.3
* Feature – Added dynamic bundled product images and option to disable them per-item.
2012.07.26 – version 1.23
* Fix – Allow tax settings to be modified when bundle pricing is static.
2012.07.06 – version 1.22
* Fix – Better compatibility with other plugins.
* Tweak – Code significantly cleaned up.
* Tweak – Removed /loop/add-to-cart.php template file override.
2012.07.03 – version 1.20
* Feature – Ability to define quantities for bundled items.
* Tweak – New bundled products tab.
* Fix – Bundle add-to-cart behavior when all bundled items are sold individually.
2012.06.29 – version 1.10
* Feature – Manage stock on a bundle-level.
* Tweak – Add-to-cart template term name hooks.
2012.06.29 – version 1.02
* Fix – Cart actions moved to the right places.
* Fix – Non-published bundled items should be hidden.
* Fix – Include out of stock simple items in bundle price calculation.
* Fix – Product availability status.
2012.06.26 – version 1.01
* Initial release