forked from woocommerce/woocommerce
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
4423 lines (4240 loc) · 314 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
== Changelog ==
= 4.3.0 - 2020-07-08 =
**WooCommerce**
* Enhancement - Show notice to update to latest PHP if version is < 7.2. #26775
* Enhancement - Add template cache clearing. #26752
* Enhancement - Add 47 Kenya counties. #26728
* Enhancement - Accessibility: add aria-disabled attribute to "Update cart" button on checkout page. #26726
* Enhancement - Update "Subtotal" translation string in wc-template-functions.php. #26706
* Enhancement - Add a new Features settings section, enabling woocommerce_homescreen_enabled for all new stores. #26625
* Enhancement - Add warning in status report if a base database table is missing. #26455
* Enhancement - Updated stock handling to prevent race conditions when orders come in at the same time. #26395
* Tweak - Allow checkout even if reserved table is not present. #26705
* Tweak - Add note to Products Importer description that TXT files are also supported. #26670
* Tweak - Allow set different notice types with WC_Admin_Notices. #26410
* Tweak - Fix redundant setting of object cache when attribute taxonomies are not being used. #26518
* Fix - Encode HTML entities for product attribute name and values. #26754
* Fix - Fix an issue with attribute value escaping in product CSV exports. #26739
* Fix - Fix comment_type value for reviews created with WordPress 5.5. #26729
* Fix - Close unbalanced <p> tag in auth "Grant Access" form template file. #26725
* Fix - Remove check for the existing term when parsing category via CSV & instead catch an existing term error when adding a new category to the database. #26720
* Fix - Domain update script now replaces woocommerce-admin domain also in Blocks package. #26690
* Fix - Correct grammar mistake in the help tip of the Connected to WooCommerce.com field of the System Status Report. #26666
* Fix - Allow float value timezone offsets to display the correct float values. #26637
* Fix - Add asterisk to star rating if 'Star ratings should be required, not optional' checkbox is enabled. #26596
* Fix - Use calculations similar to cart for orders as well (fixed regression). #26583
* Fix - Fixed data-id of notices in checkout. #26386
* Fix - Fixed password visible toggle in the checkout page. #26292
* Fix - Product description display fix when multiple products shortcodes are present on a page. #26250
* Fix - Using the add-to-cart parameter with a product variant id will now have the variation attributes populated correctly. #26237
* Fix - Better template caching support for multi-server environments. #23971
* Fix - Fix updating the wc_reserve_stock stock_quantity value after making changes to the cart in between checkouts. #26807
* Fix - Put back the remove element for multiselects on selectWoo. #26849
* Dev - Adjusted the WC tested up to check to only apply to major versions. #26685
* Dev - Make shipping calculations more flexible by providing actions. #26542
* Dev - Trigger check_variations with custom values. #26525
* Dev - Add verify_base_db method to check if all base tables are present. #26454
* Dev - Added action before the "Add payment method" save button and a filter to validate manually added fields when adding payment method. #26445
* Dev - `wc_get_shipping_method_count() has a new argument (`$enabled_only`) which allows restricting the non-legacy shipping methods to the enabled ones. #25753
* Dev - Added pre query filters for WP dashboard WooCommerce status widget. #25321
* Dev - Removed type hints from src folder. #26963
**REST API 1.0.10**
* Enhancement - Add API tool to clear template cache. woocommerce/woocommerce-rest-api#212
* Enhancement - Add API tool to verify base DB tables. woocommerce/woocommerce-rest-api#188
**WooCommerce Admin 1.3.0**
* Enhancement - Add Jetpack stats to performance indicatorts / homepage #4291
* Enhancement - New "Store Management" quick links card on WooCommerce home screen. #4350
* Enhancement - Inbox notifications layout updates #4218
* Enhancement - New Home Screen #4303
* Enhancement - Use WordPress Core colors for styling accents. #4558
* Tweak - make revenue report total sales column optional #4397
* Tweak - Adjustments to WooCommerce Payments setup task #4373
* Tweak - Handling of plugin installs in OBW #4411
* Tweak - Update design of Setup Checklist #4434
* Tweak - Add scrollable styling to left side of Table, and keep updated #4179
* Tweak - Add custom autocompleter support to Search component #4518
* Tweak - reduce asset filename length. #4535
* Tweak - Use single dash for country/state dropdown options #4553
* Tweak - Use label tag for toggleable shipping zones #4554
* Tweak - Make it easier to add submenu items to the Marketing menu #4561
* Tweak - Tag remove button style so it is properly centered. #4651
* Tweak - Tweak the embed page CSS so the top content sits better. #4622
* Tweak - Update summary number placeholder styles. #4682
* Fix - misaligned 'required' text on selects #4307
* Fix - exception when opening dashboard after selecting extensions to purchase #4357
* Fix - REST API collections schema #4377
* Fix - Monetary Advanced Filters in Customers Report with correct currency object prop. #4356
* Fix - In App purchase "back link" #4301
* Fix - Search results selectable by clicking on item text or icon #4474
* Fix - Filters' static query parameters #4458
* Fix - The WCPay method not appearing as recommended sometimes #4345
* Fix - Removed URLSearchParams method #4501
* Fix - REST API collections schema. #4484
* Fix - null issue in wpNavMenuClassChange #4513 🎉 gradosevic
* Fix - RTL stylesheet loading for split code chunks. #4542
* Fix - Don't show store location step in tax and shipping tasks if the address has already been provided #4507
* Fix - Check for enabled methods before payment task completion #4530
* Fix - Solved a problem with the method onChoose in the last onboarding step. #4583
* Fix - Only mark purchase task as complete when products exist #4574
* Fix - WCPay sometimes not appearing on the task list. #4647
* Fix - Fix inbox spacing. #4632
* Fix - Don't include sourcemaps or unminified JS for "core" builds. #4642
* Fix - Add a bottom border to the Install Jetpack CTA. #4589
* Fix - Style cleanup from components update. #4606
* Fix - Check that the possibly_add_note function exists before calling it. #4680
* Fix - Remove unnecessary rest_api_init action that caused incompatibility issues with other plugins. #4691
* Fix - Fix dashboard task list menu placement. #4664
* Fix - Added styles to the unread notes counter in the inbox panel. #4690
* Fix - Fix spacing between stats overview and store management cards. #4681
* Fix - Added default value to the note icon. #4745
* Fix - Unnecessary REST API usage leading to potential overflow of Jetpack option sizes. #4755
* Dev - Add jest-dom eslint plugin. #4327
* Dev - Migrate onboarding data store to wp.data #4433
* Dev - Remove use of `IconButton` in favor of `Button` #4415
* Dev - Fix error handling for plugins on server error #4462
* Dev - update @wordpress/components and @wordpress/base*styles #4427
* Dev - Migrate user store to wp.data #4505
* Dev - Add options data store to wp.data #4144
* Dev - Runtime feature config override #4523
* Dev - Add deprecation notice for install_plugin() #4713
* Dev - Only load non-minified js files when SCRIPT_DEBUG is on, and env is development or plugin. #4747
**WooCommerce Admin 1.2.4**
* Tweak - reduce asset filename length and remove tilde characters. #4535
* Fix - RTL stylesheet loading for split code chunks. #4542
**WooCommerce Blocks 2.7.1**
* Fix - Use IE11 friendly code for Dashicon component replacement. #2708
* Fix - Fix PHP warnings produced by StoreAPI endpoints when variations have no prices. #2722
* Fix - Fix missing scoped variable in closure and missing schema definitions. #2724
* Fix - Fix undefined index notice for query_type on the product collection data endpoint. #2723
**WooCommerce Blocks 2.7.0**
* Enhancement - Filter block font sizes have been adjusted to be in line with other blocks. #2594
* Enhancement - The All Products block and the other product grid blocks now share more styles and the markup is more similar (see release post or docs to learn how to undo this change). #2428 [DN]
* Enhancement - The Cart and Checkout blocks now use the heading styles provided by the theme. #2597
* Enhancement - The Cart block titles have been merged into one. #2615
* Enhancement - The item count badges of the Checkout block have been updated so it looks better in light & dark backgrounds. #2619
* Enhancement - Checkout step progress indicator design has been updated to match the theme headings style. #2649
* Performance - Reduce bundlesize of blocks using @wordpress/components directly. #2664
* Fix - Fix bug in Checkout block preventing a retry of credit card payment when first credit card used fails and a new one is tried. #2655
* Fix - Avoid some theme style properties leaking into the Cart and Checkout select controls. #2647
* Fix - Fixes to the product grid blocks in Twenty Twenty: discounted prices are no longer underlined and the On Sale badge is correctly positioned in the All Products block. #2573
* Fix - Improved alignment of credit card validation error messages. #2662
* Fix - Show the 'No shipping methods' placeholder in the editor with the _Checkout_ block if there are shipping methods but all of them are disabled. #2543
**WooCommerce Blocks 2.6.1**
* Fix - Updated the wc_reserved_stock table for compatibility with versions of MySql < 5.6.5. #2590
**WooCommerce Blocks 2.6.0**
* Enhancement - Add dropdown display style to Filter Products by Attribute block. #1255
* Enhancement - Add option to display a Filter button to Filter Products by Attribute block. #1332
* Enhancement - Add support for image for product categories block #1739
* Enhancement - An error notice will be shown in All Product if the customer is trying to add a product above stock or sold individually. #2278
* Performance - Improvements to REST API performance #2248
* Performance - Avoid loading Assets API during REST requests #2286
* Fix - Add placeholder to the on-sale products block when no results are found. #1519
* Fix - Added correct ellipsis character in Product Search block #1672
* Fix - If product is changed for featured product block, update the link in the button. #1894
* Fix - Import from `@woocommerce/settings` in `@woocommerce/block-settings` #2330
* Dev - Accessibility of the All Products block and filter blocks has been improved. #1656
* Dev - All Products Block: Update sorting labels to match frontend options #2462
* Dev - Change PropType validation for Icon component #1737
* Dev - Changed default rows and columns for product grid blocks to 3x3. #1613
* Dev - Check for instance of WP_Block in render_callback #2258
* Dev - Devs: `ENABLE_REVIEW_RATING` setting was renamed to `REVIEW_RATINGS_ENABLED` and now it also verifies reviews are enabled, to better match WooCommerce API. #1374
* Dev - Fix price filtering when stored prices do not match displayed prices (determined by tax settings). #1612
* Dev - HTML editing is no longer supported in several blocks. #1395
* Dev - Implement __experimentalCreateInterpolateElement for translations. #1736
* Dev - Load WooCommerce Core translations for 'Sale!' and some other strings if translations are unavailable for WooCommerce Blocks. #1694
* Dev - Prevent data hydration on REST requests #2176
* Dev - Show relationship between terms in the active filters block. #1630
* Dev - Table creation validation for install routine #2287
* Dev - Update the icons used in the blocks. #1644
= 4.2.2 - 2020-06-23 =
**WooCommerce**
* Fix - Put back the remove element for multiselects on selectWoo. #26849
= 4.2.1 - 2020-06-22 =
**WooCommerce**
* Security - Escape HTML in SelectWoo.
**WooCommerce Admin 1.2.4**
* Tweak: reduce asset filename length and remove tilde characters. #4535
* Fix: RTL stylesheet loading for split code chunks. #4542
= 4.2.0 - 2020-06-02 =
**WooCommerce**
* Enhancement - Added Ghanaian regions to the state dropdown. #26273
* Enhancement - Added Mozambique provinces to the state dropdown. #26162
* Enhancement - Added support for the new group descriptions available on WordPress privacy exporters as of WP 5.3. #25575
* Fix - Fixed false positives when checking if uploads directory is public. #26600
* Fix - Introduced a new admin body class for supporting styling issues in WP 5.3+. #26251
* Fix - Removed case conversion of meta keys from CSV imports. #25517
* Fix - Allow schedule coupons via CRUD. #26387
* Fix - Password visibility toggle when password strength check fails. #26132
* Fix - Cross-sell placement when product has no description. #26334
* Fix - Display of the rate limit warning during payment method creation. #26411
* Fix - Made the shipping zone matching query's `zone_id` field more specific. #26308
* Fix - Corrected the display of RTL languages on the WooCommerce.com addons page. #26080
* Fix - Removed the postcode field for Ghana. #26272
* Fix - Made the hiding of state fields more explicit for Germany, Denmark, and Sweden. #25598
* Fix - Ensured that global attribute prefixes are passed to the `woocommerce_attribute_label` filter. #26022
* Dev - Increased WordPress minimum version to 5.2 according to policy. #26550
* Dev - Added the customer as a third argument to the `woocommerce_matched_rates` filter. #26361
* Dev - Introduced `woocommerce_menu_order_count` filter. #26044
* Dev - Introduced `should_send_ajax_request.adding_to_cart `cart event to allow short-circuiting cart addition. #25760
* Dev - Made the jQuery selector for checkout form rows less specific. #25654
* Dev - Changed the `{site_address}` placeholder to `{site_url}` for clarity. #25630
* Dev - Deprecated `.wp-policy-help` and replaced with with the `.privacy-policy-tutorial` and `.wp-suggested-text` classes added in WP 5.1. #26072
* Dev - Updated `automattic/jetpack-autoloader` to 1.7.0. #26559
* Dev - Add a way to fetch basic object data. #26025
**REST API 1.0.8**
* Enhancement - Add support for trash status for products in V2 and V3 API. #184
* Dev - Updated minimum PHP requirement to 7.0 to keep up with WooCommerce Core.
* Dev - Fixed failing unit tests. #105
**WooCommerce Admin 1.2.3**
* Enhancement - Add onboarding payments note #4157
* Enhancement - Marketing Inbox Note #4030
* Performance - Use Route based code splitting to reduce bundle size #4094
* Performance - trim down inbox note API request. #3977
* Fix - Proper display of elements in wc-admin pages when in a RTL environment. #4051
* Fix - Update UX when knowledge base articles fail to retrieve #4133
* Fix - Updated messaging after last step in OBW. #4148
* Fix - Reset profiler when visiting old OBW URL #4166.
* Fix - Dashboard flash before OBW chunk loads #4259
* Tweak - Enable the default homepage template to be filtered #4072
* Tweak - Create admin note if Jetpack or WooCommerce Services plugin doesn't get installed due to an error during OBW #3888
* Tweak - Update Email Marketing note. #4167
* Tweak - Adjust "demo products" verbiage to "Sample Products" #4184
* Tweak - Don't reschedule imports on failed imports #4263
* Tweak - Remove obsolete inbox messages #4182
* Tweak - Updates to WooCommerce Payments in Setup Checklist #4293
* Dev - Make query selector for admin alerts more specific #4289
* Dev - Guard against null themes in OBW #4244
* Dev - Update wcadmin db version after db callback #4323
* Dev - Only migrate options on version change #4324
* Dev - Use `PAGE_ROOT` constant to reduce redundant strings #4238
* Dev - Decouple Plugins DataStore from onboarding feature #4048
* Dev - Move API out of Onboarding #4093
* Dev - Add Profiler Step View Tracks #4141
* Dev - Add React Testing Library #4221
* Dev - Add List and Link components to Storybook #4219
* Dev - Cast Shipping Total to float #4042
* Dev - Dynamic Currency with Context API #4027
* Dev - Remove Duplicate array entry #4049
= 4.1.1 - 2020-05-19 =
* Enhancement - Added notice about public uploads directory. #26207
* Tweak - Disallow directory listing in woocommerce_uploads when "Redirect only" it's the selected download method. #26399
* Fix - Added correct handling of nonces to database update notice dismissal. #26500
* Dev - Updated WooCommerce admin version to 1.1.3 and Action Scheduler to 3.1.6.
* Dev - Add prop `isEnabled` and a function to dynamically enable tracks. #26493
**WooCommerce Admin**
* Tweak - Onboarding: Add Jetpack flow back to onboarding profiler. #4382
* Fix - Respect tracking opt-in before new page load. #4368
**ActionScheduler**
* Fix - Shutdown deprecated notice changed to a warning when as_* functions called without data store initialization. #546
= 4.1.0 - 2020-05-05 =
**WooCommerce**
* Enhancement - Update dependency woocommerce/woocommerce-admin to v1.1.0 #26057
* Enhancement - Updated jetpack-autoloader to 1.6 and woocommerce-blocks to 2.5.16. #26099
* Enhancement - Added option to ignore discounts from cart's total amount to enable free shipping. #24776
* Enhancement - Changed show password icon color to a darker grey hue. #25625
* Enhancement - Use new Setup Wizard for all users. #26016
* Security - Fixed unescaped meta data while duplicating products. Reported by Slavco.
* Tweak - Show notice for WP min version to WP 5.2. #26094
* Tweak - Improve the string for untested WooCommerce extensions in the system status page to avoid confusion. #25904
* Tweak - Updated KZT (₸) symbol. #25609
* Tweak - Trim whitespaces and strip slashes from MaxMind License Key. #25466
* Tweak - Updated "Help" tabs documentation. #25826
* Tweak - Update serbian currency symbol to рсд from дин. #25885
* Fix - Password visibility toggle to hide password again from text. #25627
* Fix - Undefined property error when attempting to modify the coupon post meta. #25755
* Fix - Remove some of the individual rounding logic to make sure we round at certain places only. #25800
* Fix - Order totals calculation if the order contains taxable and non-taxable products and percentage coupons. #25092
* Fix - Wording for cancelled order email. #25316
* Fix - Removed guided tour videos link on setup wizard (since current link only redirects to the docs). #25823
* Fix - Add RTL style to the onboarding wizard. #25835
* Fix - Trigger change and set val to qty on the frontend so that it properly updates event handlers. #25903
* Fix - Corrected the way percent coupons apply remainders across the order. #25943
* Fix - Clarified the error messaging for WooCommerce.com package update failures. #26034
* Fix - Enforce per user usage limit check for a coupon on guest users based on email. #26066
* Fix - Remove elements with style=display:none explicitly to address a regression causing broken email html. #26075
* Dev - Added woocommerce_can_restock_refunded_items filter. #25728
* Dev - Added woocommerce_order_get_tax_location filter. #25727
* Dev - Updated stock handling to prevent race conditions when orders come in at the same time. #25708
* Dev - Updated /myaccount/form-login.php to use consistent kebab-case class names for woocommerce-form-row. #25668
* Dev - Add filter woocommerce_product_upsells_products_heading to allow heading modification without having to override the template file. #25628
* Dev - Added woocommerce_order_get_tax_location filter. #25727
* Dev - Added the get_woocommerce_currency_symbols function to allow develops to get an array of all the currency symbol registered with WooCommerce. #25733
* Dev - Changed string typed label_class to array in checkout fields.
* Dev - Added "woocommerce_emogrifier" action before the content of the emails is "emogrified". #25801
* Dev - Add Ability to Filter Event Props. #25851
* Dev - Updated the unit test install script to support paths to MySQL sockets that contain spaces. #25923
* Dev - Made the default test source folders support the system tmp folder. #25923
* Dev - Add cart & checkout block/shortcode info to tracker data. #25932
* Dev - Make WC_Product_Data_Store_CPT::update_product_stock operations atomic. #26039
* Dev - Adds usage data for the of cart & checkout blocks (currently in development in WooCommmerce Blocks plugin) to the WC Tracker snapshot. #26084
* Dev - Implement some additional tracks for coupons, orders, and products. #26085
= 4.0.1 - 2020-03-18 =
**WooCommerce**
* Enhancement - Update Action Scheduler to 3.1.4. #25966
* Enhancement - Bump Woocommerce Admin dependency to version 1.0.2. #25961
* Enhancement - Update dependency woocommerce/woocommerce-admin to v1.0.3 #25975
* Fix - Add `usage_count` meta before using it in a query. #25882
* Fix - Corrected argument type validation in plugin installer API. #25858
* Fix - Use standard `admin_url` function instead of absolute path. #25884
* Fix - Reverted the performance optimization made to variation saving. #25950
* Fix - Send dummy params to evaluate_cost method to detect validation errors. #25946
* Fix - Made the package shipping check more permissive. #25916
* Fix - Fix admin notes table does not exist errors when upgrading to 4.0.x. #25891
**WooCommerce Admin**
* Enhancement - Onboarding: business step: add Google Ads extension install.
* Tweak - create database tables on an earlier hook to avoid conflicts with core WooCommerce.
* Fix - Add Report Extension Example: Add default props to ReportFilters.
* Fix - Product report sorting by SKU when some products don't have SKUs.
* Fix - type warning on install timestamp in PHP 7.4.
* Fix - PHP error when WooCommerce core is Network Active on Multisites.
* Fix - missing database table errors on WooCommerce upgrade.
* Fix - undefined const `WC_ADMIN_VERSION_NUMBER` when WP < 5.3
* Fix - Made the admin note loading more resilient to prevent failures when loading notes with invalid content_data. #3926
* Fix - Removed `replace_actionscheduler_store_class` function. #3936
* Fix - Rename Google Shopping image asset. #3931
* Fix - Fix calling protected `has_satisfied_dependencies` on outdated plugin. #3938
* Dev - Add Changelog script.
* Dev - Fix failing tests after WC core merge.
* Dev - Bump WooCommerce tested up to tag.
* Dev - Update prestart script so readme.txt stable tag is updated.
**Action Scheduler**
* Fix - Re-create tables if needed on Scheduled Actions screen load. #492
* Fix - Add null action check on Scheduled Actions screen list rows. #493
* Fix - Fix context on ignored action log message. #481
* Fix - Restore scheduled action row and bulk action processing on WooCommerce Status screen. #487
* Fix - Include logs table re-create missed in #492. #495
* Fix - Ensure valid table name in save action. #498
= 4.0.0 - 2020-03-10 =
* Enhancement - Included information about packages in the System Status Report. #25584
* Enhancement - New WooCommerce Admin. #25011
* Enhancement - Update dependency woocommerce/woocommerce-blocks to v2.5.12 #25587
* Enhancement - Updated Action Scheduler to 3.0.1. #25566
* Enhancement - Update dependency woocommerce/woocommerce-admin to v0.25.1. #25620
* Enhancement - Update dependency woocommerce/woocommerce-blocks to v2.5.13. #25696
* Enhancement - Added the WC Admin enabled db update notice. #25736
* Enhancement - Update Action Scheduler to version 3.1.1. #25745
* Enhancement - Update dependency woocommerce/woocommerce-blocks to v2.5.14. #25807
* Enhancement - Update dependency woocommerce/woocommerce-admin to v1.0. #25822
* Enhancement - Update dependency woocommerce/action-scheduler to v3.1.2. #25859
* Performance - Improved the client-side preparation for variation saving. #25382
* Tweak - Enhance order details and payment summary. #25504
* Tweak - Increase new onboarding group test to 50%. #25501
* Tweak - Increased range and precision for `min_price` and `max_price` in the product meta lookup table. #25253
* Tweak - Move action scheduler to external via composer. #25404
* Tweak - Only update the customer IP address when order gets created from admin. #25137
* Tweak - Remove WooCommerce Admin install alert. #25502
* Tweak - Removed WC Admin from the Setup Wizard if it's already active. #25562
* Tweak - Set email header table width to 100% for full width. #25294
* Tweak - Simplified MaxMind integration title. #25522
* Tweak - Update 'Country' to 'Country / Region' label. #25530
* Tweak - WooCommerce.com plugins auto-install and update improvement. #25532
* Fix - Add missing closing tag. #25319
* Fix - Added validation to the cost field for flat rate shipping. #24919
* Fix - Address in shipping calculator malformed for Canada. #25149
* Fix - Adjusted package shipping rates to only be visible when a full address is entered. #25128
* Fix - Check for WooCommerce Admin feature plugin class before adding install notice. #25395
* Fix - Corrected the performance issues caused by the Cash-On-Delivery plugin's initialization process. #25512
* Fix - Duplicate webhook deliveries. #25183
* Fix - Fix fatal error that would occur when calling the WC_Payment_Gateways::set_current_gateway() function and there is no WC session. #25322
* Fix - Fixed adding multiple items to cart from any product listing page. #24818
* Fix - Fixed get_discount function return type. #25567
* Fix - Fixed possible multiple is_vat_exempt order meta in order creation. #25426
* Fix - Fixed wrong context help for translators. #25496
* Fix - Make `WC_Shipping::is` package shippable less strict. #25386
* Fix - Prevent undefined `wp_delete_user()` error while removing inactive accounts. #25489
* Fix - Removed constants and autoloader from the uninstall script. #25589
* Fix - Removed the lowercase conversion for product search terms that caused incorrect results to case sensitive searches. #25314
* Fix - Restored the default behavior of "Shipping destination" option. #25571
* Fix - Set image CSS on emails to be `max-width: 100%` so that they don't break the email template. #24764
* Fix - Setup wizard shipping setup verification logic correction. #25540
* Fix - Fixed typo in label. #25645
* Fix - Added the missing "bestRating" and "worstRating" params to structured schema data. #25667
* Fix - Replaced deprecated Jetpack::is_staging_site call. #25670
* Fix - Avoid `Automattic\Jetpack\Constants` in main woocommerce class. #25697
* Fix - Change the namespace of the WC Admin Package class and update WC Admin package. #25701
* Fix - Unmark completed AS migration during the update to make sure AS migration happens. #25707
* Fix - configure Jetpack plugin before trying to connect/register. #25742
* Fix - Check configure exists before calling to support older JP versions. #25747
* Fix - Prevent edited attribute notice being hidden by new dashboard. #25757
* Fix - Corrected the cache invalidation behavior of order item CRUD actions. #25734
* Fix - Don't show duplicated update notifications on Woo Screens. #25828
* Fix - Escape MaxMind database URL. #25682
* Fix - System status report should correctly identify inactive package. #25830
* Dev - Added support for placeholder attribute in quantity inputs. #25418
* Dev - Added `tax_status` and `tax_class` columns to the product meta data lookup table. #25428
* Dev - Introduced `woocommerce_top_rated_widget_args` filter. #25320
* Dev - Introduced `woocommerce_admin_process_variation_object` hook. #24929
* Dev - Added actions before and after grouped product list to allow adding custom rows. #25093
* Dev - Added filter to tweak whether a product has enough stock while attempting to pay for an order. #25230
* Dev - Added the `automattic/jetpack-constants` package and replace PHP constant definition checks with it. #25516
* Dev - Added a `triggerHandler` called `checkout_place_order_success` on a successful order during the checkout process. #25289
* Dev - Allow filtering of default meta value inside `WC_Data::get_meta` even if meta key not found. #24066
* Dev - Includes Emogrifier composer package instead of including into `includes/libraries`. #25525
* Dev - Introduce `WC_Countries::get_vat_countries` for returning a list of countries that uses VAT and refactor `WC_Countries::get_european_union_countries` with backward compatibility and deprecation to remove the VAT functionality from there. Brexit, remove GB from `WC_Countries::get_european_union_countries`. #24943
* Dev - Introduced `woocommerce_download_product_filepath` filter. #25485
* Dev - Introduced `woocommerce_email_content_type` filter. #25405
* Dev - Updated `woocommerce_email_from_name` and `woocommerce_email_from_address` filter arguments to include `wp_email()` default data. #25405
* Dev - Introduced `woocommerce_shortcode_products_query_results` filter. #25573
* Dev - Removed `hash_equals()` polyfill as it was no longer needed. #25474
* Dev - Removed unused `.order-actions` CSS. #25581
* Dev - Applies woocommerce_maxmind_geolocation_database_path in MaxMind database migration. #25681
* Dev - Support both .data() and .dataset for formdata in add to cart requests. #25726
= 3.9.3 - 2020-02-27 =
* Fix - Replaced deprecated Jetpack::is_staging_site call. #25670
* Fix - Corrected the cache invalidation behavior of order item CRUD actions. #25734
* Fix - Configure Jetpack plugin before trying to connect/register. #25742
* Fix - Check configure exists before calling to support older JP versions. #25747
* Fix - Better handling of coupon code when rendering.
* Dev - Updated WooCommerce blocks to 2.5.14 (See changelog at https://github.com/woocommerce/woocommerce-gutenberg-products-block/releases).
= 3.9.2 - 2020-02-13 =
* Security - Show a notice when a logged-in customer pays for a guest order.
* Security - Disallow links in coupon error messages.
* Fix - Restored the default behavior of the "Shipping destination" option. #25571
= 3.9.1 - 2020-01-28 =
* Tweak - Trim whitespaces and strip slashes from MaxMind License Key.
* Dev - Prevent empty notices to get displayed on frontend.
* Fix - Show "-" instead of "0" when tax isn't applicable to a product.
* Fix - Fixed fatal error on the thank you page if order is not specified.
* REST API - Fixed - Product and variations schema to allow remove sale prices, dimensions and weight.
= 3.9.0 - 2020-01-21 =
* Enhancement - Added a "Show" button next to the password field on the login fields. #24915
* Enhancement - New WooCommerce Onboarding experience (shows to only 10% of new users). #24991
* Enhancement - Introduced Payment Gateway API to support "pay button". #25000
* Enhancement - Includes WooCommerce Blocks 2.5.3, introducing an "All Products" block, a new block listing products using client side rendering (requires WordPress 5.3), and more. #25181
* Tweak - Updated PayPal standard "Thank you" page message to comply with PayPal Guidelines. #24756
* Tweak - Account for non-EU countries that collect VAT and rename tax to VAT on the frontend. #24999
* Tweak - Cache checkout fragments and update DOM on change only. #24227
* Tweak - Eliminate extra update order AJAX request on checkout page load. #24271
* Tweak - Prevent billing address from being updated on shipping update. #24374
* Tweak - Added a tooltip in the "Coupon expity date" field. #24749
* Tweak - Make phone numbers clickable in emails. #24786
* Tweak - Prevent PHP warnings in tracker if order doesn't have a created date yet. #24846
* Tweak - Capitalize "T" in "Move to Trash" phrase on order page in wp-admin to be consistent with product and coupon pages. #24867
* Tweak - Changed `wp_cache` invalidation from using increment to using microtime. #24961
* Tweak - Made the usage tracking link on the setup wizard more transparent. #25026
* Tweak - Fixed menu highlight of My Account page when browsing "Add payment method" page. #25041
* Tweak - Prevent creating products before registering related post types and taxonomies. #25049
* Tweak - Include processing orders in tracker data when opted in. #25071
* Tweak - Centralize check for default themes to fix Storefront appearance in the Setup Wizard. #25216
* Tweak - Adds a WordPress version check before recommending the WooCommerce Admin plugin during setup. #25260
* Fix - Added license key support recent changes from MaxMind GeoLite2. #25378
* Fix - Honor tax rounding preference in edit item and refund flows. #24208
* Fix - Prevent incorrect number of decimal points in prices. #24281
* Fix - Fixed initial support for Gutenberg's Experimental Legacy Widget block. #24292
* Fix - Fix overriding of query when using orderby on archives with a static homepage. #24683
* Fix - Use of `wp_unslash()` function when escaping admin settings values. #24793
* Fix - Do not set the tracking cookie when doing ajax requests. #24798
* Fix - Display button to delete images from product galleries in the admin when using a mobile device. #24840
* Fix - Fixed order note's date format. #24843
* Fix - Refactored `WC_Order_Factory::get_order()` to remove function deprecated in PHP 7.0. #24852
* Fix - Fixed product stock status changes on Bulk Edit save when "Enable stock management" is disabled. #24876
* Fix - Fixed default country code fallback in wc_get_customer_default_location(). #24884
* Fix - Fixed misleading message for Shipping options in cart. #24914
* Fix - Customizer not loading when viewing from WordPress.com. #24935
* Fix - Prevent notice when a variable product has no images. #24986
* Fix - Adjusted the slug generation for duplicated variable products to prevent performance degradation when using templates. #25064
* Fix - Added appropriate minification to photoswipe.css. #25074
* Fix - Corrected the sorting behavior for the "products" shortcode when manually sorting products. #25084
* Fix - Fixed invalid backlinks for in-app purchases. #25098
* Fix - Corrected the media element player initialization for product variation descriptions. #25103
* Fix - Enable WooCommerce.com Site API on installations not using permalink. #25131
* Fix - WooCommerce.com Site API now returns success if the plugin was previously installed. #25140
* Fix - WooCommerce.com Site API checks to `move_product` case to make sure result array contains `folder_exists` item and doesn't return a warning. #25160
* Fix - Ensure that categories containing only private products are selectable in the product exporter. #25132
* Fix - Prevent variable product parents from being added to orders. #25162
* Fix - Use sorting settings as a default to product shortcodes. #25180
* Fix - Applied setup wizard CSS fixes to the respective WP versions. #25197
* Fix - Fixed "account erasure request" URL in WordPress 5.3. #25208
* Fix - Ensure all cache get removed on webhook deletion. #25164
* Fix - Adjusted the checkout email validation regex to be more accurate. #25251
* Template - Introduced `woocommerce_product_related_products_heading` filter. #25059
* Template - Introduced `woocommerce_before_lost_password_confirmation_message` and `woocommerce_after_lost_password_confirmation_message` hooks. #25096
* REST API - Fixed `date_created` and `date_created_gmt` for customers v2. #25181
* REST API - Fixed Restored "Total post count" section on System Status endpoint v2 and v3. #25181
* REST API - Filter empty objects from results before loop. #25181
* Dev - Introduce new PHP 7.0 minimum requirement.
* Dev - Introduce new WordPress 5.0 minimum requirement.
* Dev - Check for max discount to be "-ve" to prevent overwriting refunded fee amount. #24341
* Dev - Add unload event to the checkout page to prevent reloading during checkout after placing an order. #24609
* Dev - Only toggle form field description if element exists. #24752
* Dev - Introduced `woocommerce_{$export_type}_export_delimiter` filter to change separator string while exporting CSV files. #24759
* Dev - Introduced `woocommerce_after_order_refund_item_name` hook. #24760
* Dev - Introduced `woocommerce_kses_notice_allowed_tags` filter. #24849
* Dev - Introduced `woocommerce_shipping_not_enabled_on_cart_html` filter. #24914
* Dev - Introduced `woocommerce_show_invalid_variations_notice` filter. #24934
* Dev - Introduced `woocommerce_upsells_order` filter. #25017
* Dev - Introduced `woocommerce_before_settings_{current_tab}` and `woocommerce_after_settings_{current_tab}` hooks. #25028
* Dev - Included third parameter `$order` to `woocommerce_order_get_formatted_billing_address` and `woocommerce_order_get_formatted_shipping_address` filters. #24870
* Dev - Pass the `$clear_persistent_cart` variable to the `woocommerce_before_cart_emptied` and `woocommerce_cart_emptied actions`. #24930
* Dev - Made variables in `assets/css/_variables.scss` default. #24822
* Dev - Refactor to use the same rounding logic in orders and cart. #24828
* Dev - Add order note immediately after status change before the `woocommerce_order_status_changed action. #24879
* Dev - Added support for custom attributes in `wc_placeholder_img()`. #24937
* Dev - Added initial support for inline notices on checkout. #25001
* Dev - Introduced wc_get_product_object() helper. #25031
* Dev - Pass the correct `$this->updated_props` variable to the `woocommerce_coupon_object_updated_props` action's second paramater. #25077
* Dev - Remove a few calls to `func_get_args()` and `call_user_func_array()` with the spread operator for better code legibility and performance gains. #25101
* Dev - New `woocommerce_valid_order_statuses_for_payment` hook that triggers when an order is paid. Use this new hook instead of `woocommerce_order_status_changed` or woocommerce_order_status_{old_status}}_to_{new_status}` to trigger code for payment completion. #25158
* Dev - Ability to exclude certain product types from product search calls. #25162
* Dev - Raise exception when `WC_Product_Variation` is instantiated with an ID that belongs to an object that is not a variation. #25178
* Localization - Add subdivisions of Laos. #24765
* Localization - Fixed translatable string in WooCommerce's libraries. #24892 #24894
* Localization - Fixed translatable string comments for translators. #24928
* Localization - Add postcode validation for Slovenia. #25174
= 3.8.0 - 2019-11-05 =
* Enhancement - Show error message in "My Account - view order" if order does not exist. #24435
* Enhancement - Add support to allow connect and install for in-app purchase flow. #24451
* Enhancement - Declared support to Unicode CLDR. #24564
* Enhancement - Declared support for PHP 7.4 in CI by removing PHP 7.4 from list of allowed failures. #24668
* Enhancement - Update the recommended PHP version to 7.0 and the recommended WP version to 5.0. #24730
* Enhancement - Change On Boarding Wizard to opt out of usage tracking by default. #24680
* Enhancement - Add `Available on backorder` message for products available on backorder. #24559
* Tweak - Hide Vietnam's state field. #24158
* Tweak - Better wording when no downloads are available on My Account > Downloads. #24172
* Tweak - Only consider orders created via checkout to hold stock. #24159
* Tweak - Stop to load order data twice in "View order" screen on "My Account" page. #24437
* Tweak - Prevent PHP warnings in tracker if order doesn't have a created date yet. #24441
* Tweak - Use `wc_get_checkout_url()` to get checkout URL. #24544
* Tweak - Maintain value of select fields in credit card form. #24720
* Tweak - Prevent filter per category while exporting product variations. #24517
* Tweak - Better wording for subtotal of items in cart and review order. #24440
* Tweak - Prevent new lines in product quantity in checkout details. #24311
* Tweak - Add a tooltip in the "Coupon expity date" field. #24749
* Tweak - CSS styling changes for WP 5.3. #24832
* Template - Moved HTML for displaying product price filter widget to a new template `product price filter widget`. #23384
* Accessibility - Make $subtext color darker. #24739
* Dev - Consistent register/login submit button css class names. Preserve old class names as well for backwards compatibility. #23701
* Dev - Added woocommerce_disable_password_change_notification filter, set to false by default. #24154
* Dev - Add filter `woocommerce_cart_item_removed_message` and `woocommerce_cart_product_cannot_be_purchased_message` to filter notice content when an item is removed from cart, or when a product cannot be purchased. #24176
* Dev - Prevent fatal error if trying to run `wc_load_cart()` before `before_woocommerce_init`. #24198
* Dev - Add woocommerce_get_zone_criteria filter hook to add custom criteria for matching zone ID. #24199
* Dev - Fire actions `woocommerce_before_delete_product_variation`, `woocommerce_delete_product_variation` and `woocommerce_trash_product_variation` appropriately when deleting or trashing product variations. #24239
* Dev - In filter `woocommerce_update_product_stock_query` use `$new_stock` instead of `$stock_quantity`. #24229
* Dev - Introduced woocommerce_prevent_adjust_line_item_product_stock filter. #24279
* Dev - Introduced `woocommerce_logout_default_redirect_url` filter to allow custom default URL. #24282
* Dev - Added woocommerce_sort_fees_callback filter. #24280
* Dev - Remove deprecated i18n/states directory. #24364
* Dev - Add filter `woocommerce_shipping_show_shipping_calculator` for showing shipping calculator. #24375
* Dev - Corrected UG states location. #24388
* Dev - Remove deprecations notices with PHP 7.4 by changing parameter order for `implode`. #24396
* Dev - Add ``$this` param to email filter for additional_content added in 3.7. #24399
* Dev - Add `woocommerce_product_import_process_item_data` filter to allow modifying a row before importing. #24412
* Dev - Fixed warnings when error_get_last() returns null. #24442
* Dev - Use brackets instead of braces to avoid deprecation notice in PHP 7.4. #24460
* Dev - Implement Puppeteer's architecture for running E2E tests locally. #24479
* Dev - Remove call to get_magic_quotes_runtime() as it is deprecated as of PHP 7.4. #24485
* Dev - Return value of `$mailer->send()` in `wc_mail` function. #24505
* Dev - Remove Selenium e2e tests & add Puppeteer new product e2e test. #24513
* Dev - Add a filter `woocommerce_ajax_add_order_item_validation` to allow validations in `add_order_item` function. #24518
* Dev - Use `wc_get_cart_url` instead of `wc_get_page_permalink( 'cart' )` because former has a filter `woocommerce_get_cart_url` to allow customization. #24530
* Dev - New `woocommerce_product_after_tabs` action hook added. #24694
* Dev - Enable append hashes on custom events (like ajax requests) #24665
* Dev - Introduced `woocommerce_order_get_formatted_billing_address` and `woocommerce_order_get_formatted_shipping_address` filters. #24677
* Dev - WC_Abstract_Order::recalculate_coupons() is public now. #24740
* Dev - Added 'applied_coupon' trigger to checkout.js. #24406
* Dev - Introduced woocommerce_output_cart_shortcode_content filter. #24738
* Dev - Add WPML compatibility to the geolocation URL. #24722
* Dev - Validate server requirements in WCCCOM Site Installer endpoints. #24690
* Dev - Introduced woocommerce_payment_token_class filter. #24542
* Dev - Add support for post type count to system status report. #24536
* Dev - Check for max discount to be -ve to prevent overwriting refunded fee amount. #24341
* Dev - Add filter woocommerce_european_union_countries to the method WC_Countries::get_european_union_countries(). #24741
* Dev - Allow WC_Product_Query sort products by include order. #24294
* Dev - Removed duplicated include of WC_Admin_Importers. #24751
* Dev - Refactor minimum requirement notice to use constant for easier changes in the future. #24830
* Dev - Fixed number of arguments in filters on WC_Emails class. #25312
* Fix - Clean products transients when term is removed. #23991
* Fix - Only add the image node to structured data if product has image. #24191
* Fix - Product attribute terms endpoint in legacy REST API v3 by converting `attribute_id` to int. #24203
* Fix - Prevent duplicate processing/stock reduction when IPN or PDT notifications are enabled by checking if order is not already in `processing` or `completed` status. #24249
* Fix - Position of ID section in mobile rows actions when displaying the list of products in the admin. #24277
* Fix - Endpoints URLs to follow slashes preferences from WordPress permalinks. #24283
* Fix - Ensure that postcode validation doesn't return any whitespace on beginning and end of a postcode. #24284
* Fix - Shipping classes sort under products alphabetically. #24291
* Fix - Shipping rates layout in admin settings. #24327
* Fix - Retain the focus on the select box when product variation is changed. #24339
* Fix - Prevent PHP notice in WC_Order_Item_Data_Store::get_order_item_type() when there is no entry in the database for the order item ID passed. #24353
* Fix - Add translation in class-wc-shipping.php for matching zone message. #24366
* Fix - Previewing email template. #24380
* Fix - Check if order exist before generate hash for downloads. #24384
* Fix - Ensure WC_Product_Data_Store_CPT::is_existing_sku() return boolean. #24385
* Fix - `function_exists` check for wc_hex_is_light(). #24391
* Fix - Removed Emoji from default additional email content due problem on some database that doesn't allow Emojis. #24450
* Fix - Fixed escaping on an attribute in `class-wc-admin-menus.php`. #24466
* Fix - Add translation for image alt attribute text in multiple places. #24467, #24468, #24469
* Fix - Uneven padding in the input field with class "location-input" in on boarding wizard. #24476
* Fix - Duplicate id in pages settings. #24478
* Fix - Use `esc_attr_e` instead of `esc_html_e` for escaping an attribute in multiple places. #24481, #24520, #24521, #24522, #24523, #24524
* Fix - Use `esc_attr__` instead of `esc_html__` in escaping attributes string. #24525, #24529
* Fix - Typo fix in payment captured error message. #24501
* Fix - Documentation URL in failed order email content. #24535
* Fix - "Add to cart" links in feed. #24545
* Fix - Escaping in Storefront banner. #24546
* Fix - Use `wp_kses_post` to allow certain html tags in extensions page. #24589
* Fix - Escape `$prefix` in item download links. #24601
* Fix - Use `esc_attr` instead of `esc_html` in multiple places for proper escaping. #24613, #24614
* Fix - Use `esc_html` instead of `esc_attr` in multiple places for proper escaping. #24616
* Fix - Use `esc_html_e` instead of `_e` in multiple places for proper escaping. #24615, #24618, #24630
* Fix - Use `esc_html__` instead of `esc_html` for proper escaping and some typo fixes. #24639
* Fix - Add no-store and remove max-age header (no longer needed). #24652
* Fix - Use correct meta value for `downloadable` column in product lookup table regenerate function. #24681
* Fix - Admin sub-menus becoming unaligned when scrolling down in the orders page when there are no orders. #24688
* Fix - OWB country and sell in person alignment. #24700
* Fix - Domain replacement script now replaces both double and single quoted `woo-gutenberg-products-block` with `woocommerce` in both PHP and JavaScript files. #24696
* Fix - Convert `current_user_id` to string in some places to prevent unnecessary session database updates. #24016
* Fix - Fixed description of failed order emails. #24737
* Fix - Fixed Photoswipe styles. #24296
* Fix - Also consider refunded item when updating order and adjusting stocks. #24745
* Fix - Handle 0 attribute value for variations correctly. #24750
* Fix - Fixed spaces in form fields of External Products. #24295
* Fix - Removed links to downloadable products from refund emails. #24952
* Fix - Fixed button HTML element in the OBW. #25056
* Localization - Add Zambia's Provinces to the list of states. #24307
* Localization - Adaptation of the order of last name and first name and addresses in Japan. #24336
* Localization - Fixed Namibian dollar symbol. #24438
* Localization - Change localization tag `action-scheduler` to `woocommerce`. #24474
* Localization - Fixed missing US Minor Outlying Islands states. #24826
* Security - Add an exit after the redirect when checking author archive capabilities for customers.
* Security - Ensure 404 pages with single product urls cannot be exploited using Open Redirect.
= 3.7.1 - 2019-10-09
* Security - Add an exit after the redirect when checking author archive capabilities for customers.
* Security - Ensure 404 pages with single product urls cannot be exploited using Open Redirect.
= 3.7.0 - 2019-08-12 =
* Enhancement - Added table ENGINE to system status report for debugging purposes. #23101
* Enhancement - Format empty cart message as information notice. #23152
* Enhancement - Add taxonomy-specific classes to active filters widget. #23122
* Enhancement - Allow emails `Thanks` wording to be modified via the email settings. #22927
* Enhancement - Move tax classes from WordPress Options to a new `wc_tax_rate_classes` table. #23093
* Enhancement - Make WooCommerce shop roles translatable. #23150
* Enhancement - Prevent the Cart, Checkout and My Account pages from being set to the same pages. #23479
* Enhancement - New coupon code generate button on the coupon page. #24069
* Enhancement - Add `tag_operator` paramater to the `[products]` shortcode for use with the `tag` paramater ie. `[products tag='tag1,tag2' tag_operator='AND']`. #24111
* Tweak - When cleaning up variations due to product type change, force delete them instead of trashing. #23478
* Tweak - Change wording on the link to change the address so reflect if an address is already present or not. #23532
* Tweak - If variations are missing prices, show a notice in the product data panel. #23133
* Tweak - Use `determine_locale()` to properly load custom translation files. #23785
* Tweak - OBW: Switch shipping labels and shipping zones placement. #23781
* Tweak - Show the quantity refunded on customer facing order screens. #23038
* Tweak - CSV product import now allows true/false values for the published field, as well as the original 0 (private), -1 (draft), 1 (publish) values. #23207
* Tweak - Update product attribute sorting tooltip to clarify usage. #23222
* Tweak - Store tax rate percentage in the tax line items on orders. #23268
* Tweak - Remove the left and right margin from the logo in emails. #23360
* Tweak - Use the high res version of the WP spinner in the coupon Block UI. #23364
* Tweak - Improve user registration validation messages. #23468
* Tweak - Auto generate a new username when a username is blacklisted by WordPress. #23672
* Tweak - Guest cart sessions now gets deleted when a user logs in, preventing duplicate cart sessions. #23687
* Tweak - Include the store's base postcode and city when calculating order taxes. #23695
* Tweak - Update the generate username setting description label to reflect how the username is actually generated. #23911
* Tweak - OBW: Adjust plugin highlight container sizes to avoid overlap. #23997
* Tweak - Round tax amounts late when the round at subtotal level setting is enabled to reduce rounding errors. #24024
* Tweak - OBW: Now includes WooCommerce Admin as a recommended plugin. #24058
* Template - Review and update all template files escaping. #23460
* Template - Remove mention of shipping section from the checkout/form-login.php template as shipping is not always a requirement for an order. #23941
* Template - Add new filter `woocommerce_before_thankyou` to the checkout/thankyou.php template. #23538
* Template - Add new `woocommerce_widget_shopping_cart_total` hook to replace hardcoded subtotal in cart/mini-cart.php template. #24145
* Template - Add new `woocommerce_widget_shopping_cart_after_buttons` hook in cart/mini-cart.php template. #24145
* Template - Add new `woocommerce_before_cart_collaterals` hook in cart/cart.php template. #24145
* Template - Correct the plural forms usage in loop/result-count.php template. #24005
* Dev - Introduce new PHP 5.6 minimum requirement. #23924
* Dev - Introduce new WordPress 4.9 minimum requirement. #24156
* Dev - Move the settings save functionality from the `settings_page_init` function to the `wp_loaded` action so it is not saved after the settings page renders. #23091
* Dev - Add quantity input action hooks `woocommerce_before_add_to_cart_quantity` and `woocommerce_after_add_to_cart_quantity`. #23166
* Dev - Add `$this` parameter to email class filters. #23250
* Dev - Add new `WC_Abstract_Order::get_coupons()` method for returning all coupon line item objects on an order. #23663
* Dev - Added new action `woocommerce_product_read` to `WC_Product_Data_Store_CPT::read()`. #23181
* Dev - Add new filter `woocommerce_admin_order_buyer_name` to the `WC_Admin_List_Table_Orders::render_order_number_column()` method to change the buyer name in orders list screen. #23741
* Dev - Add new actions to `WC_Helper` class for when WooCommerce.com Product Subscription statuses change `woocommerce_helper_subscription_activate_success`, `woocommerce_helper_subscription_activate_error`, `woocommerce_helper_subscription_deactivate_success`, and `woocommerce_helper_subscription_deactivate_error`. #23041
* Dev - Extend usage and event tracking (if opted in) to system status, admin order and admin coupon pages. #23190 #23189 #23883
* Dev - Add `woocommerce_after_X_object_save` actions, and passed objects to `woocommerce_new_x` and `woocommerce_update_x` actions. #23338
* Dev - Update customer order and lifetime spend totals in `wc_update_new_customer_past_orders()` to trigger `customer.updated` webhooks for paid orders. #23402
* Dev - Preserve the State field's custom css classes when selecting an option from the Country dropdown. #23433
* Dev - Add new `woocommerce_product_related_posts_shuffle` filter in `wc_get_related_products()` to enable/disable related product shuffling, defaults to true. #23562
* Dev - Deprecate the `WC_Abstract_Order::get_used_coupons()` method and replace it with a new method `WC_Abstract_Order::get_coupon_codes()`. #23689
* Dev - Add new `woocommerce_prices_include_tax` filter in the `wc_prices_include_tax()` function. #23697
* Dev - Add new `woocommerce_admin_after_product_gallery_item` filter in the `WC_Meta_Box_Product_Images::output()` method for adding additional markup after product gallery items. #23743
* Dev - Remove unused images `assets/images/klarna-white.png` and `assets/images/square-white.png`. #23748
* Dev - Move Free Shipping method JavaScript code from outputting on all shipping setting pages to just the Free Shipping page using the `admin_footer` hook. #23776
* Dev - Prevent PHP fatal error while throwing exceptions in `woocommerce_rest_insert_{post_type}_object` hooks. #23793
* Dev - Add new `woocommerce_enforce_password_strength_meter_on_checkout` filter in the `WC_Frontend_Scripts::get_script_data()` method to allow enforcing the password strength meter on checkout. #23811
* Dev - Add new `woocommerce_search_products_post_statuses` filter in the `WC_Product_Data_Store_CPT::search_products()` method for controlling what post statuses to include in product searches. #23838
* Dev - Allow filtering `woocommerce_order_formatted_shipping_address` even when no shipping address is defined. #23859
* Dev - Change the query in the `WC_Product_Data_Store::find_matching_product_variation()` method to always respect the ordering of variations. #23881
* Dev - Move all feature plugin features out from the WooCommerce codebase and utilize composer and an autoloader for including it in WooCommerce core, affects WC REST API and WC Blocks. #23957
* Dev - Allow displaying multiple error messages through the registration validation. #23968
* Dev - Add new `woocommerce_cart_item_removed_notice_type`, `woocommerce_cart_updated_notice_type` and `woocommerce_add_to_cart_notice_type` filters for changing the default notice types for cart notices. #24021
* Dev - Add namespaced support for Jetpack 7.5 tracking library. #24140
* Dev - Add support for an improved WooCommerce.com Marketplace browse and purchase experience (in progress). #24075 #24123
* Dev - Added `$order` and `$product` as parameters to the `woocommerce_ajax_order_item` filter in `WC_Ajax::add_order_item()`. #24108
* Dev - Add new `woocommerce_product_import_image_separator` filter in `WC_Product_CSV_Importer::parse_images_field()` for adjusting the product images seperator. #24120
* Dev - Add new `woocommerce_widget_shopping_cart_subtotal()` template function that hooks into the `woocommerce_widget_shopping_cart_total` action to output the mini cart subtotal. #24145
* Dev - Deprecate the `woocommerce_before_cart_item_quantity_zero` action from `WC_Cart::restore_cart_item()` in favor of existing `woocommerce_cart_item_removed` action. #23112
* Dev - Deprecate WC_Tax::maybe_remove_tax_class_rates which hooked into the WP Options update hook for taxes in favor of new function WC_Tax::delete_tax_class_by which works on the new tax classes table. #24213
* Fix - Use version_compare for determining the maximum WooCommerce database version number. #23092
* Fix - Missing space and closing `<strong>` tag in WooCommerce.com disconnect message. #24073
* Fix - CSV Importer - Skip rows during update if a SKU column exists, but the value is empty. #23262
* Fix - Allow matching `Any` attributes when calling `WC_Product_Data_Store::find_matching_product_variation()`. #23067
* Fix - Switch coupon amount validation based on decimal seperator setting. #23137
* Fix - Show the correct results for shortcodes on static homepages when sorting. #23159
* Fix - Queue AJAX add to cart events to avoid overwriting session data. #23293
* Fix - Wrong subtotals when changing tax classes via the `woocommerce_product_get_tax_class` filter. #23344
* Fix - Fatal error on plain text order emails where products were deleted. #23754
* Fix - Do not pass the `no_shipping` argument to PayPal when the order contains shippable items. #23773
* Fix - Product review form does respects the `require_name_email` WordPress core option. #23786
* Fix - Do not cache expired sessions, negative expiry causes errors in some caching modules. #23863
* Fix - WC_Log_Handler_DB logs now uses the same timestamp format as text logs, Y-m-d H:i:s. #23863
* Fix - Display line breaks for customer notes in emails, and order details. #23969
* Fix - Correct plural forms usage in `WC_Admin_Report` class. #24020
* Fix - System status database info section throwing a PHP notice on some DB environments. #24023
* Fix - On the system status database info section display a message informing users that WooCommerce was unable to get database information instead of an error, when a database sharding plugin is active. #24034
* Fix - Usage and event tracking (if opted in) was not working correctly in the OBW. #24056
* Fix - Fatal error on downloads report when some download files were missing. #24118
* Fix - Prevents the taxes columns from being removed when the order is no longer editable in admin. #23884
* Performance - Improve the speed of the admin dashboard by only updating transients once per class. #23011
* Performance - Reduce number of queries needed to populate variations data by priming post caches. #23272
* Performance - Persistant cart improvements, only update the persistent cart if the cart items actually change. #23112
* Performance - Exclude `action_log` comment types from `wp_count_comments`. #24071
* Localization - Added validation for Italian postcodes. #23269
* Localization - Remove unused tax locale defaults since we now promote auto tax services instead. #23431
* Localization - Define correct address format for Uganda. #23178
* Localization - Hide the postcode and update the state label to "Province" for Mozambique. #23764
* Localization - OBW: Make postal code optional based on locale data. #23915
* Localization - Add new currency for São Tomé, Príncipe dobra and Mauritanian ouguiya. #23950
* Localization - Change Canada poscode label to `Postal code`. #23740
= 3.6.5 - 2019-07-02 =
* Security - Introduce file type check for tax rate importer.
* Security - Added nonce check to CSV importer actions.
* Enhancement - WordPress & PHP upgrade nudges when running older versions. #23975
* Fix - "Filter by price" widget excludes category when combined with a product attribute. #23720
* Fix - Add query parameter (GET) forwarding when processing batch API requests. #23769
* Fix - Fixed query of top rated products shortcode. #23771
* Fix - Typo in customers endpoint schema. #23812
* Fix - Update Emogrifier library to fix problem with nth-child pseudo selector. #23824
* Fix - Avoid outputting a rating of zero when product has comments without a review rating. #23828
* Fix - Do not throw a PHP notice if including the rest API handlers manually. #23840
* Fix - WooCommerce Tracker review count. #23849
* Fix - Coupon usage limit issue when applying coupon to order in the backend. #23851
* Fix - Fatal error when trying to apply virtual coupons to guest orders. #23877
* Fix - AJAX update order review doesn't reload the page. #23891
* Fix - Variation matching returns incorrect values when using a large number of variations combined with 0 values attributes. #23909
* Fix - Password mismatch when user registered with password containing a double quote. #23926
* Fix - Minor Shipping Zone UI issue due to conflict with some browser extensions. #23789
* Fix - Make Products->Categories active when clicked on "Make Default" link under any product category. #23936
* Fix - Update URL describing how to increase PHP memory limit on system status page. #23919
* Fix - Sets the position of the tracking image to fixed, so it doesn't affect page layout. #23953
* Fix - Button to manually update database in WooCommerce > Status > Tools. #23966
* Fix - Tracks blog ID retrieval from Jetpack options. #24028
* Fix - Fixed support to parentheses in phone numbers validation. #23967
* Tweak - Improve tooltip text describing the product sale dates in the product admin page. #23935
* Tweak - Made NL postcode validation more flexible, allowing lowercase and missing space. #23837
* Localization - Display city field as optional for Singapore addresses. #23878
* Dev - Add filters to file paths passed to the different xsendfile like backends. #23814
= 3.6.4 - 2019-05-27 =
* Enhancement - Add notice to install WooCommerce Admin. #23659
* Fix - Tracks: Add check for OBW is-opting-in. #23772
* Fix - Use HTTP protocol for schema.org's availability. #23774
* Fix - Coupon usage limit checks based on email never ran when orders are created via wp-admin. #23775
* Fix - Duplicate out of stock notices when navigating from cart to checkout and back to cart. #23791
* Fix - Remove sensitive information from refund reason when manually refunding an order, and move it to an order note. #23739
* Tweak - Tracks: set cookie on admin_init instead of wp_loaded. #23787
* Dev - Fixed number of arguments for all occurrences of the woocommerce_valid_order_statuses_for_cancel filter. #23704
* Dev - REST API - Stop order creation if invalid data is sent. #23325
* Dev - Introduce new wc_load_cart function for dynamically loading and initializing the cart. #23794
= 3.6.3 - 2019-05-16 =
* Fix - State not required for Serbia. #23430
* Fix - # symbol in product category name broke product export. #23454
* Fix - XML export caused fatal errors due to Action Scheduler adding invalid characters. #23456
* Fix - Invalid password messages when password contains backslashes. #23499
* Fix - Dismiss button in WC admin notices "legacy_shipping" and "no_shipping_methods" were not clickable. #23517
* Fix - WC $wpdb->tables not defined early enough. #23529
* Fix - Tracks JS not printed on last page of OBW. #23519
* Fix - Error in the logic used to build fields for external products when the query string contained full-stops, pluses or spaces in the values of the parameters. #23535
* Fix - UI page width issue on OBW. #23526
* Fix - Customer address not auto populated on checkout after registering and filling in address prior. #23528
* Fix - Available WooCommerce extension updates not showing in System Status report. #23601
* Fix - wc_change_get_terms_defaults throwing undefined index notices. #23611
* Fix - System Status report alway showing checkmark next to Connected to WooCommerce.com. #23617
* Fix - State field never populated when loading customer address on order via wp-admin. #23615
* Fix - Order sorting not working in wp-admin when Yoast SEO active. #23590
* Fix - Attribute ordering not working in product edit screen. #23625
* Fix - Tracks reporting incorrect order totals due to refunds being excluded in calculation. #23671
* Fix - Reload state options when creating a new order in WP-Admin and changing country. #23602
* Fix - New webhooks not showing in the webhook admin list page when you have object caching enabled. #23713
* Fix - Missing coupon expiry dates, restore coupons expiry_date backward compatibility. #23714
* Fix - Bulk stock update could result in all products set to out of stock, change ensures consistency between db and Product instance in memory. #23534
* Fix - Dashboard stats widget including unpublished products in out of stock and low in stock counts. #23734
* Fix - PayPal payment not captured when you transition an order from a custom order status to completed or processing. #23634
* Tweak - Confirm before saving empty list of countries to sell to in settings. #23597
* Tweak - Change default WC API version used when creating webhooks to the latest WC API version. #23515
* Tweak - Report a bug button now points to the new issue template in GitHub. #23580
* Tweak - Do not display taxes in totals columns when taxes not enabled. #23579
* Tweak - WC WP-CLI upgrade routine mimics wp-admin upgrade when no updates found by setting DB version to current version. #23666
* Tweak - Template caching now cache based on WC_VERSION to avoid issues with symlinked plugin folders. #23546
* Tweak - OBW payment gateway selection defaults. #23690
* Localization - Add Serbia locale defaults. #23428
* Localization - Add address format for Serbia. #23429
= 3.6.2 - 2019-04-24 =
* Fix - Fix CSS classname conflict with themes due to missing product object global. #23377
* Fix - Fix security check on email template preview page. #23356
* Fix - Prevent `wc_ascii_uasort_comparison` throwing notices in some server configs. #23363
* Fix - `is_request_to_rest_api` should check for wc endpoints only. #23372
* Fix - Fixed use of get_term_meta in REST API endpoints. #23457
* Fix - Fixed missing closing tag for log-in link for reviews. #23445
* Fix - Fixed average_rating in the db upgrade routine for lookup table. #23465
* Fix - More useful update notices if cron is disabled. #23383
* Fix - Prevent term ordering queries inserted by wc_terms_clauses from conflicting with custom where clauses. #23449
* Fix - When product lookup table is generating for the first time, avoid wrong stock statuses being set for variable products. #23455
* Fix - Ensure webhooks respect registered order args. #23444
* Fix - REST API - Return custom attribute with defined name instead of lowercase name. #23482
* Fix - Fix 3.6 conflict with Woo Blocks plugin 1.4. #23399
* Fix - Allow default sorting of WC taxonomies to be overwritten by get_terms orderby. #23477
* Fix - Improve wc_rating_count lookup table generation with large numbers of posts. #23486
* Fix - Avoid recurring event for suggestions updates. #23484
* Fix - Revert selectWoo escaping change and instead escape user names. Avoids issues displaying slash characters. #23334
* Fix - If an empty array is passed to the v3 API for images, images should be unset. #23339
* Fix - Fix attribute renaming when dealing with unicode characters. #23132
* Fix - Preserve full-stops in external product URLs. #23196
* Fix - Add check for VAT exemption inside `display_prices_including_tax`. #23201
* Fix - Avoid post update in `wc_update_product_stock` to prevent product titles being updated. #23249
* Fix - Updated Back to Items link when editing attribute terms. #23238
* Fix - Network orders widget not showing orders when installed as a network plugin. #23270
* Fix - Correctly map attributes in CSV when the number is not at the end of the cell. #23251
* Fix - Fixed highlighting of Orders list item in My Account when looking at individual order. #23236
* Fix - Applies `wp_strip_all_tags` to the line item name when building PayPal request URL. #23297
* Fix - Non int value handling in `wc_let_to_num`. #23329
* Fix - Style span.description elements after select2 boxes. #23252
* Fix - Switch to subquery for sale products to prevent large query errors on some hosting environments. #23266
* Fix - Add offerCount to variable product structured data. #23349
* Fix - Cart widget - Allow title to be removed. #23370
* Fix - Prevent order data being escaped incorrectly on save when using quotes. #23380
* Fix - Prevent plugins causing notices by calling get_catalog_ordering_args incorrectly. #23451
* Fix - Product list view shipping class filter display correct products. #23446
* Fix - Twenty Seventeen On Sale badge hidden behind product image. #23450
* Fix - Correct postcode validation on my-account page. #23483
* Fix - Fixed compatibility with the Jetpack Beta Tester plugin when loading the Tracks client library. #23397
* Fix - Updated anchor for "How to create a child theme" with the correct target address in the Codex. #23469
* Tweak - Update action scheduler to version 2.2.5. #23489
* Tweak - Removed 2 old admin notices for featured moved in past versions. #23263
* Localization - Make the state/county field optional at checkout for Greece. #23365
= 3.6.1 - 2019-04-18 =
* Fix - Remove calls to 'header_register_callback' to prevent conflicts with some hosting providers and PHP versions.
= 3.6.0 - 2019-04-17 =
* Enhancement - Merged WooCommerce Gutenberg Products Block feature plugin. Adds blocks for the new editor, including
hand picked products, featured products, products by category/attribute, sale products, new products, top rated
products, and best selling products. #22954
* Enhancement - Only include order erasure bulk action if erasure is enabled in settings. #22354
* Enhancement - Customer notes containing URLs now automatically converts to clickable links. #21927
* Enhancement - Add increase and decrease stock options to bulk edit form. #22475
* Enhancement - Allow states in zones to be searched by country name. #22339
* Enhancement - Added registration success notices to account pages. #22650
* Enhancement - Store notice is visible again if the notice text is changed. #22645
* Enhancement - Add aria-label attribute to shop orderby selector to improve accessibility. #22683
* Enhancement - When adding, editing, and deleting items manually from orders, the corresponding product stock will be
updated to reflect the event and an order note will log the event. #22329
* Enhancement - Added suggestions for official extensions to Products, Edit Product and Orders screens.
* Enhancement - Store attribute values as post_excerpt for variations to support easier searching for variations. #22083
* Enhancement - Improved username generation and introduced wc_create_new_customer_username function. #23145
* Enhancement - Allow opting out of Marketplace Suggestions 23218
* Tweak - Generalize shipping estimate text on cart page. #22467
* Tweak - Include auto draft orders in order list filters. #22380
* Tweak - Only include the network orders widget on the main site dashboard. #22318
* Tweak - Only show available shipping continents when selecting shipping zone region. #22131
* Tweak - Use Shortcode block on default WooCommerce pages. #21817
* Tweak - Show full category hierarchy in product URLs when term IDs are not sequential. #22526
* Tweak - Make sure account and checkout endpoints only work under account and checkout pages. #22631
* Tweak - Show loading graphic when order form is submitted. #22664
* Tweak - Add alt text to gallery images #22863
* Tweak - Improved `display_name` generation during checkout. #22786
* Tweak - Send correct calling code and phone number to PayPal standard when using non-US addresses. #22693
* Tweak - Added tooltip to refund-amount input box and made it readonly when taxes are enabled. #22820
* Tweak - Remove admin alert for the WooCommerce Gutenberg Products Block feature plugin. #22982
* Tweak - Setup Wizard: support keyboard navigation to toggle on/off features. #22936
* Tweak - Set reply-to address for all emails. #22979
* Tweak - Setup wizard redirection improvements. #22977
* Tweak - Simplify display of discount amounts within orders. #22949
* Tewak - Remove Marketplace Suggestions from product listing page. #23211
* Template - Moved the order of rememberme checkboxes for accessibility so they tab in order. #21454
* Template - New structure for attributes template, including new `woocommerce_display_product_attributes` filter. #22480
* Template - Admin cancelled order email reworded. #22971
* Dev - Update action scheduler to version 2.2.2. #23162
* Dev - Update action scheduler to version 2.2.1. #23016
* Dev - Use ActionScheduler for database updates. Improved update notice. #22904
* Dev - Introduce `woocommerce_reviews_title` filter. #22216
* Dev - Added `woocommerce_cheque_process_payment_order_status` filter allowing plugins to change the order status to the Cheque gateway. #21402
* Dev - Add the current coupon object to the `woocommerce_get_shop_coupon_data` filter. #21442
* Dev - New filter `woocommerce_gallery_image_html_attachment_image_params` for manipulating gallery images. #22005
* Dev - New filter `woocommerce_widget_get_current_page_url` for manipulating links in widgets. #21537
* Dev - Move wc_get_template filter to allow plugins to register locations for template files that do not exist in WooCommerce core. #21764
* Dev - Add support for custom classes on global/quantity-input.php. #21553
* Dev - Pass product object to `woocommerce_add_to_cart_redirect` filter where appropriate. #22123
* Dev - Add support for forgetting the cart contents and user session when switching between accounts using the User Switching plugin. #21991
* Dev - Added a consistent form class to the Track Order Form. #21991
* Dev - Add $orderby and $order params to filter `woocommerce_get_catalog_ordering_args`. #22257
* Dev - Add new pre query filter to WC_Product_Data_Store_CPT::search_products(). #22165
* Dev - Added additional parameters to the `woocommerce_variation_option_name` filter. #21153
* Dev - Added new filter `woocommerce_get_min_max_price_meta_query`. #22255
* Dev - Added a filter to WC_REST_CRUD_Controller::get_collection_params method to allow developers to change params in
the same way as WP_Rest_Posts_controller::get_collection_params. #21562
* Dev - Add $zone param to woocommerce_shipping_zone_before_methods_table and woocommerce_shipping_zone_after_methods_table actions. #21961
* Dev - Added `woocommerce_geolocation_ajax_get_location_hash` filter. #22350
* Dev - Added `woocommerce_variation_prices_array` filter. #21003
* Dev - Added `wc_emptied_cart` javascript event when cart is emptied. #22469
* Dev - Switched `woocommerce_ordered_again` hook to ref_array. #22425
* Dev - `woocommerce_checkout_before_order_review_heading` action added in checkout form template. #22481
* Dev - Added `woocommerce_variation_header` hook in variations list. #21341
* Dev - Add a filter, woocommerce_current_user_can_edit_customer_meta_fields, to bypass manage_woocommerce when editing customer meta fields. #22277
* Dev - Adds filter on the return value of function 'get_item_tax_rates'. This gives developers the possibility to
prevent the mandatory caching of tax rates. #22488
* Dev - Add filters for mail callback in WC_Email::send method. #22394
* Dev - Add an instance method to WC_Admin_Taxonomies. #21884
* Dev - Added `woocommerce_order_is_pending_statuses` filter and `wc_get_is_pending_statuses` function. #22409
* Dev - Filter save_payment_method_checkbox to allow "Save to account" checkbox to be removed from the checkout form. #21859
* Dev - Added triggers to the gallery script to allow 3rd parties to run scripts before and after initialization. #22501
* Dev - Added `woocommerce_add_to_cart_qty_html` filter. #21069
* Dev - Prevent extract from polluting hook arguments in wc_get_template(). #21722
* Dev - Add `woocommerce_pre_remove_cart_item_from_session` hook to allow removal of cart items when the cart is loaded from the session. #22290
* Dev - Add `$attribute` to `woocommerce_product_option_terms` filter. #21648
* Dev - Added error handling and timeout to cart fragment ajax call. #21043
* Dev - Remove unused legacy 'woocommerce_lock_down_admin' option and use filter only instead. #17796
* Dev - Allow custom settings sections in the Shipping tab. #21719
* Dev - Update Emogrifier library to 2.1. #22342
* Dev - Moved core state codes to a single file. #22339
* Dev - Adds filter for product categories displayed by `product_categories` shortcode. #22571
* Dev - Moves cart hash calculation to WC_Cart class. #21050
* Dev - Removed deprecated Simplify gateway. #22410
* Dev - Added `woocommerce_paypal_force_one_line_item` filter to control how items are sent to PayPal. #22653
* Dev - Added `woocommerce_update_product_stock_query` to filter the direct sql query to update product stock. #22672
* Dev - Added `woocommerce_product_loop_title_classes` filter to modify product title loop classes. #22717
* Dev - Delay `woocommerce_loaded` hook until all plugins are loaded. #22536
* Dev - Added `woocommerce_product_price_class` filter to modify product price classes. #22748
* Dev - `woocommerce_product_stock_status_options` filter added for stock status options. #22834
* Dev - `woocommerce_before_cart_emptied` action before cart is emptied. #22846
* Dev - Added filters for shipping options - `woocommerce_shipping_ID_option` and `woocommerce_shipping_ID_instance_option`. #22771
* Dev - Refactor comment/rating update functions. #22909
* Dev - Introduced wc_sanitize_phone_number() function. #22962
* Dev - Added `woocommerce_get_product_subcategories_cache_key` filter to allow the cache to be renamed if for instance
the site runs in multiple languages and needs a unique cache per language. #22915
* Dev - Inactive, MU, Dropin plugins and WooCommerce.com account connection status added to System Status Report. #22887
* Dev - Make error handling consistent in payment processing for pay page and checkout. #22916
* Dev - Improved usage and event tracking (if opted in). #22955
* Dev - Pass class context to woocommerce_email_styles filter. #23027
* Fix - Use correct address for taxes when applying/removing coupons. #22802
* Fix - Hide ratings on the shop page when reviews are disabled. #22476
* Fix - Fix W3C validation of single product page quantity input. #22333
* Fix - Give product variations a unique guid after creation. #22324
* Fix - Deduct correct refunded amounts in calculated net daily sales export CSV. #22518
* Fix - Country sorting for stores which use a language that uses a lot of accented characters, e.g. Spanish. #22417
* Fix - Customer VAT exempt status now carries through to order when placed via checkout. #22458
* Fix - Handle full refunds for taxes by code report. #21843
* Fix - Option "Used for variations" should show only for variable products when saving attributes. #22524
* Fix - Allow pa_ in product attribute slugs. #22112
* Fix - Fix customer creation dates in API. #22269
* Fix - Get widget instance setting defaults so it shows in customiser before save. #22345
* Fix - PR state codes. #22339
* Fix - Allow selecting states from the Country / State drop-down for your store address when you have the option
enabled to sell to specific countries. #22339
* Fix - Restrict the price filter widget to filtering the main product query. #22621
* Fix - Default placeholder image resizing. #22443
* Fix - HTML tags should be stripped from description in Structured Data of Product. #22596
* Fix - For logged in customers, pull default address fields from customer object, not session object, to avoid incorrect mixes of data. #22392
* Fix - Misc tax rounding improvements. #22420
* Fix - Respect shop page subcategories setting when `page/N/` is added to the URL. #22589
* Fix - Check for decoded taxonomy name when unsetting product terms. #22740
* Fix - If date paid is not set but payment complete status has passed, set it. #22735
* Fix - Prevent webhooks for drafts, and correct create vs updated for manual orders. #22731
* Fix - Ignore invalid default customer locations. #22357
* Fix - The state select field was missing a placeholder. #22357
* Fix - Fix state field rendering when customer address is not in a valid selling country. #22357
* Fix - Correctly handle negative fees when using the REST API. #22782
* Fix - Make sure local_pickup taxes do not hang around when local_pickup is not available for the selected location during checkout. #22826
* Fix - Remove Plugin and Theme background installer hooks, cannot run as there are no events scheduled for it. #22799
* Fix - Trigger zoom if moving cursor over image quickly in product gallery. #22784
* Fix - PayPal: Add meta data, before changing order status. #22892
* Fix - Make price filter widget tax aware when you have excl prices entered but show prices incl of tax. #22540
* Fix - Loop attribute panels to disable options rather than look at values to prevent notices. #22891
* Fix - When deleting zone methods, also remove setting options. #22867