Bien Nguyen
Feb 5, 2018
(10 votes)

Planned Breaking Changes in Commerce 2018

We are working on a number of changes in Commerce which are considered breaking since that will change some behaviors and APIs and therefore will be released as a new major version of Commerce.

Here is a short summary of what we are considering, the details will be announced at a later stage:

Improved calculators

The calculators will be re-structured to make them work more efficiently. The tax calculator will calculate only tax values at the lowest level – line item. The tax calculation for shipment, order form, and order group will be moved to corresponding calculator. The default implementations for calculations will be also improved so that it will reduce unnecessary calls to calculators when getting tax values of order entities or getting shipping cost of shipments.


Re-worked how to use taxes in Commerce

The current default implementations for calculations is done based on the assumption that prices are excluding tax and tax is added at the end. And if your catalog has prices including taxes (mostly in Europe), you have to re-implement the entire tax calculation or use a third party service. Now, a setting indicating whether prices includes tax will be added on market, and the calculations will take that setting into account.


Adding market info on order group for completeness

A saved purchase order or cart should be as complete as possible, without any real need to reference other tables / entities. Currently we only have a reference to the market but that will not be needed anymore, an order group will just have the info what it needs about market, not the whole market entity.


Clean Up Previously Deprecated APIs

There are a number of APIs that have been marked as obsolete for a long time, and will now be removed.

The current estimate for this new major version is Q1 2018.

Feb 05, 2018


Magnus Rahl
Magnus Rahl Feb 5, 2018 03:17 PM

Just a clarification because the question came up last year when I posted a similar note: No, we are not changing the naming scheme so that the new version is going to be called "Commerce 2018". The headline just means release will happen in 2018. It is going to be called Commerce 12 unless something unexpected and urgent requiring a breaking change comes up before these changes are released.

Quan Mai
Quan Mai Feb 5, 2018 07:34 PM

And also this is not a promise that Commerce 12 will be the only major release in 2018. With our velocity I would personally think it's likely to have one more major release in 2018. To move forward and to make nice things, we need to break old things here and there, and in that senses, major releases are inevitable.

Again, another major release in 2018, is not a promise.

We will let you know about our release plan as soon as we have it firmly.

Sebastian Enberget
Sebastian Enberget Feb 6, 2018 10:55 AM

Make sense that this will not be the only major version this year. Personaly I prefer that it is more major releases during a year as a year is quiet long :) But I understand other developers that work with many solutions, while I only work with one solution and decide when to upgrade.

I like what I read about the taxes.. that will most likely simplify some work for me as we are soon going live with entity in US, and the way I did it now is not pretty, but works :) Looking forward to try the new tax calculations!

Quan Mai
Quan Mai Feb 7, 2018 11:34 AM

@Sebastian: Absolutely. We want to have sizeable major releases, not too big, not too small, so with enough new features to be attractive and not too many breaking changes to be scary :) 

Please login to comment.
Latest blogs
Dynamic Route in ASP.NET Core When MapDynamicControllerRoute Does Not Work

Background Creating one of the add-on for Optimizely I had to deal with challenge to register dynamically route for the API controller. Dynamic rou...

valdis | Sep 25, 2022 | Syndicated blog

404 Error on Static Assets Within an Optimizely plugin

Background With the move to CMS 12 and .NET 5/6, developers are now able to build Plugins and Extensions using Razor Class Libraries (RCL).  These...

Mark Stott | Sep 23, 2022

How to bypass the content creation view in Optimizely

Something that has come up a couple of times in the last few year is feedback from content editors about the editing view that comes up when creati...

Ynze | Sep 23, 2022 | Syndicated blog

Welcome to Optimizely World's New Tech Video Portal

Optimizely, leader in the digital experience realm, has become a wealth of world class SaaS products including Web Experimentation, Full Stack, B2B...

The Developer Marketing Team of Optimizely | Sep 22, 2022