All Versions
66
Latest Version
Avg Release Cycle
15 days
Latest Release
-

Changelog History
Page 6

  • v2.9.0.b5

    November 20, 2019
  • v2.9.0.b4

    November 12, 2019
  • v2.9.0.b3

    October 25, 2019
  • v2.9.0.b2

    October 25, 2019
  • v2.8.0 Changes

    July 12, 2019

    πŸš€ Welcome to the June 2019 release of Saleor! Read on to learn about the newest changes!

    Avalara Integration

    πŸš€ Saleor has, to date, only supported tax calculations for the EU with Vatlayer. To support taxes in other countries, we're integrating the popular Avalara tool with Saleor in this release! With Avalara enabled and configured, you'll get proper tax calculations during the checkout process. Your orders will also be accessible in the Avalara admin panel.

    Storing Credit Cards

    πŸ‘ We've improved the internal payment gateway interface, which now allows for storage and reuse of customers' payment sources, such as credit cards, if the gateway supports it. Additionally, we've implemented support in the Braintree gateway module and plan to add Stripe very soon.

    πŸ‘Œ Improved Vouchers Section

    βœ… Good user experience is always one of our top priorities. We are constantly testing Saleor and decided that the Vouchers section was quite challenging to use, so we set about designing an interface that would make it easier for you to quickly create attractive sales offers for your customers. We have now gathered common settings into visual cards, which makes for a clean and intuitive UI.

    CSRF Vulnerability Fix

    πŸš€ This release fixes a security issue that was introduced in version 2.7.0. In that release, we made customizations to the Django middleware in order to disable some elements that were unnecessary for requests coming to the GraphQL API. Unfortunately, we inadvertently disabled CSRF protection for all POST requests coming to static Django views in Storefront 1.0 and Dashboard 1.0. An attacker could therefore send a request without the valid CSRF token, and the server would accept it. In this release, to close this loophole, we've reverted to the original middleware configuration. We felt that the performance gain was minimal and it wasn't a crucial feature for the system, so the original solution is acceptable.

    The issue was introduced on 16 May, 2019: 94c0703
    Affected versions: 2.7.0

    ⬆️ All users of the affected version are encouraged to upgrade Saleor immediately.

    πŸ”„ Changelog

    Vulnerabilities

    • πŸ›  Fixed CSRF vulnerability introduced in Saleor 2.7.0 - CVE-2019-13594

    Core

    • πŸ‘ Avatax backend support - #4310 by @korycins
    • βž• Add ability to store used payment sources in gateways (first implemented in Braintree) - #4195 by @salwator
    • βž• Add ability to specify a minimal quantity of checkout items for a voucher - #4427 by @fowczarek
    • πŸ”„ Change the type of start and end date fields from Date to DateTime - #4293 by @fowczarek
    • βͺ Revert the custom dynamic middlewares - #4452 by @NyanKiyoshi

    Dashboard 2.0

    Other notable changes

    • πŸ›  Fix error when creating a checkout with voucher code - #4292 by @NyanKiyoshi
    • πŸ›  Fix error when users enter an invalid phone number in an address - #4404 by @NyanKiyoshi
    • πŸ›  Fix error when adding a note to an anonymous order - #4319 by @NyanKiyoshi
    • πŸ›  Fix gift card duplication error in the populatedb script - #4336 by @fowczarek
    • πŸ›  Fix vouchers apply once per order - #4339 by @fowczarek
    • πŸ›  Fix discount tests failing at random - #4401 by @korycins
    • βž• Add SPECIFIC_PRODUCT type to VoucherType - #4344 by @fowczarek
    • πŸ†• New translations:
      • Icelandic

    Thank you

    🍱 This month we need to give 5,000 thanks πŸ™ to all contributors, stargazers, and supporters of Saleor! We've just hit that landmark number of GitHub stars.

    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!

  • v2.7.0 Changes

    June 13, 2019

    πŸš€ Welcome to the May 2019 release of Saleor! Read on to learn about the newest changes!

    Storefront's navigation management

    πŸ”§ This month we're bringing you last missing section of Dashboard 2.0. Storefront navigation management allows you to configure which information and links are visible in the menu bars of your storefront. You can add new items and easily link them to existing categories, collections, and pages on your site, or add a link to any external site you choose. Once items are created, their structure can be arranged by dragging and dropping to reorder or nest them.

    Filtering capabilities

    πŸ‘ Dashboard 2.0 already provides management views for all data models in Saleor, but we wanted to make it even better by adding filtering capabilities to two dashboard sections. Products can now be filtered by price (exact value or price range), stock availability, or storefront visibility. Orders can be filtered by creation date and fulfillment status. We've also added search capabilities that let you find products by name or orders by customer's email, and many more. Lastly, each filtering can be saved as a new tab so it can be easily reused later!

    πŸ†• New order creation flow

    Having to deal with unpaid orders may be problematic for store owners for several reasons. Unpaid orders unnecessarily allocate stock quantity, which may be abused by malicious users. Staff members have to manually resolve each order and either contact the customer or close it after some time. It means more work and less revenue. We've now changed the flow of creating orders in our GraphQL API so that an order is only created if a successful payment was made. If a payment fails, customers will stay with an open checkout that they can either pay later or share with someone else who can pay for them.

    πŸ”„ Changelog

    API

    • Create order only when payment is successful - #4154 by @NyanKiyoshi
    • Order Events containing order lines or fulfillment lines now return the line object in the GraphQL API - #4114 by @NyanKiyoshi
    • πŸ–¨ GraphQL now prints exceptions to stderr as well as returning them or not - #4148 by @NyanKiyoshi
    • πŸ”¨ Refactored API resolvers to static methods with root typing - #4155 by @NyanKiyoshi
    • βž• Add phone validation in the GraphQL API to handle the library upgrade - #4156 by @NyanKiyoshi

    Core

    Dashboard 2.0

    Other notable changes

    • βž• Add support for Google Cloud Storage - #4127 by @chetabahana
    • βž• Adding a nonexistent variant to checkout no longer crashes - #4166 by @NyanKiyoshi
    • Disable storage of Celery results - #4169 by @NyanKiyoshi
    • Disable polling in Playground - #4188 by @maarcingebala
    • ⚑️ Cleanup code for updated function names and unused argument - #4090 by @jxltom
    • πŸ‘‰ Users can now add multiple "Add to Cart" forms in a single page - #4165 by @NyanKiyoshi
    • Fix incorrect argument in get_client_token in Braintree integration - #4182 by @maarcingebala
    • πŸ›  Fix resolving attribute values when transforming them to HStore - #4161 by @maarcingebala
    • πŸ›  Fix wrong calculation of subtotal in cart page - #4145 by @korycins
    • πŸ›  Fix margin calculations when product/variant price is set to zero - #4170 by @MahmoudRizk
    • πŸ›  Fix applying discounts in checkout's subtotal calculation in API - #4192 by @maarcingebala
    • πŸ›  Fix GATEWAYS_ENUM to always contain all implemented payment gateways - #4108 by @koradon

    πŸš€ Future releases

    There are a bunch of exciting things that we're now working on right now to improve Saleor.

    πŸ”Œ Plug-in architecture

    ⬆️ Saleor is highly customizable, but one trade-off that comes with it is the difficulty of upgrading to new versions after any customizations were made. We're investigating better approaches to customization with the use of plugin architecture which would allow integrating the Saleor flow with custom logic.

    Enterprise-grade attributes

    A proper attribute structure is a crucial factor for many businesses when presenting their products in the system. We want to make attributes in Saleor more flexible and allow them to be created independently from product types, as well as giving extra control over their visibility in the storefront's faceted search or product detail pages.

    Advanced product list capabilities

    Dashboard's product list will also become a lot more flexible. We're currently designing a new version in which users will be able to customize the visible columns, reorder them, and edit products with in-line forms.

    0️⃣ Lastly, we're getting a lot of questions regarding multi-vendor support in Saleor on our social channels. Right now we're focused on developing the default, single-vendor version and our cloud solution, but we want to assure everyone that it is a feature we want just as much as you do, and we'll keep it on our radar.

    Thank you

    🍱 A big thank you πŸ™ to all contributors, stargazers, and supporters of Saleor!

    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!

  • v2.7.0.b1

    June 15, 2019
  • v2.6.0 Changes

    May 13, 2019

    πŸš€ Welcome to the April 2019 release of Saleor! Read on to learn about the newest changes!

    Any color you like, as long as it's Black

    πŸ’… Proper code formatting is one of the essential things that help to keep an open-source project universally maintainable and understandable. We had Google's YAPF in Saleor, but the formatting was only applied to some of the newer code, while a lot of the original core was using inconsistent styles. To address this issue, we decided to pick a modern tool that a number of open-source projects have recently adopted. Black is an opinionated code formatting tool for Python that comes with a fixed set of rules which are subject to only limited adjusts. And that's one of the greatest powers of Black. We've also added support for Pre-commit which makes sure that every commit you create contains appropriately formatted code.

    Data classes as a universal payment interface

    πŸ”Œ One of our goals for the future is to extract payment gateways to separate repositories and provide a standard interface that'll make implementing new ones easier for the community. We're also investigating ways to have a plugin architecture where integrations can be optionally turned on and off. For that, we want to benefit from Python 3.7's data classes which can be used as standardized objects to pass data between various parts of the system. As data classes are not supported in Python versions before 3.6 (in 3.6 they're available through a third-party library), we decided to drop support for Python 3.5.

    Bulk actions in Dashboard 2.0

    πŸ‘ A useful management Dashboard is one that allows users to perform everyday actions quickly. From now on, users can perform selected actions for multiple objects rather than repeating actions. It currently supports the most common operations, such as deleting items or publishing/unpublishing products and pages, but more will be added in future.

    πŸ”„ Changelog

    API

    Core

    Dashboard 2.0

    Other notable changes

    • βž• Add setting to enable Django Debug Toolbar - #3983 by @koradon
    • πŸ‘‰ Use newest GraphQL Playground - #3971 by @salwator
    • Ensure adding to quantities in the checkout is respecting the limits - #4005 by @NyanKiyoshi
    • πŸ›  Fix country area choices - #4008 by @fowczarek
    • Fix price_range_as_dict function - #3999 by @zodiacfireworks
    • πŸ›  Fix the product listing not showing in the voucher when there were products selected - #4062 by @NyanKiyoshi
    • πŸ›  Fix crash in Dashboard 1.0 when updating an order address's phone number - #4061 by @NyanKiyoshi
    • ⬇️ Reduce the time of tests execution by using dummy password hasher - #4083 by @korycins
    • Set up explicit hash function - #3979 by @akjanik
    • βœ… Unit tests use none as media root - #3975 by @korycins
    • πŸ’… Update file field styles with materializecss template filter - #3998 by @zodiacfireworks
    • πŸ†• New translations:
      • Albanian
      • Colombian Spanish
      • Lithuanian

    πŸš€ Future releases

    There are a few areas that we're currently working on and planning to ship in the next version:

    • Navigation menus management in Dashboard 2.0 - views to create and manage menus displayed in the storefront.
    • πŸ‘Œ Improvements to the payment architecture and currently supported payment gateways.

    Thank you

    🍱 A big thank you πŸ™ to all contributors, stargazers, and supporters of Saleor!

    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!

  • v2.6.0.b1

    May 17, 2019
  • v2.5.0 Changes

    April 09, 2019

    πŸš€ Welcome to the March 2019 release of Saleor! Read on to learn about the newest changes and for a very special announcement!

    🌐 Model Translations UI

    πŸš€ API for model translations was already added in the last release, but this month we're bringing you a brand new user interface which allows you to easily manage translations of your shop's data from the dashboard! To access it, in the main navigation go to the "Translations" section and you'll get a list of all languages enabled in your shop. You can then select a language and choose a particular model that you'd like to add the translations for. Notice that you can also switch between languages directly from the translation details page.

    Dark Mode & Refreshed Dashboard 2.0 Theme

    0️⃣ Dark mode has become a trendy feature of modern apps. Since Saleor aims to provide the best user experience and rival commercial platforms, we couldn't restrain ourselves from adding a dark mode to our shiny Dashboard. Both themes were also refreshed with some smaller changes, such as increasing the default font size to 16px for better legibility, using accent colors on buttons and links, and adding a floating action bar at the bottom of each editable page. We've also redesigned the login page to greet all staff users with a nice, colorful pattern.

    βž• Address book

    πŸ‘€ The address book is a new section in Dashboard 2.0 which allows staff users to view and manage customers' addresses. To access it, go to the customer details view and click the "Manage" button in the "Address information" card. You'll see a list of all user addresses, with the ability to add new ones and configure which of them is a default billing or shipping address.

    πŸ”„ Changelog

    API

    Core

    • ⬇️ Drop support for Django 2.1 and Django 1.11 (previous LTS) - #3929 by @patrys
    • Fulfillment of digital products - #3868 by @korycins
    • Introduce avatars for staff accounts - #3878 by @pawelzar
    • πŸ”¨ Refactor the account avatars path from a relative to absolute - #3938 by @NyanKiyoshi

    Dashboard 2.0

    Other notable changes

    • πŸ‘Œ Improve user and staff management in dashboard 1.0 - #3781 by @jxltom
    • πŸ›  Fix default product tax rate in Dashboard 1.0 - #3880 by @pawelzar
    • πŸ›  Fix logo in docs - #3928 by @michaljelonek
    • πŸ›  Fix name of logo file - #3867 by @jxltom
    • πŸ›  Fix variants for juices in example data - #3926 by @michaljelonek
    • πŸ›  Fix alignment of the cart dropdown on new bootstrap version - #3937 by @NyanKiyoshi
    • πŸ†• New translations:
      • Armenian
      • Portuguese
      • Swahili
      • Thai

    πŸš€ Future releases

    πŸš€ Within the next few releases we're planning to roll out a few exciting new features:

    • πŸ”§ Fulfillment of digital productsβ€Š: β€Šwe've just added backend changes that introduce models to represent digital content and unique download URLs. They will have configurable and optional restrictions on the number of allowed downloads or link validity period. Expect new dashboard sections to manage that!
    • πŸš€ Bulk actions: with this release, we've added GraphQL mutations for bulk actions such as deleting multiple items at once and we've just started building support for that in Dashboard 2.0.
    • πŸ‘‰ User avatarsβ€Š: to allow easier identification of staff members, we will allow them to upload a profile picture.

    Thank you

    🍱 A big thank you πŸ™ to all contributors, stargazers, and supporters of Saleor!

    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.