Bien Nguyen
Feb 5, 2018
  3409
(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

Comments

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
A First Look at Optimizely Remote MCP Server for Experimentation

Optimizely just released a Remote MCP Server for Experimentation and I've been trying it out to see what it can do. If you don't know, MCP (Model...

Jacob Pretorius | May 1, 2026

Promoted and Certified

What a busy week

Andy Blyth | May 1, 2026 |

Announcing new library: SettingsManager

When you run .net app, there have been a few ways to store settings. Those can be set via appSettings.json, or via Azure Portal AppService...

Quan Mai | Apr 30, 2026

From Prompting to Production: Optimizely Opal University Cohort and the Future of Agentic MarTech

Most organizations today are still playing with AI. They experiment with prompts, test ideas in isolated chats, and occasionally automate a task or...

Augusto Davalos | Apr 28, 2026

Six Compelling Reasons for Upgrading to CMS 13

Most software updates ask you to keep up. Optimizely CMS 13 asks something different — it asks whether your digital strategy is built for a world...

Muhammad Talha | Apr 28, 2026

Optimizely CMS 13 breaking changes: GetContentTypePropertyDisplayName

When upgrading from CMS 12 to 13, resolving property display names may not work as before. Here’s what changed.

Tomas Hensrud Gulla | Apr 27, 2026 |