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:
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.