Feature – GDPR: Tools to export WooCommerce data using the new export functionality in WordPress 4.9.6. #19330
Feature – GDPR: Tools to bulk anonymize order data in admin. #19330
Feature – GDPR: Tools to turn off company/address-2/phone checkout fields to avoid unnecessary data collection, and a toggle to choose how required fields are presented. This is available via the Customizer. #19637
Feature – GDPR: Tools in the Customizer to change the terms and conditions checkbox label on the checkout. #19637
Feature – GDPR: Tools to define a privacy policy for the account page and checkout page in “account privacy” settings and within the Customizer. #19747
Feature – GDPR: Tools to automatically clean up and remove order personal data after a set time period. #19743
Feature – GDPR: Added privacy snippet which works with the new privacy page functionality in WordPress 4.9.6. #19749
Feature – Added a new order widget to the dashboard (on multisite) so you can see your orders across multiple stores on the same WordPress network. #17598
Feature – Added “display name” input on the My Account page. #19078
Feature – Product search improvements including stopword support and support for searching for multiple products at the same time. #19096
Feature – Cash on Delivery gateway can be enabled/disabled for specific shipping methods instead of only method types. #19221
Feature – Add wildcard email support for coupons. #19331
Feature – Added support for the GeoLite2 library as a replacement for the deprecated MaxMind GeoIP library. #19419
Feature – Added tool for cleaning up download permissions table. #19922
Tweak – GDPR: Improved appearance of checkout field ‘descriptions’ (if used) to make them more useful for privacy notices. #19637
Tweak – GDPR: Improved related data cleanup when deleting users/orders. #19330
Tweak – GDPR: Notice about HTTPS as a requirement in admin if missing. #19756
Tweak – GDPR: Improved the checkout (payments) settings screen, moved page options to a new “advanced” section, and made an “Accounts and Privacy” section. #19703
Tweak – GDPR: Hash customer email address in download URLs to protect privacy. #18957
Tweak – GDPR: Add highlight to T&C checkbox if not checked to show it needs to be checked. #19177
Tweak – GDPR: Automatically purge old logs after 30 days. #19920
Tweak – GDPR: Only log Webhook body if WP_DEBUG is enabled. #19914
Tweak – GDPR: Store less PII in PayPal standard. #19914
Tweak – Only show admin notices on WooCommerce screens/plugins/dashboard. #19772
Tweak – Standardize stock update messages in admin and correctly log who performed the action. When an order note is added after modifying stock manually, update order notes display via AJAX. #18080
Tweak – Rollback if payment complete or update status fails to prevent partial order updates on failure. #18175
Tweak – Made the system status tool which purges user carts also purge persistent carts. #18492
Tweak – Display whether or not external object cache is enabled in system status report. #18595
Tweak – Display zero value when using shipping classes. #18624
Tweak – Fixed settings table styling on mobile. #18655
Tweak – Updated Flexslider to version 2.7.0. #18779
Tweak – Enable screen options for list screens. #18817
Tweak – Don’t call WC_Install::install() on downgrades. #18818
Tweak – Remove user login from reset password link to protect personally identifying info. #18820
Tweak – Added a function to return a list of custom tables to aid with cleanup. #18831
Tweak – Enable going backwards in the setup wizard. #18921
Tweak – Make sure terms page exists and isn’t trashed before using it. #18993
Tweak – Toggle when clicking anywhere in toggle row during setup wizard. #19035
Tweak – Use read_product permissions instead of edit_product for ajax product search. #19087
Tweak – Add priceSpecification property with valueAddedTaxIncluded to product structured data. #19091
Tweak – Importer remembers mappings across imports. #19110
Tweak – Made coupon total displayed in cart more consistent. #19166
Tweak – Remove forced CSS line-heights to improve text input displays across different browsers. #19174
Tweak – When loading default attributes/variation, if there is no longer a match, reset the form and hide the notice #19190
Tweak – Removed admin product type column from core and made it into a free feature plugin. #19192
Tweak – Use woocommerce-no-js class to hide JavaScript-only forms and content. #19199
Tweak – Activate plugins during installation process even if directory doesn’t match slug. #19200
Tweak – Allow category and attribute ids in the products shortcode instead of only slugs. #19204
Tweak – Invalidate cart items when important props like product type are updated. #19255
Tweak – Don’t use mysql functions directly on system status page to prevent errors if they are disabled. #19281
Tweak – Replaces have_posts with woocommerce_product_loop which looks to see if there are products, or if the loop is going to be showing something else. #19288
Tweak – Delete widget options and order notes on uninstall. #19371
Tweak – Add unique names to all nonces in template fields and forms. #19387
Tweak – Enable using the tab key to select elements in selectWoo dropdowns. #19416
Tweak – Added autocomplete attributes to form elements for better autocomplete support. #19426
Tweak – Removed PayPal line item limit and ensured URLs are shorter than maximum length. #19493
Tweak – Disable Gutenberg editor on products posts. #19543
Tweak – Improvements around UI and wording of store setup step in setup wizard, a revamped extras step, and other improvements.
Tweak – Only push images to lightbox if an image is found. #19568
Tweak – Added and improved notices around old PHP versions and disabled geolocation on PHP 5.4 or lower. #19573
Tweak – The manage_stock field in the product API can return a mixed type instead of boolean for variations. #19598
Tweak – Link product import/export to WordPress import/export capabilities. #19602
Tweak – Use to separate asterisks in required fields to prevent awkward line breaks. #19610
Tweak – Load meta box input values using CRUD and edit context. #19670
Tweak – Scroll to notices on cart/checkout for better mobile visibility. #19699
Tweak – Add filter to coupon URL on “Edit order” screen. #19777
Tweak – Throw error if order can’t be loaded on checkout. #19802
Tweak – Remove deprecated freegeoip service from geolocation. #19841
Tweak – Allow arrays of query vars in wc_get_orders and wc_get_products. #19848
Tweak – Invalidate fragment cache on theme switch.
Tweak – Include select tags when saving payment details temporarily in checkout.js. #19854
Tweak – Update – Include pending products in export. #19928
Tweak – Deprecate woocommerce_ajax_added_order_items action in favor of more useful action. #19933
Tweak – Enable touch-to-zoom on touch devices to make photoswipe more easily accessible. #20002
Tweak – Wizard: List out all plugins to be installed upon proceeding to the next step, with a highlight on hover indicating relevant settings. #19952
Tweak – Hide/show password strength meter instead of removing/inserting password strength meter. #20006
Tweak – Added support for HTTP_RANGE requests (used by iOS devices) to Force download method. #19984
Tweak – Replaced protocol-relative URLs for thumbnails in the cart and mini-cart with protocol-specific URLs to prevent problems with URLs that include port section. #19934
Tweak – In CSV exports, wrap cell in ‘ rather than just prepending to escape values. #20041
Tweak – Add JS listeners for reloading/reinitializing order items in edit-order page. #20082
Fix – Properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads(). #1862
Fix – Set maxlength for order item meta key to avoid values disappearing if too long. #18918
Fix – Remove hardcoded /wp-content check for downloads. #18961
Fix – Made get_on_sale_products respect the setting to hide outofstock products. #18984
Fix – Prevent shortcode redirecting to the actual product’s page after add to cart. #19043
Fix – Make the “main term” logic match for both the breadcrumb and product categories widget. #19044
Fix – Check parent status too when seeing if variation is purchasable. #19045
Fix – Fix uppercasing of accented characters. #19086
Fix – Do not allow updating parent ID from variations after created. #19097
Fix – Ensure coupon amount is not empty to prevent non-numeric value errors. #19098
Fix – Ensure shop archive works correctly when paged=1 is in the URL. #19104
Fix – Ensure orders created with woocommerce_adjust_non_base_location_prices filter active have the same cost on frontend and admin. #19109
Fix – Handling in the CLI to prevent Resource does not exist errors when using commands of a certain format. #19123
Fix – Use subtotal when calculating discounts in admin/orders to ensure prices are the same as on the frontend. #19159
Fix – Use kses to process download names to prevent escaped HTML displaying in emails.
Fix – Remove translation from Thailand state file to prevent PayPal errors around unsupported characters. #19219
Fix – Fix auto-select variation URLs with special characters in them. #19283
Fix – Introduced wc_round_discount and improved consistency of discount rounding. #19291
Fix – Only add schema for ratings to structured data when ratings are enabled. #19310
Fix – Prevent default state applying unless the country was also unset in JS state/country inputs. #19338