forked from woocommerce/woocommerce
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
3653 lines (3511 loc) · 254 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 ==
= 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
* Fix - Correctly show state fields after posting the edit address form. #22948
* Fix - Validate coupon usage limit for manual orders correctly before order is saved. #22980
* Fix - Make coupon code sanitization match post_title sanitization. #22945
* Fix - Ensure WC_Helper sees plugin activation events via CLI. #22972
* Fix - Setup wizard redirection improvements. #22977
* Fix - Correctly show stock status for products when manually creating an order in the admin. #22997
* Fix - After logging in update customer session ID. #23001
* Fix - Narrow viewport css in setup wizard. #23033
* Fix - Allow entering of date only ( no time ) when placing a singular product on sale. #22973
* Fix - Download link URL in helper. #23146
* Fix - Completed email wording update. #23128
* Fix - REST API: Allow filtering by future status #23138
* Fix - Update refund reason to make it clear process is manual. #23149
* Fix - Hide stock status for variations when the parent is managing stock. #23069
* Fix - Force variation product type in WC_Ajax::add_variation. #23131
* Fix - WooCommerce writes current_theme_supports_woocommerce option on every regular page view. #23035
* Fix - Update the rating request text in the footer to be friendlier for screen reader users. #23039
* Fix - Null check variable before accessing its properties on checkout page. #23047
* Fix - Recognize all input fields with ID for checkout fields. #23050
* Fix - Avoid regenerating thumbnails on every page load. #21800
* Fix - Changed 'private' methods on WC_Breadcrumb class to 'protected'. #23057
* Fix - Jumping to top of page when dismissing store notice. #23066
* Fix - Backwards compatibility issues with wc_get_template #23197
* Fix - Remove date restriction of Facebook Plugin feature in OBW #23210
* Fix - Updates to usage tracking logic #23231
* Fix - Add get_post_status helper method and ensure prefix gets added for most statuses #23203
* Fix - Add link to suggstions management #23229
* Fix - Make usage tracking opt-out text more clear #23216
* Fix - CSS Issues with suggestions display #23241
* Fix - Product search may fail to return valid results when using the 'include' flag to search within a limited set.
* Fix - Change aria-labelledby to aria-label on quantity input. #23186
* Performance - Product meta data lookup table used for sorting and slow queries. #22718
* Performance - Prime caches when reading variations. #22587
* Performance - Only include REST API classes and objects during `rest_api_init` hook. #22615
* Performance - Improved how versioned transients are set/cleanup to avoid cron. #22511
* Performance - Optimized product CSS class functions to avoid multiple product reads and duplication. #22610
* Performance - Improved caching of template loader, product types, and layered nav widget. #22612
* Performance - Remove external lookup of IP addresses on localhost. #22608
* Performance - Improved speed of the `find_matching_product_variation` variation lookup function. #22423
* Performance - Prevent frontend code from being loaded during REST API. #21090
* Performance - Load only active webhooks on pages and allow limits to be set by developers. #22760
* Performance - Index on downloadable_product_permissions to improve speed when fetching downloads for customers. #22906
* Performance - Improved term ordering queries, making the sorting apply by default via the DB query rather than sorting
all terms with PHP. Removed legacy term meta table usage. #22570
* Performance - Use day, not time, in status widget for caching. #22950
* Performance - Improve slow term ordering by using queries instead of php. #22570
* Performance - Removes legacy woocomerce_termmeta table and swap out all calls to legacy term meta functions to the new WP ones. #22570
* Performance - Apply term sorting using get_terms_defaults hook instead of custom parameters. #22570
* Performance - Use pre_get_terms hook to detect menu_order sorting param and apply to the term query. Meta sorting is now possible through WP. #22570
* Performance - Use terms_clauses hook to support numeric name sorting and to improve the menu order sorting so it works if meta is missing. #22570
* Performance - Added caching to System Status Report. #22887
* Performance - Delete empty meta on update in data-stores. #22773
* Performance - Image regeneration edge cases. #22818
* Performance - Don’t query for an order count unnecessarily. #22984
* Performance - Add caching to attribute functions. #22938
* Performance - Add ability to run product lookup table updates via WP CLI. #23031
* Localization - Modify administrative regions of Greece to default to their english ISO 3166-2 names, instead of using the native GR names. #21945
* Localization - Added US Minor Outlying Islands as states to avoid confusion with US. #22468
* Localization - Dutch postcode validation. #22316
* Localization - Made municipality address field optional for Latvia. #22487
* Localization - Added new Venezuelan currency Bs S. #22435
* Localization - Added Danish locale. #22495
* Localization - Update Peruvian currency. #22602
* Localization - Update CA address format. #22692
* Localization - Updated JP field order. #22774
= 3.5.8 - 2019-04-16 =
* Security - Added escaping for states on the user profile screen.
* Security - Added escaping for PhotoSwipe captions.
* Security - Added escaping for SelectWoo selected options.
= 3.5.7 - 2019-03-19 =
* Security - Improved the way in which state fields are regenerated by JavaScript to ensure values are properly escaped.
= 3.5.6 - 2019-03-07 =
* Fix - Removes invalid product structured data from archives, and include more data on single product pages. #22925
Product structured data should only be generated for visible data, and not on archives when there are single
product pages available, as per the documentation.
Since this change removes structured data from archives, the filters `woocommerce_structured_data_product_limit`
and `woocommerce_structured_data_product_limited` have also been removed.
To customize product structured data, for example adding custom fields or include on archives, see this article:
https://github.com/woocommerce/woocommerce/wiki/Structured-data-for-products.
* Fix - Fix last item in breadcrumb structured data, and include on shop page. #22925
* Fix - Get insert ID before running actions in `_insert_tax_rate`. #22868
* Fix - Add precision to tax in the discount class so min spend checks work correctly. #22888
* Fix - Update troubleshooting link in failed order email. #22943
* Fix - Update Flexslider to 2.7.2.
* Fix - Fill user's account first name and last name only when those fields are empty. #22783
= 3.5.5 - 2019-02-20 =
* Fix - Fix allow product low stock threshold be the WC settings default. #22777
* Fix - Fix error on product category when sorting by multiple fields. #22066
* Fix - Recalculate coupon totals after adding a coupon to an order. #22580
* Fix - Include refunded orders in top sellers, earners sales by product. #22581
* Fix - Fix issue where "Any" attributes on variable products not always selectable on front end. #22067
* Fix - Ensure partial refunds fire order.updated webhooks. #22072
* Fix - Reload the cart page when the cart is empty. #22114
* Fix - Always show the price filter widget when filtering products by price. #22303
* Fix - Added body `{padding: 0;}` CSS rule to the email-styles.php to fix the iOS emails layout issue. #22309
* Fix - Update variable product default attributes to reflect attribute terms slug edit. #22398
* Fix - Adds all 3 callback arguments to the `woocommerce_order_item_display_meta_value` filter called from the `get_formatted_legacy` method of the WC_Order_Item_Meta class. #22411
* Fix - Remove html from add coupon error alert during manual order entry. #22424
* Fix - Include tax in subtotals when validating coupon minimum and maximum in manual order entry. #22464
* Fix - Fix ssl check in case shop page no longer exists. #22531
* Fix - Exclude `paged` from price slider and rating filter. #22533
* Fix - Limit bulk variation percentage price adjustment to decimal places in pricing settings. #22537
* Fix - Fix category image `name` field to be used for API POST/PUT. #22553
* Fix - Fix remote request test in `get_environment_info()`. #22551
* Fix - Fix notices when images have no metadata or their metadata is removed. #22562
* Fix - Check for presence of 'save' entry in post data when determining whether to save settings. #22572
* Fix - Additional CSS support for more input types on variations panel in admin. #22590
* Fix - Over escaping rating widget html. #22593
* Fix - Update cron sale price removal to remove the price at midnight after the sale ends. #22609
* Fix - WC_Log_Handler_File::remove - fix for MS Windows #22624
* Fix - Only require flat shipping rate when shipping method is enabled in the On-Boarding Wizard. #22599
* Fix - Fix wrong variable check in `add_uncropped_metadata`. #22638
* Fix - No alert for mis-matched password reset. #22642
* Fix - Hold-stock behavior between simple products and variable products was different. #22646
* Fix - OBW: Offer Storefront when WP 5.0 default theme is active #22649
* Fix - Add novalidate attribute to payment form to prevent hidden fields preventing submission. #22662
* Fix - Switch span to paragraph for descriptions in admin user profile view to correct spacing. #22663
* Fix - Added POST variable check in product data meta box. #22681
* Fix - PayPal item name encoding. #22684
* Fix - Move PayPal BN partner ID. #22763
* Fix - The "for" attribute of a label for a radio input is invalid in `woocommerce_form_field`. #22690
* Fix - Custom payment options sections was not loading settings. #22704
* Fix - Breadcrumbs on custom post types was using the singular name instead of plural. #22705
* Fix - Fixed generate webhook signature when secret contains special chars. #22722
* Fix - Set correct item meta after restocking items with refunds. #22729
* Fix - Sales by Product to consistently calculate net sales counts and amounts. #22711
* Fix - Importer - Variations cannot be drafts so set to private. #22736
* Fix - Next/previous links for orders REST endpoint when `status` query parameter is present. #22741
* Fix - Default value passed to sorting dropdown #22677
* Tweak - Updates Mailchimp branding in setup wizard. #22514
* Tweak - Refactor `@id` generation for product structured data to prevent plugin conflicts. #22554
* Tweak - Keep count of the number of times custom coupons apply. #22529
* Tweak - Change WooCommerce emails footer from `Powered by WooCommerce` to `Built with WooCommerce`. #22530
* Security - Improved escaping for Photoswipe captions.
* Security - Improved escaping for JSON attributes and structured data.
= 3.5.4 - 2019-01-21 =
* Tweak - Allow limited html in woocommerce_rating_filter_count filter. #21904
* Tweak - Remove 'on-hold' orders from admin tax reports for more logical reporting. #22419
* Tweak - Remove payment phrases from processing emails. #22418
* Tweak - Removed display of cost for local pickup when free. #22446
* Fix - Unescape CSV formulas in product attributes in CSV importer/exporter. #21938
* Fix - Remove use of non-existing `WC_REST_Dev_Setting_Options_Controller` class. #22121
* Fix - Fix edge case where `get_plugins` would not have the custom WooCommerce plugin headers if `get_plugins` was called early. #21669
* Fix - Prevent PHP warning when deprecated user meta starts with uppercase. #21943
* Fix - Fixed support for multiple query parameters translated to meta queries via REST API requests. #22108
* Fix - Prevent PHP errors when trying to access non-existant report tabs. #22183
* Fix - Filter by attributes dropdown placeholder text should not be wrapped in quotes. #22185
* Fix - Apply sale price until end of closing sale date. #22189
* Fix - Allow empty schema again when registering a custom field for the API. #22204
* Fix - Don't display escaped html on checkout when javascript is disabled. #22214
* Fix - Fixed formatted address in uppercase for languages that use accents. #22096
* Fix - Reload the cart page when the cart is empty when there is a hash in the URL. #22114
* Fix - Do not schedule duplicate webhooks within 10 minutes of each other to maintain previous behavior. #22088
* Fix - Return correct next scheduled date for items in queue by fixing date instantiation in WC_Action_Queue::get_next(). #22104
* Fix - Allow products to use default low stock threshold. #22084
* Fix - Fix 0 value attribute permalink calculation, property population in REST api. #22026
* Fix - Ensure cache delete on coupon trash or delete. #22053
* Fix - Ensure product parent exists before getting its image. #22074
* Fix - Correctly use wildcard character on email restrictions on coupons. #22167
* Fix - Avoids Warnings in Action Scheduler Library for PHP 5.2. #22160
* Fix - Don't include product in BreadcrumbList structured data so Google will recognize stand-alone Product structured data. #22344
* Fix - Fix Product widget showing hidden products when hide out of stock was enabled. #22230
* Fix - Run webhook status updates through new wc_is_webhook_valid_status functions when doing API requests. #22205
* Fix - Correct quote handling in tax class names. #22270
* Fix - Prevent style side-effects on notices on the Extensions pages. #22330
* Fix - Check stock status of items when 'ordering again' from the account page. #22331
* Fix - Improve rounding when rounding at subtotal level in cart. #21217
* Fix - Restores an opportunity to print non-cart related notices that a few extensions are relying on. #22337
* Fix - Correct order item meta alignment in order emails when using an RTL language. #22376
* Fix - Fix bug where product status was erroneously going to draft status in some circumstances on new published variable products. #20667
* Fix - Load customer data for logged in users regardless of being member of sub-site to avoid errors. #22448
* Fix - Use slug sanitization on product export category slugs for better foreign character support. #22320
* Fix - Correct item subtotal rounding when multiple taxes are applied so it matches the cart. #22416
* Fix - Prevent fatal errors when retrieving network orders for sites that do not have WooCommerce activated. #22439
* Fix - Numerous bug fixes around checkout field locales on first load. #22444
* Fix - Correct position of admin notices on my-account pages. #22445
* Fix - Fixed padding of addresses in email template. #22466
* Fix - Prevent payment method descriptions sliding up/down if selected after ajax updates. #22459
* Fix - Fixed formatted address in uppercase for languages that use accents. #22096
* Fix - Fix product updating on import for SKUs with special characters. #22071
* Fix - Ensure cache_delete on coupon deletion. #22053
* Fix - Make product edit form aware publish was pressed. #20667
* Fix - Unescape imported CSV formulas in product attributes. #21938
* Fix - Warning when deprecated user meta starts with uppercase. #21943
* Fix - Filter out buttons from the onRowClick event on the Orders list view page. #21966
* Fix - Update "Filter Products by Attribute" widget when product stock quantity changes via "Quick Edit" or WC API. #22029
* Fix - Ensure product parent exists before getting its image. #22074
* Fix - Fixed support for multiple query parameters translated to meta queries via REST API requests. #22108
* Fix - Strip hash from URL when reload refunds in the dashboard. #22116
* Fix - Prevent notice when using non existing value for tabs in WooCommerce > Reports > Stock. #22183
* Fix - Filter by attributes dropdown placeholder text wrapped in quotes. #22185
* Fix - Fix escaped html on checkout when javascript is disabled. #22214
* Fix - Allow empty schema again when registering a custom field for the API. #22204
* Fix - Fix import & export of newline characters in product description fields. #22298
* Fix - Allow quotes in tax class names. #22270
* Fix - Sale price applies to end of closing sale date. #22189
* Fix - Product export by unicode product categories. #22320
* Fix - Check stock status of items when 'ordering again' from the account page. #22331
* Fix - Issue where images offloaded to external servers caused errors and broken images when changing aspect ratios. #22461
* Fix - Remove block comments from shop page description. #22334
* Dev - REST API - 0 value attribute permalink calculation, property population in REST api. #22026
* Dev - REST API - Fixed support to order results by slugs. #22168
* Dev - REST API - Removed extra inherited filters from product endpoint in variations endpoint. #22452
= 3.5.3 - 2018-12-20 =
* Fix - Fix orders list in the admin after a change introduced in WordPress 5.0.2. #22273
= 3.5.2 - 2018-11-29 =
* Enhancement - Added compatibility for Twenty Nineteen theme. #21970
* Update - Prepare WooCommerce for PHP 7.3. #22009
* Tweak - Updates the signature field type to "password" in PayPal settings for increased security. #21715
* Tweak - Change the filter name in the /myaccount/lost-password-confirmation.php template to differentiate between other filter with same name and different message. #21829
* Tweak - Reintroduce Preview button by popular demand with the understanding that the Preview will only work on some product fields. It was removed from pubished products in 3.5.0 to prevent confusion. #21838
* Tweak - Add tool to systems status tools for running the DB update routine. #21923
* Tweak - Revert default behavior for `woocommerce_formatted_address_force_country_display` filter to maintain backwards compatibility. #21865
* Tweak - Update products block notice for WP 5.0. #21930
* Tweak - Use wp_kses_post instead of esc_html for sanitizing product titles to allow minimal HTML in product titles. #21936
* Tweak - Use dedicated woocommerce_add_order_again_cart_item to filter cart item data when ordering again. Prevents issues with applying woocommerce_add_cart_item out of context. #21947
* Tweak - Remove postal code for Angola, São Tomé and Príncipe since they don't use postal codes and update locale info. #21984 #21985 #21987
* Fix - Metadata with array key of 0 can save properly. #21641
* Fix - Prevent deleting the default product category via REST API. #21696
* Fix - Fix 'Table does not exist' messages on System Status Report in multisite. #21706
* Fix - Add dynamic SSL check to dashboard SSL notice to prevent misdiagnosing that sites aren't set up with SSL. #21738
* Fix - Don't show escaped HTML in admin order item details for fees. #21769
* Fix - Don't include draft variable products in on sale product results. #21778
* Fix - Add woocommerce_hold_stock_minutes check back to stock check in cart/checkout. #21797 #22050
* Fix - Fix potential undefined index notice on checkout fields when comparing the sort order. #21801
* Fix - Throw an error when trying to set a variation as the parent of a variation in the CSV importer. #21810
* Fix - Make "account erasure request" text translatable. #21812
* Fix - Display notices on Order Pay page. #21821
* Fix - Fix tax rate uploading by file path. #21831
* Fix - Make wc_download_log_permission_id constraint creation work better on multisites and multiple sites using the same DB. #21836 #21940
* Fix - Don't render undecoded HTML entities in variations dimensions. #21844
* Fix - Do not check for stock when not managing stock or have backorders enabled when paying through the order-pay page. #21849
* Fix - Apply priority field sorting on additional filters to make it apply on the edit address pages as well. #21856
* Fix - Fix export and edit of attribute labels with html encoded special characters in product CSV exporter. #21864
* Fix - Prevent fatal error when rendering plaintext customer invoice email. #21879
* Fix - Prevent fatal error when delivering webhooks using v3 API. #21921
* Fix - Prevent undefined variable notice in wc_increase_stock_levels. #21928
* Fix - Fix overescaping image output on product widget. #21929
* Fix - Croatian Kuna symbol should be lowercase. #21934
* Fix - Fixed an error when deleting logged entries when using the 'WC_Log_Handler_DB' handler. #21949
* Fix - Update ShipStation plugin info so install works through setup wizard. #21953
* Fix - Use dynamic DB table name in product list table shipping class query. #21954
* Fix - Log file date/time should be in UTC and not site timezone as per the +00:00:00 string appended to it. #21981
* Fix - Set customer's country to selling country when only selling to one country and default customer location is 'none'. #21995
* Fix - Change new account email copy to be compatible with auto-generated accounts. #21999
* Fix - Correct Aria-Labelledby attribute for quantity selectors. #22000
* Fix - Show notices on lost password page. #22001
* Fix - Fix authentication errors when using the REST API with 3rd-party authentication. #22013
* Fix - Fix issues where potentially not all active plugins were included on the system status report. #22057
* Fix - Make PDT validation use the same rounding as the IPN validation to prevent erroneous totals mismatch. #21729
= 3.5.1 - 2018-10-31 =
* Fix - Use CRUD method to get product images to fix custom tables missing images. #21608
* Fix - Use HTML entity for times sign when outputting dimensions to fix RTL support. #21633
* Fix - Fix India address format to look nice in the shipping calculator. #21647
* Fix - Don't default gallery variation images to gallery thumbnail size if flexslider is disabled. #21655
* Fix - Revert show shipping behavior change to prevent missing shipping line on Cart page. #21658
* Fix - Removed non-existing WC_Product_Simple->set_date_created_gmt method. #21675
* Fix - Use correct comment_type when fetching recent reviews for widget. #21689
* Fix - Do not include strong tags as part of translation string on subscriptions disconnect message. #21690
* Fix - Make it possible to send webhooks with the v3 API. #21745
* Fix - Fix get_cart_from_session infinite loop when filters used. #21749
* Fix - Use array instead of string to define class for address line 2 input on checkout. #21757
* Fix - Make checkout fields priority work correctly again. #21763
* Tweak - Remove mentions of deprecated live shipping rates from setup wizard. #21645
* Tweak- Update product block editor hook for WP 5.0. #21703
* Tweak - Merged similar strings to reduce number of translateable strings. #21704
* Tweak - Remove hated "Over to you" text from emails. #21709
* Tweak - Revert problematiic customer as post author change. #21740
= 3.5.0 - 2018-10-17 =
* Feature - REST API v3. #20111
* Feature - Option has been added on the inventory tab of the edit product page to set a low stock threshold for individual products. #20260
* Feature - Add ability to export products by category to the CSV exporter. #20870
* Feature - Ability to define custom product placeholder images that will resize to correct store aspect ratio. #20644
* Enhancement - Excluded children categories from WP_Query in product shortcode if cat_operator=AND. #20207
* Enhancement - Add anchor tag example to email template preview. #20246
* Enhancement - Introduce is_paypal_supported_currency check in setup wizard. #20244
* Enhancement - Payment method table reordering accessibility. #19844
* Enhancement - Log errors from transaction emails with logger. #20203
* Enhancement - Improved shipping calculator experience. Shows destination country and added context to calculate shipping link. #20345
* Enhancement - On the fly image generation for frontend, if image sizes are missing. #20011
* Enhancement - SelectWoo enabled product categories dropdown widget. #20617
* Enhancement - Make it easier to read and act upon the outdated template notice. #20732
* Enhancement - Styled date, time, etc. inputs in admin to match styling of other inputs. #21013
* Enhancement - Show update notices on the System Status page for WordPress.org hosted Official WooCommerce extensions. #21073
* Enhancement - Better wording for transactional emails. #21288
* Fix - Check billing email is posted before using in WC_Cart::check_customer_coupons. #20180
* Fix - Shipping postcode formatting when only posting a billing address. #20330
* Fix - Correctly show/hide save card checkbox on tokenization form. #20506
* Fix - orderby and order parameters in WC_Customer_Download_Log_Data_Store::get_download_logs() were ignored. #20931
* Fix - Unslash city name to prevent double escape in tax settings. #21205
* Fix - Updated phone validation logic. #21188
* Fix - Fix weight and dimensions cache of variable products if childs doesn't have any of those params. #21244
* Fix - Correctly replace images in the woocommerce_uploads folder with the placeholder image. #20848
* Fix - Show parent variable product in shipping class admin screen when variation has shipping class. #21278
* Fix - Correctly excluded administrators from "Customer list" report. #21304
* Fix - Update quick edit logic to show/hide Stock qty and Backorders fields. #21301
* Fix - Fix Layered Nav Widget where special HTML entities did not display correctly in the "Any %s" string. #21312
* Fix - Set the is_checkout javascript parameter on any page that uses the checkout filter or shortcode. #21328
* Fix - Fix cron_interval property support in WP_Background_Process. #21353
* Fix - CSS Changes to make text fields line up on the shipping settings page. #21247
* Fix - Add extra null check to fix an issue with select payment fields using disabed select as placeholders. #21391
* Fix - Don't modify attributes orderby when sorting by name. #21408
* Fix - Allow saving a stock quantity of 0 using quick edit. #21447
* Fix - Change the query used to save session data to the database to protect against deadlocks. #21455
* Fix - Make sure default category tooltip is rendered when the image column is deactivated. #21410
* Fix - Fix warning when using logger instance in woocommerce_logging_class filter. #21448
* Fix - Use uppercase "ID" when sorting product queries by ID. #21461
* Fix - Consistently escape the gateway ID in the checkout payment method template. #21439
* Fix - Avoid treating HTTP 301 and 302 codes as failures for webhooks. #21491
* Fix - Add address_1 to shipping packages info in WC_Cart:: get_shipping_packages to make it work correctly in address formatting functions. #21493
* Fix - Don't fire two of the same action when saving shipping settings. #21494
* Fix - Remove double condition for address line 2 in `WC_Countries::get_default_address_fields`. #20629
* Fix - Correctly handle shorthand values for memory_limit in php.ini. #21557
* Fix - Product shortcode numeric term slug matching. #21560
* Fix - Remove the erasure tools links from the descriptions of the erasure settings for users without the manage_privacy_options capability. #21565
* Fix - Don't double urldecode posted variation attributes. #21570
* Fix - Don't double-sanitize cart images. #21574
* Fix - Check if ID exists and is not empty before set Product's download ID in API. #21588
* Fix - Ensure wp_list_pluck() gets a array and not possibly null in WC_Product_Data_Store_CPT::update_attributes. #21591
* Fix - Trim CSV header rows to prevent leading/trailing whitespace issues. #21614
* Fix - Show draft products in previews on unsupported themes. #21619
* Fix/Tweak - Fire `woocommerce_grant_product_download_access` hook after the download has its ID set. #20905
* Fix/Tweak/Performance - Change wp_woocommerce_sessions primary key to session_id. #21245
* Tweak - Show empty terms in admin product category filter dropdown. #20324
* Tweak - Don't force default token gateway active by default. #20125
* Tweak - Move notice output to hooked in functions. #19794
* Tweak - Apply order bulk actions in chronological order. #20338
* Tweak - Updated Emogrifier to 2.0. #20547
* Tweak - Avoid using wp.template (eval) in add-to-cart-variation.js. #19496
* Tweak - Hide Preview button when creating new products, as most fields aren't set up for it. #20650
* Tweak - For guests, store all address fields to the session whilst placing an order. #20665
* Tweak - Removed 'ajax_add_to_cart' class from 'Read more' button. #20690
* Tweak - Removed unnecessary checkout form change trigger on load of the checkout page. #20655
* Tweak - Add image size filters to wc_get_product_attachment_props(). #20722
* Tweak - Only display the current site's tables for a multisite install when viewing the system status. #20731
* Tweak - include the file path and line number where a fatal error occurred in the fatal errors log. #20787
* Tweak - Cast tax rate to float so that it can be treated as number further on in the code. #20910
* Tweak - Send webhooks using Action Scheduler. #20030
* Tweak - Update customer's ip address on successful payment. #21038
* Tweak - Changed wc_clean to checking for valid utf8 for line items and password. #20993
* Tweak - Add to cart notice actions (View cart/Continue shopping) now have tabindex 1 for improved accessibility. #21108
* Tweak - Remove icanhazip from geolocation services. #21198
* Tweak - Remove unnecessary aria-required attributes from product reviews template. #21211
* Tweak - Added hidden label for screen readers on checkout address line 2 input. #21193
* Tweak - Remove empty space in mini-cart template. #21261
* Tweak - Tax display in cart now depends on whether customer is tax exempt. #21292
* Tweak - Change sort dropdown option "Sort by newness" to "Sort by latest". #21311
* Tweak - Sanitize endpoint slugs upon saving. #21355
* Tweak - Ignore converting float meta value for registered post meta. #21333
* Tweak - Remove 'order_again' query string to avoid multiple re-orders. #21444
* Tweak - Remove Netherlands Antilles from the North America continent definitions. #21449
* Tweak - Display label and meta on the same line in order emails to match frontend Order Details styling. #21456
* Tweak - Use wp_get_upload_dir for geolite DB path. #21550
* Performance/Tweak - Use post_author for the order customer instead of '_customer_user' meta data. #17895
* Performance - Exclude frontend include from REST API calls. #20000
* Performance - Improve performance of the query to delete version transients by removing unneeded "ORDER BY". #21274
* Dev - REST API - Allows oAuth1.0a authentication under SSL.
* Dev - REST API - Fix position param for images. #20497
* Dev - REST API - Handle children products deletion regardless of type. #20670
* Dev - Added woocommerce_increase_coupon_usage_count and woocommerce_decrease_coupon_usage_count action hooks to increase extensibility of Coupons. #19981
* Dev - Add endpoints to account menu items filter. #19980
* Dev - Added qty param to `wc_add_to_cart_message` filter. #19817
* Dev - Added `woocommerce_search_products_ids` filter. #20160
* Dev - Introduced `woocommerce_cart_calculate_shipping_address` field to allow manipulation of cart shipping calculator data. #20046
* Dev - Introduced `woocommerce_shipping_calculator_enable_country` filter. #20046
* Dev - Pass product id to backorder notification. #20416
* Dev - Added woocommerce_cart_shipping_total filter to control shipping display. #20591
* Dev - Refactor "Order again" handling to separate logic better. #20606
* Dev - Added 'woocommerce_products_admin_list_table_filters' filter to make it easier to customize the products list table filters. #20634
* Dev - Added `woocommerce_shipping_method_add_rate_args` and `woocommerce_shipping_method_add_rate` filters. #20633
* Dev - Added `woocommerce_coupon_validate_user_usage_limit` filter. #20630
* Dev - Add hooks needed for product custom tables feature plugin. #20520
* Dev - Added new filter to 'Item in quotes' translation for messages. #20714
* Dev - Add 'woocommerce_shutdown_error' hook triggered on request termination with an error. #20787
* Dev - New filter 'woocommerce_admin_meta_boxes_variations_count' to customize the shown count of variations. #21067
* Dev - Added ability to query products that have a field set in wc_get_products/WC_Product_Query using the wildcard symbol '*'. #21162
* Dev - Added a JavaScript events before and after the order total recalculation on the Edit Order page. #21181
* Dev - Check for `needs_payment` instead of `has_status( 'pending' )` in PayPal PDT handler for custom order status support. #21200
* Dev - Added form action hooks for edit account and login templates. #21248
* Dev - Add action for when system tools are run. #21270
* Dev - Add - woocommerce_restock_refunded_items filter to control default state of the restock option when refunding items on an order. #21314
* Dev - Add an extensible/swappable job queue via WC_Action_Queue and WC_Queue_Interface. #20030
* Dev - Use WC_Action_Queue for schedule and delivery of webhooks. #20030
* Dev - Include Action Scheduler v2.1.0 and use it for the default job queue. #21424 / #20030
* Dev - Save reviews under the 'review' comment type. #21305
* Localization - Updated IT provinces. #20286
* Localization - Eircode validation. #20330
* Localization - Disable postcode requirement for Bahrain. #21103
* Localization - Make postcode field optional and hidden for Nigeria and label State. #21056
* Localization - Make Romania state selection mandatory. #21180
* Localization - Make city field optional and hidden for Singapore addresses. #21016
= 3.4.6 - 2018-10-11 =
* Fix - Security issues
* Fix - Allow percent coupons with sale restrictions to apply to carts with sale items in them. #21241
* Fix - Prevent multiple slashing of variation's SKU. #21019
= 3.4.5 - 2018-08-29 =
* Fix - Tweak sanitization when resetting password cookie. #20901
* Fix - Use `+` instead of `array_merge` when appending parent to tax class to fix issues with numeric tax class names. #20916
* Fix - Correct translation for North Khorasan. #20972
* Fix - Unify scroll-to notices for all browsers. #20992
* Fix - Prevent multiple slashing of variation's SKU. #21019
* Fix - Variation image in fullscreen now shows correct caption for the respective image. #21022
* Fix - Vertically center admin order action buttons. #21053
* Fix - Correct context for shipping packages translation. #21065
* Fix - Add permission checks for installing Jetpack on the setup wizard. #21072
* Fix - Use refund currency instead of store default currency when displaying refund amount in the edit order screen. #21106
* Fix - Fix a typo in REST API customer schema. #21171
* Fix - Use entire sentence for checkout address_2 placeholder string. #21186
* Fix - Only suppress comments number on unsupported theme shop page. #21191
* Fix - Don't allow users without manage_product_terms permissions to create categories using the product importer. #21192
* Fix - Correct sale coupon restriction logic. #21219
= 3.4.4 - 2018-07-25 =
* Fix - Only wordwrap plain email content. #20723
* Fix - Better escaping on product quick edit. #20740
* Fix - Log file deletion. #20730
* Fix - Search feature in Webhooks and REST API keys settings. #20706
* Fix - Notices in REST API keys settings screen. #20706
* Fix - add a check to prevent WC_Geolite_Integration::get_country_iso() from generating a PHP undefined index notice when unable to determine the country code for a given IP address. #20608
* Fix - Variable product stock display if parent is stock managed and not the variation. #20661
* Fix - Correctly hide cost for zero cost shipping methods after placing orders. #20663
* Fix - Disabled autocomplete to prevent datepicker overlapping. #20687
* Fix - Prevent a PHP notice in the setup wizard when store state is not selectable. #20695
* Fix - Fix logic error in WC_Product_CSV_Exporter::get_column_value_stock. #20753
* Fix - Fixed missing notice about no product variation matching. #20762
* Fix - Correct PHPDocs in exporter class. #20861
* Fix - Prevent Mailchimp redirection during the Setup Wizard. #20879
* Fix - Don't hide coupon form after coupon has been applied. #20889
* Tweak - Remove (optional) text from Address line 2 field. #20622 #20639
* Tweak - Removed 100% width for images on single product page using 2017 theme. #20818
* Tweak - Add margin to best selling product title in the dashboard widget to avoid overlapping the sparkline. #20849
* Tweak - Re-add woocommerce_order_details_after_customer_details_filter removed during WC 3.2. #20886
* Dev - Added woocommerce_calculate_item_totals_taxes filter. #20586
* Dev - Links to next and previous page sent out in HTTP header via REST API fixed for some endpoints. #20686
* Dev - Better wc_format_phone_number cleaning. #20637
= 3.4.3 - 2018-06-20 =
* Fix - Fix label for the price filter widget on RTL sites. #20417
* Fix - Checkout: stopPropagation when payment method selected so description tips show on radio buttons. #20432
* Fix - Shipping zone settings: fixed title for shipping methods without settings. #20441
* Fix - Ensure custom Webhook topic selections are correctly saved in admin. #20406
* Fix - Webhook bottom bulk actions. #20445
* Fix - Fixes multisite orders dashboard widget to use order number rather than ID. #20457
* Fix - Add check to ensure download log FK does not exist before adding it. Update routine will cleanup any duplicates. #20478
* Fix - IPv6 support with HTTP_X_FORWARDED_FOR header. #20479
* Fix - Avoid setting wrong prices when syncing grouped products with children. #20482
* Fix - Separation of explode and end functions in two lines. End function should get a reference as parameter. #20500
* Fix - Initialize payment gateways before running bulk actions so gateways can listen for events. #20502
* Fix - Cast shipping total to a float so incl. tax shows only when needed. #20531
* Fix - Fix automatic stock status updates based on stock level. #20573
* Fix - Improved sanitize_special_column_name_regex trim to fix column matching when importing CSVs. #20486
* Fix - Force importer log table to wrap long columns. #20534
* Fix - Rest API: Prevent errors if variation parent is invalid and cannot be read. #20572
* Fix - Rest API: Remove legacy API enabled check from auth endpoint. #20499
* Fix - Display products on sub-subcategories when sorting parent category by price. #20579
* Fix - Set order status to refunded when a PayPal transaction is refunded. #20574
* Fix - fix undefined index in abstract-wc-widget. #20544
* Fix - Round items for order total when recalculating order values to match cart. #20533
* Fix - Removed mysql transactions when updating order status, tweaked caching, and improved version transient cleanup to prevent possible deadlocks on checkout. #20537
* Tweak - Added a message to promote Wootenberg when running Gutenberg feature plugin. #20524
* Tweak - Added a warning notice before removing personal data from orders in bulk. #20481
* Dev - generate_select_html and generate_multiselect_html functions again support the usage of integer-keyed arrays as available values. #20569
* Dev - Allow order billing fields to use a provided 'value'. #20424
= 3.4.2 - 2018-06-05 =
* Fix - Flexslider gallery fixes for RTL sites, and for variation image switching. #20328 #20321
* Fix - Allow forms to be submitted when the password strength library fails to load. #20362
* Fix - Personal data exporter: Do not export a customer data group containing no data. #20347
* Fix - Fix navigation notification in settings when clicking save. #20335
* Fix - Show discount amount for free shipping coupons. #20334
* Fix - Fixed cache clearing for category children for sites running object caching. #20308
* Fix - Use correct escaping on select2 placeholders. #20364
* Fix - Order by price clauses when searching within terms. #20391
* Fix - Clear needs_processing transient when adding a product to an order. #20390
* Enhancement - Permission_id constraint checks on install. #20366
* Dev - Added order to "woocommerce_order_is_vat_exempt" filter arguments. #20365
* Localization - Disable states for Bahrain. #20363
* Localization - Disable states for Luxemberg. #20389
= 3.4.1 - 2018-05-29 =
* Fix - Fix webhook admin filtering URLs. #20236
* Fix - Add missing wp_unslash calls to product data meta box to prevent quote characters being escaped on save. #20235
* Fix - Display price filter widget in LTR mode on RTL sites. #20221
* Fix - Refactor WC_Coupon constructor to allow for passing in coupon objects. #20193
* Fix - Path field in advanced CSV importer was broken due to an esc_url call. #20191
* Fix - Prevent shipping method instances trying to save settings on non-instance screens. #20217
* Fix - Wrapper function to get full mysql version string with mariadb handling. #20231
* Fix - woocommerce_pagination had some extra white space. #20214
* Fix - If a file size cannot be read, ignore range headers to prevent offsite downloads being 0kb. #20205
* Fix - Allow HTML when using `wc_attribute_label()`. #20202
* Fix - Update address-i18n.js to prevent appending multiple "(optional)" labels. #20195
* Fix - Check plugin properties exist when listening to auto_update_plugin hook. #20234
* Fix - Add extra checks in `get_canonical_package_rate_ids` to prevent notices. #20237
* Fix - Fix infinite loop with importing tax rates. #20253
* Fix - Echo attribute label for "empty" default option. #20256
* Fix - Fix download sample tax rates URL format. #20272
* Fix - Product properties should not be accessed directly PHP notice when calling `wc_get_product_attachment_props`. #20282
* Fix - If flexslider is disabled, gallery images also need to trigger photoswipe on click. #20290
* Fix - Product import file uploads on windows servers. #20273
* Fix - Fix variation attribute selection via the cart page/query string. #20293
* Fix - Add greater specificity to required styling in 2017 theme. #20296
* Enhancement - Export legacy paypal meta data in personal data exporter. #20200
* Enhancement - Improve performance of `wc_update_340_states` update routine to help prevent timeouts. #20241
* Dev - Remove red styling for PHP notice if using > 5.6. #20294
* Dev - Add an action hook after printing the cart item name. #20190
* Localization - Use "payment tokens" terminology in exports. #20197
= 3.4.0 - 2018-05-23 =
* Feature - GDPR: Tools to export WooCommerce data using the new export functionality in WordPress 4.9.6. #19330
* Feature - GDPR: Tools to bulk anonymize order data in admin. #19330
* Feature - GDPR: Tools to turn off company/address-2/phone checkout fields to avoid unnecessary data collection, and a toggle to choose how required fields are presented. This is available via the Customizer. #19637
* Feature - GDPR: Tools in the Customizer to change the terms and conditions checkbox label on the checkout. #19637
* Feature - GDPR: Tools to define a privacy policy for the account page and checkout page in "account privacy" settings and within the Customizer. #19747
* Feature - GDPR: Tools to automatically clean up and remove order personal data after a set time period. #19743
* Feature - GDPR: Added privacy snippet which works with the new privacy page functionality in WordPress 4.9.6. #19749
* Feature - Added a new order widget to the dashboard (on multisite) so you can see your orders across multiple stores on the same WordPress network. #17598
* Feature - Added "display name" input on the My Account page. #19078
* Feature - Product search improvements including stopword support and support for searching for multiple products at the same time. #19096
* Feature - Cash on Delivery gateway can be enabled/disabled for specific shipping methods instead of only method types. #19221
* Feature - Add wildcard email support for coupons. #19331
* Feature - Added support for the GeoLite2 library as a replacement for the deprecated MaxMind GeoIP library. #19419
* Feature - Added tool for cleaning up download permissions table. #19922
* Tweak - GDPR: Improved appearance of checkout field 'descriptions' (if used) to make them more useful for privacy notices. #19637
* Tweak - GDPR: Improved related data cleanup when deleting users/orders. #19330
* Tweak - GDPR: Notice about HTTPS as a requirement in admin if missing. #19756
* Tweak - GDPR: Improved the checkout (payments) settings screen, moved page options to a new "advanced" section, and made an "Accounts and Privacy" section. #19703
* Tweak - GDPR: Hash customer email address in download URLs to protect privacy. #18957
* Tweak - GDPR: Add highlight to T&C checkbox if not checked to show it needs to be checked. #19177
* Tweak - GDPR: Automatically purge old logs after 30 days. #19920
* Tweak - GDPR: Only log Webhook body if WP_DEBUG is enabled. #19914
* Tweak - GDPR: Store less PII in PayPal standard. #19914
* Tweak - Only show admin notices on WooCommerce screens/plugins/dashboard. #19772
* Tweak - Standardize stock update messages in admin and correctly log who performed the action. When an order note is added after modifying stock manually, update order notes display via AJAX. #18080
* Tweak - Rollback if payment complete or update status fails to prevent partial order updates on failure. #18175
* Tweak - Made the system status tool which purges user carts also purge persistent carts. #18492
* Tweak - Display whether or not external object cache is enabled in system status report. #18595
* Tweak - Display zero value when using shipping classes. #18624
* Tweak - Fixed settings table styling on mobile. #18655
* Tweak - Updated Flexslider to version 2.7.0. #18779
* Tweak - Enable screen options for list screens. #18817
* Tweak - Don't call WC_Install::install() on downgrades. #18818
* Tweak - Remove user login from reset password link to protect personally identifying info. #18820
* Tweak - Added a function to return a list of custom tables to aid with cleanup. #18831
* Tweak - Enable going backwards in the setup wizard. #18921
* Tweak - Make sure terms page exists and isn’t trashed before using it. #18993
* Tweak - Toggle when clicking anywhere in toggle row during setup wizard. #19035
* Tweak - Use `read_product` permissions instead of `edit_product` for ajax product search. #19087
* Tweak - Add `priceSpecification` property with `valueAddedTaxIncluded` to product structured data. #19091
* Tweak - Importer remembers mappings across imports. #19110
* Tweak - Made coupon total displayed in cart more consistent. #19166
* Tweak - Remove forced CSS line-heights to improve text input displays across different browsers. #19174
* Tweak - When loading default attributes/variation, if there is no longer a match, reset the form and hide the notice #19190
* Tweak - Removed admin product type column from core and made it into a free feature plugin. #19192
* Tweak - Use `woocommerce-no-js` class to hide JavaScript-only forms and content. #19199
* Tweak - Activate plugins during installation process even if directory doesn't match slug. #19200
* Tweak - Allow category and attribute ids in the `products` shortcode instead of only slugs. #19204
* Tweak - Invalidate cart items when important props like product type are updated. #19255
* Tweak - Don't use mysql functions directly on system status page to prevent errors if they are disabled. #19281
* Tweak - Replaces `have_posts` with `woocommerce_product_loop` which looks to see if there are products, or if the loop is going to be showing something else. #19288
* Tweak - Delete widget options and order notes on uninstall. #19371
* Tweak - Add unique names to all nonces in template fields and forms. #19387
* Tweak - Enable using the tab key to select elements in selectWoo dropdowns. #19416
* Tweak - Added autocomplete attributes to form elements for better autocomplete support. #19426
* Tweak - Removed PayPal line item limit and ensured URLs are shorter than maximum length. #19493
* Tweak - Disable Gutenberg editor on products posts. #19543
* Tweak - Improvements around UI and wording of store setup step in setup wizard, a revamped extras step, and other improvements.
* Tweak - Only push images to lightbox if an image is found. #19568
* Tweak - Added and improved notices around old PHP versions and disabled geolocation on PHP 5.4 or lower. #19573
* Tweak - The `manage_stock` field in the product API can return a `mixed` type instead of `boolean` for variations. #19598
* Tweak - Link product import/export to WordPress import/export capabilities. #19602
* Tweak - Use ` ` to separate asterisks in required fields to prevent awkward line breaks. #19610
* Tweak - Load meta box input values using CRUD and edit context. #19670
* Tweak - Scroll to notices on cart/checkout for better mobile visibility. #19699
* Tweak - Add filter to coupon URL on "Edit order" screen. #19777
* Tweak - Throw error if order can't be loaded on checkout. #19802
* Tweak - Remove deprecated freegeoip service from geolocation. #19841
* Tweak - Allow arrays of query vars in wc_get_orders and wc_get_products. #19848
* Tweak - Invalidate fragment cache on theme switch.
* Tweak - Include select tags when saving payment details temporarily in checkout.js. #19854
* Tweak - Update - Include pending products in export. #19928
* Tweak - Deprecate woocommerce_ajax_added_order_items action in favor of more useful action. #19933
* Tweak - Enable touch-to-zoom on touch devices to make photoswipe more easily accessible. #20002
* Tweak - Wizard: List out all plugins to be installed upon proceeding to the next step, with a highlight on hover indicating relevant settings. #19952
* Tweak - Hide/show password strength meter instead of removing/inserting password strength meter. #20006
* Tweak - Added support for HTTP_RANGE requests (used by iOS devices) to Force download method. #19984
* Tweak - Replaced protocol-relative URLs for thumbnails in the cart and mini-cart with protocol-specific URLs to prevent problems with URLs that include port section. #19934
* Tweak - In CSV exports, wrap cell in ' rather than just prepending to escape values. #20041
* Tweak - Add JS listeners for reloading/reinitializing order items in edit-order page. #20082
* Fix - Properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads(). #1862
* Fix - Set maxlength for order item meta key to avoid values disappearing if too long. #18918
* Fix - Remove hardcoded /wp-content check for downloads. #18961
* Fix - Made get_on_sale_products respect the setting to hide outofstock products. #18984
* Fix - Prevent shortcode [product_page] redirecting to the actual product's page after add to cart. #19043
* Fix - Make the "main term" logic match for both the breadcrumb and product categories widget. #19044
* Fix - Check parent status too when seeing if variation is purchasable. #19045
* Fix - Fix uppercasing of accented characters. #19086
* Fix - Do not allow updating parent ID from variations after created. #19097
* Fix - Ensure coupon amount is not empty to prevent non-numeric value errors. #19098
* Fix - Ensure shop archive works correctly when `paged=1` is in the URL. #19104
* Fix - Ensure orders created with `woocommerce_adjust_non_base_location_prices` filter active have the same cost on frontend and admin. #19109
* Fix - Handling in the CLI to prevent `Resource does not exist` errors when using commands of a certain format. #19123
* Fix - Use subtotal when calculating discounts in admin/orders to ensure prices are the same as on the frontend. #19159
* Fix - Use `kses` to process download names to prevent escaped HTML displaying in emails.
* Fix - Remove translation from Thailand state file to prevent PayPal errors around unsupported characters. #19219
* Fix - Fix auto-select variation URLs with special characters in them. #19283
* Fix - Introduced `wc_round_discount` and improved consistency of discount rounding. #19291
* Fix - Only add schema for ratings to structured data when ratings are enabled. #19310
* Fix - Prevent default state applying unless the country was also unset in JS state/country inputs. #19338
* Fix - Escape quantity labels correctly to prevent broken html. #19375
* Fix - Delete orphaned variations after product import. #19378
* Fix - Ensure API credentials exist before defining PayPal refund support. #19380
* Fix - Force word-wrapping in the log viewer to prevent layout-breaking long lines. #19503
* Fix - Removes permission checks that were preventing webhooks from displaying properly when no post object existed. #19508
* Fix - Empty cart after completing PayPal payment. #19509
* Fix - Strip tags on aria-labels in Add to Cart template to prevent broken HTML. #19522
* Fix - Update post_modified date when saving products and variations but no other product data. #19595
* Fix - Clear comment count transient when cleaning product transients to prevent incorrect comment count displays. #19664
* Fix - Load gateways before order is saved/email is triggered to ensure all information gets sent/processed. #19667
* Fix - Clear shipping transient when saving shipping method on zones screen. #19668
* Fix - Handle escape characters for fputcsv to work around PHP standards issues. #19678
* Fix - Cast post IDs to integers in admin meta boxes. #19710
* Fix - Fix CSV unescaping of negative numbers in download expiry/limit columns. #19732
* Fix - Don't load unsupported theme functionality if shop page ID is -1. #19822
* Fix - Select and display "Downloadable" option in product admin filter when selected. #19876
* Fix - Add sort handle column when adding new tags. #19875
* Fix - More thorough CSV importer cleanup. #19877
* Fix - Fix gallery switching when image is the same #19878
* Fix - Ensure coupon amount is always returns as a float value #19889
* Fix - No update available message after activating subscription that has a valid update. #19831
* Fix - Include scheduled products in CSV export. #19907
* Fix - Generator tag actions should be filters. #19946
* Fix - WC API should not try to create a product image when creating a product variation if an empty image is passed. #19971
* Fix - Force settings API settings to autoload by default. #19998
* Fix - Cart html5 validation events when using keyboard. #20001
* Fix - Don't show stock status fields in external product quick-edit. #20005
* Fix - Prevent an infinite loop if 2 grouped products are linked. #20020
* Fix - Switch stock_status when manage stock gets changed to prevent being out of stock if stock quantity is > 0. #20021
* Fix - When duplicating variation, set the date to null. #20083
* Fix - Fix rounding of line items for orders to match cart. #20086
* Fix - Remove hardcoded border in email template. #20090
* Fix - Prevent autofocus on checkout. #20123
* Fix - Recalc taxes if address changes in API. #20137
* Dev - Made wc_query_string_form_fields handle strings. #20162
* Dev - Added refunded_payment prop to orders for determining if payment was refunded via API. #18196
* Dev - Added extra params to `woocommerce_order_get_downloadable_items`. #18408
* Dev - Store shipping method ID and instance ID in separate fields instead of both in one serialized field. #18483
* Dev - Add `woocommerce_rest_insert_system_status_tool` hook that fires after executing a REST system status tool. #18505
* Dev - Gallery meta box is now powered by CRUD. #18511
* Dev - Refactor woocommerce_wp_select so it could be used for a multiselect. #18536
* Dev - Added ability to declare sanitize_callback in settings API. #18554
* Dev - Added support for additional HTML5 input types for settings/checkout forms. #18594
* Dev - Made 'woocommerce_email_downloads_column_' hook format aware. #18600
* Dev - Add missing `woocommerce_update_options__` actions for settings pages that override save method. #18609
* Dev - Allow default value for single_select_country and multi_select_countries. #18754 #18756
* Dev - Added `grouped_form` class to grouped product `form` element. #18786
* Dev - Mini cart item link now respects value of $product_permalink. #18979
* Dev - Added `woocommerce_coupon_get_items_to_validate` filter to enable excluding products from coupon validation. #19002
* Dev - Added `woocommerce_persistent_cart_enabled` filter. #19027
* Dev - Added `woocommerce_admin_order_item_coupon_url` filter. #19777
* Dev - Replaced calls to `exit` with `wp_die` in the ajax methods to enable unit testing of those methods.
* Dev - Introduce `woocommerce_coupon_custom_discounts_array` filter to allow post processing on custom coupons. #19148
* Dev - Move jQuery UI styles into WooCommerce assets folder and load them from there. #19173
* Dev - Added `woocommerce_coupon_validate_expiry_date` filter to enable modifying the coupon expiry date check. #19228
* Dev - Added `woocommerce_shipping_calculator_enable_state` filter to enable disabling state section in shipping calculator. #19241
* Dev - Added `woocommerce_bacs_process_payment_order_status` filter allowing plugins to change the order status to the BACS gateway. #19311
* Dev - Added `woocommerce_coupon_sort` filter to allow plugins to override the default coupon apply order. #19339
* Dev - Added `woocommerce_before_output_product_categories` and `woocommerce_after_output_product_categories` filters. #19363
* Dev - Added general `woocommerce_form_field` filter to make it easier to filter all of the form fields. #19388
* Dev - Added `woocommerce_install_get_tables` filter to enable plugins to register new, WooCommerce-specific tables. $19436
* Dev - Use `get_variation_price` method in structured data to grab min/max so filters are ran. #19527
* Dev - Added `woocommerce_helper_suppress_connect_notice` filter to enable suppressing the admin WordPress.com connection message. #19599
* Dev - Moved all photoswipe styles to `photoswipe.css` to make it easy to dequeue all the photoswipe styles. #19673
* Dev - Slash meta values before updating values in the data stores. #19675
* Dev - New wc_selected method to handle array key conversion to int. #19705
* Performance - Optimized saving of orders. Adds a transient for needs_processing, and only saves changes when saving order items. #18538
* Performance - Refactored the SQL query for `WC_Customer_Download_Data_Store::get_downloads()` to fetch available downloads faster. #18559
* Performance - Split the layered nav counts into multiple transient records by taxonomy and added a filter to allow bypassing caching. #19225
* Performance - Removed duplicate `SET SESSION SQL_BIG_SELECTS=1` queries. #19502
* Performance - Avoid storing coupon `_used_by` data to prevent database bloat. #19669
* Performance - Introduced new wc_get_product_class() and wc_product_class() functions. #19639
* Performance - Series of tweaks aimed at reducing the number of queries performed #19918
* Template - Update cart coupon button from input to button type. #19059
* Template - Added `woocommerce-form-register` class to registration form. #19486
* Template - Added escaping to publish date. #19530
* Template - Added a template file for recent product reviews. #19711
* Template - Made add to cart templates more consistent between product types. #19666
* Localization - Switched Georgian Lari symbol to new UTF symbol. #19603
* Localization - Use ISO county codes for Irish states. #19658
* Localization - Use ISO county codes for BD states. #19744
* Localization - LR-Liberia states. #19709
* Localization - Update ZA tax rate. #19909
* Localization - Various spelling, grammar fixes, and phrasing improvements.
* Localization - Fix missing Bahrain country code. #20061
= 3.3.5 - 2018-04-10 =
* Fix - Shop page notice should not appear when editing the "Hello World!" page.
* Fix - Inconsistent order item refund sign.
* Fix - Change `wc_get_price_excluding_tax` to not round the return value so calculations in admin are not pre-rounded.
* Fix - Use minimum price instead of maximum price when ordering variable products from low to high on term archives.
* Fix - `order` and `orderby` on shop page when using rewrite rules.
* Fix - Ajax loading spinner when using twentyseventeen theme.
* Fix - Out of Stock products change stock to On Backorder when imported to update existing products.
* Fix - Visibility dropdown not responding in quick edit when stock management is disabled.
* Fix - Featured paramenter in products endpoint on REST API.
* Fix - Linebreaks in order item meta.
* Fix - Product rating count when updated by admin.
* Tweak - Define array before attempting to append to it.
* Tweak - Change WC WP-CLI commands default per_page value to 100.
* Tweak - Ensure background process class returns `data` as an array.
* Tweak - Increase orders table checkbox column size on small devices.
* Tweak - Better support for infinite scroll in Jetpack.
= 3.3.4 - 2018-03-20 =
* Fix - Fixed undefined index after running setup wizard two times on fresh install.
* Fix - wc_get_loop_class; force columns to be a minimum of 1.
* Fix - Added loading spinner to WC panels in menu admin.
* Fix - Use relative scheme for AJAX endpoint to avoid errors when using a mix of HTTP and HTTPS.
* Fix - Fix SelectWoo templateSelection property.
* Fix - Layered nav support on unsupported theme archives.
* Fix - Prevent full refresh when editing store notice in the customizer.
* Fix - Only append tax label in email content if taxes are enabled.
* Fix - More reliable Jetpack detection.
* Fix - Check if product has weight before calculate weight total in cart.
* Fix - Correctly handle default ordering on the search page.
* Fix - Fix default product category handling in installer.
* Fix - Properly check slugs when updating attributes.
* Fix - Use gallery thumbnail size for variation image switcher.
* Fix - Clear subcategory cache when updating product categories.
* Fix - Round fractional cents when out of base.
* Fix - Inherit 'is variation' from existing attribute during csv import.
* Fix - Set is_shortcode loop prop when outputting subcategories.
* Fix - Reload gateways after updating the order.
* Tweak - Use wc_get_default_products_per_row as the default for product shortcodes.
* Tweak - Add post_excerpt to product search.
* Tweak - Update the description of the user tracking notice in the onboarding wizard.
* Tweak - Add extra data in order mobile view (status and date).
* Tweak - Add profile link to order screen.
= 3.3.3 - 2018-02-21 =
* Fix - Fixed is_numeric check which was affecting order subtotals/totals when using comma decimal separator.
* Fix - Add missing direct script access checks to loop templates.
* Fix - Added wp-post-image class to main image so variation images are swapped correctly.
* Fix - API - Adjusted schema for products shipping_class_id to integer.
* Fix - Made init tooltips event more specific to avoid conflict with Product Invoices extension.
= 3.3.2 - 2018-02-20 =
* Fix - Fixed admin product SKU searching and searching non-published products.
* Fix - PHP7.1 notice when image height is empty.
* Fix - Prevent repeated update_option calls on page load due to php type juggling.
* Fix - Only do unsupported template rendering in the loop to prevent conflicts with other shortcodes on the shop page.
* Fix - Don't prepend regular shortcodes with categories.
* Fix - If using get_catalog_ordering_args. remove the args when finished.
* Fix - Remove "Type" column on attributes table by default unless custom types are defined.
* Fix - Use verbose page rules when shop is in the URL, including shop base with category, to prevent 404s.
* Fix - Set woocommerce_hide_invisible_variations to true so disabled variation attributes are hidden on product pages.
* Fix - Help tip for webhook status.
* Fix - Shipping zone documentation help link was printing wrong.
* Fix - Stop background processing images when disabled via the filter.
* Fix - Only search when a search term is provided. Ignore empty strings.