Skip to content

Commit

Permalink
Merge pull request #200 from AdobeDocs/2.4.7-develop
Browse files Browse the repository at this point in the history
October 2023 release
  • Loading branch information
dshevtsov authored Oct 10, 2023
2 parents cb32f73 + fa09fa0 commit 9359484
Show file tree
Hide file tree
Showing 19 changed files with 1,471 additions and 26 deletions.
423 changes: 423 additions & 0 deletions src/_includes/backward-incompatible-changes/b2b/2.4.6-2.4.7-beta2.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

50 changes: 40 additions & 10 deletions src/data/navigation/sections/module_reference_beta.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,11 @@ module.exports = [
path: "/module-reference-beta/module-application-server/"
},

{
title: "ApplicationServerNewRelic",
path: "/module-reference-beta/module-application-server-new-relic/"
},

{
title: "AsyncConfig",
path: "/module-reference-beta/module-async-config/"
Expand Down Expand Up @@ -519,6 +524,11 @@ module.exports = [
path: "/module-reference-beta/module-cms-url-rewrite-graph-ql/"
},

{
title: "CommerceBackendUix",
path: "/module-reference-beta/module-commerce-backend-uix/"
},

{
title: "Company",
path: "/module-reference-beta/module-company/"
Expand Down Expand Up @@ -689,6 +699,11 @@ module.exports = [
path: "/module-reference-beta/module-customer-segment/"
},

{
title: "CustomerSegmentGraphQl",
path: "/module-reference-beta/module-customer-segment-graph-ql/"
},

{
title: "DataExporter",
path: "/module-reference-beta/module-data-exporter/"
Expand Down Expand Up @@ -929,6 +944,11 @@ module.exports = [
path: "/module-reference-beta/module-graph-ql-cache/"
},

{
title: "GraphQlResolverCache",
path: "/module-reference-beta/module-graph-ql-resolver-cache/"
},

{
title: "GraphQlServer",
path: "/module-reference-beta/module-graph-ql-server/"
Expand Down Expand Up @@ -984,6 +1004,16 @@ module.exports = [
path: "/module-reference-beta/module-import-export/"
},

{
title: "ImportJson",
path: "/module-reference-beta/module-import-json/"
},

{
title: "ImportJsonApi",
path: "/module-reference-beta/module-import-json-api/"
},

{
title: "Indexer",
path: "/module-reference-beta/module-indexer/"
Expand Down Expand Up @@ -1689,6 +1719,16 @@ module.exports = [
path: "/module-reference-beta/module-open-search/"
},

{
title: "OrderCancellation",
path: "/module-reference-beta/module-order-cancellation/"
},

{
title: "OrderCancellationGraphQl",
path: "/module-reference-beta/module-order-cancellation-graph-ql/"
},

{
title: "OrderHistorySearch",
path: "/module-reference-beta/module-order-history-search/"
Expand Down Expand Up @@ -1839,16 +1879,6 @@ module.exports = [
path: "/module-reference-beta/module-query-xml/"
},

{
title: "QuickCheckout",
path: "/module-reference-beta/module-quick-checkout/"
},

{
title: "QuickCheckoutAdminPanel",
path: "/module-reference-beta/module-quick-checkout-admin-panel/"
},

{
title: "QuickOrder",
path: "/module-reference-beta/module-quick-order/"
Expand Down
75 changes: 75 additions & 0 deletions src/pages/development/backward-incompatible-changes/highlights.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,81 @@ keywords:

This page highlights backward-incompatible changes between Adobe Commerce and Magento Open Source releases that have a major impact and require detailed explanation and special instructions to ensure third-party modules continue working. High-level reference information for all backward-incompatible changes in each release are documented in [Backward incompatible changes reference](reference.md).

## 2.4.7-beta2

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

### 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:
Expand Down
20 changes: 20 additions & 0 deletions src/pages/development/backward-incompatible-changes/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,26 @@ To view changes in functional tests, refer to [Backward incompatible changes in

Patch releases are primarily focused on delivering security and quality enhancements on a regular basis to help you keep your sites performing at their peak. On an exceptional basis, breaking changes or additional patches or hotfixes may be released to address security or compliance issues and high-impact quality issues. On the module level, these are mostly PATCH-level changes; sometimes MINOR-level changes. See [Release policy](https://experienceleague.adobe.com/docs/commerce-operations/release/policy.html).

## 2.4.6 - 2.4.7-beta2

### Adobe Commerce

import Ac247b2 from '/src/_includes/backward-incompatible-changes/commerce/2.4.6-2.4.7-beta2.md'

<Ac247b2 />

### B2B for Adobe Commerce

import B2b247b2 from '/src/_includes/backward-incompatible-changes/b2b/2.4.6-2.4.7-beta2.md'

<B2b247b2 />

### Magento Open Source

import Os247b2 from '/src/_includes/backward-incompatible-changes/open-source/2.4.6-2.4.7-beta2.md'

<Os247b2 />

## 2.4.6 - 2.4.7-beta1

### Adobe Commerce
Expand Down
2 changes: 1 addition & 1 deletion src/pages/module-reference-beta/module-admin-adobe-ims.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ it means that with default values is not possible to use tokens that older than

### IMS access token verification.

To verify token a public key is required. For more info https://wiki.corp.adobe.com/display/ims/IMS+public+key+retrieval
To verify token a public key is required.
In Admin Adobe Ims module was defined path where certificate has to be downloaded from.
By default, in config.xml, these value for production.
For testing reasons, developers can override this value, for example in env.php file like this:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: ApplicationServerNewRelic
description: README.md contents of the module from the source code
---

# ApplicationServerNewRelic

The _ApplicationServerNewRelic_ module enables reporting for performance and reliability data of the Application Server using the New Relic service.

## Prerequisites

To take advantage of this module, you must have a New Relic account and install the New Relic extension on your environment.
102 changes: 102 additions & 0 deletions src/pages/module-reference-beta/module-commerce-backend-uix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: CommerceBackendUix
description: README.md contents of the module from the source code
---

# Adobe CommerceBackendUix module

When the `Magento_CommerceBackendUix` php module is installed on Adobe Commerce it allows out of process extensions to customize the Adobe Commerce Admin Panel.

## Installation

This is a regular in-process PHP commerce in Adobe Commerce. It can be installed using composer, by adding the dependency to the needed version.

To enable the extension in your Adobe Commerce, you can run `bin/magento module:enable Magento_CommerceBackendUix`

## Local development

Sync the repository to start your development. The project is already built and will work directly if you install the extension locally.

### Changes to the PHP code

Any change to the PHP code should be added to the local Adobe Commerce instance and compiled using the following command:

```bash
bin/magento setup:di:compile
```

Make sure to clear the cache if your change affect a static file such as an XML file. You can use the following command:

```bash
bin/magento cache:flush
```

## Local testing

After adding this package to Adobe Commerce, you can enable a local server in the admin panel (navigate to Stores > Settings > Configuration > Adobe Services > Backoffice SDK > Local testing):

- Enable the local server.
- Set the `Base URL` that points to your localhost.
- Set the `IMS Token`. You can use `dummyToken` for example as a token and set it in your `server.js` file.
- Set the `IMS Org Id`. You can use `imsOrg` for example as a token and set it in your `server.js` file.

Make sure that the configuration matches your local server input. If this is enabled, all calls will be automatically redirected to the local server instead of connecting to Adobe's App Registry.

### Example of a `server.js` implementation

```javascript
const http = require('https');
const fs = require('fs');
const url = require('url');

const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};

console.log('Server will listen at : https://localhost ');
http.createServer(options, function (req, res) {
res.writeHead(200, {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*'
});
let json_response;

console.log(url.parse(req.url,true).pathname);
if (url.parse(req.url,true).pathname == "/config") {
json_response = {
baseUrl: "https://localhost:9090/",
apiKey: "apiKey",
auth: {
schema: "Bearer",
imsToken: "dummyToken"
},
imsOrg: "imsOrg",
version: 1,
service: "aem"
}
} else {
json_response = [{
"name": "<applicationName>",
"title": "Test extension",
"description": "No",
"icon": "no",
"publisher": "aQQ6300000008LEGAY",
"endpoints": {
"aem/commerce-admin.page-content.add/1": {
"view": [{
"href": "https://localhost:9080/index.html"
}]
}
},
"xrInfo": {
"supportEmail": "test@adobe.com",
"appId": "4a4c7cf8-bd64-4649-b8ed-662cd0d9c918"
},
"status": "PUBLISHED" }]
}

res.end( JSON.stringify(json_response) );
}).listen(9090);
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: CustomerSegmentGraphQl
description: README.md contents of the module from the source code
---

The Magento_CustomerSegmentGraphQl module provides input information to filter custom attributes for customer and customer address.
5 changes: 3 additions & 2 deletions src/pages/module-reference-beta/module-elasticsearch.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: README.md contents of the module from the source code

Magento_Elasticsearch module allows using the Elasticsearch engine for the product searching capabilities. This module
provides logic used by other modules implementing newer versions of Elasticsearch, this module by itself only adds
support for Elasticsearch v5.
support for Elasticsearch v7 and v8.

The module implements Magento_Search library interfaces.

Expand All @@ -19,7 +19,8 @@ For information about a module installation in Magento 2, see [Enable or disable

## Structure

`Elasticsearch5/` - the directory that contains solutions for providing ElasticSearch 5.x version.
`ElasticAdapter/` - the directory that contains the core files for providing support to ElasticSearch 7.x and 8.x
version.

`SearchAdapter/` - the directory that contains solutions for adapting ElasticSearch query searching.

Expand Down
26 changes: 26 additions & 0 deletions src/pages/module-reference-beta/module-graph-ql-resolver-cache.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: GraphQlResolverCache
description: README.md contents of the module from the source code
---

# Magento_GraphQlResolverCache module

This module provides the ability to granular cache GraphQL resolver results on resolver level.

## Installation

Before installing this module, note that the Magento_GraphQlResolverCache module is dependent on the following modules:

- `Magento_GraphQl`

For information about a module installation in Magento 2, see [Enable or disable modules](https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/tutorials/manage-modules.html).

## Extensibility

Extension developers can interact with the Magento_GraphQlResolverCache module. For more information about the Magento extension mechanism, see [Magento plugins](https://developer.adobe.com/commerce/php/development/components/plugins/).

[The Magento dependency injection mechanism](https://developer.adobe.com/commerce/php/development/components/dependency-injection/) enables you to override the functionality of the Magento_GraphQlCache module.

## Additional information

- [Learn more about GraphQl In Magento 2](https://developer.adobe.com/commerce/webapi/graphql/).
10 changes: 10 additions & 0 deletions src/pages/module-reference-beta/module-import-json-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: ImportJsonApi
description: README.md contents of the module from the source code
---

# ImportJsonApi module

The `ImportJsonApi` module provides service contracts interfaces for uploading JSON sources

**API Endpoint**: {domain}/rest/default/V1/import/json
Loading

0 comments on commit 9359484

Please sign in to comment.