Last month was a big milestone for us. We released Saleor 2.10 introducing a multi-warehouse, permission groups, a new storefront checkout, and new documentation. If you haven’t installed it yet, we highly recommend that you do.
What we have brought so far...
Even though we have already started work on many new features since the release of 2.10 (more info on those later in the article), we haven’t released them as yet. We’ve only published releases that have fixed a few important issues.
The most important task for us was to improve and fix the multi-warehouse inventory. This feature originally required tons of work, nevertheless, it still needed some changes and fixes after the last major release. Here is the list of the fixes that were introduced to the core - Saleor 2.10.1:
- Fixed multiplied stock quantity
- Removed invalid allocations created by a migration
- Fixed order mutations as an app
- Prevent creating checkouts and draft orders with unpublished products
Also, our storefront needed fixes. We released 2.10.1 which fixed the issue of rendering the "out of stock" state on the product detail’s page. Then with the introduction of 2.10.2 the issue with querying the
quantityAvailable field was remedied. And with the most recent release, 2.10.4, we fixed a security issue related to caching request data in the browser's local storage mechanism.
Work in progress
We have updated our roadmap. Let’s take a closer look at what we’re currently working on. We’re really excited about the upcoming features.
Multi-channel with support for multiple currencies
Our top priority is a multi-channel functionality with multi-currency support. We’ve already teased this feature on Twitter. Work is going smoothly, but the feature demands many changes throughout the entire codebase.
We’ve recently shared screenshots of the Product Bundle feature on Twitter. We are aware that this feature is eagerly awaited, so we’ve decided to place a higher priority on it.
Both the multi-channel and the product bundle features will be delivered in tandem as part of Saleor 3.0 by the end of Q3/20.
Import / Export tool
We already introduced an interim import/export tool in our previous update. Many of you are waiting for an official solution. Our current plan is to release the export part of this tool first and then build the importer as a separate feature.
While the user interface of the export tool is still being built, below you can see what it will look like when finished.
Although the tool will help you to manage your products, we realize the CSV format is not an ideal way to migrate your data from other platforms like Magento. We aim to introduce a separate bulk create/update API and build an ETL (extract/transform/load) pipeline better suited for migrating large chunks of data in an automated fashion. We’ll be sure to keep you posted about the progress.
There are a lot of different areas to cover but work is well underway. The project is progressing and we plan to release a complete SDK in Q3/2020.
Another one of our priorities is to constantly improve Saleor’s performance. We remain aware of some areas that could be improved upon. We are introducing additional data loaders—a pattern designed to limit the number of requests needed to fetch the necessary data—to reduce stress on the underlying database.
The first one is a data loader for available quantity. You can find more information here: https://github.com/mirumee/saleor/pull/5707.
We’re also working to add data loaders that will optimize menu queries. They will be available in the menu resolvers and other related objects such as menu items, categories, collections, pages, and more. Check out more details here: https://github.com/mirumee/saleor/pull/5755.
We’re about to release a feature that introduces an invoicing API and plugin. There are still some adjustments needed in the frontend, but you can take a look at the screenshot to see how it works here.
Many of you have asked us about making storefront translations available. We’re working on that feature. It will work similar to dashboard translations—we’ll use Transifex to coordinate the translation effort.
We just need to prepare the storefront code for translations. We’ll try to provide the solution as soon as we can, aiming for this quarter.
Our previous monolithic test suite made it hard to find tests related to the code that had been modified. Now tests live next to the code they cover.
UX / UI
In the area of UX / UI, improvements and new features go hand in hand with tons of work for Saleor. We’re improving empty states across the dashboard and working on a general menu rework. We hope that these improvements will make your experience with Saleor more effective and enjoyable.
We’d like to make Metadata visible and editable in the Dashboard; it was previously only available for developers. We believe that making the metadata accessible to staff will enable new and interesting ways to build dynamic storefronts.
- The latest stable version
Some of our community members asked us what the latest stable version is? The answer to this question is:
- Is Saleor Storefront ready for production?
The latest Saleor storefront is still beta quality, but it’s a good starting point for your development and production. Please bear in mind that the storefront is meant to serve as an example of what’s possible with Saleor and that if you would like to customize the storefront, being familiar with React will help you a lot with your development.
- How to display the best-selling products?
We received an interesting question about how to show the best-selling products on the page. You can find the solution here.
- Cart allocation for logged-in users
There is an interesting thread about how to handle cart allocation for logged-in users. Check it out to see the suggested solution: https://github.com/mirumee/saleor/pull/5769.
As you can see there is a lot of work to do, but we’re very excited about what’s coming. Our aim is to make Saleor the best e-commerce platform for developers.
A big thank you to all contributors and community members for their input! We appreciate each piece of feedback and every pull request.
The Saleor Team
Related articles and tweets: