Announcing Solidus 2.2.0!
This release includes better support for non-credit-card payment sources, better promotion creation, and many other great changes.
Later this month is SolidusConf 2017 in London. Hope to see you there!
This adds support for payment sources other than
CreditCard, which can be used to better represent other (potentially reusable) payment sources, like PayPal or Bank accounts. Previously sources like this had to implement all behaviour themselves, or try their best to quack like a credit card.
This adds a
PaymentSource base class, which
CreditCard now inherits, and a
Wallet service class to help manage users' payment sources. A
WalletPaymentSource join table is used to tie reusable payment sources to users, replacing the existing behaviour of allowing all credit cards with a stored payment profile.
Prior to Solidus 1.0, each promotion had at most one code. Though we added the functionality to have many codes on one promotion, the UI for creation and management was lacking.
In Solidus 2.2 we've added
PromotionCodeBatch, a model to group a batch of promotion codes. This allows additional promotion codes to be generated after the Promotion's initial creation. Promotion codes are also now generated in a background job.
Admin UI Changes
The admin UI was once again a focus in this release. We've made many incremental changes we think all users will appreciate. This includes an upgrade to Bootstrap 4.0.0.alpha6, changes to table styles, and a better select style.
See the "Admin UI" section below for a full list of changes.
ActiveRecord::Relationinstead of an array #1802 (luukveenis)
<=>operator for comparisons. #1682 (graygilmore )
set_shipments_costis now part of OrderUpdater #1689 (jhawthorn)
update_payment_stateare now private on OrderUpdater #1689 (jhawthorn)
AvailabilityValidatorcorrectly detects out of stock with multiple shipments from the same stock location. #1693 (jhawthorn)
order.guest\_tokenpresence #1705 (vfonic)
Spree.formatMoneyhelper for currency formatting #1745 (jhawthorn)
Spree.human_attribute_namefor i18n #1730 (jhawthorn)
Order#has_step?in favour of
Order#set_shipments_cost, which is now done in
CreditCard#defaultin favour of
cache_key_for_taxonshelper favour of
cache [I18n.locale, @taxons]
fill_in_quantitycapybara helper #1710 (jhawthorn)
wait_for_ajaxcapybara helper #1668 (cbrunsdon)
Join the Solidus user testing mailing list to share your opinions and participate in user testing.