WooCommerce Product Add-Ons By WooCommerce v8.4.7
= v8.4.7 - 2026-11-04 =
* Fix - Prevented the legacy v1 REST API from reading, updating or deleting a different add-on group or product when the request ID is not a positive integer.
* Fix - Reject fractional group IDs in the v2 REST API.
* Fix - Returned a validation error instead of a fatal error when creating add-ons with existing field IDs via the REST API.
* Fix - Reduced add-on ID collisions when separate requests create add-ons at the same time.
WooCommerce Product Add-Ons By WooCommerce v8.4.6
= v8.4.6 =
* Fix - Prevented the REST API from deleting a different global add-on group when the request ID is negative or not a number.
* Fix - Prevented a fatal error when checking whether a product that no longer exists is a grouped product.
* Fix - Preserved unrelated metadata and options when deleting all Product Add-Ons data during uninstall.
* Fix - Fixed tax subtotals for products priced by Measurement Price Calculator.
* Fix - Refresh add-on totals when Measurement Price Calculator changes the product quantity.
* Fix - Restored image add-on selection and focus outlines in Quick View modals.
* Fix - Fixed add-on totals for products discounted by WooCommerce Memberships.
* Tweak - Raised the minimum supported Composite Products version to 10.2.0.
* Dev - Raised the PHPStan analysis level to 8.
* Dev - Corrected docblock types reported by PHPStan level 9.
* Dev - Corrected docblock types reported by PHPStan level 10.
* Dev - Checked integrations in PHPStan against generated stubs from woocommerce/php-stubs.
* Dev - Resolved PHPStan baseline entries without changing behavior.
* Dev - Kept the PHPStan integration stubs up to date without manual changes.
* Dev - Updated QIT CLI to 1.3.3.
* Dev - Documented booking add-on price types and per-product multiplier setup.
WooCommerce Product Add-Ons By WooCommerce v8.4.4
= v8.4.4 =
* Fix - 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.
* Fix - Stopped edited orders from showing both the old and the new selection for an add-on that was renamed after the order was placed.
* Fix - Treated order item edits as successful when the product has no add-ons.
* Fix - Selected the correct checkbox options when option names differ only in special characters.
* Fix - Matched the height of add-on dropdowns to other add-on fields and WooCommerce form fields in block themes.
* Fix - Added a manual copy field when automatic add-on export copying is unavailable.
* Fix - Prevented a JavaScript error when Quick View is active and product variations load through AJAX.
* Fix - Allowed file uploads on subscription products when Mixed Checkout is disabled.
* Tweak - Raised minimum requirements to WordPress 7.0 and WooCommerce 11.1.
* Dev - Updated @wordpress/scripts to 36.1.
* Dev - Updated development dependencies to address security advisories.
WooCommerce Product Add-Ons By WooCommerce v8.4.3
* Fix - Stopped add-on options whose labels match after formatting from applying each other's prices, including hidden options.
* Fix - Rejected unsupported file-upload values submitted through the Store API.
* Fix - Prevented submitted URLs from impersonating completed classic-cart file uploads.
* Fix - Limited daily guest upload volume while preserving existing uploads.
* Fix - Enforced required add-ons when Store API requests omit their configuration.
* Fix - Limited order file links to verified local file-upload add-ons.
* Fix - Prevented duplicate deserialization of add-on metadata during CSV export.
* Fix - Fixed radio add-ons to accept one selection and preserve the first matching choice when reordering legacy orders.
* Fix - 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.
* Fix - Fixed date add-on validation and preserved prices for accepted date selections.
* Fix - Kept empty optional date selections valid when an integration retains the companion timestamp.
* Fix - Fixed Store API add-on pricing to use the validated request data.
* Fix - Rejected malformed list choices before resolving add-on options.
* Fix - Preserved empty selections passed as null list placeholders by integrations.
* Fix - Refreshed global add-on membership and required-option buttons after group and category changes while avoiding cache work for unrelated metadata.
* Fix - Kept required global add-ons and their prices when adding variations through the Store API.
* Fix - 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.
* Fix - Kept custom add-on prices finite and bounded through cart pricing while preserving validation-only filters and legacy optional price keys.
* Fix - Fixed missing cart prices for add-on options labeled zero.
* Fix - Preserved zero-valued radio selections when editing cart items.
* Fix - Fixed historical file-upload formatting after changing an add-on to a textarea.
* Fix - Fixed legacy file-upload metadata validation; uploads outside the standard directory displayed as plain text.
* Fix - Kept shopper text add-ons as plain text in orders and emails.
* Fix - 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.
* Fix - Prevented duplicate add-on charges by skipping unsupported definitions, including those with a missing display setting.
* Fix - Hid the "Display as" option for Short Text add-ons when the product add-ons panel first loaded.
* Tweak - Raised minimum requirements to WordPress 6.9 and WooCommerce 10.9.
* Tweak - Declared compatibility with WordPress 7.1 and WooCommerce 11.2.
* Dev - Updated development dependencies to address security advisories.
* Dev - Hardened release artifact verification, release pull request checks, and WordPress test metadata.
* Dev - Updated the development toolchain to Node 24.18 and @wordpress/scripts 35.
* Dev - Corrected hook docblocks and other PHPStan findings that do not change behavior.
* Dev - Raised the PHPStan analysis level to 2.
* Dev - Switched the version headings in changelog.txt to the WordPress.org format.
WooCommerce Product Add-Ons By WooCommerce v8.4.1
= v8.4.1
* Fix - Added a directory-listing placeholder to add-on file upload directories, and backfilled existing directories in the background.
* Fix - Secured zero-priced product calculations while preserving Smart Coupons credit amounts.
* Fix - Prevented "Translation loading was triggered too early" notices when the installed WooCommerce or PHP version is not supported.
* Fix - Fixed add-on data being dropped when adding products to the cart through the Store API `/batch` endpoint.
* Fix - Prevented a failed Store API add-to-cart validation from leaving a stale error notice behind for later requests.
* Fix - Prevented unauthorized access to order-item add-on configuration.
* Dev - Restored TLS certificate verification and fail-closed error handling in the release deployment script.
* Dev - Fixed the unit-test CI matrix so coverage config matches this repository, and restored the PHP 8.0 job.
* Dev - Enabled JavaScript linting in the release pipelines.
* Dev - Pinned and checksum-verified the WP-CLI executable used in release builds.
* Dev - Updated cross-env to v7 and PHP_CodeSniffer to 3.13.6 (security release).
* Dev - Added Markdown, dependency license, and WordPress.org Plugin Check gates to the pull request CI.
* Dev - Updated the npm build toolchain to resolve all remaining Dependabot security alerts.
* Dev - Standardized the package license identifier on GPL-3.0-or-later.
* Dev - Exposed the shared `.ai/commands` to agent tooling and documented the isolated worktree setup.
* Dev - Enabled CSS linting in CI and fixed source style violations.
* Dev - 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.
* Dev - Removed release credentials from pull request E2E jobs.
* Dev - Update wp-coding-standards/wpcs to 3.4.1 (security release) in the phpcs lint tooling.
* Dev - Update development Composer dependencies (PHPUnit, Guzzle PSR-7, PsySH, Symfony YAML) to resolve security advisories in the PHP test toolchain.
* Dev - Update development npm dependencies to resolve security advisories in the build toolchain.
* Dev - Hardened the QIT test workflow: pinned the QIT CLI version and stopped workflow inputs from being interpolated into shell source.
WooCommerce Product Add-Ons By WooCommerce v8.4.0
2026.07.22 - version 8.4.0
* New - Important: WordPress 6.8+ is now required.
* New - Important: WooCommerce 10.6+ is now required.
* New - Added sorting by Name column in the global add-ons list table.
* New - Added search functionality to filter global add-ons by name.
* New - 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.
* Fix - Fixed mini-cart add-on prices displaying without taxes.
* Fix - Resolved an issue where the default selection for the first checkbox option was not retained after reloading the product in admin.
* Fix - Fixed deleting dropdown add-on options containing double quotes.
* Fix - Fixed global add-ons list table sorting to apply across all pages instead of only within the current page.
* Fix - Fixed sorting by 'Number of fields' column to correctly sort by field count.
* Tweak - Bumped WooCommerce tested up to version to 11.0.
=
For activation, use this activator. Exclusively for Babiato.tech members.
https://babiato.tech/free-resources/woo-plugins-activator-activate-all-woo-products.42357/
WooCommerce Product Add-Ons By WooCommerce v8.3.1
*** Product Addons Changelog ***
2026.06.16 - version 8.3.1
* New - Added initial read-only WordPress abilities for Product Add-Ons global groups and product add-ons.
* Fix - Prevented a JavaScript error that could break add-ons when tipTip is dequeued.
* Fix - Fixed an issue where "Order again" silently dropped add-ons whose name had changed since the original order was placed.
* Tweak - Security updates.
* Tweak - Bumped WooCommerce tested up to version to 10.9.
* Dev - Updated the JavaScript build toolchain to the React 18.3 line and added React 19 readiness guards.
=
For activation, use this activator. Exclusively for Babiato.tech members.
https://babiato.tech/free-resources/woo-plugins-activator-activate-all-woo-products.42357/
WooCommerce Product Add-Ons By WooCommerce v8.3.0
=
- 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.
- Bumped WordPress tested up to version to 7.0.
- Bumped WooCommerce tested up to version to 10.7.
For activation, use this activator. Exclusively for Babiato.tech members.
https://babiato.tech/free-resources/woo-plugins-activator-activate-all-woo-products.42357/
WooCommerce Product Add-Ons By WooCommerce v8.2.0
- Added 'Limit file types' option for File Upload add-ons to restrict the type of uploaded files per add-on.
- Fixed an issue that prevented adding products with preconfigured Add-Ons to the cart via URL.
- Bumped WooCommerce tested up to version to 10.5.
- Important: Updated File Upload template.
WooCommerce Product Add-Ons By WooCommerce v8.1.2
2025.12.03 - v8.1.2
* Tweak - Replaced wc_enqueue_js with wp_add_inline_script according to the recommended WordPress core script patterns.
* Tweak - Bumped WordPress tested up to version to 6.9.
* Tweak - Bumped WooCommerce tested up to version to 10.4.