Join the community and the conversation on Slack

Solidus 2.3.0

Jul 31, 2017 • John Hawthorn

2.3.0 on github 2.3.0 on rubygems

Announcing Solidus 2.3.0!

This is our first release to use Rails 5.1. This also includes over 30 pull requests from the SolidusConf 2017 Hack Days.

Thanks to all contributors, testers, and users who made this release possible.

Solidus 2.3.0

  • Rails 5.1 #1895 (jhawthorn)

  • The default behaviour for selecting the current store has changed. Stores are now only returned if their url matches the current domain exactly (falling back to the default store) #2041 #1993 (jhawthorn, kennyadsl)

  • Remove dependency on premailer gem #2061 (cbrunsdon)

  • Order#outstanding_balance now uses reimbursements instead of refunds to calculate the amount that should be paid on an order. #2002 (many contributors :heart:)

  • Renamed bogus payment methods #2000 (tvdeyen) Spree::Gateway::BogusSimple and Spree::Gateway::Bogus were renamed into Spree::PaymentMethod::SimpleBogusCreditCard and Spree::PaymentMethod::BogusCreditCard

  • Allow refreshing shipping rates for unshipped shipments on completed orders #1906 (mamhoff)
  • Remove line_item_options class attribute from Api::LineItemsController #1943
  • Allow custom separator between a promotion's base_code and suffix #1951 (ericgross)
  • Ignore adjustment.finalized on tax adjustments. #1936 (jordan-brough)
  • Transform the relation between TaxRate and TaxCategory to a Many to Many #1851 (vladstoick)

    This fixes issue #1836. By allowing a TaxRate to tax multiple categories, stores don't have to create multiple TaxRates with the same value if a zone doesn't have different tax rates for some tax categories.

  • Adjustments without a source are now included in line_item.adjustment_total #1933 (alexstoick)
  • Always update last_ip_address on order #1658 (bbuchalter)
  • Don't eager load adjustments in current_order #2069 (jhawthorn)
  • Avoid running validations in current_order #2068 (jhawthorn)
  • Fix Paperclip::Errors::NotIdentifiedByImageMagickError on invalid image #2064 (karlentwistle)
  • Fix error message on insufficient inventory. #2056 (husam212)
  • Remove print statements from migrations #2048 (jhawthorn)
  • Make Address.find_all_by_name_or_abbr case-insensitive #2043 (jordan-brough)
  • Remove redundant methods on Spree::PaymentMethod::StoreCredit #2038 (skukx)
  • Fix ShippingMethod select for MySQL 5.7 strict #2024 (jhawthorn)
  • Use a subquery to avoid returning duplicate products from Product.available #2021 (jhawthorn)
  • Validate presence of product on a Variant #2020 (jhawthorn)
  • Add some missing data to seeds which was added by migrations #1962 (BravoSimone)
  • Add validity period for Spree::TaxRate #1953 (mtylty)
  • Remove unnecessary shipping rates callback #1905 (mamhoff)
  • Remove fallback first shipping method on shipments #1843 (mamhoff)
  • Add a configurable order number generator #1820 (tvdeyen)
  • Assign default user addresses in checkout controller #1967 (kennyadsl)
  • Use user.default_address as a default if bill_address or ship_address is unset #1424 (yeonhoyoon, peterberkenbosch)
  • Add html templates for shipped_email and inventory_cancellation emails #1377 (DanielePalombo)
  • Don't @extend compound selectors in sass. Avoids deprecation warnings in sass 3.4.25 #2073 (jhawthorn)


  • Configure admin turbolinks #1882 (mtomov)
  • Allow users to inline update the variant of an image in admin #1580 (mtomov)
  • Fix typo on fieldset tags #2005 (oeN)
  • Use more specific selector for select2 #1997 (oeN)
  • Replace select2 with <select class="custom-select"> #2034 #2030 (jhawthorn)
  • Fix admin SQL issues with DISTINCT products #2025 (jhawthorn)
  • Use @collection instead of @collection.present? in some admin controllers #2046 (jordan-brough)
  • Admin::ReportsController reusable search params #2012 (oeN)
  • Do not show broken links in admin product view when product is deleted #1988 (laurawadden)
  • Allow admin to edit variant option values #1944 (dividedharmony)
  • Do not refresh shipping rates everytime the order is viewed in the admin #1798 (mamhoff)
  • Add form guidelines to the style guide #1582 (Mandily)
  • Improve style guide flash messages UX #1964 (mtylty)
  • Document tooltips in the style guide #1955 (gus4no)
  • Fix path for distributed amount fields partial #2023 (graygilmore)
  • Use .all instead of .where\(nil\) in Admin::ResourceController #2047 (jordan-brough)
  • Fix typo on the new promotions form #2035 (swcraig)
  • Use translated model name in admin payment methods form #1975 (tvdeyen)


  • Renamed Spree::Gateway payment method into Spree::PaymentMethod::CreditCard #2001 (tvdeyen)
  • Deprecate #simple_current_order #1915 (ericsaupe)
  • Deprecate PaymentMethod.providers in favour of Rails.application.config.spree.payment_methods #1974 (tvdeyen)
  • Deprecate Spree::Admin::PaymentMethodsController#load_providers in favour of load_payment_methods #1974 (tvdeyen)
  • Deprecate Shipment#add_shipping_method #2018 (jhawthorn)
  • Re-add deprecated TaxRate#tax_category #2013 (jhawthorn)
  • Deprecate Spree::Core::CurrentStore in favor of Spree::CurrentStoreSelector. #1993
  • Deprecate Spree::Order#assign_default_addresses! in favor of #1954 (kennyadsl)
  • Rename PaymentMethod#method_type into partial_name #1978 (tvdeyen)
  • Remove ! from assign_default_user_addresses!, deprecating the old method #2019 (jhawthorn)
  • Emit Spree.url JS deprecation warning in all environments #2017 (jhawthorn)

Recent Articles

  1. Solidus 2.3.0
    Jul 31
  2. solidus_gateway security vulnerability
    Jul 24
  3. Solidusconf 2017 Speaker Martin Tomov
    May 16
  4. Solidusconf 2017 Speaker Clarke Brunsdon
    May 11
  5. Solidusconf 2017 Speaker Denis Sellu
    May 8