v2.5.0
I'm happy to announce the release of Solidus 2.5.0
Major Changes
Migrate to discard from paranoia
Previously Solidus used paranoia
to handle soft-deletion.
paranoia
, on acts_as_paranoid
models, replaces ActiveRecord's delete
and destroy
methods and instead of deleting the record sets the deleted_at
column.
This has been the cause of some surprising behaviour for users old and new.
In this version we are beginning to deprecate this using the discard
gem.
- Use paranoia_ prefixed methods #2350 (jhawthorn)
- Convert store credits to discard #2489 (jhawthorn)
- Convert shipping methods, payment methods, and tax rates to discard #2487 (jhawthorn)
- Convert promotion actions from paranoia to discard #2398 (jhawthorn)
- Convert product, variant, stock item, prices to discard #2396 (jhawthorn)
solidus_stock_transfers extracted to gem
solidus_stock_transfers provides an admin interface to transfer stock between two locations. This used to be included in core but has been extracted to a gem.
- Extract stock transfers to the solidus_stock_transfers gem. #2379 (jhawthorn)
Misc
- Generate correct number of codes in BatchBuilder #2578 (jhawthorn)
- Add mutable false to default refund reason record #2574 (mdesantis)
- Use carmen to translate
available_countries
helper #2537 (jhawthorn) - Introduce "suppliable" scope to represent any variant which can_supply?(1) #2536 (jhawthorn)
- Fix calculator class check bug #2501 (pelargir)
- Allow
remove_default_tax
migration to be reversible #2496 (brchristian) - Make credit card parameter filtering more specific #2481 (jordan-brough)
- Improve product -> master attributes delegation #2474 (kennyadsl)
- Make the install generator idempotent #2472 (tvdeyen)
- Update totals after order_with_totals create #2470 (BravoSimone)
- Fixes for MySQL #2468 (jhawthorn)
- Prepare for Rails 5.2 #2465 (jhawthorn)
- New preference to control available currencies #2461 (softr8)
- Avoid changing method visibility when deprecating a method #2449 (jordan-brough)
- Require kaminari ~> 1.1 and some related improvements #2443 (jhawthorn)
- remove redundant delegation from product model #2427 (brchristian)
- Use I18n date format for
pretty_time
helper #2419 (tvdeyen) - Use a single top-level Gemfile for test dependencies #2407 (jhawthorn)
- Unify how we create sample store in default and sample data #2405 (kennyadsl)
- Update
updated_at
timestamp on eligibility change #2390 (adaddeo) - Remove stringex as a dependency of core #2383 (swcraig)
- Fixes for custom user generator #2382 (tvdeyen)
- Remove order association from inventory units #2377 (mamhoff)
- Move role configuration into Spree::Config #2374 (jhawthorn)
- Avoid loading models when requiring factories #2369 (jhawthorn)
- Allow loading solidus_core without Sprockets #2358 (jhawthorn)
- Improve
selected_shipping_rate_id=
#2355 (jhawthorn) - Change
make_permalink
behaviour #2341 (jhawthorn) - Follow FactoryBot rename #2315 (mamhoff)
- Fix module/class nesting in calculator/* #2312 (cbrunsdon)
- Require only part of activemerchant #2311 (mamhoff)
- Replace Spree.t with plain I18n.t #2309 (jhawthorn)
- Improve
ShippingRate#display_price
with taxes #2306 (jhawthorn) - Allow access to
Spree::Core::Environment
throughSpree::Config
#2291 (cbrunsdon) - Explicitly require cancan where used #2290 (cbrunsdon)
- Update translation for Adjustment Label #2287 (gregdaynes)
- Fix restocking and unstocking backordered items in FulfilmentChanger #2286 (DanielePalombo)
- Fix return url after fire in return_authorizations controller #2284 (rbngzlv)
- Remove
after_rollback
from LogEntry #2280 #2277 (reidcooper jhawthorn) - Make
solidus_core
depend on actionmailer and activerecord instead of rails #2272 (BenMorganIO) - Improve performance of Taxon promotion rule #2258 (gmacdougall)
- Fix class definition of variant #2248 (cbrunsdon)
- Updating classification should touch product #2238 (loicginoux)
- Avoid duplicate queries when running estimator taxation. #2219 (jhawthorn)
- Add eligibility checking to automatic free shipping promotions #2187 (fylooi)
- Strip whitespace surrounding promotion codes. #1796 (eric1234)
- Add missing indexes for
Spree::Taxon
lft and rgt columns #1779 (vfonic) - Methods for
Spree::Taxon
for all products/variants from descendants #1761 (dgra) - Fix RMA amount calculator #1590 (DanielePalombo)
- Allow cancelling orders that have been fully refunded #1355 (Sinetheta)
- Simplify Coupon PromotionHandler #521 (jhawthorn)
- Splitting shipment should update order totals and payment status #2555 (VzqzAc
- Add mutable false to default refund reason record #2574 (mdesantis)
- Generate correct number of codes in BatchBuilder #2578 (jhawthorn)
Deprecations and removals
- Remove
Spree::OrderUpdater#round_money
#2344 (swcraig) - Remove testing_support/i18n #2340 (jhawthorn)
- Remove ffaker #2339 (jhawthorn)
- Deprecate AdjustmentSource#deals_with_adjustments_for_deleted_source #2259 (cbrunsdon)
- Remove remnants of location configured packages #2270 (jhawthorn)
- Deprecate class method in
Calculator::FlexiRate
#2305 (swcraig) - Improve deprecation message for 'deprecated_method_type_override' #2494 (jordan-brough)
- Deprecate Searcher::Base method_missing properties magic #2464 (jhawthorn)
- Deprecate weird taxon product filters #2408 (cbrunsdon)
Frontend
-
Replace frontend jquery validations with html5 #2264 (cbrunsdon, jhawthorn)
We've removed jquery validations on checkout address form, replacing them with
html5 input validations. If your store relies on jquery validation you should
re-add that library in your store. Otherwise, if you use the old view version
(withoutrequired: true
attributes on input) your address form will not be
validated on client side. -
Add frontend login_bar_items placeholder partial #2308 (jhawthorn)
-
Remove required attribute from address lastname #2393 (kennyadsl)
-
Convert frontend's CoffeeScript to javascript #2378 (jhawthorn)
-
Convert Cart total/subtotal CSS colors to vars #2288 (gregdaynes)
-
Use empty? instead of length == 0 #2282 (brchristian)
-
Use
line_item_adjustments
inspree/shared/_order_details
#2257 (cbrunsdon) -
Fix error when listing products without price #2605 (jhawthorn)
Documentation
- Change instances of "udpate" to "update" #2533 (dsojevic)
- Add default to address_requires_state #2532 (brchristian)
- Standardize documentation #2531 (brchristian)
- Shipments documentation #2353 (benjaminwil)
- Add initial RMA and return authorization documentation #2540 (benjaminwil)
- Update README.md summary about testing #2442 (benjaminwil)
- Improve master variant documentation #2521 (benjaminwil)
- Products and variants documentation #2437 (benjaminwil)
- Getting started documentation #2433 (benjaminwil)
- Assets documentation #2418 (benjaminwil)
- Taxation documentation #2403 (benjaminwil)
- Locations documentation #2375 (benjaminwil)
- Tweaks to override-solidus-assets.md #2482 (jhawthorn)
- Simplify instructions in README.md for testing all projects #2444 (jhawthorn)
- Add a reference to solidus_cmd in README #2349 (afdev82)
API
- Remove duplication in API variants controller #2301 (swcraig)
- Remove versioncake #2307 (jhawthorn)
- Reference full Spree::StockLocation class name in stock_items_controller.rb #2543 (VitaliyAdamkov)
- Deprecate JSTree api routes #2254 (kennyadsl)
- Avoid JSON serializing Float::INFINITY #2495 (jhawthorn)
- Creating an order should activate promotions #2565 (mathportillo)
Admin
- Add store select to payment method admin #2550 (adammathys)
- Refactor and convert Tabs component from CoffeeScript to JS #2549 (jhawthorn)
- Better organize stock management JS and convert from coffeescript #2548 (jhawthorn)
- Simplify store_credit memo edit JS #2547 (jhawthorn)
- Convert trivial coffee to plain JS #2546 (jhawthorn)
- Use backbone StateSelect view for stock locations form #2542 (jhawthorn)
- Simplify and improve stock locations form #1523 (jhawthorn)
- Allow use of Turbolinks in admin #1863 (tvdeyen)
- Change order search to using starts over cont #1660 (gmacdougall)
- Exclude canceled orders from sales report #2131 (brchristian)
- Default backend navigation footer #2261 (gregdaynes)
- Provide a default
_navigation_footer.html.erb
#1450 (jrochkind) - Improve HTTP usage in update_positions #2528 (jhawthorn)
- Add form submit events to several backbone views #2244 (tvdeyen)
- Add required to product master price field #2262 (gregdaynes)
- Upgrade bootstrap to 4.0.0 #2516 #2310 (jhawthorn)
- Remove unused admin helpers #2515 (jhawthorn)
- Remove jquery-ui datepicker #2510 (jhawthorn)
- Use datalist instead of jquery-ui/autocomplete #2509 (jhawthorn)
- Switch from jQuery UI datepicker to flatpickr #2506 (jhawthorn)
- Remove unused extra data in products controller #2505 (jhawthorn)
- Allow selecting admin-only shipping methods #2499 (jhawthorn)
- Use nested checkboxes and radio buttons all over admin #2429 (tvdeyen)
- Restore field for editing promotion per_code_usage_limit in admin #2497 (jordan-brough)
- Replace new product inline form with normal form #2493 (jhawthorn)
- Fix
preference_field_tag
when given no type #2278 (jhawthorn) - Generate
js_locale_data
usingJSON.dump
#2304 (jhawthorn) - Improve API key on user edit page #2243 (jhawthorn)
- Fix closing thead tag on store credit table #2274 (luukveenis)
- Create multiple page states for stock transfers #2263 (jtapia)
- Remove zombie tooltips with MutationObserver #2421 (kennyadsl)
- Simplify "inline" new image form #2391 (jhawthorn)
- Remove state.coffee #2392 (jhawthorn)
- Remove jQuery UI #2527 (jhawthorn)
- Replace jQuery ui's sortable with Sortable.js #2523 (jhawthorn)
- Promotions admin UI fixes #2400 (tvdeyen)
- Do not render complex preference types as form fields #2394 (tvdeyen)
- Re-enable bootstrap tooltips animations #2334 (kennyadsl)
- Store credit admin UI fixes #2426 (tvdeyen)
- Remove bourbon from admin #2491 (jhawthorn)
- Admin order shipments ui cleaning #2414 (tvdeyen)
- Admin line item ui fixes #2413 (tvdeyen)
- Fix select2 above styles #2412 (tvdeyen)
- Admin order payments ui cleanup #2411 (tvdeyen)
- Add data-action classes to admin orders cart templates #2384 (kennyadsl)
- Admin address fixes and extra address validation #2371 (jordan-brough)
- Explicitly define backend/promotions routes #2332 (vladstoick)
- Remove bottom border of non-form fieldsets #2425 (tvdeyen)
- Move editing of shipment method and tracking into JS views and templates #2225 (jhawthorn)
- Center "no objects found" messages #2424 (tvdeyen)
- Improve look of missing I18n strings #2333 (kennyadsl)
- Give line-item-select-variant a max-width #2492 (jhawthorn)
- Fix action classes on admin tables #2336 (kennyadsl)
- Remove useless before-highlight class from table lines #2335 (kennyadsl)
- Remove unused methods in stock_transfers_controller #2294 (ccarruitero)
- Fix issue loading select2 locale for es-MX #2356 #2365 (jtapia dportalesr)
- Remove delimiter on number with currency field #2428 (lgiacalone3)
- Allow ShipmentsController#remove on ready shipment #2385 (alepore)
- Use single quotes to workaround deface issue #2361 (afdev82)
- Display country correctly when editing price #2266 (jhawthorn