WooCommerce 3.4.0 Changelog

WooCommerce

3.4.0 – 2018-05-23

  • 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
  • Fix – Escape quantity labels correctly to prevent broken html. #19375
  • Fix – Delete orphaned variations after product import. #19378
  • Fix – Ensure API credentials exist before defining PayPal refund support. #19380
  • Fix – Force word-wrapping in the log viewer to prevent layout-breaking long lines. #19503
  • Fix – Removes permission checks that were preventing webhooks from displaying properly when no post object existed. #19508
  • Fix – Empty cart after completing PayPal payment. #19509
  • Fix – Strip tags on aria-labels in Add to Cart template to prevent broken HTML. #19522
  • Fix – Update post_modified date when saving products and variations but no other product data. #19595
  • Fix – Clear comment count transient when cleaning product transients to prevent incorrect comment count displays. #19664
  • Fix – Load gateways before order is saved/email is triggered to ensure all information gets sent/processed. #19667
  • Fix – Clear shipping transient when saving shipping method on zones screen. #19668
  • Fix – Handle escape characters for fputcsv to work around PHP standards issues. #19678
  • Fix – Cast post IDs to integers in admin meta boxes. #19710
  • Fix – Fix CSV unescaping of negative numbers in download expiry/limit columns. #19732
  • Fix – Don’t load unsupported theme functionality if shop page ID is -1. #19822
  • Fix – Select and display “Downloadable” option in product admin filter when selected. #19876
  • Fix – Add sort handle column when adding new tags. #19875
  • Fix – More thorough CSV importer cleanup. #19877
  • Fix – Fix gallery switching when image is the same #19878
  • Fix – Ensure coupon amount is always returns as a float value #19889
  • Fix – No update available message after activating subscription that has a valid update. #19831
  • Fix – Include scheduled products in CSV export. #19907
  • Fix – Generator tag actions should be filters. #19946
  • Fix – WC API should not try to create a product image when creating a product variation if an empty image is passed. #19971
  • Fix – Force settings API settings to autoload by default. #19998
  • Fix – Cart html5 validation events when using keyboard. #20001
  • Fix – Don’t show stock status fields in external product quick-edit. #20005
  • Fix – Prevent an infinite loop if 2 grouped products are linked. #20020
  • Fix – Switch stock_status when manage stock gets changed to prevent being out of stock if stock quantity is > 0. #20021
  • Fix – When duplicating variation, set the date to null. #20083
  • Fix – Fix rounding of line items for orders to match cart. #20086
  • Fix – Remove hardcoded border in email template. #20090
  • Fix – Prevent autofocus on checkout. #20123
  • Fix – Recalc taxes if address changes in API. #20137
  • Dev – Made wc_query_string_form_fields handle strings. #20162
  • Dev – Added refunded_payment prop to orders for determining if payment was refunded via API. #18196
  • Dev – Added extra params to woocommerce_order_get_downloadable_items. #18408
  • Dev – Store shipping method ID and instance ID in separate fields instead of both in one serialized field. #18483
  • Dev – Add woocommerce_rest_insert_system_status_tool hook that fires after executing a REST system status tool. #18505
  • Dev – Gallery meta box is now powered by CRUD. #18511
  • Dev – Refactor woocommerce_wp_select so it could be used for a multiselect. #18536
  • Dev – Added ability to declare sanitize_callback in settings API. #18554
  • Dev – Added support for additional HTML5 input types for settings/checkout forms. #18594
  • Dev – Made ‘woocommerce_email_downloads_column_’ hook format aware. #18600
  • Dev – Add missing woocommerce_update_options__ actions for settings pages that override save method. #18609
  • Dev – Allow default value for single_select_country and multi_select_countries. #18754 #18756
  • Dev – Added grouped_form class to grouped product form element. #18786
  • Dev – Mini cart item link now respects value of $product_permalink. #18979
  • Dev – Added woocommerce_coupon_get_items_to_validate filter to enable excluding products from coupon validation. #19002
  • Dev – Added woocommerce_persistent_cart_enabled filter. #19027
  • Dev – Added woocommerce_admin_order_item_coupon_url filter. #19777
  • Dev – Replaced calls to exit with wp_die in the ajax methods to enable unit testing of those methods.
  • Dev – Introduce woocommerce_coupon_custom_discounts_array filter to allow post processing on custom coupons. #19148
  • Dev – Move jQuery UI styles into WooCommerce assets folder and load them from there. #19173
  • Dev – Added woocommerce_coupon_validate_expiry_date filter to enable modifying the coupon expiry date check. #19228
  • Dev – Added woocommerce_shipping_calculator_enable_state filter to enable disabling state section in shipping calculator. #19241
  • Dev – Added woocommerce_bacs_process_payment_order_status filter allowing plugins to change the order status to the BACS gateway. #19311
  • Dev – Added woocommerce_coupon_sort filter to allow plugins to override the default coupon apply order. #19339
  • Dev – Added woocommerce_before_output_product_categories and woocommerce_after_output_product_categories filters. #19363
  • Dev – Added general woocommerce_form_field filter to make it easier to filter all of the form fields. #19388
  • Dev – Added woocommerce_install_get_tables filter to enable plugins to register new, WooCommerce-specific tables. $19436
  • Dev – Use get_variation_price method in structured data to grab min/max so filters are ran. #19527
  • Dev – Added woocommerce_helper_suppress_connect_notice filter to enable suppressing the admin WordPress.com connection message. #19599
  • Dev – Moved all photoswipe styles to photoswipe.css to make it easy to dequeue all the photoswipe styles. #19673
  • Dev – Slash meta values before updating values in the data stores. #19675
  • Dev – New wc_selected method to handle array key conversion to int. #19705
  • Performance – Optimized saving of orders. Adds a transient for needs_processing, and only saves changes when saving order items. #18538
  • Performance – Refactored the SQL query for WC_Customer_Download_Data_Store::get_downloads() to fetch available downloads faster. #18559
  • Performance – Split the layered nav counts into multiple transient records by taxonomy and added a filter to allow bypassing caching. #19225
  • Performance – Removed duplicate SET SESSION SQL_BIG_SELECTS=1 queries. #19502
  • Performance – Avoid storing coupon _used_by data to prevent database bloat. #19669
  • Performance – Introduced new wc_get_product_class() and wc_product_class() functions. #19639
  • Performance – Series of tweaks aimed at reducing the number of queries performed #19918
  • Template – Update cart coupon button from input to button type. #19059
  • Template – Added woocommerce-form-register class to registration form. #19486
  • Template – Added escaping to publish date. #19530
  • Template – Added a template file for recent product reviews. #19711
  • Template – Made add to cart templates more consistent between product types. #19666
  • Localization – Switched Georgian Lari symbol to new UTF symbol. #19603
  • Localization – Use ISO county codes for Irish states. #19658
  • Localization – Use ISO county codes for BD states. #19744
  • Localization – LR-Liberia states. #19709
  • Localization – Update ZA tax rate. #19909
  • Localization – Various spelling, grammar fixes, and phrasing improvements.
  • Localization – Fix missing Bahrain country code. #20061

Leave a Reply

Your email address will not be published. Required fields are marked *

See if Cinch is right for you.

Ask us anything. Seriously. Like, what is the air speed velocity of an unladen swallow?

Start a chat right now

Or go ahead and Sign up now