From a939cacf5ca34cbccb2b2e6de7f735b55c1cade5 Mon Sep 17 00:00:00 2001 From: Hayden Whiteman Date: Sat, 22 Aug 2020 22:09:14 +1200 Subject: [PATCH 01/73] Fix #27339 --- includes/class-wc-tax.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/class-wc-tax.php b/includes/class-wc-tax.php index 70a34ab6c0c..5f4aa1c8ba3 100644 --- a/includes/class-wc-tax.php +++ b/includes/class-wc-tax.php @@ -1189,8 +1189,10 @@ class WC_Tax { public static function get_rates_for_tax_class( $tax_class ) { global $wpdb; + $tax_class = self::format_tax_rate_class( $tax_class ); + // Get all the rates and locations. Snagging all at once should significantly cut down on the number of queries. - $rates = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$wpdb->prefix}woocommerce_tax_rates` WHERE `tax_rate_class` = %s;", sanitize_title( $tax_class ) ) ); + $rates = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$wpdb->prefix}woocommerce_tax_rates` WHERE `tax_rate_class` = %s;", $tax_class ) ); $locations = $wpdb->get_results( "SELECT * FROM `{$wpdb->prefix}woocommerce_tax_rate_locations`" ); if ( ! empty( $rates ) ) { From cd579e3798b1b13fcc1cad53439b486905b9eb7c Mon Sep 17 00:00:00 2001 From: Ron Rennick Date: Fri, 28 Aug 2020 13:56:25 -0300 Subject: [PATCH 02/73] update phpcs rule --- includes/class-wc-tax.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/class-wc-tax.php b/includes/class-wc-tax.php index 5f4aa1c8ba3..8dd22c22dbc 100644 --- a/includes/class-wc-tax.php +++ b/includes/class-wc-tax.php @@ -403,7 +403,7 @@ class WC_Tax { $criteria_string = implode( ' AND ', $criteria ); - // phpcs:disable WordPress.DB.PreparedSQL.NotPrepared + // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared $found_rates = $wpdb->get_results( " SELECT tax_rates.*, COUNT( locations.location_id ) as postcode_count, COUNT( locations2.location_id ) as city_count From ff9a3f2e1ea994204925fab5849e466579a57c1e Mon Sep 17 00:00:00 2001 From: pjv Date: Tue, 1 Sep 2020 14:37:02 -0500 Subject: [PATCH 03/73] Add before set stock action MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add product and variation `before_set_stock` actions to allow 3rd party plugins to snapshot a product’s stock quantity before it is updated. --- includes/wc-stock-functions.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/includes/wc-stock-functions.php b/includes/wc-stock-functions.php index ccac0eac374..e4047cef60b 100644 --- a/includes/wc-stock-functions.php +++ b/includes/wc-stock-functions.php @@ -38,6 +38,13 @@ function wc_update_product_stock( $product, $stock_quantity = null, $operation = $product_with_stock = $product_id_with_stock !== $product->get_id() ? wc_get_product( $product_id_with_stock ) : $product; $data_store = WC_Data_Store::load( 'product' ); + // Fire actions to let 3rd parties know the stock is about to be changed. + if ($product_with_stock->is_type('variation')) { + do_action('woocommerce_variation_before_set_stock', $product_with_stock); + } else { + do_action('woocommerce_product_before_set_stock', $product_with_stock); + } + // Update the database. $new_stock = $data_store->update_product_stock( $product_id_with_stock, $stock_quantity, $operation ); From fc908a0befc97aa05b453255907d8afdac26bd9a Mon Sep 17 00:00:00 2001 From: And Finally Date: Tue, 15 Sep 2020 10:55:52 +0100 Subject: [PATCH 04/73] Change href of premium support link from `https://woocommerce.com/my-account/tickets/` to `https://woocommerce.com/my-account/create-a-ticket/`, as the original URL is deprecated. --- includes/class-wc-install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/class-wc-install.php b/includes/class-wc-install.php index 95fc3ec85e1..5711ed891cc 100644 --- a/includes/class-wc-install.php +++ b/includes/class-wc-install.php @@ -1378,7 +1378,7 @@ CREATE TABLE {$wpdb->prefix}wc_reserved_stock ( ); if ( WCConnectionHelper::is_connected() ) { - $row_meta['premium_support'] = '' . esc_html__( 'Premium support', 'woocommerce' ) . ''; + $row_meta['premium_support'] = '' . esc_html__( 'Premium support', 'woocommerce' ) . ''; } return array_merge( $links, $row_meta ); From 73ccb72acc16161a11051d03678f6207320347d3 Mon Sep 17 00:00:00 2001 From: pjv Date: Fri, 2 Oct 2020 08:22:33 -0500 Subject: [PATCH 05/73] fix whitespace --- includes/wc-stock-functions.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/wc-stock-functions.php b/includes/wc-stock-functions.php index e4047cef60b..4cbf1ed90cc 100644 --- a/includes/wc-stock-functions.php +++ b/includes/wc-stock-functions.php @@ -39,12 +39,12 @@ function wc_update_product_stock( $product, $stock_quantity = null, $operation = $data_store = WC_Data_Store::load( 'product' ); // Fire actions to let 3rd parties know the stock is about to be changed. - if ($product_with_stock->is_type('variation')) { - do_action('woocommerce_variation_before_set_stock', $product_with_stock); + if ( $product_with_stock->is_type( 'variation' ) ) { + do_action( 'woocommerce_variation_before_set_stock', $product_with_stock ); } else { - do_action('woocommerce_product_before_set_stock', $product_with_stock); + do_action( 'woocommerce_product_before_set_stock', $product_with_stock ); } - + // Update the database. $new_stock = $data_store->update_product_stock( $product_id_with_stock, $stock_quantity, $operation ); From 98b0fcbdff5cbe3913cb63aac44e74599d95d11a Mon Sep 17 00:00:00 2001 From: pjv Date: Tue, 13 Oct 2020 13:36:42 -0500 Subject: [PATCH 06/73] =?UTF-8?q?add=20=E2=80=9Cbefore=E2=80=9D=20stock=20?= =?UTF-8?q?change=20action=20hooks=20to=20CRUD=20transaction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- includes/data-stores/class-wc-product-data-store-cpt.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/includes/data-stores/class-wc-product-data-store-cpt.php b/includes/data-stores/class-wc-product-data-store-cpt.php index 6158a4cad86..91f1156e7c8 100644 --- a/includes/data-stores/class-wc-product-data-store-cpt.php +++ b/includes/data-stores/class-wc-product-data-store-cpt.php @@ -568,6 +568,14 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da case 'date_on_sale_to': $value = $value ? $value->getTimestamp() : ''; break; + case 'stock_quantity': + // Fire actions to let 3rd parties know the stock is about to be changed. + if ( $product->is_type('variation' ) ) { + do_action( 'woocommerce_variation_before_set_stock', $product ); + } else { + do_action( 'woocommerce_product_before_set_stock', $product ); + } + break; } $updated = $this->update_or_delete_post_meta( $product, $meta_key, $value ); From 7909c3ca7cda6837e721d56893f08674800db0be Mon Sep 17 00:00:00 2001 From: pjv Date: Tue, 13 Oct 2020 13:59:53 -0500 Subject: [PATCH 07/73] white space --- includes/data-stores/class-wc-product-data-store-cpt.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/data-stores/class-wc-product-data-store-cpt.php b/includes/data-stores/class-wc-product-data-store-cpt.php index 91f1156e7c8..236fe30e611 100644 --- a/includes/data-stores/class-wc-product-data-store-cpt.php +++ b/includes/data-stores/class-wc-product-data-store-cpt.php @@ -570,7 +570,7 @@ class WC_Product_Data_Store_CPT extends WC_Data_Store_WP implements WC_Object_Da break; case 'stock_quantity': // Fire actions to let 3rd parties know the stock is about to be changed. - if ( $product->is_type('variation' ) ) { + if ( $product->is_type( 'variation' ) ) { do_action( 'woocommerce_variation_before_set_stock', $product ); } else { do_action( 'woocommerce_product_before_set_stock', $product ); From 269ca73aa8594f5fa8305517f169c2648fdd658b Mon Sep 17 00:00:00 2001 From: Jory Hogeveen Date: Tue, 20 Oct 2020 15:56:02 +0200 Subject: [PATCH 08/73] Allow re-init of price slider Use case for when the widget is reloaded using AJAX --- assets/js/frontend/price-slider.js | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/js/frontend/price-slider.js b/assets/js/frontend/price-slider.js index 3b89b117c8b..1e294b5f087 100644 --- a/assets/js/frontend/price-slider.js +++ b/assets/js/frontend/price-slider.js @@ -66,6 +66,7 @@ jQuery( function( $ ) { } init_price_filter(); + $( document.body ).on( 'init_price_filter', init_price_filter ); var hasSelectiveRefresh = ( 'undefined' !== typeof wp && From 34eb09dfa19d3085219159f4ce2144b178ecfd31 Mon Sep 17 00:00:00 2001 From: Jory Hogeveen Date: Tue, 20 Oct 2020 15:56:43 +0200 Subject: [PATCH 09/73] Use `on` instead of `bind` Bind will be deprecated --- assets/js/frontend/price-slider.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/frontend/price-slider.js b/assets/js/frontend/price-slider.js index 1e294b5f087..1c456527d96 100644 --- a/assets/js/frontend/price-slider.js +++ b/assets/js/frontend/price-slider.js @@ -6,7 +6,7 @@ jQuery( function( $ ) { return false; } - $( document.body ).bind( 'price_slider_create price_slider_slide', function( event, min, max ) { + $( document.body ).on( 'price_slider_create price_slider_slide', function( event, min, max ) { $( '.price_slider_amount span.from' ).html( accounting.formatMoney( min, { symbol: woocommerce_price_slider_params.currency_format_symbol, @@ -76,7 +76,7 @@ jQuery( function( $ ) { wp.customize.widgetsPreview.WidgetPartial ); if ( hasSelectiveRefresh ) { - wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function() { + wp.customize.selectiveRefresh.on( 'partial-content-rendered', function() { init_price_filter(); } ); } From ebb8ced803dd3687be56a4a8d297ed5205a2d84f Mon Sep 17 00:00:00 2001 From: Matt Harrison Date: Fri, 2 Oct 2020 22:07:13 -0400 Subject: [PATCH 10/73] Make next webhook not return a date when the webhook is already running. A potential fix for #26851 This does change the get_next functionality slightly but if the hook is already running then the next state should trigger a new one anyway. --- includes/queue/class-wc-action-queue.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/queue/class-wc-action-queue.php b/includes/queue/class-wc-action-queue.php index 702861f54d3..88bccaeceef 100644 --- a/includes/queue/class-wc-action-queue.php +++ b/includes/queue/class-wc-action-queue.php @@ -126,7 +126,7 @@ class WC_Action_Queue implements WC_Queue_Interface { $next_timestamp = as_next_scheduled_action( $hook, $args, $group ); - if ( $next_timestamp ) { + if ( is_numeric( $next_timestamp ) ) { return new WC_DateTime( "@{$next_timestamp}", new DateTimeZone( 'UTC' ) ); } From bdda54f6010536ff5c58b38b7b6921538b9393c8 Mon Sep 17 00:00:00 2001 From: Ramon Fincken Date: Fri, 13 Nov 2020 14:02:05 +0100 Subject: [PATCH 11/73] [TASK] documented introduction of wc_get_container function [TASK] documented introduction of wc_get_container function as it has a new syntax --- woocommerce.php | 1 + 1 file changed, 1 insertion(+) diff --git a/woocommerce.php b/woocommerce.php index 3e0bc877ce4..14d4c6f1a0b 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -51,6 +51,7 @@ function WC() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.Fu * Returns the WooCommerce PSR11-compatible object container. * Code in the `includes` directory should use the container to get instances of classes in the `src` directory. * + * @since 4.4.0 * @return \Psr\Container\ContainerInterface The WooCommerce PSR11 container. */ function wc_get_container() : \Psr\Container\ContainerInterface { From 8ebead165e5d29eb552505730b2492c94532f4ed Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Wed, 18 Nov 2020 14:56:30 -0300 Subject: [PATCH 12/73] Replace usages of depracted jQuery.fn.click() event shorthand This commit replaces all instances in WooCommerce codebase (except included third-party libraries) where jQuery.fn.click( handler ) event shorthand was used. This shorthand was deprecated in jQuery 3.3 (see https://github.com/jquery/jquery/issues/3214). The jQuery documentation was not updated yet (see https://github.com/jquery/jquery-migrate/issues/288 and https://github.com/jquery/api.jquery.com/issues/972). jQuery.click() was not deprecated and so it was not replaced. --- assets/js/admin/marketplace-suggestions.js | 2 +- assets/js/admin/meta-boxes-order.js | 2 +- assets/js/admin/meta-boxes-product.js | 6 +++--- assets/js/admin/meta-boxes.js | 2 +- assets/js/admin/reports.js | 2 +- assets/js/admin/settings.js | 2 +- assets/js/admin/woocommerce_admin.js | 2 +- assets/js/frontend/woocommerce.js | 2 +- includes/admin/class-wc-admin-attributes.php | 2 +- includes/admin/class-wc-admin.php | 2 +- includes/admin/views/html-admin-page-status-logs-db.php | 2 +- includes/emails/class-wc-email.php | 4 ++-- includes/tracks/events/class-wc-products-tracking.php | 2 +- includes/tracks/events/class-wc-status-tracking.php | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/assets/js/admin/marketplace-suggestions.js b/assets/js/admin/marketplace-suggestions.js index 3eee50b17b9..7493d3fedf6 100644 --- a/assets/js/admin/marketplace-suggestions.js +++ b/assets/js/admin/marketplace-suggestions.js @@ -405,7 +405,7 @@ } // Track when suggestions are displayed (and not already visible). - $( 'ul.product_data_tabs li.marketplace-suggestions_options a' ).click( function( e ) { + $( 'ul.product_data_tabs li.marketplace-suggestions_options a' ).on( 'click', function( e ) { e.preventDefault(); if ( '#marketplace_suggestions' === currentTab ) { diff --git a/assets/js/admin/meta-boxes-order.js b/assets/js/admin/meta-boxes-order.js index e4f108f1362..45dffce3884 100644 --- a/assets/js/admin/meta-boxes-order.js +++ b/assets/js/admin/meta-boxes-order.js @@ -28,7 +28,7 @@ jQuery( function ( $ ) { $( '#woocommerce-order-actions input, #woocommerce-order-actions a' ).click(function() { window.onbeforeunload = ''; }); - $( 'a.edit_address' ).click( this.edit_address ); + $( 'a.edit_address' ).on( 'click', this.edit_address ); $( 'a.billing-same-as-shipping' ).on( 'click', this.copy_billing_to_shipping ); $( 'a.load_customer_billing' ).on( 'click', this.load_billing ); $( 'a.load_customer_shipping' ).on( 'click', this.load_shipping ); diff --git a/assets/js/admin/meta-boxes-product.js b/assets/js/admin/meta-boxes-product.js index d54284dd766..d7d4dc5c3aa 100644 --- a/assets/js/admin/meta-boxes-product.js +++ b/assets/js/admin/meta-boxes-product.js @@ -49,14 +49,14 @@ jQuery( function( $ ) { }); // Catalog Visibility. - $( '#catalog-visibility' ).find( '.edit-catalog-visibility' ).click( function() { + $( '#catalog-visibility' ).find( '.edit-catalog-visibility' ).on( 'click', function() { if ( $( '#catalog-visibility-select' ).is( ':hidden' ) ) { $( '#catalog-visibility-select' ).slideDown( 'fast' ); $( this ).hide(); } return false; }); - $( '#catalog-visibility' ).find( '.save-post-visibility' ).click( function() { + $( '#catalog-visibility' ).find( '.save-post-visibility' ).on( 'click', function() { $( '#catalog-visibility-select' ).slideUp( 'fast' ); $( '#catalog-visibility' ).find( '.edit-catalog-visibility' ).show(); @@ -70,7 +70,7 @@ jQuery( function( $ ) { $( '#catalog-visibility-display' ).text( label ); return false; }); - $( '#catalog-visibility' ).find( '.cancel-post-visibility' ).click( function() { + $( '#catalog-visibility' ).find( '.cancel-post-visibility' ).on( 'click', function() { $( '#catalog-visibility-select' ).slideUp( 'fast' ); $( '#catalog-visibility' ).find( '.edit-catalog-visibility' ).show(); diff --git a/assets/js/admin/meta-boxes.js b/assets/js/admin/meta-boxes.js index 13e2c4a56c4..f054ebaf9d4 100644 --- a/assets/js/admin/meta-boxes.js +++ b/assets/js/admin/meta-boxes.js @@ -35,7 +35,7 @@ jQuery( function ( $ ) { // Tabbed Panels $( document.body ).on( 'wc-init-tabbed-panels', function() { $( 'ul.wc-tabs' ).show(); - $( 'ul.wc-tabs a' ).click( function( e ) { + $( 'ul.wc-tabs a' ).on( 'click', function( e ) { e.preventDefault(); var panel_wrap = $( this ).closest( 'div.panel-wrap' ); $( 'ul.wc-tabs li', panel_wrap ).removeClass( 'active' ); diff --git a/assets/js/admin/reports.js b/assets/js/admin/reports.js index f419f16fc03..34ec4ff2be6 100644 --- a/assets/js/admin/reports.js +++ b/assets/js/admin/reports.js @@ -130,7 +130,7 @@ jQuery(function( $ ) { } // Export - $( '.export_csv' ).click( function() { + $( '.export_csv' ).on( 'click', function() { var exclude_series = $( this ).data( 'exclude_series' ) || ''; exclude_series = exclude_series.toString(); exclude_series = exclude_series.split( ',' ); diff --git a/assets/js/admin/settings.js b/assets/js/admin/settings.js index 5ad5e4e02c9..88a924b8384 100644 --- a/assets/js/admin/settings.js +++ b/assets/js/admin/settings.js @@ -80,7 +80,7 @@ } }); - $( '.submit :input' ).click( function() { + $( '.submit :input' ).on( 'click', function() { window.onbeforeunload = ''; }); }); diff --git a/assets/js/admin/woocommerce_admin.js b/assets/js/admin/woocommerce_admin.js index ecae72492e5..e023ab8ef08 100644 --- a/assets/js/admin/woocommerce_admin.js +++ b/assets/js/admin/woocommerce_admin.js @@ -235,7 +235,7 @@ $( this ).focus(); } ); - $( '.wc_input_table .remove_rows' ).click( function() { + $( '.wc_input_table .remove_rows' ).on( 'click', function() { var $tbody = $( this ).closest( '.wc_input_table' ).find( 'tbody' ); if ( $tbody.find( 'tr.current' ).length > 0 ) { var $current = $tbody.find( 'tr.current' ); diff --git a/assets/js/frontend/woocommerce.js b/assets/js/frontend/woocommerce.js index 8c0414fff1b..23ebef51c21 100644 --- a/assets/js/frontend/woocommerce.js +++ b/assets/js/frontend/woocommerce.js @@ -25,7 +25,7 @@ jQuery( function( $ ) { } // Set a cookie and hide the store notice when the dismiss button is clicked - $( '.woocommerce-store-notice__dismiss-link' ).click( function( event ) { + $( '.woocommerce-store-notice__dismiss-link' ).on( 'click', function( event ) { Cookies.set( cookieName, 'hidden', { path: '/' } ); $( '.woocommerce-store-notice' ).hide(); event.preventDefault(); diff --git a/includes/admin/class-wc-admin-attributes.php b/includes/admin/class-wc-admin-attributes.php index 9dc884fe9e9..bd772f1c34f 100644 --- a/includes/admin/class-wc-admin-attributes.php +++ b/includes/admin/class-wc-admin-attributes.php @@ -462,7 +462,7 @@ class WC_Admin_Attributes { Date: Tue, 8 Dec 2020 09:58:37 -0800 Subject: [PATCH 73/73] Added 4.8.0 changelog and updated stable tag --- changelog.txt | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++ readme.txt | 2 +- 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/changelog.txt b/changelog.txt index 4d9eb5dce3c..39107c360d9 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,118 @@ == Changelog == += 4.8.0 - 2020-12-08 = + +**WooCommerce** + +* Enhancement - Limited the system status report's "not tested with version" warning to major versions. #28114 +* Enhancement - Add shipping, tax, and fee lines to refund REST API response. #28241 +* Enhancement - Added support for Twenty Twenty-One theme. #28134 +* Tweak - Reduced the memory usage of AJAX product searches. #28177 +* Tweak - Replaced deprecated jQuery functionality. #28005, #28058 +* Tweak - Hid "Add to cart" button for out of stock grouped products. #28169 +* Tweak - Made product date deserialization more explicit. #28052 +* Fix - Stock adjustment when deleting a refunded order item. #28069 +* Fix - Avatar display for recent reviews widget in admin area. #28067 +* Fix - Incorrect product sorting user capability. #28062 +* Fix - PayPal response emptying uninitialized cart. #28027 +* Fix - Display of visual feedback after pressing "Place Order" in `Twenty Twenty` and `Twenty Nineteen` themes #27997 +* Fix - Category and tag bulk deletion message. #27856 +* Fix - Corrected Puerto Rico address validation. #28465 +* Dev - Filter: `woocommerce_product_has_options` to products. #27514 +* Dev - Added error message to `checkout_error` JS event. #28101 +* Dev - Replaced usage of deprecated `woocommerce_reset_loop()` in product category shortcodes. #28242 +* Dev - Set "Tested up to" header to WordPress 5.6. #28388 +* Localization - Jamaican currency, states, and address structure. #27723 +* Localization - Better display of inclusive taxes during checkout. #28064 +* Localization - Validation for Belgium postcodes. #28145 + +**WooCommerce Admin - 1.7.0 & 1.7.1 & 1.7.2 & 1.7.3** + +* Enhancement - Variations report. #5167 +* Enhancement - Add ability to toggle homescreen layouts. #5429 +* Enhancement - Accordion component #5474 +* Enhancement - Badge component #5520 +* Tweak - Remove customer analytics data upon order deletion #5171 +* Tweak - Updating Stripe key field validation to support test keys #5201 +* Tweak - Wrap search control selected items in list #5231 +* Tweak - Update store setup link to redirect to setup wizard #5200 +* Tweak - Removing breadcrumbs from wc-admin header #5232 +* Tweak - Use consistent markdown headers in navigation readme #5417 +* Tweak - Remove Store Setup Alert #5499 +* Tweak - Customers: Update column heading for date registered #5542 +* Tweak - alter homescreen layout. #5465 +* Fix - Added support for custom actionable statuses. #5550 +* Fix - wrong casing used on the PayPal brand name #5514 🎉 @rtpHarry +* Fix - Import @wordpress/base-styles/default-custom-properties #5491 +* Fix - downloads report #5441 +* Fix - missing custom autocompleter attribute in Search component of Advanced Filter #5448 +* Fix - empty no posts state on Marketing page. #5411 +* Fix - visual issues in the Search component. #5199 +* Fix - Inconsistent line endings in readme.txt. #5281 +* Fix - popover menu to expand menu item width to 100% #5519 +* Fix - Wrong class name for querying Categories Report #5522 🎉 @zzap +* Fix - Remove label printing mention for non us countries #5527 +* Fix - First product script navigation dependency #5584 +* Fix - Added support for custom actionable statuses #5550 +* Fix - Display the store management links last on the homescreen #5579 +* Fix - Ensure the "Set up additional payment providers" inbox notification is shown when relevant after completing the OBW. #5547 +* Fix - Load wc-tracks in the homepage notice admin script. #5638 +* Fix - Link component prop caused a React warning. #5653 +* Fix - Flickering of order panel while loading. #5655 +* Fix - Tax code duplicated when clicking the button to remove. #5638 +* Fix - Restore Autoloading of WooCommerce Classes in PHP Tests. #5650 +* Fix - Skip WC Payment plugin note if plugin not added through the onboarding process. #5619 +* Fix - Use error_log() to log the deprecated class calls instead of `_deprecated_function()`. #5802 +* Fix - Don't show the Orders panel on the homescreen with the Task List. #5552 +* Fix - Home Screen: Do not show store setup activity panel. #5801 +* Dev - Home Screen - migrate orders panel. #5455 +* Dev - Store Profiler - include Creative Mail as a free extension #5543 +* Dev - Add undefined check in intervals data util #5546 +* Dev - Fix wakeup visibility for PHP 8 compatibility #5211 +* Dev - Fix header height and positioning for wc nav #5173 +* Dev - Add remote inbox notification rule processors for country and state #5203 +* Dev - Rename admin notes classes and file names to fit conventions #514 +* Dev - remove checks of store registration that are no longer needed. #5170 +* Dev - Fix version update script for composer.json #5165 +* Dev - Remove getAdminLink from data package #5158 +* Dev - Bump @woocommerce/components dependencies. #5153 +* Dev - Add note status remote inbox notifications rule processor #5207 +* Dev - Make code chunk filenames more stable. #5229 +* Dev - Inbox Panel component moved #5252 +* Dev - Added animation to Inbox note deletion #5263 +* Dev - Update starter pack dependencies #5254 +* Dev - Ensure test zips have latest packages from npm and composer. #5313 +* Dev - Add remote inbox notifications rule allowing access to any option #5206 +* Dev - Add manage orders on the go admin note #5159 +* Dev - Add WooCommerceDependencyExtractionWebpackPlugin package #5198 +* Dev - Migrate devdocs examples to Storybook stories #5271 +* Dev - Remove Enzyme in favor of React Testing Library #5299 +* Dev - Add exclusion rule to PHPCS config for TODO comments #5388 +* Dev - Remove no longer used isPanelEmpty logic. #5423 +* Dev - Use new @wordpress/components Card on Marketing page. #5428 +* Dev - Add PSR-4 naming checks to PHP linting. #5512 +* Dev - Rearrange the store management links under categories add filter woocommerce_admin_homescreen_quicklinks. #5476 +* Dev - Restyle the setup task list header to display incomplete tasks #5520 + +**WooCommerce Blocks - 3.7.0 & 3.7.1 & 3.8.0 & 3.8.1** + +* Enhancement - Allow shoppers to sign-up for an account from the Checkout block. #3331 +* Enhancement - Standardise & refactor colors scss to align with Gutenberg colors and WooCommerce brand. #3300 +* Tweak - Show the phone number field in the billing section when shipping is disabled in settings. #3376 +* Tweak - Add new doc referencing feature flags and experimental interfaces. #3348 +* Tweak - Add __experimental_woocommerce_blocks_checkout_order_processed action. #3238 +* Fix - Fix PHP 8 error when argument is not invocable in AssetsDataRegistry::Add_data. #3315 +* Fix - Improve layout of Cart block line item quantity selector & price on smaller screens. #3299 +* Fix - Correctly process orders with $0 total (e.g. via coupon) in Checkout block. #3298 +* Fix - Respect Enable Taxes setting for checkout block taxes display. #3291 +* Fix - Fix 3D secure payment errors. #3272 +* Fix - Show current selected attributes when re-edit Products by Attribute block. #3185 +* Fix - Ensure that accounts are not created via checkout block request if account registration is disabled for WooCommerce. #3371 +* Fix - radio controls and checkboxes in Twenty Twenty One dark theme. #3446 +* Fix - Twenty Twenty One Price filter, Active filters and radio control styling. #3444 +* Fix - Twenty Twenty One Button and Placeholder Styling. #3443 +* Fix - checkbox and textarea styles in Twenty Twenty One when it has dark controls active. #3450 + = 4.7.1 - 2020-11-24 = **WooCommerce** diff --git a/readme.txt b/readme.txt index 12833f7d8bc..62267eeb801 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: e-commerce, store, sales, sell, woo, shop, cart, checkout, downloadable, d Requires at least: 5.3 Tested up to: 5.6 Requires PHP: 7.0 -Stable tag: 4.6.2 +Stable tag: 4.8.0 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html