Back to WooCommerce Product Addons
WooCommerce Product Addons changelog
Release notes for every version we have on record, newest first.
Latest 8.4.4 · 14 Oct 2026
40 versions
Since Mar 2024
2026 8 versions
8.4.4 Latest 14 Oct 2026 3 improved8 fixed
Improved
- Raised minimum requirements to WordPress 7.0 and WooCommerce 11.1.
- Updated @wordpress/scripts to 36.1.
- Updated development dependencies to address security advisories.
Fixed
- Prevented global add-ons saved by version 3.0 or later from being converted again, which reset their price types and titles, when the stored plugin version is missing.
- Stopped edited orders from showing both the old and the new selection for an add-on that was renamed after the order was placed.
- Treated order item edits as successful when the product has no add-ons.
- Selected the correct checkbox options when option names differ only in special characters.
- Matched the height of add-on dropdowns to other add-on fields and WooCommerce form fields in block themes.
- Added a manual copy field when automatic add-on export copying is unavailable.
- Prevented a JavaScript error when Quick View is active and product variations load through AJAX.
- Allowed file uploads on subscription products when Mixed Checkout is disabled.
8.4.3 7 Oct 2026 8 improved26 fixed
Improved
- Raised minimum requirements to WordPress 6.9 and WooCommerce 10.9.
- Declared compatibility with WordPress 7.1 and WooCommerce 11.2.
- Updated development dependencies to address security advisories.
- Hardened release artifact verification, release pull request checks, and WordPress test metadata.
- Updated the development toolchain to Node 24.18 and @wordpress/scripts 35.
- Corrected hook docblocks and other PHPStan findings that do not change behavior.
- Raised the PHPStan analysis level to 2.
- Switched the version headings in changelog.txt to the WordPress.org format.
Fixed
- Stopped add-on options whose labels match after formatting from applying each other's prices, including hidden options.
- Rejected unsupported file-upload values submitted through the Store API.
- Prevented submitted URLs from impersonating completed classic-cart file uploads.
- Limited daily guest upload volume while preserving existing uploads.
- Enforced required add-ons when Store API requests omit their configuration.
- Limited order file links to verified local file-upload add-ons.
- Prevented duplicate deserialization of add-on metadata during CSV export.
- Fixed radio add-ons to accept one selection and preserve the first matching choice when reordering legacy orders.
- Kept image swatch labels as text in product and order forms while preserving zero-valued choices and legacy surcharge text; data-price contained price markup only and data-label supplied the label.
- Fixed date add-on validation and preserved prices for accepted date selections.
- Kept empty optional date selections valid when an integration retains the companion timestamp.
- Fixed Store API add-on pricing to use the validated request data.
- Rejected malformed list choices before resolving add-on options.
- Preserved empty selections passed as null list placeholders by integrations.
- Refreshed global add-on membership and required-option buttons after group and category changes while avoiding cache work for unrelated metadata.
- Kept required global add-ons and their prices when adding variations through the Store API.
- Validated, displayed and priced retained legacy select and radio add-ons in cart and Store API requests while preserving their selections and radio group labels.
- Kept custom add-on prices finite and bounded through cart pricing while preserving validation-only filters and legacy optional price keys.
- Fixed missing cart prices for add-on options labeled zero.
- Preserved zero-valued radio selections when editing cart items.
- Fixed historical file-upload formatting after changing an add-on to a textarea.
- Fixed legacy file-upload metadata validation; uploads outside the standard directory displayed as plain text.
- Kept shopper text add-ons as plain text in orders and emails.
- Preserved radio selections, defaults and prices when labels shared a slug or filtered options had sparse keys; refreshed radio template overrides to retain defaults for colliding labels.
- Prevented duplicate add-on charges by skipping unsupported definitions, including those with a missing display setting.
- Hid the "Display as" option for Short Text add-ons when the product add-ons panel first loaded.
8.4.2 2 Sep 2026 5 improved13 fixed
Improved
- Added a tooltip and screen reader text to the required add-on field marker.
- Pinned the secret-bearing AI review workflow to an immutable revision.
- Managed changelog entries with Jetpack Changelogger: pull requests add a change file under changelog/ instead of editing changelog.txt.
- Removed redundant and low-value tests.
- Made Store API unit tests resilient to WooCommerce price-markup changes.
Fixed
- Prevented tax calculations from exposing prices of non-public products to shoppers without access.
- Restricted global add-on deletion to authorized add-on groups.
- Refreshed the global add-on cache when a group is deleted through the REST API.
- Escaped product titles, add-on names, and option labels in subtotal displays.
- Preserved radio and checkbox selections and legacy pricing defaults after canonicalization.
- Preserved normalized input-multiplier quantities through pricing.
- Made new customer file-upload URLs unpredictable with random per-upload paths.
- Enforced custom-text requirements and content rules on cleaned server-side values.
- Limited Store API checkbox selections to prevent excessive cart-processing work.
- Restricted order-edit add-on templates to supported field types.
- Rejected negative customer-defined prices and input-multiplier quantities.
- Preserved file upload type restrictions when importing add-ons.
- Preserved add-on order when importing add-ons.
8.4.1 19 Aug 2026 16 improved6 fixed
Improved
- Restored TLS certificate verification and fail-closed error handling in the release deployment script.
- Fixed the unit-test CI matrix so coverage config matches this repository, and restored the PHP 8.0 job.
- Enabled JavaScript linting in the release pipelines.
- Pinned and checksum-verified the WP-CLI executable used in release builds.
- Updated cross-env to v7 and PHP_CodeSniffer to 3.13.6 (security release).
- Added Markdown, dependency license, and WordPress.org Plugin Check gates to the pull request CI.
- Updated the npm build toolchain to resolve all remaining Dependabot security alerts.
- Standardized the package license identifier on GPL-3.0-or-later.
- Exposed the shared .ai/commands to agent tooling and documented the isolated worktree setup.
- Enabled CSS linting in CI and fixed source style violations.
- Enabled JavaScript linting in CI and migrated the ESLint setup to the flat config format required by ESLint 10, aligning the lint and formatting toolchain with WooCommerce core.
- Removed release credentials from pull request E2E jobs.
- Update wp-coding-standards/wpcs to 3.4.1 (security release) in the phpcs lint tooling.
- Update development Composer dependencies (PHPUnit, Guzzle PSR-7, PsySH, Symfony YAML) to resolve security advisories in the PHP test toolchain.
- Update development npm dependencies to resolve security advisories in the build toolchain.
- Hardened the QIT test workflow: pinned the QIT CLI version and stopped workflow inputs from being interpolated into shell source.
Fixed
- Added a directory-listing placeholder to add-on file upload directories, and backfilled existing directories in the background.
- Secured zero-priced product calculations while preserving Smart Coupons credit amounts.
- Prevented "Translation loading was triggered too early" notices when the installed WooCommerce or PHP version is not supported.
- Fixed add-on data being dropped when adding products to the cart through the Store API /batch endpoint.
- Prevented a failed Store API add-to-cart validation from leaving a stale error notice behind for later requests.
- Prevented unauthorized access to order-item add-on configuration.
8.4.0 22 Jul 2026 5 new1 improved5 fixed
New
- Important: WordPress 6.8+ is now required.
- Important: WooCommerce 10.6+ is now required.
- Added sorting by Name column in the global add-ons list table.
- Added search functionality to filter global add-ons by name.
- Added per-page screen option for the global add-ons list table, compatible with the existing woocommerce_pao_admin_edit_add_ons_per_page filter.
Improved
- Bumped WooCommerce tested up to version to 11.0.
Fixed
- Fixed mini-cart add-on prices displaying without taxes.
- Resolved an issue where the default selection for the first checkbox option was not retained after reloading the product in admin.
- Fixed deleting dropdown add-on options containing double quotes.
- Fixed global add-ons list table sorting to apply across all pages instead of only within the current page.
- Fixed sorting by 'Number of fields' column to correctly sort by field count.
8.3.1 16 Jun 2026 1 new3 improved2 fixed
New
- Added initial read-only WordPress abilities for Product Add-Ons global groups and product add-ons.
Improved
- Security updates.
- Bumped WooCommerce tested up to version to 10.9.
- Updated the JavaScript build toolchain to the React 18.3 line and added React 19 readiness guards.
Fixed
- Prevented a JavaScript error that could break add-ons when tipTip is dequeued.
- Fixed an issue where "Order again" silently dropped add-ons whose name had changed since the original order was placed.
8.3.0 5 May 2026 2 improved3 fixed
Improved
- Bumped WordPress tested up to version to 7.0.
- Bumped WooCommerce tested up to version to 10.7.
Fixed
- Disallowed space-only option names.
- Improved server-side validation of add-on values during add-to-cart.
- Preserved per-line coupon discounts and original line totals when editing add-ons in admin.
8.2.0 25 Feb 2026 1 new2 improved1 fixed
New
- Added 'Limit file types' option for File Upload add-ons to restrict the type of uploaded files per add-on.
Improved
- Bumped WooCommerce tested up to version to 10.5.
- Important: Updated File Upload template.
Fixed
- Fixed an issue that prevented adding products with preconfigured Add-Ons to the cart via URL.
2025 16 versions
8.1.2 3 Dec 2025 3 improved
Improved
- Replaced wc_enqueue_js with wp_add_inline_script according to the recommended WordPress core script patterns.
- Bumped WordPress tested up to version to 6.9.
- Bumped WooCommerce tested up to version to 10.4.
8.1.1 12 Nov 2025 1 fixed
Fixed
- Replaced deprecated script handles for compatibility with WooCommerce 10.3+.
8.1.0 2 Oct 2025 2 fixed
Fixed
- Allow 0 pre-filled value for Price and Quantity add-ons.
- Fixed an issue where dropdown options getting hidden when deleting an option.
8.0.0 22 Sep 2025 1 improved1 fixed
Improved
- Important: Updated frontend templates.
Fixed
- Improved accessibility.
7.9.2 29 Jul 2025 1 fixed
Fixed
- Fixed an issue where jQuery TipTip tooltips were not loaded.
7.9.1 2 Jul 2025 2 fixed
Fixed
- Fixed an issue where subscription products with add-ons couldn't be configured in admin orders.
- Fixed an issue that prevented manually paying for subscriptions with required add-ons.
7.9.0 20 May 2025 3 improved1 fixed
Improved
- Removed deprecated WC_PAO_Core_Compatibility::wc_current_theme_is_fse_theme.
- Removed name attribute from product_addons_export_string to improve compatibility with certain hosts.
- Updated all json_encode functions with wp_json_encode.
Fixed
- Fixed an issue that prevented add-on options from being saved correctly when an add-on was removed.
7.8.2 6 May 2025 3 improved
Improved
- Replaced the use of deprecated function wc_current_theme_is_fse_theme.
- Deprecated WC_PAO_Core_Compatibility::wc_current_theme_is_fse_theme.
- Added validation when re-ordering a product with add-ons. Can be disabled via: 'woocommerce_product_addon_reorder_disable_validation'.
7.8.1 10 Apr 2025 1 fixed
Fixed
- Improved handling of add-ons display to prevent conflicts when the global product object is missing.
7.8.0 8 Apr 2025 2 improved1 fixed
Improved
- Important: Updated the image.php template, which is responsible for displaying Multiple Choice add-ons as images.
- Added width and height attributes on multiple choice option images.
Fixed
- Resolved some styling issues in the Products > Add-Ons configuration screen
7.7.0 10 Mar 2025 1 new2 fixed
New
- Added support for Product Add-Ons selection in Store API.
Fixed
- Fixed an issue with long multiple choice options not being selected.
- Fixed a display issue with flat fees pricing when purchasing more than one product in the Cart block.
7.6.0 3 Mar 2025 2 new2 fixed
New
- Added a visibility option to Multiple Choice and Checkboxes add-ons.
- Important: Updated the Multiple Choice and Checkboxes templates.
Fixed
- Fixed an issue where a dropdown was wrongfully appearing for Multiple choice add-ons displayed as images.
- Fixed a compatibility issue with PayPal and the cart/checkout block that removed add-on prices in cancelled orders.
7.5.0 11 Feb 2025 1 new2 improved
New
- Added a 'Clear' button to File Upload add-ons.
Improved
- Important: Removed compatibility with the new Product Editor.
- Important: Updated the File Upload template.
7.4.0 22 Jan 2025 2 new1 improved1 fixed
New
- Added support for default values in Multiple Choice, Checkbox, Quantity and Price add-on types.
- Updated the REST API integration to support default add-on values.
Improved
- Updated the REST API integration to support decimal values for min/max Price add-on fields.
Fixed
- Fixed an issue where multiple choice options could be assigned to the incorrect add-on when add-ons are being moved around.
7.3.1 15 Jan 2025 1 fixed
Fixed
- Fixed an error triggered when clicking on the cart item link of a product with a un-configured custom price add-on.
7.3.0 14 Jan 2025 3 improved2 fixed
Improved
- Important: Updated the template for displaying Price add-ons.
- Supported decimal values for Price add-ons, based on the store's decimal separator.
- Removed use of global product variable in the context of the admin page.
Fixed
- Fixed dates before 1970 in Date Picker add-on not being allowed.
- Fixed non-display of add-ons in single product block.
2024 16 versions
7.2.1 2 Dec 2024 5 fixed
Fixed
- Fix fatal error when the cart permalink is cleared.
- Fixed selected image add-on price not displaying in admin orders.
- Fixed empty return while using the 'woocommerce_add_cart_item_data' filter.
- Fixes issue with admin order editing of global add-ons with category filtering on product variants.
- Fixed Tracker error when invalid global add-on is encountered.
7.2.0 20 Nov 2024 5 new2 improved3 fixed
New
- Added compatibility with WordPress 6.7.
- Added support for pre-populating add-ons when clicking on a cart item link.
- Introduced the 'woocommerce_pao_reset_file_link' filter to modify the file input clear link.
- Introduced the 'woocommerce_product_addons_cart_permalink' filter to control when to pre-populate add-ons from a cart item link.
- Introduced the 'woocommerce_product_addons_parse_cart_addons' filter to modify the add-ons parsed from a cart item link.
Improved
- Templates have been updated to support pre-populating add-on values.
- Allowed decimal values for the Limit Price option for Price add-ons.
Fixed
- Enforce minimum epoch date for date pickers in add-ons.
- Resolved an issue that caused global add-ons to not be saved when editing a variation order item in the admin context.
- Resolved an issue with price calculations that can result in the customer being shown the incorrect price on the product page with slow servers or connections.
7.1.2 22 Oct 2024 2 fixed
Fixed
- Fixed a regression with front-end validation for image add-ons.
- Fixed a regression with front-end validation for file upload add-ons.
7.1.1 30 Sep 2024 1 new
New
- Important: Data migrations from versions before 3.0 are disabled by default. Introduced 'woocommerce_product_addons_enable_migration_3_0' filter to allow this to be overridden.
7.1.0 17 Sep 2024 4 new1 fixed
New
- Important: Product Add-Ons now requires Composite Products 10.1+ for the integration between the two plugins to work.
- Important: Product Add-Ons now requires Product Bundles 8.1+ for the integration between the two plugins to work.
- Added support for configuring bundled product add-ons in admin orders.
- Added support for configuring component add-ons in admin orders.
Fixed
- Support add-ons configuration in admin orders for variations.
7.0.3 3 Sep 2024 1 fixed
Fixed
- Resolved warning triggered by global add-ons without ID.
7.0.2 27 Aug 2024 2 new4 improved6 fixed
New
- Added full validation to order add-on configuration in the admin.
- Use global add-on ID for class names in global add-ons.
Improved
- Removed WooCommerce Navigation integration.
- Improved display of field type in the admin for narrow browser windows.
- Improve contrast of field type and ID in the admin.
- Add defensive is_array checks to prevent errors when fetching add-ons with filters.
Fixed
- Resolved a PHP warning triggered when adding a product with add-ons to the cart, while using WooCommerce 9.2+.
- Resolved PHP warnings triggered when doing a REST API v2 request with missing data.
- Corrects the validation for quantity fields to validate the min and max values even if the field is not required.
- Prevent negative values for Customer-defined price and Quantity add-on types.
- Fixed Add-On type display value in admin for the Heading Add-On type.
- Resolved an issue that prevented percentage add-on prices from showing correctly for Name Your Price products in the order confirmation page.
7.0.1 31 Jul 2024 1 fixed
Fixed
- Deactivate plugin for WooCommerce versions prior to 8.2 to avoid fatal errors.
7.0.0 30 Jul 2024 5 new2 improved2 fixed
New
- Important: PHP 7.4+ is now required.
- Important: WooCommerce 8.2+ is now required.
- Important: WordPress 6.2+ is now required.
- Important: Removed all previously deprecated code.
- Updated the 'woocommerce_product_addons_update_product_price' filter to modify the flat fees sum associated with a cart item, as well. Used in WooPayments MultiCurrency 8.1+.
Improved
- Cleaned up frontend hooks from admin templates.
- Removed trailing [] from radio button input name attribute in 'templates/addons/radiobutton.php'.
Fixed
- Normalised the way that custom price fields are saved.
- Fixed a pay-for-order conflict with WooPayments.
6.9.0 3 Jul 2024 5 new1 improved1 fixed
New
- Important: Product Add-Ons now requires Product Bundles 7.2+ for the integration between the two plugins to work.
- Important: Product Add-Ons now requires Composite Products 9.1+ for the integration between the two plugins to work.
- REST API v2.
- Introduced compatibility with the new Product Editor.
- Added support for add-ons configuration in admin orders.
Improved
- Started recording raw prices and user supplied values for orders created with add-ons.
Fixed
- Fixed Add-On type display value in admin for the Checkboxes Add-On type.
6.8.4 4 Jun 2024 1 fixed
Fixed
- Improved validation of values when getting maintenance and dismissed notices from the DB.
6.8.3 14 May 2024 1 improved2 fixed
Improved
- Added more classes in add-ons subtotals.
Fixed
- Important: Security improvements.
- Fixed an issue where add-on IDs change on each save.
6.8.2 9 Apr 2024 1 improved
Improved
- Updated the way of identifying hydration context in Store API requests.
6.8.1 26 Mar 2024 1 fixed
Fixed
- Fixed an issue that prevented importing add-ons to new global add-on groups.
6.8.0 12 Mar 2024 2 new
New
- Introduced Date Picker add-on type.
- Introduced 'Add placeholder' option for text add-ons.
6.7.0 5 Mar 2024 2 new1 improved2 fixed
New
- Important: Product Add-Ons now requires Product Bundles 7.0+ for the integration between the two plugins to work.
- Important: Product Add-Ons now requires Composite Products 9.0+ for the integration between the two plugins to work.
Improved
- Reveal add-on subtotals only when an add-on has been selected in products with only optional add-ons.
Fixed
- Resolved a PHP error that can occur when multiple choice add-on's value is empty
- Resolved a PHP error that can occasionally occur when using WooPayments
