bump jquery-rails and jquery-ui-rails versions
Downcase promotion code comparisons in PromotionHandler::Coupon

Fixes #4211
Bump jquery-rails in Spree frontend to 3.1.0
Adapt api/products eager load to new templates structure
In memory sort of variant.options_text

Assume that the option_values -> option_types have been eager loaded via joins/includes and simply sort in memory. Removing the explicit query removes N queries for products/show in the api where N = number of variants that belong to the product. This should allow us to fully take advantage of the API optimization made here:

https://github.com/spree/spree/commit/30597b2aa7a1f47b5e636750baf7c100f0cc42b2

Fixes #4294
remove rspec deprecated stub
Add ability to retrieve a shipment's tax total and final price
Remove pending from API payments test which seemingly works OK
[backend] Display payment state on payments/show
Added partial capturing and payment capture events

After authorization of a payment you can capture either the full amount or a partial amount. The full amount can be captured using purchase! or capture! with no arguments. A partial amount can be captured with capture!

By using the 'capture!' method, a payment capture event will be logged so that we can track what amounts of a payment have been captured and when.
Use decimal field for capture_events, just like payment table
Store uncaptured amount when capturing + purchasing, and log capture events when purchasing also
Revert "Remove pending from API payments test which seemingly works OK"

This reverts commit 12218bcd63614db7d2d7c69c3f0ae2a36cc33c5f.

This still raises the problem on the CI server. TBI later.
Make auto_capture? a per payment configuration

Fixes #4302
Do not use orders_per_page to determine amount of zones returned in Admin::ZonesController

Fixes #4305
Display 'Capture events' table in the Payment show page

Fixes #4301
Allow stock items to only touch their variant after save if their in_stock state changes

Currently when a stock item changes its count on hand (e.g. an order is placed), it touches the related variant, which touches its related product (thus invalidating product cache). For users that do not show inventory counts on their product page, this code enables the ability to keep product page cache warm until a stock item changes its in_stock state, rather than on every purchase of that stock item.

Fixes #4299
Duplicate variants when duplicating products

Fixes #4029
Fixes #4264
Added rescue block in UpgradeAdjustments migration to catch issues where calculators no longer exist

Fixes #4274
Fixes #4278
Add script to backend so rails g can run