A new payment gateway, new features in the Dashboard 2.0 and a refreshed storefront look… welcome to the December 2018 release of Saleor! Read on to learn about the changes we've been working on for the last month and our plans for January 2019.
Thank you
The "thank you" part is usually at the end of the release notes but, as this is the first release in 2019, we want to start by quickly summarizing a great 2018 and expressing our gratitude to the Saleor community!
First of all, we got 2053 stars on Github in 2018 and were the fastest growing open-source e-commerce platform over the last 6 months. As a result, we're now the top Python platform on eCommwar! We successfully released Saleor 2.0 which a shifted our direction towards GraphQL, Dashboard 2.0 and PWA Storefront 2.0. We started a Gitter channel which now has 185 users, although we are planning to switch over to Spectrum as it has threads and we can engage more with all the questions you are asking.
We really couldn't ask for more. A big thank you 🙏 to all contributors, stargazers, and supporters of Saleor!
Now let's move on the highlights of the release.
Stripe integration
Thanks to our amazing community (thanks @jxltom!) we've added Stripe as a new payment gateway officially supported in Saleor! It's worth noting that right now we're in the middle of a major refactor of payments mechanisms in Saleor. Our goal is to move all gateways to separate libraries which will allow our community to create their own payment gateway integrations based on the official ones.
Product selection dialog
Dashboard 2.0 is under active development and with every release, we're getting closer to closing the feature gap between the static, Django-based dashboard and the new one. One of the exciting features that we've recently added is the new product selection modal. It allows you to quickly browse and search products and variants that you may want to add when creating orders, collections, and categories.
Storefront 1.0 styles upgrade
We recently released the beta version of Storefront 2.0 and now we're focused on stabilizing it and reaching feature parity with the 1.0 version (which we call the static, Django-based one). As it is still a work in progress, we wanted to upgrade the old storefront a little. In this release, we've updated the styles and templates to match the fresh colors used in Storefront 2.0. We hope you like it!
Changelog
API
- Use
PermissionEnum
as input parameter type forpermissions
field - #3434 by @maarcingebala - Add "authorize" and "charge" mutations for payments - #3426 by @jxltom
- Add alt text to product thumbnails and background images of collections and categories - #3429 by @fowczarek
- Fix passing decimal arguments = #3457 by @fowczarek
- Allow sorting products by the update date - #3470 by @jxltom
- Validate and clear the shipping method in draft order mutations - #3472 by @fowczarek
- Change tax rate field to choice field - #3478 by @fowczarek
- Allow filtering attributes by collections - #3508 by @maarcingebala
- Resolve to
None
when empty object ID was passed as mutation argument - #3497 by @maarcingebala - Change
errors
field type from [Error] to [Error!] - #3489 by @fowczarek - Support creating default variant for product types that don't use multiple variants - #3505 by @fowczarek
- Validate SKU when creating a default variant - #3555 by @fowczarek
- Extract enums to separate files - #3523 by @maarcingebala
Core
- Add Stripe payment gateway - #3408 by @jxltom
- Add
first_name
andlast_name
fields to theUser
model - #3101 by @fowczarek - Improve several payment validations - #3418 by @jxltom
- Optimize payments related database queries - #3455 by @jxltom
- Add publication date to collections - #3369 by @k-brk
- Fix hard-coded site name in order PDFs - #3526 by @NyanKiyoshi
- Update favicons to the new style - #3483 by @dominik-zeglen
- Fix migrations for default currency - #3235 by @bykof
- Remove Elasticsearch from
docker-compose.yml
- #3482 by @maarcingebala - Resort imports in tests - #3471 by @jxltom
- Fix the no shipping orders payment crash on Stripe - #3550 by @NyanKiyoshi
- Bump backend dependencies - #3557 by @maarcingebala. This PR removes security issue CVE-2019-3498 which was present in Django 2.1.4. Saleor however wasn't vulnerable to this issue as it doesn't use the affected
django.views.defaults.page_not_found()
view. - Generate random data using the default currency - #3512 by @stephenmoloney
- New translations:
- Catalan
- Serbian
Dashboard 2.0
- Restyle product selection dialogs - #3499 by @dominik-zeglen, @maarcingebala
- Fix minor visual bugs in Dashboard 2.0 - #3433 by @dominik-zeglen
- Display warning if order draft has missing data - #3431 by @dominik-zeglen
- Add description field to collections - #3435 by @dominik-zeglen
- Add query batching - #3443 by @dominik-zeglen
- Use autocomplete fields in country selection - #3443 by @dominik-zeglen
- Add alt text to categories and collections - #3461 by @dominik-zeglen
- Use first and last name of a customer or staff member in UI - #3247 by @Bonifacy1, @dominik-zeglen
- Show error page if an object was not found - #3463 by @dominik-zeglen
- Fix simple product's inventory data saving bug - #3474 by @dominik-zeglen
- Replace
thumbnailUrl
withthumbnail { url }
- #3484 by @dominik-zeglen - Change "Feature on Homepage" switch behavior - #3481 by @dominik-zeglen
- Expand payment section in order view - #3502 by @dominik-zeglen
- Change TypeScript loader to speed up the build process - #3545 by @patrys
Bugfixes
- Do not show
Pay For Order
if order is partly paid since partial payment is not supported - #3398 by @jxltom - Fix attribute filters in the products category view - #3535 by @fowczarek
- Fix storybook dependencies conflict - #3544 by @dominik-zeglen
Future releases
Our priority for the first quarter of 2019 is closing the feature gap between the static dashboard and storefront and their single-page counterparts. In January, we want to focus on improvements to the checkout flow in Storefront 2.0. At the same time, we will be adding new sections to the Dashboard 2.0.
Contributing
For those of you who are interested in contributing to the project, we prepared a bunch of issues labeled as help wanted. Don't worry if you don't fully understand the problem - our team will try to guide you and answer all your questions. Remember to check our channels on Gitter and Spectrum; they serve best if you have quick questions that don't require opening an issue on GitHub.
Make sure to check out the article about this release on our blog!