WooCommerce 3.4.0

WooCommerce was updated to version 3.4.0, from version 3.3.5. Changelog:

  • Feature – GDPR: Tools to export WooCommerce data using the new export functionality in WordPress 4.9.6.
  • Feature – GDPR: Tools to bulk anonymize order data in admin.
  • 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.
  • Feature – GDPR: Tools in the Customizer to change the terms and conditions checkbox label on the checkout.
  • Feature – GDPR: Tools to define a privacy policy for the account page and checkout page in “account privacy” settings and within the Customizer.
  • Feature – GDPR: Tools to automatically clean up and remove order personal data after a set time period.
  • Feature – GDPR: Added privacy snippet which works with the new privacy page functionality in WordPress 4.9.6.
  • 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.
  • Feature – Added “display name” input on the My Account page.
  • Feature – Product search improvements including stopword support and support for searching for multiple products at the same time.
  • Feature – Cash on Delivery gateway can be enabled/disabled for specific shipping methods instead of only method types.
  • Feature – Add wildcard email support for coupons.
  • Feature – Added support for the GeoLite2 library as a replacement for the deprecated MaxMind GeoIP library.
  • Feature – Added tool for cleaning up download permissions table.
  • Tweak – GDPR: Improved appearance of checkout field ‘descriptions’ (if used) to make them more useful for privacy notices.
  • Tweak – GDPR: Improved related data cleanup when deleting users/orders.
  • Tweak – GDPR: Notice about HTTPS as a requirement in admin if missing.
  • Tweak – GDPR: Improved the checkout (payments) settings screen, moved page options to a new “advanced” section, and made an “Accounts and Privacy” section.
  • Tweak – GDPR: Hash customer email address in download URLs to protect privacy.
  • Tweak – GDPR: Add highlight to T&C checkbox if not checked to show it needs to be checked.
  • Tweak – GDPR: Automatically purge old logs after 30 days.
  • Tweak – GDPR: Only log Webhook body if WP_DEBUG is enabled.
  • Tweak – GDPR: Store less PII in PayPal standard.
  • Tweak – Only show admin notices on WooCommerce screens/plugins/dashboard.
  • 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.
  • Tweak – Rollback if payment complete or update status fails to prevent partial order updates on failure.
  • Tweak – Made the system status tool which purges user carts also purge persistent carts.
  • Tweak – Display whether or not external object cache is enabled in system status report.
  • Tweak – Display zero value when using shipping classes.
  • Tweak – Fixed settings table styling on mobile.
  • Tweak – Updated Flexslider to version 2.7.0.
  • Tweak – Enable screen options for list screens.
  • Tweak – Don’t call WC_Install::install() on downgrades.
  • Tweak – Remove user login from reset password link to protect personally identifying info.
  • Tweak – Added a function to return a list of custom tables to aid with cleanup.
  • Tweak – Enable going backwards in the setup wizard.
  • Tweak – Make sure terms page exists and isn’t trashed before using it.
  • Tweak – Toggle when clicking anywhere in toggle row during setup wizard.
  • Tweak – Use read_product permissions instead of edit_product for ajax product search.
  • Tweak – Add priceSpecification property with valueAddedTaxIncluded to product structured data.
  • Tweak – Importer remembers mappings across imports.
  • Tweak – Made coupon total displayed in cart more consistent.
  • Tweak – Remove forced CSS line-heights to improve text input displays across different browsers.
  • Tweak – When loading default attributes/variation, if there is no longer a match, reset the form and hide the notice
  • Tweak – Removed admin product type column from core and made it into a free feature plugin.
  • Tweak – Use woocommerce-no-js class to hide JavaScript-only forms and content.
  • Tweak – Activate plugins during installation process even if directory doesn’t match slug.
  • Tweak – Allow category and attribute ids in the products shortcode instead of only slugs.
  • Tweak – Invalidate cart items when important props like product type are updated.
  • Tweak – Don’t use mysql functions directly on system status page to prevent errors if they are disabled.
  • 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.
  • Tweak – Delete widget options and order notes on uninstall.
  • Tweak – Add unique names to all nonces in template fields and forms.
  • Tweak – Enable using the tab key to select elements in selectWoo dropdowns.
  • Tweak – Added autocomplete attributes to form elements for better autocomplete support.
  • Tweak – Removed PayPal line item limit and ensured URLs are shorter than maximum length.
  • Tweak – Disable Gutenberg editor on products posts.
  • 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.
  • Tweak – Added and improved notices around old PHP versions and disabled geolocation on PHP 5.4 or lower.
  • Tweak – The manage_stock field in the product API can return a mixed type instead of boolean for variations.
  • Tweak – Link product import/export to WordPress import/export capabilities.
  • Tweak – Use   to separate asterisks in required fields to prevent awkward line breaks.
  • Tweak – Load meta box input values using CRUD and edit context.
  • Tweak – Scroll to notices on cart/checkout for better mobile visibility.
  • Tweak – Add filter to coupon URL on “Edit order” screen.
  • Tweak – Throw error if order can’t be loaded on checkout.
  • Tweak – Remove deprecated freegeoip service from geolocation.
  • Tweak – Allow arrays of query vars in wc_get_orders and wc_get_products.
  • Tweak – Invalidate fragment cache on theme switch.
  • Tweak – Include select tags when saving payment details temporarily in checkout.js.
  • Tweak – Update – Include pending products in export.
  • Tweak – Deprecate woocommerce_ajax_added_order_items action in favor of more useful action.
  • Tweak – Enable touch-to-zoom on touch devices to make photoswipe more easily accessible.
  • Tweak – Wizard: List out all plugins to be installed upon proceeding to the next step, with a highlight on hover indicating relevant settings.
  • Tweak – Hide/show password strength meter instead of removing/inserting password strength meter.
  • Tweak – Added support for HTTP_RANGE requests (used by iOS devices) to Force download method.
  • 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.
  • Tweak – In CSV exports, wrap cell in ‘ rather than just prepending to escape values.
  • Tweak – Add JS listeners for reloading/reinitializing order items in edit-order page.
  • Fix – Properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads().
  • Fix – Set maxlength for order item meta key to avoid values disappearing if too long.
  • Fix – Remove hardcoded /wp-content check for downloads.
  • Fix – Made get_on_sale_products respect the setting to hide outofstock products.
  • Fix – Prevent shortcode [product_page] redirecting to the actual product’s page after add to cart.
  • Fix – Make the “main term” logic match for both the breadcrumb and product categories widget.
  • Fix – Check parent status too when seeing if variation is purchasable.
  • Fix – Fix uppercasing of accented characters.
  • Fix – Do not allow updating parent ID from variations after created.
  • Fix – Ensure coupon amount is not empty to prevent non-numeric value errors.
  • Fix – Ensure shop archive works correctly when paged=1 is in the URL.
  • Fix – Ensure orders created with woocommerce_adjust_non_base_location_prices filter active have the same cost on frontend and admin.
  • Fix – Handling in the CLI to prevent Resource does not exist errors when using commands of a certain format.
  • Fix – Use subtotal when calculating discounts in admin/orders to ensure prices are the same as on the frontend.
  • 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.
  • Fix – Fix auto-select variation URLs with special characters in them.
  • Fix – Introduced wc_round_discount and improved consistency of discount rounding.
  • Fix – Only add schema for ratings to structured data when ratings are enabled.
  • Fix – Prevent default state applying unless the country was also unset in JS state/country inputs.
  • Fix – Escape quantity labels correctly to prevent broken html.
  • Fix – Delete orphaned variations after product import.
  • Fix – Ensure API credentials exist before defining PayPal refund support.
  • Fix – Force word-wrapping in the log viewer to prevent layout-breaking long lines.
  • Fix – Removes permission checks that were preventing webhooks from displaying properly when no post object existed.
  • Fix – Empty cart after completing PayPal payment.
  • Fix – Strip tags on aria-labels in Add to Cart template to prevent broken HTML.
  • Fix – Update post_modified date when saving products and variations but no other product data.
  • Fix – Clear comment count transient when cleaning product transients to prevent incorrect comment count displays.
  • Fix – Load gateways before order is saved/email is triggered to ensure all information gets sent/processed.
  • Fix – Clear shipping transient when saving shipping method on zones screen.
  • Fix – Handle escape characters for fputcsv to work around PHP standards issues.
  • Fix – Cast post IDs to integers in admin meta boxes.
  • Fix – Fix CSV unescaping of negative numbers in download expiry/limit columns.
  • Fix – Don’t load unsupported theme functionality if shop page ID is -1.
  • Fix – Select and display “Downloadable” option in product admin filter when selected.
  • Fix – Add sort handle column when adding new tags.
  • Fix – More thorough CSV importer cleanup.
  • Fix – Fix gallery switching when image is the same
  • Fix – Ensure coupon amount is always returns as a float value
  • Fix – No update available message after activating subscription that has a valid update.
  • Fix – Include scheduled products in CSV export.
  • Fix – Generator tag actions should be filters.
  • Fix – WC API should not try to create a product image when creating a product variation if an empty image is passed.
  • Fix – Force settings API settings to autoload by default.
  • Fix – Cart html5 validation events when using keyboard.
  • Fix – Don’t show stock status fields in external product quick-edit.
  • Fix – Prevent an infinite loop if 2 grouped products are linked.
  • Fix – Switch stock_status when manage stock gets changed to prevent being out of stock if stock quantity is > 0.
  • Fix – When duplicating variation, set the date to null.
  • Fix – Fix rounding of line items for orders to match cart.
  • Fix – Remove hardcoded border in email template.
  • Fix – Prevent autofocus on checkout.
  • Fix – Recalc taxes if address changes in API.
  • Dev – Made wc_query_string_form_fields handle strings.
  • Dev – Added refunded_payment prop to orders for determining if payment was refunded via API.
  • Dev – Added extra params to woocommerce_order_get_downloadable_items.
  • Dev – Store shipping method ID and instance ID in separate fields instead of both in one serialized field.
  • Dev – Add woocommerce_rest_insert_system_status_tool hook that fires after executing a REST system status tool.
  • Dev – Gallery meta box is now powered by CRUD.
  • Dev – Refactor woocommerce_wp_select so it could be used for a multiselect.
  • Dev – Added ability to declare sanitize_callback in settings API.
  • Dev – Added support for additional HTML5 input types for settings/checkout forms.
  • Dev – Made ‘woocommerce_email_downloads_column_’ hook format aware.
  • Dev – Add missing woocommerce_update_options__ actions for settings pages that override save method.
  • Dev – Allow default value for single_select_country and multi_select_countries.
  • Dev – Added grouped_form class to grouped product form element.
  • Dev – Mini cart item link now respects value of $product_permalink.
  • Dev – Added woocommerce_coupon_get_items_to_validate filter to enable excluding products from coupon validation.
  • Dev – Added woocommerce_persistent_cart_enabled filter.
  • Dev – Added woocommerce_admin_order_item_coupon_url filter.
  • 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.
  • Dev – Move jQuery UI styles into WooCommerce assets folder and load them from there.
  • Dev – Added woocommerce_coupon_validate_expiry_date filter to enable modifying the coupon expiry date check.
  • Dev – Added woocommerce_shipping_calculator_enable_state filter to enable disabling state section in shipping calculator.
  • Dev – Added woocommerce_bacs_process_payment_order_status filter allowing plugins to change the order status to the BACS gateway.
  • Dev – Added woocommerce_coupon_sort filter to allow plugins to override the default coupon apply order.
  • Dev – Added woocommerce_before_output_product_categories and woocommerce_after_output_product_categories filters.
  • Dev – Added general woocommerce_form_field filter to make it easier to filter all of the form fields.
  • Dev – Added woocommerce_install_get_tables filter to enable plugins to register new, WooCommerce-specific tables.
  • Dev – Use get_variation_price method in structured data to grab min/max so filters are ran.
  • Dev – Added woocommerce_helper_suppress_connect_notice filter to enable suppressing the admin WordPress.com connection message.
  • Dev – Moved all photoswipe styles to photoswipe.css to make it easy to dequeue all the photoswipe styles.
  • Dev – Slash meta values before updating values in the data stores.
  • Dev – New wc_selected method to handle array key conversion to int.
  • Performance – Optimized saving of orders. Adds a transient for needs_processing, and only saves changes when saving order items.
  • Performance – Refactored the SQL query for WC_Customer_Download_Data_Store::get_downloads() to fetch available downloads faster.
  • Performance – Split the layered nav counts into multiple transient records by taxonomy and added a filter to allow bypassing caching.
  • Performance – Removed duplicate SET SESSION SQL_BIG_SELECTS=1 queries.
  • Performance – Avoid storing coupon _used_by data to prevent database bloat.
  • Performance – Introduced new wc_get_product_class() and wc_product_class() functions.
  • Performance – Series of tweaks aimed at reducing the number of queries performed
  • Template – Update cart coupon button from input to button type.
  • Template – Added woocommerce-form-register class to registration form.
  • Template – Added escaping to publish date.
  • Template – Added a template file for recent product reviews.
  • Template – Made add to cart templates more consistent between product types.
  • Localization – Switched Georgian Lari symbol to new UTF symbol.
  • Localization – Use ISO county codes for Irish states.
  • Localization – Use ISO county codes for BD states.
  • Localization – LR-Liberia states.
  • Localization – Update ZA tax rate.
  • Localization – Various spelling, grammar fixes, and phrasing improvements.
    Localization – Fix missing Bahrain country code.

Posted

in

by