Introduce `woocommerce_thankyou_order_received_text` filter
Supply order to thankyou text filter, if available
If billing email is not set and user ID is set, use email

Fixes #5356
Change the way order review data is appended to checkout to reduce likelihood of error

Fixes #5332
Merge pull request #5338 from ragulka/thankyou-filters

Introduce `woocommerce_thankyou_order_received_text` filter
typecast $used_by to array in case its not set. Closes #5350
Check has_file when sending order emails for downloadables

Fixes #5296
Allow saving no downloads, if unset

#5296
Let get_file get the first file if no ID is defined

#5296
Recount true when recounting terms Fixes #5320
[2.2] Hide COD for virtual orders (no shipping) Closes #5369
Ignore variation stock if disabled globally Closes #5370
updated the WC_Payment_Gateway class to set a maximum transaction amount, closes #5237
updated the method to get the order id from "pay for order" page
removed not defined $wp variable in favor to get_query_var() function
added method to check if order needs shipping in "pay for order" page
improved the get_order_total() method
added the possibility to translate the edit-address endpoint slugs, closes #4820
Bind price and decimal input events to body in woocommerce_admin js

The event was bound to the element directly, causing problems when the elements was added after dom ready (through ajax). Now the decimal format check will always take place.
Allow negative amount in price field validation

The price field validation method in the admin js did not allow negative numbers, which are valid as eg. negative fees.