forked from woocommerce/woocommerce
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
2465 lines (2354 loc) · 159 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.2.2 - 2017-10-31 =
* Fix - Properly escape commas when exporting products to CSV.
* Fix - Fixed email template padding in Outlook.
* Fix - Flexslider support for RTL languages and fixes for zoom target in Chrome.
* Fix - Correctly sync prices for grouped products.
* Fix - Filter and remove invalid tax classes names.
* Fix - Stop showing "major" update notification for minor or patch releases.
* Fix - Allow scroll bar in untested plugins list on the bulk plugin updates screen.
* Fix - Fixed meta data cloning when duplicating products.
* Fix - Clean "Filter Products by Attribute" widget cache when updating attributes.
* Fix - Fixed warning messages when reseting passwords with an invalid key.
* Fix - Cart totals: Don't add shipping costs unless show_shipping is true.
* Fix - Cart totals: Calculate shipping after discounts so discount amounts are available.
* Fix - Cart totals: Fixed issue where VAT exempt users where still being charged VAT on the totals.
* Fix - Cart totals: Fixed the coupons user limit and calculations.
* Fix - Fixed "relevance" default sorting in search results.
* Fix - Use item tax class rather than product tax class when recalculating order totals.
* Tweak - Allow shortcodes and relative URLs for downloads in product CSV importer.
* Tweak - Save unsaved items first while deleting order items.
* Tweak - Only change `nocacheheaders` when on a cart/checkout page.
* Tweak - Setup locale before generating settings placeholders in email templates.
* Tweak - On checkout, improved the field locale logic to work without clearing default values.
* Tweak - Change title of customer invoice email for clarity.
* Tweak - Use custom event instead of blur to trigger validation.
* Tweak - Various selectWoo usibility improvements and better support for keyboard controls on AJAX multiselect elements.
* Tweak - Various setup Wizard improvements.
* Dev - Fixed orders date query when querying by meta data.
* Dev - In the CSV exporter, added a filter to process meta values before export.
= 3.2.1 - 2017-10-13 =
* Fix - Made grouped products display in the saved order, vs the menu order.
* Fix - Made variations with 'same as parent' tax class calculate taxes correctly.
* Fix - Fixed tax rate reverting to 0 when the tax rate itself is not changed and the row is saved.
* Fix - Made tax rates sort correctly when defining postcodes and cities.
* Fix - Made guided tour help tab videos lazy-load to prevent performance issues.
* Fix - Added SelectWoo dependency to admin meta box scripts.
* Fix - Fixed cart subtotal 1p rounding error.
* Fix - Fixed discount logic to also look at variation parent categories when validating coupons.
* Fix - Product import filename based matching, and full URL based matching where the date part would still be present.
* Fix - Fixed storage of cart discounts when prices include tax.
* Fix - Added styling for screen-reader-text for themes which do not define it.
* Fix - Fixed legacy cart `prices_include_tax` variable.
* Fix - Hide cat-parent class when category will show no children due to the new depth setting.
* Fix - Make sure image zoom is enable for calling initZoomForTarget.
* Fix - {blogname} email placeholder.
* Fix - API - Use edit context when updating prices.
* Tweak - Clearly describe when a feature is powered by WooCommerce Services in the setup wizard.
* Tweak - Restored discount total line in order screen when discounts are present.
* Tweak - Add back option to send admin new order email, and include order number and customer email in order emails.
* Tweak - Replace settings screenshot on wp.org listing.
= 3.2.0 - 2017-10-11 =
* Feature - Coupons can now be applied and removed in admin when editing unpaid orders.
* Feature - Simplified the ability to resend order details to customers with a single "Resend Order Details" action.
* Feature - Added store street address, city and postal code to settings for use by plugins.
* Feature - Wrapping values in quotes now let's you use commas in the product CSV importer.
* Feature - If a fatal error occurs, WooCommerce will catch and log it to be viewed in WC > Status > Logs.
* Feature - Drag and drop sorting on the grouped product field to control display order.
* Feature - Integrated selectWoo; more accessible Select2 (enhanced select boxes) in admin and on the front-end.
* Feature - Enhanced select boxes in the shipping calculator.
* Feature - Enhanced select boxes in layered nav "or" widget.
* Feature - Ajaxified the product category filter on the products screen.
* Feature - `[products]` shortcode can be used in place of other product shortcodes - one shortcode to rule them all.
* Feature - Added option to control maximum depth of product category widget, and cleaned up widget naming.
* Feature - Show sorting options when viewing search results. This defaults to sorting by relevance.
* Feature - Support for the `WC tested up to` plugin header to show which extensions have been tested against updates.
* Feature - Helper - Filters on the subscription management screen, update notifications, and support for shared licenses.
* Tweak - Importer now supports menu_order property, adds filename based titles to imported images, and correctly sets post status of variations.
* Tweak - Made the buyer phone number clickable in the in the order back-end.
* Tweak - Clean up user is_paying_customer after deleting an order.
* Tweak - If stock changes between page load and editing, reject stock changes to avoid incorrect stock changes.
* Tweak - Disable search engines indexing core, dynamic, cart/checkout pages.
* Tweak - Added shortcodes to description output in structured data, and improved variable product data.
* Tweak - Use AJAX when restoring an item in the cart, and removing an item from the mini-cart.
* Tweak - On-boarding: added "next" button to pointers and allowed them to be dismissed.
* Tweak - Display post states for WC pages e.g. shop, checkout etc.
* Tweak - Improved order tracking page display and validation.
* Tweak - Wizard improvements, with store-owner newsletter sign-up.
* Tweak - Improved tax calculations on negative fees by apportioning to all items.
* Tweak - Added logic to install the plugins and themes asynchronously without using wp-cron.
* Tweak - Modify product API returned data by context.
* Tweak - Move js clipboards off of zeroclipboard script.
* Tweak - Remove spam trap field from registration form.
* Tweak - Added screen reader text to quantity input template.
* Fix - Improved error handling in the CSV importer when invalid files are uploaded.
* Fix - Handle full refunds in tax report by date.
* Fix - API - Return empty result when there is no on_sale products.
* Fix - Fixed WC_Emails::wrap_message hooks .
* Fix - Load up gateways on ajax order status transitions so PayPal funds capture when order is completed.
* Fix - Replace wistia videos with youtube.
* Fix - Handle sale dates on the fly in case of missed cron schedule.
* Fix - If sorting by date in the REST API, fallback to ID so searches are consistant.
* Fix - Do not apply custom sorting to product feeds.
* Fix - Make importer columns case-insensitive.
* Dev - Make parse_date_for_wp_query public.
* Dev - API - Creating webhooks uses the current API version rather than the latest API version.
* Dev - Product CRUD search helpers.
* Dev - Refactor shipping rate to include instance IDs, and pass instance IDs through filters.
* Dev - New attribute helper functions.
* Dev - Order note helper functions.
* Dev - Added the "Terms and conditions" page to the api system status report.
* Dev - Made date inputs reusable.
* Dev - Added option for merging when using 'Order Again' via filter `woocommerce_empty_cart_when_order_again`.
* Dev - Added system status tool for re-populating order address search indexes.
* Dev - Added system status tool for clearing webhook logs.
* Dev - Added woocommerce_get_asset_url filter.
* Dev - Show notice when internal meta props are accessed directly.
* Dev - Improve meta data updates so data is only updated when changed.
* Dev - Improved get_filtered_term_product_counts performance.
* Dev - Introduced wc_get_account_orders_actions function.
* Dev - `wc_get_account_formatted_address` can get address by customer ID.
* Dev - Added `woocommerce_get_product_id_by_sku` filter.
* Dev - Refactored cart to use new WC_Cart_Session/WC_Cart_Totals/WC_Cart_Fees/WC_Discounts classes.
* Dev - New `WC_Shortcode_Products` class to handle all product based shortcodes.
* Theming - Display downloads in their own table, universally, using a new template file.
* Theming - Streamlined email templates content: using the new downloads table, moved billing email with the billing address, order notes into the order totals table, and removed the need for 'downloadable' subjects/headings.
* Theming - Checkout: Order pay template
* Localization - Added cantons of Switzerland.
* Localization - Updated XAF and XOF currency codes.
* Localization - Added rtl support for activation.css.
* Localization - Updated Mexican states to use correct 2 letter codes.
* Localization - Improved many strings by excluding HTML.
= 3.1.2 - 2017-08-15 =
* Fix - Importer: Prevent multiple placeholders being created when mixing IDs and SKUs.
* Fix - Importer: correctly set stock management props.
* Fix - Importer: Allow "unfiltered_html" for name, description and short description fields.
* Fix - Fix filename image handling.
* Fix - Rest API: Allow OPTIONS requests.
* Fix - Fixed missing reviews in product_page shortcode when querying by SKU.
* Fix - Don't subtract negative taxes in net sales report.
* Fix - Sort by order + zone ID as a fallback in shipping zones so the zones always match in the same order.
* Fix - Corrected subject and heading in customer refunded email.
* Fix - Corrected handling of custom checkbox fields in checkout get_posted_data method.
* Fix - Fix admin help videos async property.
* Fix - Fixed price filters by introducing precision.
* Fix - Improved customer IP address detection.
* Fix - Fix dark theme readability.
* Fix - CLI tools command.
* Fix - Adjusted shop manager role to prevent unfiltered HTML being used.
* Fix - Various notices/warnings.
* Dev - Correctly invalidate cache after saving order items.
* Dev - Added `woocommerce_data_store_wp_{$this->meta_type}_read_meta` filter.
= 3.1.1 - 2017-07-11 =
* Fix - Product importer: fixed handling of non UTF8 characters in descriptions.
* Fix - Product importer: Allow times in date fields.
* Fix - Product exporter: fixed meta data checkbox option.
* Fix - Helper: Styling and connect button in non-english languages.
* Fix - Tweak terms and conditions template to check for disallowed shortcodes.
* Fix - Fixed order helper queries when before_date and after_date args are both, corrected use of "paged", and corrected use of filters.
* Fix - Gallery; Trigger resize after main image loads to ensure correct gallery size.
* Fix - Prevent extra slashes being added to meta values when using the CRUD.
* Fix - Appends "where" clauses in the comment feed to prevent a notice.
* Fix - Fixed structured data output for variable product prices.
* Fix - 3.x issue: Changed state validation logic to work for MX states.
* Fix - 3.x issue: 7day reports should start from midnight, not the current time.
* Fix - 3.x issue: Status changes made by admin should be marked as a manual in the order notes.
* Fix - 3.x issue: Allow unsetting product shipping class in REST API.
* Fix - 3.x issue: Corrected error handling in zones shippingMethodView.
* Tweak - Avoid CloudFlare email obfuscation in admin.
* Tweak - Improved detection of DOING_AUTOSAVE in admin meta box code.
* Tweak - Improved my-account redirects and fallbacks.
* Tweak - Add `cart_subtotal` to the shipping package so prices are recalculated when needed.
* Dev - Add search_customers() filter in customer data store.
* Dev - Product exporter: woocommerce_product_export_skip_meta_keys filter to control what gets exported.
* Dev - Pass correct value to woocommerce_shipping_classes_save_class when inserting a new term
= 3.1.0 - 2017-06-28 =
* Feature - Built-in product CSV importer and exporter for products.
* Feature - Display (toggle-able) terms inline on the checkout rather than showing a link.
* Feature - On the "pay for order" page, if logged out show a login form rather than an error message.
* Feature - Enabled oembed support for product short descriptions.
* Feature - Added bulk variation update for stock status.
* Feature - On customer profiles: added a button to copy billing address to shipping address.
* Feature - Setup Wizard - Automatic Shipping Zone Creation In Setup Wizard for the base location.
* Feature - Setup Wizard - Added a new optional Storefront Theme step if you're using a non-WooCommerce compatible theme.
* Feature - Made it possible to manage extension licenses purchased from WooCommerce.com on the extensions screen.
* Tweak - Gallery - Added a data-caption for captions to support both captions and titles for SEO.
* Tweak - Gallery - Used smoothHeight setting to better support images of different heights.
* Tweak - UI - Added blank states for API keys & webhooks.
* Tweak - UI - Made Product submenu labels consistent in admin.
* Tweak - UI - Changed street address field label and placeholder to minimize user error on checkout.
* Tweak - UI - Added a confirmation before deleting log files.
* Tweak - If prices are the same for all variations, use price not priceSpecification in structured data.
* Tweak - Added variable so shipping calculator is shown on first row only when showing multiple shipping packages.
* Tweak - Updated mini-cart HTML to use a list.
* Tweak - Allow linking to single product additional_information tab from url hash.
* Tweak - Re-included WooCommerce endpoints on the appearance > menus screens.
* Tweak - Always sync incorrect titles on variation read regardless of version.
* Tweak - Standardize rating HTML in all templates.
* Tweak - When searching, disable WC sort order so results are sorted by relevance.
* Tweak - Update price sorting code to use min or max for variable products depending on sorting direction.
* Tweak - Utilize $product method to get thumbnail in loops.
* Tweak - Check for an existing display name before updating a user on checkout. Adds display_name prop to the CRUD.
* Tweak - Adapt variable product price used in sorting based on direction of sort.
* Tweak - Made state validation less strict for keys.
* Tweak - For COD orders, force payment complete status to be completed.
* Fix - Use get_max_purchase_quantity in cart template and fix logic when stock management is off.
* Fix - Added log_id as the secondary sorting column to log list so log entries sort correctly.
* Fix - Fix shop page when using shop base and UTF8 shop page slug.
* Fix - Added handles so drag and drop does not break edit on mobile when sorting categories.
* Fix - Added ABSPATH checks to all files.
* Fix - Fixed how to flush rewrite rules after saving the shop main page.
* Fix - Emails sent via admin should switch to global locale.
* Fix - Set and restore wp_query so product page functions think it's a real product page.
* Fix - Variation default value of '0' fails to save on product.
* Fix - Prevent locations being added to the "Rest Of The World" shipping zone via the API.
* Dev - Allow date created to be set in wc_create_refund.
* Dev - Introduced a [WC_Order_Query class](https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query) for finding/searching orders.
* Dev - Added "restored" webhook.
* Dev - Support floats for the custom attribute name sorting function.
* Dev - Updated Emogrifier to version 1.2.
* Dev - Sort product data tabs by priority in admin screen.
* Dev - Added new hooks for: dashboard reviews widget, product and category sorting events, woocommerce_add_to_cart_sold_individually_found_in_cart, cart empty messages.
* Dev - Added filters for zoom / flexslider / photoswipe enabling.
* Dev - Added filter for cookie name.
* Dev - Added ability to filter Photoswipe lightbox options.
* Dev - Added new filter for product thumbnail size.
* Dev - Added action for displaying custom data for fees in admin.
* Dev - Changed build_payload from private to public in webhook system.
* Dev - Added deprecated notice to WC_Order_Item_Meta (deprecated in 3.0).
* Dev - Added namespace to jQuery events that are removed in VariationForm.
* Dev - Made WC_Checkout::get_posted_data() public.
* Dev - Add custom message for custom system status tools.
* Dev - Added filters to change which order items are created and loaded to support custom item types.
* Dev - Updated jQuery payment and serializejson libraries.
* Localization - Added Bolivian states.
* Localization - Use VAT for Norway instead of Tax.
= 3.0.9 - 2017-06-22 =
* Fix - Exclude sale products from category checks if coupon is not valid for sale products in coupon class.
* Fix - Fix missing states in state field when selected country differs from checkout data. Required template modification.
* Fix - Updated `woocommerce_email_actions` to send email when order status changes from processing to cancelled.
* Fix - Fix undefined variables in terms and legacy order API endpoints.
* Fix - Correctly update variation outofstock term on save.
* Fix - Add a nonce and confirmation message for logging out via the customer my account page.
* Fix - Allow setting grouped_products via the API.
* Fix - Prevent edge case errors in `wc_get_product_term_ids`.
* Fix - Remove extra escaping to fix saving of special characters in attribute terms.
* Fix - Stricter shipping method matching in COD to prevent conflicts.
* Fix - Recalculate totals after local pickup selection so taxes are recalculated.
* Fix - Add missing nonce to product sales report.
* Fix - Fix webhook save actions and ping the URL to test only once.
* Fix - Fix issue with CLI IDs which overlap with actual data.
* Fix - Normalise emails in coupons so lower/upper case is ignored.
* Fix - Added background color to `x` button in product gallery edit box.
* Dev - Renamed `woocommerce_credit_card_type_labels` filter from `wocommerce_credit_card_type_labels`.
= 3.0.8 - 2017-06-06 =
* Fix - Include multi-dimensional array support in oAuth1.0.
* Fix - Stock/backorder notice when stock management is disabled.
* Fix - Handle shipping item taxes if set to avoid the legacy fallback.
* Fix - Variations should inherit purchase_note from parent.
* Fix - Check if subtotal is blank, not empty, before setting for order items.
* Fix - Cancelled email should be send for processing orders, not pending.
* Fix - Missing variable in legacy API.
* Fix - Correct price query when on a post type archive.
* Fix - Missing $ip Variable in geolocation class.
* Fix - A single multi-word attribute is fine for variation titles.
* Fix - Gallery should be updated even if empty in REST API.
* Fix - Fix saving of text attributes with special chars.
* Fix - Undefined index warning when saving variations with stock management disabled.
* Fix - Use meta id instead of key in WC_Order_Item::offsetGet.
* Fix - Format parent stock qty on read.
* Fix - Hide replies from recent reviews widgets.
* Fix - Use formatted weight and dimensions for variations.
* Fix - Ensure we have child before getting price to fix a notice in grouped products.
* Fix - Fixed unicode characters when saving webhook delivery logs.
* Fix - Avoid deprecated ID in legacy API.
* Fix - Add correct args to woocommerce_shipping_zone_method_deleted and woocommerce_shortcode_products_query hooks.
* Fix - Correctly append cache in product widget.
* Fix - Add ability to invalidate cache by object ID.
* Fix - Notice in structured data class.
* Fix - Only delete if an object has an ID in CRUD to avoid wp_delete_post using global ID.
* Fix - Avoid notices on checkout by ensuring all legacy data is correctly set.
* Fix - Add failed to processing event for the processing email.
* Fix - Store user ID and use that to determine if the session should be loaded or not. Ensures user data is correct and shipping calculator data is stored.
= 3.0.7 - 2017-05-16 =
* Fix - Display of grouped product permalinks + names.
* Fix - Ensure `wc_get_payment_gateway_by_order` has a valid order ID to avoid errors.
* Fix - Ensure `get_plugin_updates` exists in API.
* Fix - Correctly set rating term after updating product visibility.
* Fix - `is_ip_address` should be static.
* Fix - Handle clearing for 3, 4, and 5 columns in the product gallery.
* Fix - Some added protection against notices/errors in the assets and variation data-store files.
* Fix - If backorders are enabled, do not make variable products out of stock.
* Fix - Undefined function in `class-wc-embed.php`.
* Fix - Fix 'base location' not being returned via the settings API.
* Fix - When re-filling fields on checkout, only change the empty ones to avoid conflicts with gateway plugins and hidden fields.
* Fix - Make calculate tax function clear taxes if taxes are disabled on recalculation.
* Fix - Update all customer session address fields when updating via checkout.
* Fix - Support customer searches < 3 characters long, but with result limiting.
= 3.0.6 - 2017-05-09 =
* Fix - Fixed conflict between global attributes and custom attributes with the same names.
* Fix - Added missing "id" to API for shipping zone methods to support the CLI.
* Fix - Incorrect use of `wc_format_price_range` in `get_price_html_from_to`.
* Fix - Clone each meta object when cloning WC_Data object to avoid modifying original meta stdClass objects.
* Fix - Fix non numeric warning for some order data.
* Fix - Fixed a warning when no customer country is defined for state input.
* Fix - Use term name when reordering so correct data is passed to the new order.
* Fix - Formatting issues in wc_display_item_meta.
* Fix - Check if IP address is valid in IP address detection code.
* Fix - wc_attribute_taxonomy_id_by_name should use wc_sanitize_taxonomy_name to prevent breaking special chars.
* Fix - Correct variable name in order structured data.
* Fix - Prepend new item keys with `$items_key` to make them unique.
* Fix - Hide offers from structured markup when blank.
* Fix - Fixed "Process to checkout" button color in Twenty seventeen dark theme.
* Fix - Only set reply-to if the email + name is set.
* Fix - Correctly exclude terms in wc_get_related_products.
* Fix - Reset post data prevents grouped products working in shortcodes.
* Fix - Fix min price range comparisons.
* Fix - Properly save order items in legacy REST API.
* Fix - Use correct full size for variation images.
* Fix - Add noscript style for gallery.
* Fix - Fix/duplicate potential stock reduction with paypal.
* Tweak - Improve _wc_term_recount performance.
* Tweak - Improve plugin update detection in system status report to reduce timeouts.
* Tweak - Improve "Save Order" button to reproduce WordPress post/page behavior.
* Tweak - Added zipcode validation for France.
* Dev - Added woocommerce_shop_order_search_results filter.
= 3.0.5 - 2017-04-28 =
* Fix - Tooltip display within shipping zone modals.
* Fix - Fix missing title for actions column on mobile.
* Fix - Allow forward slash in telephone field.
* Fix - Sort grouped products by menu order when displaying.
* Fix - Fix term exclusion in term count queries.
* Fix - Filter invalid products before returning them for wc_get_products.
* Fix - Prevent orders being their own parent (causes errors).
* Fix - Correctly migrate legacy shipping taxes data.
* Fix - Make sure the meta data cache is not shared among instances.
* Fix - Correct the stock display notice when a variable product manages stock for it's children.
* Fix - On multisite, add user to blog during checkout if not a user to prevent errors.
* Fix - Correct sale price date handling with some timezone setups.
* Fix - wc_attribute_taxonomy_id_by_name needs to use lowercase attribute slug to work.
* Fix - Make changes to the buyer's company name in the shipping section of checkout persist.
* Tweak - Add required placeholder for meta fields in backend.
* Tweak - Don't strtolower address strings on checkout validation messages.
* REST API - Prevent password change notification when creating a customer.
* REST API - Removed duplicated items returned in shipping and checkout endpoints.
* CLI - Fixed missing shipping zones route.
* Dev - Make get_price_html handling match 2.6 and pass all values through woocommerce_get_price_html filter.
* Dev - Legacy customer class missing get_address / get_address_2 functions.
* Dev - Restored filter `woocommerce_checkout_customer_id` during checkout validation.
* Dev - Adds missing `$this` argument for all `woocommerce_payment_complete_order_status` filters.
= 3.0.4 - 2017-04-20 =
* Fix - Variations were not inheriting the product image and shipping class ID.
* Fix - Prevent rating/review counts being duplicated when duplicating products.
* Fix - Fixed gallery navigation between images with long captions.
* Fix - Support transparent PNG in the gallery by setting a background color.
* Fix - Removed name/company from the shipping address Google map links.
* Fix - Fixed the address field sorting script on the checkout.
* Fix - Fixed the upgrade routine for grouped products so that parents are unset.
* Fix - Fixed support for WordPress 4.7 user locale settings.
* Fix - Fixed default option filter for product types in the product meta box.
* Fix - Improved the css in Twenty Seventeen for dark color schemes.
* Fix - Fixed display of refunds in sales report.
* Fix - Updated `single-product/add-to-cart/variable.php` template version to 3.0.0 since it had changes since 2.6.
* Fix - Fixed warnings when product attribute do not exists.
* Fix - Used a div for comment-form-rating to prevent invalid nested markup.
* Fix - Fixed some logic that checks if order taxes are compound.
* Fix - Fixed SKU checks to only exclude products that are trashed.
* Fix - Fixed display of download permissions in first email sent after checkout.
* Fix - Hidden the backorder notification stock text when notification is disabled.
* Fix - Fixed incorrect stock numbers in low stock emails.
* Tweak - Removed the non-functional order total input box, and combined the recalculation buttons into one working button.
* Tweak - Updated Guided Tour videos.
* Tweak - Updated js-cookie.js to 2.1.4.
* Tweak - Updated schema.org URLs to use HTTPS.
* Tweak - Status report request timeouts.
* REST API - Fixed an issue that prevented deleting a term if errors were thrown during creation.
* REST API - Fixed reports endpoint when querying by date.
* REST API - Fixed ignored order parameters when changing order status.
* Dev - Support guest orders in `wc_get_orders` function.
* Dev - Fixed downloadable variation filters for download URLs.
* Dev - Added safeguards to prevent infinite loops while saving coupons, products and orders in admin.
* Dev - Added a fallback for `queue_transactional_email` if background sending is disabled.
* Dev - Added `has_shipping_address` helper method.
* Dev - Introduced `woocommerce_order_item_get_formatted_meta_data` filter.
* Dev - Made wc_add_order_item pass correct values to woocommerce_new_order_item.
* Dev - Fixed `legacy_posted_data` access in checkout class.
* Dev - Fixed undefined property notice in `WC_Order_Item::offsetGet`.
* Dev - Fixed PHP 7.1 warnings when using non-float values to `wc_get_weight()`.
* Dev - Fixed incorrect variable name in `wc_add_order_item()`.
= 3.0.3 - 2017-04-13 =
* Fix - Fixed an issue with variation tax-classes when set to 'parent'. This made taxes apply on top of the tax inclusive price in certain setups.
* Fix - Escaped attribute translations in the `cart.php` template and bumped the template version to match.
* Fix - Corrected the display of refund dates on the order screen.
* Fix - Fixed the grouped product visibility check in the grouped.php template and bumped the template version to match.
* Fix - Fixed the sale badge display for grouped products.
* Fix - Added the `itemReviewed` structured data for product reviews to make it validate.
* Fix - Made the `get_attribute` method work on variation objects.
* Tweak - Turned off the deferred email sending by default which was added in 3.0. Whilst it does improve performance, there were compatibility problems on some servers. It can be enabled with a filter if desired.
* Dev - Added backtrace information to the deprecation messages to help find problem plugins.
= 3.0.2 - 2017-04-12 =
* Fix - Removed required states for GP, GF, KW, LB, MQ, RE and YT countries.
* Fix - Made cache in the [products] shortcode respect filters from plugins.
* Fix - Added missing `woocommerce_cross_sells_columns` filter.
* Fix - Fixed shortcode rendering on the shop page.
* Fix - Fixed incorrect sale dates when bulk editing variations.
* Fix - Fixed calls to wc_reduce_stock_levels in PayPal and Simplify gateways.
* Fix - Exclude "location" meta when reading customer meta data.
* Fix - Updated `emails/email-addresses.php`, `emails/email-order-details.php`, `content-single-product.php`, `checkout/form-shipping.php`, `myaccount/form-add-payment-method.php`, `myaccount/form-edit-address.php`, `myaccount/form-lost-password.php`, `myaccount/form-reset-password.php`, `myaccount/orders.php` and `myaccount/view-order.php` template version to 3.0.0 since they had changes since 2.6.
* Fix - Fixed default behavior of variation tax classes when originally set to "parent".
* Fix - When duplicating products, do not copy slug, append "(Copy)" to the product name, correctly copy all meta data, and prevent children of grouped products being duplicated too.
* Fix - Removed duplicated items when outputting cross sells on the cart page.
* Fix - Fixed output of default "add to cart" text of external products in loops.
* Fix - Fixed backwards compatibility of guest checkout rules when being altered by plugins directly.
* Fix - Use correct thumbnail sizes for variation images in the new gallery.
* Fix - Fixed captions on thumbnails and main image in the new gallery.
* Fix - Trigger wc_fragments_loaded after add to cart fragment refresh.
* Fix - Download permissions; Convert dates to timestamp on read so UTC is preserved.
* Fix - Fixed notices under PHP 7.1 when sorting products by name (numeric).
* Fix - Added additional checks to ensure objects are read before using class methods to avoid errors.
* Fix - Removed legacy suggest.js code which was causing JS error on bulk edit.
* Fix - Fixed warnings on the "Lost password" page and when loading a product with invalid attributes.
* Fix - Made background emailer update the queue after a successful send so duplicate mails are less likely.
* Fix - Typo in flexslider_enabled option in new gallery script.
* Fix - woocommerce_notify_low_stock and woocommerce_notify_no_stock options had no effect.
* Tweak - For downloadable files, only validate file type when dealing with relative paths.
* Tweak - Improved automatic variation name generation.
* Dev - Added product visibility terms to system status report to help debug.
* Dev - Introduced `woocommerce_admin_order_date_format` filter to replace missing `post_date_column_time`.
* Dev - Introduced `woocommerce_update_customer_args` filter to prevent updates to user objects if needed.
* REST API - Fixed saving of variations in legacy REST API v3.
* REST API - Fixed backwards compatibility of line_items meta in legacy REST API.
= 3.0.1 - 2017-04-06 =
* Fix - Show catalog hidden products within grouped products.
* Fix - Fade in the gallery in if no images are set or it's custom.
* Fix - Use wc_deprecated_function in WC_Deprecated_Hooks so notices aren't output in ajax requests.
* Fix - Added back the ability to include extra items to the System Status using the `woocommerce_system_status_environment_rows` filter.
* Fix - Coupon category restrictions and limits for variations.
* Fix - Allow shortcodes and HTML in variation descriptions like in 2.6.
* Fix - Unset post date when duplicating products.
* Fix - Show a sale price on variable products if on sale and all prices are the same.
* Fix - Corrected download links when a product has multiple downloads.
* Fix - Prevented potential errors if the product type was not posted for any reason on save.
* Fix - Updated `single-product/up-sells.php`, `loop/add-to-cart.php`, `loop/rating.php`, `checkout/form-billing.php`, and `content-product.php` template version to 3.0.0.
* Fix - Included clearfixes on billing and shipping field wrappers,
* Fix - Fixed styling of logs table in some languages.
* Fix - Fixed display of variation attributes on old orders.
* Fix - Use placeholder text for external products add to cart button text if left blank.
* Fix - Fallback to home URL if no shop page is set for system status security check for HTTPS.
* Fix - For variations, pull tax status and sold individually from the parent since there is no UI to set this at variation level.
* Fix - Moved cron emails to background processing to avoid multiple sends.
* Fix - Wrapped structured data in a hidden element when added to emails.
* Fix - Missing gateway information in queued emails.
* Fix - Fixed a bug that caused pages to permanently reload if "Default customer location" was set to "Geolocate (with page caching support)".
* Fix - When forcing shipping to billing, set the shipping fields in the order itself.
* Fix - Check for invalid objects in WC_Register_WP_Admin_Settings.
* Fix - Check for error object in wc_get_object_terms.
* Fix - Removed slashes in shipping meta data on the order edit screen.
* Fix - Prevented permalink rewrites for attributes with missing names.
* Fix - Fixed saving of meta data when multiple extensions use the `save_post` action.
* Fix - Allow search customers by ID in edit order screen.
* Fix - Prevents session data overwriting customer data on login.
* Fix - Fixed cross-sell column display and variation support.
* Fix - Fixed variable product stock syncing on save.
* Fix - Included try/catch wrapper to prevent issues with Select2.
* Fix - Prevented a bug that deleted all variations when the product type was change from variable to simple.
* Fix - Switched to WPDB to quicker update when syncing titles for variations.
* Fix - Exclude deprecated properties when loading a customer object.
* Fix - Fixed notices while trying to order again.
* Fix - Fixed notices when `$wpdb->prefix` is empty.
* Fix - Prevent errors when loading a product with an invalid download file types.
* REST API - Fixed missing array declaration in CRUD controller.
* REST API - Removed extra `exclude`, `include` and `search` parameters from taxes endpoint.
* REST API - Fixed variation description formatting.
* REST API - Fixed incorrect attribute check in products endpoint in Legacy REST API.
* REST API - Allow variation image to be unset.
= 3.0.0 - 2017-04-04 =
* New gallery on single product pages with better mobile support, using PhotoSwipe and Zoom. Declare support with add_theme_support() - wc-product-gallery-zoom, wc-product-gallery-lightbox, wc-product-gallery-slider
* Made the store notice dismissible on the frontend.
* Variable products no longer show striked out prices in combination with ranges for clarity when on sale.
* Prices no longer display as 'free' instead of 0, to fix issues with ranges and localization and for consistency.
* Improved structured product data by using JSON-LD instead of inline Microdata.
* Improved downloads list layout (template file).
* Respect stock status and prevent the "out of stock threshold" setting affecting existing in-stock products.
* Improved handling of shop page rewrite rules to allow subpages.
* Redirect to login after password reset.
* When using authorizations in PayPal Standard, automatically capture funds when the order goes processing/completed.
* On multisite, when a user logs into a store with an account on a site, but not the current site, rather than error, add the user to the current site as a customer.
* Show variable weights/dimensions even when parent values are not set.
* Automatically sort tax rates rather than allow clunky manual sorting.
* When deleting a tax rate class, remove it's tax rates.
* Made WC_Logger pluggable via wc_get_logger function.
* Use 'average rating' post meta for 'rating' product sorting option.
* Show better labels in nav menus metabox.
* Sort “Recently Viewed” products by the view order.
* Removed internal scroll from log viewer.
* Add reply-to to admin emails.
* Improved the zone setup flow.
* Made wc_get_wildcard_postcodes return the orignal postcode plus * since wildcards should match empty strings too.
* Use all paid statuses in $customer->get_total_spent().
* Move location of billing email field to work with password managers.
* Option to restrict selling locations by country.
* Added tool to clear orphaned variations in system status.
* Remove checkbox options in system status tools and replace with constants.
* Added security section in system status report.
* Add image_url setting to PayPal Standard.
* Fixed attribute registration. Attributes are non-hierarchical by default (parent is not supported).
* Add sort parameter to checkout fields to aid with sorting per locale.
* Merged percent and percent product coupon types (they provide the same discount).
* Prevent payment details being cleared after update_checkout events.
* Performance - Converted _featured and _visibility meta data to terms for faster catalog queries. Upgrade routine handles migration. Developers may need to update queries to reflect this change.
* Includes product attributes archives links in "Additional Information" tab.
* Select2 has been upgraded to v4.
* Improved logging system for extensions.
* Tax suffix is now hidden on non-taxable products.
* Grouped products are linked from the parent rather than the children. Children can be in more than one group.
* Removed coupon usage link in coupons admin screen.
* Performance - Converted rating filters to visibility terms.
* Performance - Added visibility term for outofstock products to speed those queries up also.
* Performance - Introduced a new CRUD (create, read, update, delete) system for Products, Orders, Customers and Shipping Zones.
* Performance - Optimised variable product sync. Upper/lower price meta is no longer stored, just the main prices, if a child has weight, and if a child has dimensions.
* Performance - Removed WP_Query from up-sells.php and related.php and replaced with PHP foreach loop (since we already have the product IDs).
* Performance - Removed the feature where old orders get access to new downloads on product edit. Looping potentially thousands of orders to do this is too much of a performance burden for stores and this can sometimes be unexpected behavior too. This does however updates *edited* downloads.
* Performance - Removed 'items' column on orders screen due to loading excessive data.
* Performance - Deferred email sending for faster checkouts. Now uses CRON.
* API - New Rest API v2 with support for meta_data amongst other things.
* API - Removed last order from customers part of the API due to performance concerns - use orders endpoint instead. Other order data on the endpoint is now transient cached.
* API - Allow oAuth1.0a authentication using headers.
* API - New Shipping Zones endpoints.
* API - New variations endpoints.
* API - New settings endpoints.
* API - Payment gateways and shipping methods endpoints.
* API - Prevented the (broken) ability to manipulate variations directly on the products endpoints.
* CLI - New CLI which uses the REST API endpoints rather than it's own functions.
* Localization - Improved RTL support.
* Localization - Added a language independent permalink setting function.
* Localization - Added inline comments for placeholder strings.
* Localization - Added Nigerian and Pakistan Provinces to i18n/state.
* Localization - US and Poland postcode validation.
* To read more about this release, see our dev blog announcement here: http://wp.me/p6wtcw-Uo
= 2.6.14 - 2017-02-02 =
* Fix - Ensure product exists in wc_update_product_stock.
* Fix - Send emails using the site language.
* Fix - Remove tilde typo.
* Fix - Fixed notice in get_rating_count.
* Tweak - Define arg and return data types, added extra descriptions, and correctly cast IDs in the Rest API.
* Tweak - Handle custom error data in WC_REST_Exception.
* Tweak - Display conflicted product ID when using a duplicate SKU via the API.
* Localization - Add Finnish defaults to the installer.
= 2.6.13 - 2017-01-18 =
* Fix - Demo store banner styling in 2017.
* Fix - Removed default instructions from COD, BACS and Check gateways so displayed messages can be unset.
* Fix - Made variation options update on first load.
* Localization - Added Romanian locale to the installer.
= 2.6.12 - 2017-01-12 =
* Fix - Make images shown up on pageload when using ajax variations.
* Fix - Allow variations options to be deselected in IE11.
* Fix - Disabled-button and pagination styling in 2017.
* Fix - PHP 7.1 compatibility issues with non-numeric math operations.
* Fix - Fix notices in abstract class when price is empty.
= 2.6.11 - 2016-12-22 =
* Fix - Variation form compatibility with quotes in attribute values, and initial variation image fadeIn on certain configs.
= 2.6.10 - 2016-12-22 =
* Fix - Flat rate no class costs when no shipping classes exist.
* Fix - Returned REST API coupon expiry date.
* Fix - reviews_allowed being set to false in Rest API.
* Fix - Sales date series for some custom ranges.
* Fix - Missing attributes when an option is chosen by default on variations. This was the result of a Firefox 50 compatibility fix. In order to support both Firefox, Chrome, IE, and Edge we've done some refactoring of the variation add to cart scripts.
* Tweak - Updated Geo IP API services.
* Dev - Added support for WP VIP/VIP GO GEO IP headers.
* Dev - API - Throw error messages when product image ID is not a valid WordPress attachment ID.
= 2.6.9 - 2016-12-07 =
* Theme - Added support for Twenty Seventeen Theme.
* Fix - Excluded webhook delivery logs from comments count.
* Fix - Included password strength meter in "Lost Password" page.
* Fix - Order fee currency in admin screen.
* Fix - Variation selection on Firefox 40.
* Fix - Don't prevent submission when table is not found on cart.
* Fix - Improved layered nav counts on attribute archives.
* Fix - Fixed pagination when removing layered nav items via widget.
* Fix - Default BE tax rate.
* Fix - Downloads should store variation ID rather than product if set. Also fixes link on account page.
* Fix - Use wp_list_sort instead of _usort_terms_by_ID to be compatible with 4.7.
* Fix - Only return empty string if empty for weight and dimension functions.
* Fix - Added correct fallbacks for logout/lost password URLs when endpoints are not defined.
* Security - Wrapped admin tax rate table values in _escape to thwart evil CSVs an admin user could upload. Vulnerability was discovered by Fortinet’s FortiGuard Labs.
* Dev - API - Only update categories menu order and display if defined.
* Dev - Fixed when should deliver wp_trash_post webhooks.
= 2.6.8 - 2016-11-10 =
* Fix - REQUEST_URI was missing a trailing slash when being compared in the cache prevention functions.
* Fix - Prevent issues when sending empty prices to PayPal.
* Fix - Invalid email check.
* Tweak - New extensions screen.
= 2.6.7 - 2016-10-26 =
* Fix - Use FLOOR and CEIL to get price filter values. Fixes the issue where max price is capped at 99.
* Fix - Hide "Sales this month" information from Dashboard widget for users that don't have `view_woocommerce_reports` capability.
* Fix - Remove notices only once on cart so subsequent notices do not remove older notices.
* Tweak - Improve credit card fields for better mobile experience.
= 2.6.6 - 2016-10-20 =
* Fix - Conflict with Local Pickup Plus extension due to 2.7.x code in has_shipping_method().
* Fix - Shipping method display order on frontend.
= 2.6.5 - 2016-10-19 =
* Fix - Shipping classes URL in admin.
* Fix - Notice in reports when using custom date ranges.
* Fix - When checking needs_shipping, ignore anything after : in the method ID.
* Fix - Allow has_shipping_method to work with instances.
* Fix - Potential notice in wc_add_to_cart_message().
* Fix - Prevent notice in wpdb_table_fix if termmeta table is not used.
* Fix - Payment method box fixes e.g. maintain previously selected payment method after update.
* Fix - Prevent multiple password validation methods at once on my account page.
* Fix - Ship to specific counties option had no effect.
* Fix - Broken Webhook delivery due to use of post_date_gmt which does not exist for drafts.
* Fix - Use method title in admin shipping dropdown.
* Fix - Fixed downloadable variable product URL.
* Fix - Handle object when generate_cart_id is used to prevent notices.
* Fix - Set header link color in emails.
* Fix - Rest of the world ID 0 zone handling when using CRUD classes.
* Fix - Cast prices as decimal when querying prices in price filter widget.
* Fix - API - Fix coupon description field.
* Fix - API - ID needs to be capitalized to allow correct sorting.
* Fix - API - Fixed undefined order ID.
* Fix - API - Allow API to save refund reason.
* Fix - API - Resolved encoding issues with attribute and variation slugs.
* Fix - API - get_attributes should return term name, not slug.
* Fix - API - Product "filter" and "sku" parameters.
* Fix - Handle info notices in cart, not just error messages.
* Fix - Don't remove hyphens in attribute labels.
* Fix - Start sales on variations after they are saved, if applicable.
* Fix - Made the text showing max variations you can link match the actual filtered value.
* Fix - Add missing tables to wpmu_drop_tables function.
* Fix - When syncing variation stock, ensure post is a variation.
* Fix - Resolved some sales by date sum issues.
* Fix - Fix cart update in IE when enter key is pressed.
* Fix - Variation is_on_backorder when parent manages stock.
* Fix - Fix variation script malfunctioning when show_option_none arg is set to false.
* Fix - Fire tokenisation event on load for pay page.
* Fix - Populate attribute dropdown when empty.
* Fix - Fix email check on my account page.
* Fix - Send processing email on on-hold to processing transition.
* Fix - Incompatibility with SQLite databases.
* Fix - KGS and ISK currency symbols.
* Tweak - Password reset now uses WP functions.
* Tweak - Format US 9-digit postcodes.
= 2.6.4 - 2016-07-26 =
* Fix - Security - Only allow image MIME type upload via REST APIs.
* Fix - Shipping method title display in COD settings.
* Fix - Order date input in Edge browser.
* Fix - Ensure value is not null in variations to support empty show_option_none setting.
* Fix - get_the_title does not need escape in grouped template file.
* Fix - Ensure WC_ROUNDING_PRECISION is defined and use it as a low precision boundary in wc_get_rounding_precision().
* Fix - Response body should be a string in webhook class.
* Fix - Use h2 instead of h3 headings in profile screen.
* Dev - API - Allow Allow meta_key/value filters for products.
* Dev - CLI - Explode tags and category IDs to allow multiple comma separated values.
* Dev - add $order arg to woocommerce_admin_order_item_class and woocommerce_admin_html_order_item_class filters.
= 2.6.3 - 2016-07-19 =
* Fix - Security - Escape captions in product-thumbnail and product-image templates (template versions have been bumped).
* Fix - Fixed how we calculate shipping tax rates when using more than one tax class.
* Fix - When duplicating product variations, set title, name, and guid.
* Fix - Normalized 'read more' buttons.
* Fix - Add to cart notices for grouped products.
* Fix - Do not sanitize passwords in the settings API.
* Fix - Handle shipping zone location range conversion during update (dashes to ...).
* Fix - Always remove commas while processing flat rate costs.
* Fix - Ensures account page layout is only applied to desktop-sized displays.
* Fix - When getting layered nav counts, take search parameters into consideration.
* Fix - Free shipping show/hide javascript.
* Fix - Strip hash characters when exporting reports.
* Fix - Use permission id to revoke access to downloads to prevent removing wrong rows.
* Fix - When duplicating product variations, set title, name, and guid.
* Fix - Set more appropriate default rounding precision based on currency decimal places.
* Fix - Fix message styles for empty carts.
* Fix - Fixed the load of the WC_Email_Customer_On_Hold_Order class.
* Fix - Don't perform cart update on search submit.
* Dev - API - Added support for WP REST API with custom URL prefixes.
* Dev - API - Delete variations when deleting a variable product.
* Dev - API - Fixed how we check for product types.
* Dev - Added woocommerce_cart_id filter.
* Dev - Add shortcode name param to shortcode_atts function calls.
* Dev - Post custom data when fetching a variation via ajax.
* Dev - Include child prices in grouped_price_html filter.
* Dev - Allow filtering of variation stock quantity.
* Dev - Added $_product argument to 'woocommerce_restock_refunded_item' hook.
* Dev - Added a filter hook for the wc_ajax endpoint url.
* Tweak - Include account page link in new customer account emails.
* Tweak - Updated all URLs from WooThemes.com to WooCommerce.com.
* Tweak - Cache the result of WC_Comments::wp_count_comments() in a transient (improves performance).
= 2.6.2 - 2016-06-30 =
* Fix - Set max index length on woocommerce_payment_tokenmeta table for utf8mb4 support.
* Fix - is_available check for legacy shipping methods.
* Fix - wc_add_to_cart_message() when non-array is passed.
* Fix - Maximum coupon check should allow the 'maximum' value.
* Fix - Product coupon logic to avoid applying non-applicable coupons.
* Fix - Potential notices when leaving out 'default' field for shipping instances.
* Fix - wp_cache_flush after term meta migration/update.
* Fix - wc_add_to_cart_message() when non-array is passed.
* Fix - woocommerce_redirect_single_search_result type check was incorrect.
* Fix - Javascript show/hide of option in free shipping method.
* Fix - Convert ellipsis to three periods when saving postcodes.
* Fix - Prevent get_terms returning duplicates.
* Fix - Removed non-existent country (Netherlands Antilles) from https://en.wikipedia.org/wiki/ISO_3166-1.
* Fix - Grouped product range display when child is free.
* Fix - Remove discount when checking free shipping min amount.
* Fix - Prevent blocking the same element multiple times on cart page.
* Fix - Don't sync ratings right after a new comment to prevent rating sync whilst rating meta does not exist yet.
* Fix - Fix product RSS feeds when using shop base.
* Fix - woocommerce_local_pickup_methods comparison by stripping instance IDs before the check.
* Fix - During password resets, use cookie to store reset key and user login to avoid them being exposed in the URL/referer headers.
* Dev - API - Fixed variable product stock at product level.
* Dev - CLI - Introduces `woocommerce_cli_get_product_variable_types` filter.
* Dev - Allow notices to be grouped on checkout after certain events.
* Dev - API - Allows save images by ID with product variations.
* Tweak - Made customer pay link display if order needs_payment() rather than checking pending status.
* Tweak - Zones - Wording clarifications.
* Tweak - Zones - Match zones with postcodes but no country.
* Tweak - Zones - Match zones with no regions as 'everywhere'.
* Tweak - Added view_admin_dashboard cap for disabling the admin access restriction in custom roles.
* Tweak - Revised stock display based on feedback to hide 'in stock' message if stock management is off and only show available on backorder if notifying customer.
* Tweak - Allow external product SKUs.
* Tweak - PT (Portugal) and JP (Japan) postcode formats.
* Tweak - Sort products from the `[product_category]` shortcode by menu order.
* Tweak - Improve wc_orders_count() performance by running a query to count only posts of the given status.
* Tweak - To allow my account page tabs to be disabled without code, you can now set the endpoint value to a blank string.
= 2.6.1 - 2016-06-16 =
* Fix - Added missing localized format for line taxes in orders screen to prevent total miscalculation in manual orders.
* Fix - Improved the hour and time fields validation pattern on the orders screen.
* Fix - PayPal does not allow free products, but paid shipping. Workaround by sending shipping as a line item if it is the only cost.
* Fix - SKUs prop on products shortcode.
* Fix - Layered nav counts when term_id does not match term_taxonomy_id (before splitting).
* Fix - Fixed referer links from cart messages in WP 4.4.
* Fix - Fix the showing/hiding of panels when terms do not exist by using wc_get_product_types() for retrieving product types.
* Dev - content-product.php and content-product_cat.php contained the wrong version.
* Dev - Show "matching zone" notice on the frontend when shipping debug mode is on.
* Dev - Restored missing WC_Settings_API::init_form_fields() method to prevent potential errors in 3rd party gateways.
* Dev - API - Fixed returned data from product images (changed `title` to `name`).
* Dev - API - Fixed products schema for `grouped_products`.
* Dev - API - Fixed products attribute options when contains `,`.
* Tweak - Hide 'payment methods' screen if no methods support it.
* Tweak - If shipping method count changes, reset to default.
* Tweak - Avoid normalization of zone postcodes so wildcard matching can be performed on postcodes with spaces. E.g. SP1 *
* Tweak - Allow max_fee in addition to min_fee in flat rate costs fields.
* Tweak - Wrap order_schema_markup() output in hidden div in case script tag is stripped.
= 2.6.0 - 2016-06-14 =
* Feature - Introduced Shipping Zone functionality, and re-usable instance based shipping methods.
* Feature - Tabbed "My Account" area.
* Feature - Cart operations now use ajax (item quantities/remove, coupon apply/remove, shipping options).
* Feature - Layered nav; filter by rating.
* Feature - On-hold order emails.
* Dev - All new REST API based on the WP REST API. The old WC REST API is still available, but the new one is preferred.
* Dev - Added ability for shipping methods to store meta data to the order.
* Dev - Added Payment Gateway Tokenization API for storing and retrieving tokens in a standardized manner.
* Dev - Migrated custom term meta implementation to WP Term Meta.
* Dev - Added new wc_get_orders() function to get order objects and ids instead of direct get_posts() calls.
* Dev - Made coupon optional in cart has_discount() method.
* Dev - Made the review template more editable.
* Dev - Allowed product constructors to throw exceptions if invalid.
* Dev - Wrapped currency symbols in a span to allow styling or replacement.
* Fix - Update download permission user and email when changed.
* Fix - Fixed shipping method unregistration.
* Fix - Stopped create and update webhooks firing at the same time for products.
* Fix - Allow COD to set on-hold status if the order contains downloads.
* Fix - Force CURL to use TLS 1.2 for PayPal connections.
* Tweak - Improved lost password flow.
* Tweak - Show payment dates on order screen.
* Tweak - Ignore catalog visibility on products shortcode when specifying IDs or SKUs.
* Tweak - Added context to checkout error messages.
* Tweak - Added SKU field to grouped products.
* Tweak - Moved SKU field to inventory tab.
* Tweak - Support qty display in cart messages.
* Tweak - Hide min order amount field when not needed in shipping settings.
* Tweak - If shipping < 999.99, use 'shipping' arg when passing values to PayPal.
* Tweak - Show net sales on dashboard.
* Tweak - Replaced credit card icons with SVG.
* Tweak - Enqueue scripts on pages with checkout shortcodes.
* Tweak - Color code the manual, system and customer notes.
* Tweak - Layered Nav Refactoring to improve performance.
* Tweak - Removed tag/cat classes from loops since WP does the same.
* Tweak - Added hash check for orders so that if the cart changes before payment, a new order is made.
* Tweak - Removed unused 'view mode' under screen options.
* Tweak - Added 110 new currencies (including Bitcoin).
* Tweak - New background updater for data upgrades.
* Tweak - Blank slates in admin post screens.
* Tweak - Added blockui when variations are being retrieved via ajax.
* Tweak - Hide empty taxes by default (filterable).
* Tweak - Allow failed orders to be edited.
* Tweak - If there are no shipping methods setup, don’t prompt for shipping at checkout.
* Tweak - Allowed country exclusion, rather than just inclusion, in ‘sell to’ setting.
* Lots, lots more - [see the comparison here](https://github.com/woocommerce/woocommerce/compare/2.5.5...2.6.0).
= 2.5.5 - 2016-03-11 =
* Fix - Before running dbdelta, drop indexes to prevent duplicate key notices.
* Fix - Prevent notice when unsetting terms on product edit screen.
* Tweak - zeroclipboard fallback for firefox on system status report.
* Tweak - Check valid product ID is provided on add_to_cart shortcode.
= 2.5.4 - 2016-03-10 =
* Fix - Fix table creation when using utf8mb4 charset.
* Fix - Have wp_insert_post return WP_Error when creating our coupon, so the is_wp_error check can catch it.
* Fix - Clear sale price on save if sale is no longer valid.
* Fix - Round refund values to ensure refunds can be performed.
* Fix - When getting coupon by code used twice, latest should be queried.
* Fix - CLI improvements for setting up variations and deleting orders.
* Fix - Allow big selects when getting variations to support larger queries.
* Fix - Trigger webhook when user edits addresses on frontend.
* Fix - Hide shipping row when calculator is disabled, and shipping costs are hidden.
* Fix - Unset deleted attributes when updating products.
* Tweak - Update date for paid orders during non-manual updates only.
* Tweak - wc_get_page_permalink - if the page ID is not set, redirect home instead to prevent white screens.
* Tweak - Remove log dir from system status report.
* Tweak - When sorting by date, fallback to ID.
* Tweak - Rename pay link for clarity.
* Tweak - Provide a fallback message if copying to the clipboard fails in system status report.
= 2.5.3 - 2016-03-01 =
* Fix - Correct the 'unavailable template' call for variations so the message is displayed correctly, fixing a JS error.
* Fix - Add 'media-models' dependency to write panel scripts.
* Fix - Fix hide empty check in category walkers.
* Fix - Current class fix on some servers when empty.
* Fix - Multibyte safe trim string function.
* Fix - Prevent a notice by stopping a loop in woocommerce_products_will_display from stomping on other variables.
* Fix - If an attribute meta key is not set, technically its 'any', so should match. Prevents issues when meta data is missing after renaming attributes.
* Fix - Make wc_get_product_variation_attributes ignore non variation attributes.
* Fix - Notice when no order notes exist.
* Fix - Removed extra tab from plain email shipping address.
* Fix - Round shipping after tax calculation instead of before to prevent wrong taxes being calculated.
* Fix - State input box was not reappearing when switching from a hidden input to a text input.
* Fix - Don't duplicate rating and review counts.
* Fix - CLI - Allow setting of a single category.
* Fix - API - Replace term_taxonomy_id for term_id whilst creating/editing terms.
* Fix - API - Fix parent_id and menu_order for variations.
* Fix - Combine update post calls when update_status is ran.
* Fix - Total number of comments in the admin panel.
* Tweak - Show customer details for logged in users only on thanks page to prevent customer details being revealed if someone finds out the URL.
* Tweak - Wrap status report in backticks to stop people breaking .org forums.
* Tweak - Error handling for screen ids.
* Tweak - Use $wpdb->replace instead of doing a select and then deciding to do an update or insert in session handler.
* Tweak - Added check for private WooCommerce pages in status report.
* Tweak - Transactional emails for failed -> on hold.
* Dev - Include new triggers when removing and adding the password strength meter.
* Dev - Allow pass objects and arrays as webhook callbacks.
= 2.5.2 - 2016-02-01 =
* Fix - Compatibility with w3 total cache inline minification.
* Fix - Remove stock bw compat code which was preventing manage stock being disabled at variation level.
* Fix - When calculating shipping total, force rounding.
* Fix - Make save button clickable in tax rate table after using autocomplete field.
* Fix - Fix passed image_size variable in email templates.
* Fix - Don't show purchase note to admin in emails.
* Fix - Fix 'hide empty' setting in category widget
.
* Fix - Prevent notice in get_allowed_countries.
* Fix - Prevent add-to-cart querystring in pagination links.
* Tweak - Allow propagation in variation script.
* Tweak - Product image alt text.
* Tweak - Remove notice and add styling for add payment page.
* Tweak - Set input margin and label display for compatibility with themes using bootstrap CSS.
* Tweak - Add context to category term localization.
* Tweak - Moved cart URL functions to core-functions file to make them available in admin area.
* Tweak - Added password hint text and error messages when showing the password strength meter in forms.
* Tweak - Added Saudi Riyal currency.
* Tweak - Added Russian Ruble symbol.
* Tweak - When COOKIEPATH is an empty string, set to '/' so cookies work across all pages.
* Dev - Template - Pass $category into wc_product_cat_class() in content-product_cat.php
= 2.5.1 - 2016-01-25 =
* Fix - Remove usage of get_currentuserinfo() which is deprecated in WordPress 4.5.
* Fix - Fix responsive product sizes when the columns class is missing.
* Fix - Fix function exists check for woocommerce_template_loop_category_title.
* Fix - check_version on all requests so that the installer runs after remote plugin updates.
* Fix - Only show the "add payment method" button when needed, and check for required fields on the add payment method page.
* Fix - Correctly block UI to prevent attribute issues in backend when adding multiple attributes in quick succession.
* Fix - Show SKU in admin emails.
* Fix - Don't show downloads in admin emails.
* Fix - Fix query/missing variable in validate_user_usage_limit function.
* Fix - Prevent endless loading on checkout when reload_checkout session variable was used.
* Fix - Correctly display html entities in tax screen autocomplete.
* Fix - Do sales reports based on refund line items rather than fully refunded orders to prevent double refunds being reported.
* Fix - Qty button can be hidden for variable products sold individually.
* Fix - Show the taxable country rather than base country in "estimated for" text during checkout.
* Fix - Prevent select2 gaining focus on IOS7 scroll.
* Fix - API - Fix indexes on decimal and thousand values.
* Tweak - Clear cron jobs on uninstall
.
* Tweak - Don't disable place order button on checkout if a weak password is used.
* Tweak - Added password strength meter in lost password and edit accout pages.
* Tweak - Pass $args to woocommerce_dropdown_variation_attribute_options_html hook.
= 2.5.0 - 2016-01-18 =
* Feature - New default session handler. Uses custom table to store data rather than the options table for performance and scalability reasons. https://woocommerce.wordpress.com/2015/10/07/new-session-handler-in-2-5/
* Feature - New tax settings UI - faster, enhanced with ajax, searchable.
* Feature - WP CLI Support. https://woocommerce.wordpress.com/2015/10/01/sneak-peek-wp-cli-support-in-woocommerce/
* Feature - Added terms and conditions checkbox to pay page.
* Feature - Password strength indicators.
* Feature - Added 'pay' link to order screen.
* Feature - Added admin order/payment failed notification.
* Fix - Check for existence of global attribute when you get_attributes() for a product.
* Fix - Show order by template on product search.
* Fix - Search variation skus in backend search.
* Tweak - For coupons with category restrictions, respect the category hierarchy.
* Tweak - Added wc_array_cartesian function to generate variations in a logical order.
* Tweak - Revised email settings screens to show emails in a table and avoid a long sub-nav.
* Tweak - Default customer role capabilities.
* Tweak - Expire mini-cart cache after 24 hours.
* Tweak - Improved refund error messages in PayPal Standard.
* Tweak - Removed language pack downloader in favour of translate.wordpress.org.
* Tweak - Added onboarding wizard button to the contextual help so it can be accessed again.
* Tweak - When a WordPress user is deleted, turn any orders they have into Guest orders.
* Tweak - When calculating order taxes, respect tax settings and default to base country.
* Tweak - Fade in variation images to avoid flicker during load.
* Tweak - Display 2 averages on report (net and gross).
* Tweak - Improve product search and use WPDB instead of several get_posts queries for performance.
* Tweak - Use SKU for stock order notes.
* Tweak - Added order notes for manual email sends.
* Tweak - Sanitize shipping method labels/titles.
* Tweak - Only display the coupon form on the checkout if a coupon hasn't been applied.
* Tweak - Added billing address column to order screen (off for new users).
* Tweak - Created function to disable author archives for customers.
* Tweak - When updating cart hash, refresh all open tabs.
* Tweak - Use new "question" mark icon font for help tips.
* Tweak - Improved review verification status retrieval.
* Tweak - Improve appearance when only 1 gateway is active.
* Tweak - Aligned terms box left and added required asterisk.
* Tweak - Removed dropdown display mode for cart shipping methods - radios are more flexible.
* Dev - API - Added /products/shipping_classes endpoint.
* Dev - API - Added support to POST, PUT, and DELETE categories and tags.
* Dev - API - Added support to filter products by tag, category, shipping class, and attribute.
* Dev - API - Added tax and tax_class endpoints.
* Dev - Template - New star ratings. The old one was 5 separate buttons. This new one consolidates the 5 options into one element making it leaner visually and more intuitive. Works in IE9+ with a graceful degradation for IE8.
* Dev - Template - Added `data-title` attribute to cart table.
* Dev - Template - Product archive anchors are now hooked into templates rather than hard coded.
* Dev - Template - Added template files for the customer details list in emails. emails/email-customer-details.php
* Dev - Template - Revised single variation cart template. Template files now exist for variations, and the cart button will display (disabled) when no selections are made.
* Dev - Template - Made "my orders" columns fully customizable with filters.
* Dev - Template - Unified email template order details tables to use a single template.
* Dev - Allow wc_clean to support arrays.
* Dev - Added a manual update trigger for checkout.
* Dev - Added woocommerce_is_price_filter_active filter to Query class.
* Dev - Replaced some cart methods with dedicated functions. e.g. wc_ship_to_billing_address_only().
* Localisation - Add Kenyan currency and symbol.
= 2.4.13 - 2016-01-11 =
* Fix - Potential redirect loop when using 'unforce ssl' setting and a https home URL.
* Fix - Escape option names when cleaning up sessions.
= 2.4.12 - 2015-12-9 =
* Fix - 4.4 - Permission error when editing attribute terms.
* Fix - 4.4 - Missing variation images when wp_get_attachment_image_srcset() returns false instead of a string.
* Fix - 4.4 - Use post-thumbnail size in admin to avoid srcset.
* Fix - Webhook status not changed after save with active object-cache.
= 2.4.11 - 2015-12-7 =
* Fix - WordPress 4.4 support.
* Fix - Removes Switzerland from EU VAT definition
.
* Fix - Fix auth endpoint urls.
* Fix - To allow backslash in SKUs.
* Fix - Sanity check for min/max quantity
.
* Fix - 4.4 - Shipping class menu display.
* Fix - 4.4 - Admin menu icons and styling.
* Fix - API - Variable product backorders editing.
* Fix - API - Delete product transients when delete a variable product.
* Fix - API - Returned status when have an invalid oAuth timestamp.
* Fix - API - Early call of order status when editing orders.
* Tweak - 4.4 - Basic support for product embeds.
* Tweak - 4.4 - Support for srcset/sizes and responsive images.
* Tweak - 4.4 - Support for Twenty Sixteen.
= 2.4.10 - 2015-11-10 =
* Fix - Geo IP - Correctly parse .dat files.
* Fix - Geo IP - Ensure WC_Logger class exists before logging errors.
* Fix - Geo IP - Prevent notices in ipv6 methods.
* Tweak - Add information about credit card address for Simplify Commerce.
= 2.4.9 - 2015-11-09 =
* Fix - Check abspath exists in more files to prevent errors on direct access.
* Fix - Hide SQL errors during ajax requests.
* Fix - Fixed redirection loop on customizer screen.
* Fix - Improved error handling in WC_Geo_IP.
* Fix - Bulk edit sale prices.
* Fix - Check for child themes in System Status.
* Fix - API - Warnings when create attributes.
* Fix - System Report: Template version check path.
* Fix - Potential XSS within price.php fixed with escape on get_price() (would require edit/admin permissions to take advantage of). Discovered by FortiGuard Labs (https://www.fortiguard.com/). Template version has been bumped.