Added
- Core: allow saving encrypted configurations
- Core: add new Catalog API to index and fetch products with annotated price and discounted price
Fixed
- Admin: do not break when it's not possible to create shipments
- Admin: Fix primary buttons, list buttons, and filter dropdowns to use css variables
- Discounts: show the `exclude_selected_category` field in admin
Changed
- Admin: Do not let users to set value with decimals while adjusting stock quantity if the sales unit doesn't permit.
- Core: Block an attempt to delete a service provider that still has associated shipping or payment methods.
- Core: consider an order fully shipped only when all out shipments are sent
- Front: improve SEO by tuning description meta tag to product, category and CMS pages
- Importer: index product after importing it
- BREAKING: Core: Discounts are not cumulative anymore. The best discounted price returned by discount modules is considered.
- BREAKING: Discounts: Remove coupon code, availability exception and exclude selected contact group from the Discount model.
All the related feature were also removed.
- BREAKING: Front: replaced the `ProductListFormModifier.sort_products`
with a new method: `ProductListFormModifier.sort_products_queryset` and
removed `ProductListFormModifier.filter_products` and `ProductListFormModifier.filter_products`
and `ProductListFormModifier.get_queryset`.
- Front: user the new Catalog API on every place that retrieve products from the database
- Xtheme: user the new Catalog API on plugins that retrieve products
- Core: Edit verbose name for ProductMedia.ordering to be more intuitive.