The latest version of Episerver Commerce, its 13th iteration, was released on March 26th. Just like other major versions, this release contains breaking changes, which means your project will need to be recompiled. In some cases, and depending on how customized your codebase is, you will also need to make code changes. For a detailed breakdown of these changes, please visit the official list of breaking changes on Episerver’s website.
This release comes packed with several new features and improvements enabling you to further tailor your commerce solution. Here’s a summary of the new features available in this release.
A more flexible promotion system
The legacy promotion system has finally been removed. For those already on Commerce v10 and above, you should already be familiar with the new promotion system, which has been further enhanced since then. In this release, one of the new features it includes is the ability to exclude certain catalog items from a promotion.
An example use case for this is running a campaign that is comprised of site-wide 40% discounts, but needing to exclude certain suppliers from this promotion. Your marketers could leverage the new property that allows items to simply be dragged and dropped in a separate category. These items will then be excluded from the promotion. These exclusions apply to catalogs, categories and entries. When adding catalog and category exclusions, the items below them will also be excluded.
Order status can now be extended
Previously, the order statuses could not be extended in the code, which limited marketers that wanted to tailor their commerce solution further with regards to orders. With this new release, you can now introduce new statuses to the order entities.
An example use case for this is if you want to register a new status such as “In dispute” to your orders. This status just needs to be registered to both your CMS and Commerce sites and you can then start assigning this status, as well as filter orders using this status in Commerce Manager.
Firstly, the rounding strategy has been reworked in this release. Intermediate rounding has been removed from the calculators, so intermediate results are represented and stored in full-precision values, including discounts against line items and shipments. The rounding only gets applied at the highest level, which is in the order group calculator.
The same goes for currency conversions. A new API has been exposed to allow for converting currencies that return full-precision values.
Lastly, a further efficiency tool was added, as tax calculation is now done in batches as opposed to individual calculations, as was the case in the previous release.
Improved shipping management for Beta customers
The latest version of Commerce provides new features for end users when managing shipping addresses for the cart. It now provides customers with the ability to view the currently selected shipping address, select another existing shipping address from the address book as well as add a new shipping address for the cart, which then gets saved to the customer’s address book.
Continuous development improvements
Just like the previous releases, several improvements have been introduced to continuously make developers’ lives easier when building solutions using Episerver Commerce. This includes making old APIs obsolete and removing them, replacing old frameworks with more efficient ones, introducing a better way of performing queries to the database using new APIs as well as overall performance and security improvements. A full list can be found on Episerver World, but here are some examples:
• Content APIs should now be used when handling Nodes and Entries
• A new API to get the IOrderGroup parent of IOrderForm
• WarehouseInventory and WarehouseInventoryService replaced by IInventoryService
• Obsolete APIs that are 12 months old have been removed
• Commerce gadget has been removed