Magento 2.0.18 is the final 2.0.x release. After March 2018, Magento 2.0.x will no longer receive security patches, quality fixes, or documentation updates.
To maintain your site's performance, security, and PCI compliance, upgrade to the latest version of Magento.

Backward incompatible changes in Magento Open Source

This topic provides details about backward incompatible changes made in Magento Open Source 2.0.

All changes are generated automatically using the codebase of corresponding releases in magento/magento2 repository. The changes are aggregated into two tables:

  1. Changes in classes that contains backward incompatible changes made to the Magento classes
  2. Changes in interfaces that contains backward incompatible changes made to the Magento interfaces

When the @api and @deprecated doc blocks tags are added to the code base, they are recognized as Class was added or Method has been added.

2.0.17 - 2.0.18

No changes

No backward incompatible changes.

2.0.16 - 2.0.17

No changes

No backward incompatible changes.

2.0.15 - 2.0.16

No changes

No backward incompatible changes.

2.0.14 - 2.0.15

No changes

No backward incompatible changes.

2.0.13 - 2.0.14

No changes

No backward incompatible changes.

2.0.12 - 2.0.13

No changes

No backward incompatible changes.

2.0.11 - 2.0.12

No changes

No backward incompatible changes.

2.0.10 - 2.0.11

Changes in classes

What changed How changed
Magento\CatalogInventory\Observer\RefundOrderInventoryObserver Class was removed.
Magento\Ui\DataProvider\EavValidationRules::$validationRul [protected] Property has been removed.
Magento\GiftMessage\Model\Plugin\OrderGet::aroundGet [public] Method has been removed.
Magento\GiftMessage\Model\Plugin\OrderSave::aroundSave [public] Method has been removed.
Magento\Customer\Controller\Adminhtml\Index\Save::_extractData [protected] Method parameter changed.

2.0.9 - 2.0.10

Changes in classes

What changed How changed
Magento\User\Observer\Backend\TrackAdminNewPasswordObserver::__construct [public] Method parameter changed.
Magento\User\Observer\Backend\TrackAdminNewPasswordObserver::$encryptor [protected] Property has been removed.
Magento\Sales\Model\Order\InvoiceDocumentFactory Class was added.
Magento\Sales\Model\Order\PaymentAdapter Class was added.
Magento\Sales\Model\Order\ShipmentDocumentFactory Class was added.
Magento\Sales\Model\Order\Shipment\CreationArguments Class was added.
Magento\Sales\Model\Order\Shipment\Notifier Class was added.
Magento\Sales\Model\Order\Shipment\Package Class was added.
Magento\Sales\Model\Order\Shipment\PackageCreation Class was added.
Magento\Sales\Model\Order\Invoice\CreationArguments Class was added.
Magento\Sales\Model\Order\Invoice\Notifier Class was added.

Changes in interfaces

What changed How changed
Magento\Sales\Api\Data\InvoiceCommentInterface::getComment [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::getCreatedAt [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::setCreatedAt [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::setEntityId [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::getIsVisibleOnFront [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::setIsVisibleOnFront [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::setComment [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::ENTITY_ID Constant has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::IS_VISIBLE_ON_FRONT Constant has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::COMMENT Constant has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::CREATED_AT Constant has been removed.
Magento\Sales\Api\Data\InvoiceItemInterface::getOrderItemId [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceItemInterface::getQty [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceItemInterface::setQty [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceItemInterface::setOrderItemId [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::getComment [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::getCreatedAt [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::setCreatedAt [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::getEntityId [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::setEntityId [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::getIsVisibleOnFront [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::setIsVisibleOnFront [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::setComment [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::ENTITY_ID Constant has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::IS_VISIBLE_ON_FRONT Constant has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::COMMENT Constant has been removed.
Magento\Sales\Api\Data\ShipmentCommentInterface::CREATED_AT Constant has been removed.
Magento\Sales\Api\Data\ShipmentItemInterface::getOrderItemId [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentItemInterface::getQty [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentItemInterface::setQty [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentItemInterface::setOrderItemId [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentTrackInterface::getCarrierCode [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentTrackInterface::getTitle [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentTrackInterface::getTrackNumber [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentTrackInterface::setTrackNumber [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentTrackInterface::setTitle [public] Method has been removed.
Magento\Sales\Api\Data\ShipmentTrackInterface::setCarrierCode [public] Method has been removed.
Magento\Sales\Api\Data\InvoiceCommentInterface::getEntityId [public] Method has been removed.
Magento\Sales\Model\Order\InvoiceNotifierInterface Interface was added.
Magento\Sales\Model\Order\InvoiceStatisticInterface Interface was added.
Magento\Sales\Model\Order\OrderStateResolverInterface Interface was added.
Magento\Sales\Model\Order\PaymentAdapterInterface Interface was added.
Magento\Sales\Model\Order\Shipment\NotifierInterface Interface was added.
Magento\Sales\Model\Order\Shipment\OrderRegistrarInterface Interface was added.
Magento\Sales\Model\Order\Invoice\NotifierInterface Interface was added.
Magento\Sales\Api\InvoiceOrderInterface Interface was added.
Magento\Sales\Api\ShipOrderInterface Interface was added.
Magento\Sales\Api\Exception\CouldNotInvoiceExceptionInterface Interface was added.
Magento\Sales\Api\Exception\CouldNotShipExceptionInterface Interface was added.
Magento\Sales\Api\Exception\DocumentValidationExceptionInterface Interface was added.
Magento\Sales\Api\Data\CommentInterface Interface was added.
Magento\Sales\Api\Data\EntityInterface Interface was added.
Magento\Sales\Api\Data\InvoiceCommentCreationInterface Interface was added.
Magento\Sales\Api\Data\InvoiceCreationArgumentsInterface Interface was added.
Magento\Sales\Api\Data\InvoiceItemCreationInterface Interface was added.
Magento\Sales\Api\Data\LineItemInterface Interface was added.
Magento\Sales\Api\Data\ShipmentCommentCreationInterface Interface was added.
Magento\Sales\Api\Data\ShipmentCreationArgumentsInterface Interface was added.
Magento\Sales\Api\Data\ShipmentItemCreationInterface Interface was added.
Magento\Sales\Api\Data\ShipmentPackageCreationInterface Interface was added.
Magento\Sales\Api\Data\ShipmentTrackCreationInterface Interface was added.
Magento\Sales\Api\Data\TrackInterface Interface was added.
Magento\Quote\Api\GuestShipmentEstimationInterface Interface was added.
Magento\Quote\Api\ShipmentEstimationInterface Interface was added.

2.0.8 - 2.0.9

No changes

No backward incompatible changes.

2.0.7 - 2.0.8

No changes

No backward incompatible changes.

2.0.6 - 2.0.7

No changes

No backward incompatible changes.

2.0.5 - 2.0.6

No changes

No backward incompatible changes.

2.0.4 - 2.0.5

No changes

No backward incompatible changes.

2.0.3 - 2.0.4

No changes

No backward incompatible changes.

2.0.2 - 2.0.3

No changes

No backward incompatible changes.

2.0.1 - 2.0.2

No changes

No backward incompatible changes.

2.0.0 - 2.0.1

Changes in classes

What changed How changed
Magento\User\Observer\Backend\CheckAdminPasswordChangeObserver Class was removed.
Magento\PageCache\Model\App\FrontController\MessageBox Class was removed.
Magento\Framework\Data\Form\FormKey::__construct [public] Method parameter changed.
Magento\Swatches\Helper\Data::loadFirstVariationWithSwatchImage [public] Method parameter changed.
Magento\Swatches\Block\Product\Renderer\Configurable::getAllOptionsIdsFromAttributeArray [protected] Method has been removed.
Magento\Store\Model\Plugin\StoreCookie::aroundDispatch [public] Method has been removed.
Magento\CatalogUrlRewrite\Observer\AfterImportDataObserver::cleanOverriddenUrlKey [protected] Method has been removed.
Magento\CatalogUrlRewrite\Observer\AfterImportDataObserver::__construct [public] Method parameter changed.
Magento\CatalogUrlRewrite\Observer\AfterImportDataObserver::$urlKeyAttribute [protected] Property has been removed.
Magento\CatalogUrlRewrite\Observer\AfterImportDataObserver::$entityStoresToCheckOverridden [protected] Property has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::rebuildIndex [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::getSearchableProducts [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::deleteIndex [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::getProductAttributes [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::getProductChildIds [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::prepareProductIndex [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::getAttributeValue [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::getStoreDate [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::getIterator [protected] Method has been removed.
Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full::__construct [public] Method parameter changed.
Magento\CatalogImportExport\Model\Import\Product::__construct [public] Method parameter changed.
Magento\Catalog\Model\Product\Option\Type\File\ValidatorFile::__construct [public] Method parameter changed.