v2.10.0
Solidus 2.10.0
Major Changes
Added support for Rails 6
Solidus core now fully supports Rails 6! After upgrading to the 2.10 you can
follow the official Rails Upgrading Guide here:
https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-5-2-to-rails-6-0
Please note that Rails 6 requires Ruby 2.5.0 or newer.
- Add support for Rails 6 #3236 (aldesantis)
- Fix dummy app generator to skip Bootsnap and Webpack in Rails 6 #3327 (aldesantis)
- Handle deprecation for Rails 6 in DummyApp #3352 (cedum)
Deprecated support for Rails 5.1
Rails 5.1 is deprecated and we'll remove support to 5.1 on the next version.
If you are still using it, a deprecation warning will be printed in your logs
when the application boots.
Changed default images sizes
We update the images used by Solidus demo in the sample
gem. To update
those images we needed to change the default sizes of Spree::Image. They
changed from:
mini: '48x48>', small: '100x100>', product: '240x240>', large: '600x600>'
to
mini: '48x48>', small: '400x400>', product: '680x680>', large: '1200x1200>'
If your store relies on these sizes, you should change them back following
the guide here: https://guides.solidus.io/developers/products-and-variants/product-images.html#paperclip-settings.
- Upload new sample images #3270 (mfrecchiami)
- Remove unused sample images #3397 (JDutil)
- Update sample imgs with wrong file extension #3343 (mfrecchiami)
State machines extracted into their own replaceable modules
This allows stores to replace the state machine completely with their own
implementation, even with different gems or using custom code without any
state machine gem. All the customizations previously made to the state machine
should work smoothly, but it could be a good idea to check twice. You can read
more about the suggested way to customize the state machine here:
https://guides.solidus.io/developers/customizations/state-machines.html#state-machines
Display error if editing non-current order
In Solidus frontend users were able to input any order_id
in the
/orders/:order_id/edit
route and they were simply seeing the cart
(showing the current order and not the requested one) without any notice.
With this Solidus version, we print a flash message and redirect users to
their cart.
Solidus now requires Ruby 2.4 or newer
Ruby 2.2 and 2.3 support has ended, Rubocop support for 2.2 ended and
they are also about to drop 2.3. Also, we already introduced code that
is not compliant with 2.2 anymore.
Core
- Fix product discard and classifications issue #3439 (softr8)
- Let Address#build_default accept args and block #3429 (elia)
- Several small refactors to promotions code #3416 (kennyadsl)
- Document the real meaning of checkout#set_state_if_present #3406 (elia)
- Pass stock location to inventory unit factory #3375 (pelargir)
- Allow to easily extend
Auth#store_location
behavior #3369 (spaghetticode) - Replace update_attributes with update #3334 (aldesantis)
- Added location_filter_class as a writable attribute #3330 (ericsaupe)
- Make all belongs_to associations optional #3309 (tvdeyen)
- Raise exception if dividing by 0 #3305 (ericsaupe)
- Remove a duplicate method call #3295 (jacobherrington)
- Change nil check to use safe navigation operator #3293 (jacobherrington)
- Ensure cartons find soft deleted shipping methods #3165 (pelargir)
- Allow orders with different shipping categories #3130 (aitbw)
- Allow configuring VAT Price Generator class #3451 (kennyadsl)
- Refactor Spree::Address value_attributes #3465 (filippoliverani)
- Revert method removal and replace it with a deprecation #3477 (elia)
Backend
- Fix bug for billing address state value not changing with customer #3435 (spaghetticode)
- Set error flash when unsuccesful destroy using HTML format #3428 (mamhoff)
- Use proper fixture path for Backend file fixtures #3424 (JuanCrg90)
- Fixing admin store credit reasons tab not expanded #3401 (softr8)
- Add permission check for admins updating user passwords #3394 (JDutil)
- Add tooltips to admin calculators #3382 (codykaup)
- Add initial value to reduce function for tab widths #3377 (fastjames)
- Paginate master prices #3353 (mamhoff)
- Disable submit buttons after first click #3342 (spaghetticode)
- Add information about the variable_override file #3341 (mfrecchiami)
- Use relative path to specify layouts path #3335 (kennyadsl)
- Use default sass function to lighten colors #3331 (mfrecchiami)
- Style collapsing sidebar #3322 (mfrecchiami)
- Fix tab background color, too dark #3311 #3320 (Ajmal)
- Added empty cart button in admin cart #3316 (ericsaupe)
- Making taxon form to render attachment definitions dynamically #3308 (softr8)
- Fix hook attr name for settings tab item in admin #3301 (cedum)
- Update usage count in Promotion eligibility check #3297 (filippoliverani)
- Update cancel inventory tab for consistency #3289 (ericsaupe)
- Rename
_mixins.css
file to.scss
#3286 (mamhoff) - Use pluck(:value).first to avoid loading entire row and using try! #3282 (JDutil)
- Only display Store Credit links with permission #3276 (JDutil)
- Update Tab colors with its own variables #3274 (mfrecchiami)
- Remove "Add product" in admin order shipments page #3214 (spaghetticode)
- Add explicit closing div to admin order edit #3473 (peterberkenbosch)
- Fix issue with user breadcrumbs #3152 (jtapia)
Frontend
API
- Remove RABL remnants #3425 (JuanCrg90)
- Mention solidus-sdk in the API readme #3409 (aldesantis)
- Use Kaminari's limit_value in API pagniation #3287 (ericsaupe)
Deprecations & Removals
- Remove unused route #3443 (kennyadsl)
- Remove Deprecated EmailValidator #3395 (JDutil)
- Fix deprecation message for Spree::CreditCard #3388 (spaghetticode)
Misc
- Fix Money gem deprecations #3453 (kennyadsl)
- update rubocop version #3449 (hmtanbir)
- Relax Paperclip dependency #3438 (mamhoff)
- Remove last migration's spec file #3415 (kennyadsl)
- Update one letter variables to be more descriptive #3400 (JDutil)
- Change variable names to enhance readability in helpers #3399 (juliannatetreault)
- Rename one letter variables #3292 (jacobherrington)
- More eager loading in admin and api #3398 (softr8)
- Reload product before assigning images to variants #3389 (JDutil)
- Ask to provide screenshots for PRs with visual changes #3385 (spaghetticode)
- Lock Sprockets to v3.x in development #3378 (spaghetticode)
- Fix Sprockets 4 support for extensions #3373 (aldesantis)
- Officialize new taxation system #3354 (kennyadsl)
- fix spelling of locale logged_in_successfully #3346 (nspinazz89)
- Remove duplicate Spree::Order.register_update_hook specs #3340 (kennyadsl)
- Fix responders gem dependency #3336 (kennyadsl)
- Avoid installing webpacker in sandbox #3326 (kennyadsl)
- Remove sqlite3 version lock in sandbox/development #3325 (kennyadsl)
- Add missing entries to en yml #3313 (delphaber)
- Add docs for partials that need to be provided #3300 (skukx)
- Add dimensions and weight to product samples #3291 (BravoSimone)
- Remove zombie promotion specs variables #3280 (cedum)
- Attempt to fix flaky specs #3278 (kennyadsl)
- Freeze preferences for Backend, Frontend and Api specs as well #3275 (kennyadsl)
- Make preferences usage uniform across all Solidus gems #3267 (kennyadsl)
Docs & Guides
- Improve line items params in the API documentation #3445 (kennyadsl)
- Updates Guides: Security and simple installation #3436 (kennyadsl)
- Update Slack links in README. #3433 (jrgifford)
- Guides: do not escape markdown headers in custom renderer #3432 (filippoliverani)
- Add list of events fired by default to Guides/Events #3430 (j-sm-n)
- Fix a typo in one old CHANGELOG entry #3419 (elia)
- Several Guides improvements #3418 (kennyadsl)
- Add max_line_length for Markdown files #3410 (aldesantis)
- Update guides and add mailer customization guide #3403 (michaelmichael)
- Update CONTRIBUTING.md #3402 (juliannatetreault)
- Document the config assigment for vat_country_iso #3386 (peterberkenbosch)
- Document contribution guidelines for API docs #3384 (aldesantis)
- Add steps for installing database gems in README #3380 (codykaup)
- Link to guides after installation instructions #3372 (jarednorman)
- Correct misspelling in API Documentation for Create Product #3370 (octoxan)
- Added a new page to the documentation for customizing model attributes #3360 (octoxan)
- Update guides node-sass dependency to be compatible with Node versions > v10 #3359 (octoxan)
- Update Open Collective info in the README #3332 (kennyadsl)
- Add Algolia Docsearch on Guides #3324 (tvdeyen)
- Move API documentation to solidus_api #3323 (aldesantis)
- Document contribution guidelines for API documentation #3318 (aldesantis)
- Bump/Lock a couple of npm libraries in /guides #3317 (kennyadsl)
- Lock js-yaml and debug packages versions in guides #3312 (kennyadsl)
- Bump bootstrap from 4.1.3 to 4.3.1 in /guides #3310 (dependabot)
- Bump nokogiri from 1.8.5 to 1.10.4 in /guides #3306 (dependabot)
- Bump JS libs for security vulnerabilities #3281 (jacobherrington)
- Link to documentation after sandbox task #3277 (jacobeubanks)
- Bump lodash for a security vulnerability #3273 (kennyadsl)
- Document security policy location #3266 (aldesantis)
- Update README.md header #3251 (davidedistefano)
- Add zone link in taxation guides page #3247 (jacobherrington)