+* **Ethdev device name length increased.**
+
+ The size of internal device name has been increased to 64 characters
+ to allow for storing longer bus specific names.
+
+* **Removed the Ethdev RTE_ETH_DEV_DETACHABLE flag.**
+
+ Removed the Ethdev ``RTE_ETH_DEV_DETACHABLE`` flag. This flag is not
+ required anymore, with the new hotplug implementation. It has been removed
+ from the ether library. Its semantics are now expressed at the bus and PMD
+ level.
+
+* **Service cores API updated for usability**
+
+ The service cores API has been changed, removing pointers from the API where
+ possible, and instead using integer IDs to identify each service. This
+ simplifies application code, aids debugging, and provides better
+ encapsulation. A summary of the main changes made is as follows:
+
+ * Services identified by ID not by ``rte_service_spec`` pointer
+ * Reduced API surface by using ``set`` functions instead of enable/disable
+ * Reworked ``rte_service_register`` to provide the service ID to registrar
+ * Reworked start and stop APIs into ``rte_service_runstate_set``
+ * Added API to set runstate of service implementation to indicate readiness
+
+* **The following changes have been made in the mempool library**
+
+ * Moved ``flags`` datatype from ``int`` to ``unsigned int`` for
+ ``rte_mempool``.
+ * Removed ``__rte_unused int flag`` param from ``rte_mempool_generic_put``
+ and ``rte_mempool_generic_get`` API.
+ * Added ``flags`` param in ``rte_mempool_xmem_size`` and
+ ``rte_mempool_xmem_usage``.
+ * ``rte_mem_phy2mch`` was used in Xen dom0 to obtain the physical address;
+ remove this API as Xen dom0 support was removed.
+
+* **Added IOVA aliases related to physical address handling.**
+
+ Some data types, structure members and functions related to physical address
+ handling are deprecated and have new aliases with IOVA wording. For example:
+
+ * ``phys_addr_t`` can be often replaced by ``rte_iova_t`` of same size.
+ * ``RTE_BAD_PHYS_ADDR`` is often replaced by ``RTE_BAD_IOVA`` of same value.
+ * ``rte_memseg.phys_addr`` is aliased with ``rte_memseg.iova_addr``.
+ * ``rte_mem_virt2phy()`` can often be replaced by ``rte_mem_virt2iova``.
+ * ``rte_malloc_virt2phy`` is aliased with ``rte_malloc_virt2iova``.
+ * ``rte_memzone.phys_addr`` is aliased with ``rte_memzone.iova``.
+ * ``rte_mempool_objhdr.physaddr`` is aliased with
+ ``rte_mempool_objhdr.iova``.
+ * ``rte_mempool_memhdr.phys_addr`` is aliased with
+ ``rte_mempool_memhdr.iova``.
+ * ``rte_mempool_virt2phy()`` can be replaced by ``rte_mempool_virt2iova()``.
+ * ``rte_mempool_populate_phys*()`` are aliased with
+ ``rte_mempool_populate_iova*()``
+ * ``rte_mbuf.buf_physaddr`` is aliased with ``rte_mbuf.buf_iova``.
+ * ``rte_mbuf_data_dma_addr*()`` are aliased with ``rte_mbuf_data_iova*()``.
+ * ``rte_pktmbuf_mtophys*`` are aliased with ``rte_pktmbuf_iova*()``.
+
+* **PCI bus API moved outside of the EAL**
+
+ The PCI bus previously implemented within the EAL has been moved.
+ A first part has been added as an RTE library providing PCI helpers to
+ parse device locations or other such utilities.
+ A second part consisting of the actual bus driver has been moved to its
+ proper subdirectory, without changing its functionalities.
+
+ As such, several PCI-related functions are not exposed by the EAL anymore:
+
+ * ``rte_pci_detach``
+ * ``rte_pci_dump``
+ * ``rte_pci_ioport_map``
+ * ``rte_pci_ioport_read``
+ * ``rte_pci_ioport_unmap``
+ * ``rte_pci_ioport_write``
+ * ``rte_pci_map_device``
+ * ``rte_pci_probe``
+ * ``rte_pci_probe_one``
+ * ``rte_pci_read_config``
+ * ``rte_pci_register``
+ * ``rte_pci_scan``
+ * ``rte_pci_unmap_device``
+ * ``rte_pci_unregister``
+ * ``rte_pci_write_config``
+
+ These functions are made available either as part of ``librte_pci`` or
+ ``librte_bus_pci``.
+
+* **Moved vdev bus APIs outside of the EAL**
+
+ Moved the following APIs from ``librte_eal`` to ``librte_bus_vdev``:
+
+ * ``rte_vdev_init``
+ * ``rte_vdev_register``
+ * ``rte_vdev_uninit``
+ * ``rte_vdev_unregister``
+
+* **Add return value to stats_get dev op API**
+
+ The ``stats_get`` dev op API return value has been changed to be int.
+ In this way PMDs can return an error value in case of failure at stats
+ getting process time.
+
+* **Modified the rte_cryptodev_allocate_driver function.**
+
+ Modified the ``rte_cryptodev_allocate_driver()`` function in the cryptodev
+ library. An extra parameter ``struct cryptodev_driver *crypto_drv`` has been
+ added.
+
+* **Removed virtual device bus specific functions from librte_cryptodev.**
+
+ The functions ``rte_cryptodev_vdev_parse_init_params()`` and
+ ``rte_cryptodev_vdev_pmd_init()`` have been removed from librte_cryptodev
+ and have been replaced by non bus specific functions
+ ``rte_cryptodev_pmd_parse_input_args()`` and ``rte_cryptodev_pmd_create()``.
+
+ The ``rte_cryptodev_create_vdev()`` function was removed to avoid the
+ dependency on vdev in librte_cryptodev; instead, users can call
+ ``rte_vdev_init()`` directly.
+
+* **Removed PCI device bus specific functions from librte_cryptodev.**
+
+ The functions ``rte_cryptodev_pci_generic_probe()`` and
+ ``rte_cryptodev_pci_generic_remove()`` have been removed from librte_cryptodev
+ and have been replaced by non bus specific functions
+ ``rte_cryptodev_pmd_create()`` and ``rte_cryptodev_pmd_destroy()``.
+
+* **Removed deprecated functions to manage log level or type.**
+
+ The functions ``rte_set_log_level()``, ``rte_get_log_level()``,
+ ``rte_set_log_type()`` and ``rte_get_log_type()`` have been removed.
+
+ They are respectively replaced by ``rte_log_set_global_level()``,
+ ``rte_log_get_global_level()``, ``rte_log_set_level()`` and
+ ``rte_log_get_level()``.
+
+* **Removed mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT.**
+
+ The ``mbuf`` flags ``PKT_RX_VLAN_PKT`` and ``PKT_RX_QINQ_PKT`` have
+ been removed since their behavior was not properly described.
+
+* **Added mbuf flags PKT_RX_VLAN and PKT_RX_QINQ.**
+
+ Two ``mbuf`` flags have been added to indicate that the VLAN
+ identifier has been saved in in the ``mbuf`` structure. For instance:
+
+ - If VLAN is not stripped and TCI is saved: ``PKT_RX_VLAN``
+ - If VLAN is stripped and TCI is saved: ``PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED``
+
+* **Modified the vlan_offload_set_t function prototype in the ethdev library.**
+
+ Modified the ``vlan_offload_set_t`` function prototype in the ethdev
+ library. The return value has been changed from ``void`` to ``int`` so the
+ caller can determine whether the backing device supports the operation or if
+ the operation was successfully performed.
+