diff --git a/src/pages/development/backward-incompatible-changes/highlights.md b/src/pages/development/backward-incompatible-changes/highlights.md index cee9c5c94..bfa17c69f 100644 --- a/src/pages/development/backward-incompatible-changes/highlights.md +++ b/src/pages/development/backward-incompatible-changes/highlights.md @@ -11,12 +11,77 @@ This page highlights backward-incompatible changes between Adobe Commerce and Ma The following major backward-incompatible changes were introduced in the 2.4.7-beta2 Adobe Commerce and Magento Open Source releases: +* Commerce FedEx SOAP API integration +* Commerce UPS SOAP API integration +* Elasticsearch 7 deprecation +* New method for encryption key generation * New SKU validation in inventory source items API +* New full-page caching system configuration -### Sku validation in inventory source items API +### Commerce FedEx SOAP API integration + +The Commerce FedEx SOAP API integration has been migrated to the new FedEx REST API. The FedEx Web Services for Tracking API was retired on May 15, 2024. All previous FedEx SOAP APIs have been removed from the Adobe Commerce and Magento Open Source 2.4.7 code base. + +This change affects custom code and extensions that use the SOAP APIs. You must update your code to use the REST APIs. + +You must generate REST credentials (Account Number, API Key, and Secret Key) from the FedEx developer portal and add those credentials to the Admin by going to **Stores** > **Configuration** > **Sales** > **Shipping/Delivery Methods** > **FedEx**. + +The following module is affected by this change: + +* [Magento_Fedex](https://developer.adobe.com/commerce/php/module-reference/module-fedex/) + +### Commerce UPS SOAP API integration + +The Commerce UPS SOAP API integration has been migrated to the new UPS REST API to support updates that UPS is making to their [API security model](https://developer.ups.com/oauth-developer-guide). UPS is implementing an OAuth 2.0 security model (bearer tokens) for all APIs. All previous Commerce UPS SOAP APIs have been removed from the Adobe Commerce and Magento Open Source 2.4.7 code base. + +You must generate REST credentials (Account Number, API Key, and Secret Key) from the UPS developer portal and update those credentials to the Admin by going to **Stores** > **Configuration** > **Sales** > **Shipping/Delivery Methods** > **UPS**. + +The following module is affected by this change: + +* [Magento_Ups](https://developer.adobe.com/commerce/php/module-reference/module-ups/) + +### Elasticsearch 7 deprecation + +This change removes the `Magento_Elasticsearch` module (for Elasticsearch 5) and adds support for Elasticsearch 8. The `Magento_Elasticsearch7` module is being deprecated because Elasticsearch 7 reached end-of-life in August 2023. However, it is still the default option for 2.4.7-beta2. + +The `Magento_Elasticsearch8` module is not currently supported because of backward-incompatible changes in ES7 and ES8. It is available as a Composer metapackage only in 2.4.7-beta2 until the `Magento_Elasticsearch7` module is removed from the codebase. + +You can use the `Magento_Elasticsearch7` module or install the Magento_Elasticsearch8 module in 2.4.7-beta2. + +The following modules are affected by this change: + +* [Magento_Elasticsearch](https://developer.adobe.com/commerce/php/module-reference/module-elasticsearch/) +* [Magento_ElasticsearchCatalogPermissions](https://developer.adobe.com/commerce/php/module-reference/module-elasticsearch-catalog-permissions/) +* [Magento_Elasticsearch7](https://developer.adobe.com/commerce/php/module-reference/module-elasticsearch-7/) +* [Magento_OpenSearch](https://developer.adobe.com/commerce/php/module-reference/module-open-search/) + +### New method for encyption key generation + +This change improves the security of encrypted user data. You must [reset the encryption key](https://experienceleague.adobe.com/docs/commerce-admin/systems/security/encryption-key.html) and set the **Auto-generate** option to `Yes`. After resetting the encryption key, all credit card data and cache files are re-encrypted with the new key. + +The following files are affected by this change: + +* [`lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php`](https://github.com/magento/magento2/blob/2.4-develop/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php)—A new method was added to increase the entropy of encryption keys generated by the framework for stored credit card and cache data. +* [`lib/internal/Magento/Framework/Math/Random.php`](https://github.com/magento/magento2/blob/2.4-develop/lib/internal/Magento/Framework/Math/Random.php)—A new constant was added to prefix base64-encoded encryption keys for use in `env.php` files. + +### New SKU validation in inventory source items API Payload containing SKU will now be validated for leading and trailing spaces in the `rest/V1/inventory/source-items` API. +### New full-page caching system configuration + +This change improves the security and performance of how the framework resolves [Varnish Edge Side Includes (ESI)](https://experienceleague.adobe.com/docs/commerce-operations/configuration-guide/cache/use-varnish-esi.html) for [full-page caching](https://experienceleague.adobe.com/docs/commerce-operations/configuration-guide/cache/configure-varnish-commerce.html). + +The `{BASE-URL}/page_cache/block/esi HTTP` endpoint supports unrestricted, dynamically loaded content fragments from Commerce layout handles and block structures. + +The new **Handles params size** system configuration setting limits the `handles` parameter for the endpoint to `100` by default. You can change the default in the Admin by going to **Stores** > _Settings_ > **Configuration** > **Advanced** > **System** > **Full Page Cache**. + +No action is necessary unless you need to modify the default value for the endpoint. + +The following module is affected by this change: + +* [Magento_PageCache](https://developer.adobe.com/commerce/php/module-reference/module-page-cache/) + ## 2.4.7-beta1 The following major backward-incompatible changes were introduced in the 2.4.7-beta1 Adobe Commerce and Magento Open Source releases: