Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Commit 4b447e7

Browse files
Merge branch 'master' into system-reqs-support
2 parents fbeb867 + b9ea38a commit 4b447e7

File tree

6 files changed

+142
-102
lines changed

6 files changed

+142
-102
lines changed

src/_data/whats-new.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,36 @@ description: This page contains recent changes that we think you'd like to know
44
We exclude from this list proofreading, spelling checks, and all minor updates.
55
link: "/whats-new.html"
66
thread: "/whatsnew-feed.xml"
7-
updated: Mon Jan 3 15:38:47 2022
7+
updated: Mon Jan 10 15:38:44 2022
88
entries:
9+
- description: Added new supported versions of Elasticsearch, OpenSearch, Redis, RabbitMQ,
10+
and Varnish to the [system requirements](https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements.html)
11+
for 2.4.4 and 2.4.5
12+
versions: 2.4.4
13+
type: Major Update
14+
date: January 7, 2022
15+
link: https://github.com/magento-commerce/devdocs/pull/2726
16+
merge_commit: 98c3b406f2275faac00f8fa7a24a04bf315ed961
17+
contributor: jeff-matthews
18+
membership: true
19+
labels:
20+
- Major Update
21+
- 2.4.4
22+
- description: Added new [parameterized data fixture](https://devdocs.magento.com/guides/v2.4/test/integration/parameterized_data_fixture.html)
23+
and [data fixture data provider annotation](https://devdocs.magento.com/guides/v2.4/test/integration/annotations/magento-data-fixture-data-provider.html)
24+
documentation for writing tests.
25+
versions: 2.4.x
26+
type: New Topic
27+
date: January 4, 2022
28+
link: https://github.com/magento/devdocs/pull/9273
29+
merge_commit: ad816f5435223fd1bbdf8187f458fe1582193cb0
30+
contributor: thiaramus
31+
membership: true
32+
labels:
33+
- Internal Dev
34+
- New Topic
35+
- 2.4.x
36+
- 'Progress: done'
937
- description: Published [release notes](https://devdocs.magento.com/quality-patches/release-notes.html)
1038
for the 1.1.8 Quality Patches Tool (QPT) package release.
1139
versions: 2.x

src/_includes/upgrade/uct-error-reference.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,11 @@ Custom code errors are raised when custom code is using the Adobe Commerce entry
186186
| 6006 | `jQuery.size()` removed | Use `jQuery.length`. |
187187
| 6007 | `jQuery.trim` is deprecated | Use `String.prototype.trim`. |
188188
| 6008 | (`addButton`, `addContextToolbar`, `addMenuItem`, `addSidebar`, `file_browser_callback`, `insert_button_items`, 'inlite' theme, 'mobile' theme, 'modern' theme) is removed | Update code to be compatible with tinymce5. |
189+
| 6009 | `jQuery.isFunction()` is deprecated | In most cases, it can be replaced by [typeof x === "function"]. |
190+
| 6009 | `jQuery.type()` is deprecated | Replace with an appropriate type check like [typeof x === "function"]. |
191+
| 6009 | `jQuery.isArray()` is deprecated | Use the native Array.isArray method instead. |
192+
| 6009 | `jQuery.parseJSON()` is deprecated | To parse JSON strings, use the native JSON.parse method instead. |
193+
| 6010 | (`jQuery.expr[":"]`, `jQuery.expr.filters`) is deprecated | Use jQuery.expr.pseudos instead. |
189194

190195
## Warnings
191196

src/upgrade-compatibility-tool/developer.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This topic contains information for developers who work closely with the {{site.
1212

1313
## {{site.data.var.ee}} API index integration
1414

15-
{{site.data.var.ee}} API index integration is an internal integration solution that encompasses a set of tools to explore {{site.data.var.ee}} extensions developed by Adobe, {{site.data.var.ee}} Partners, and 3rd-party vendors based on static code analysis.
15+
{{site.data.var.ee}} API index integration is an internal integration solution that encompasses a set of tools to explore {{site.data.var.ee}} extensions developed by Adobe, {{site.data.var.ee}} Partners, and third-party vendors based on static code analysis.
1616

1717
The integration with the {{site.data.var.ee}} API index is done through:
1818

@@ -59,14 +59,14 @@ To run the integration tests, execute one of the following commands:
5959
* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance`
6060
* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests`
6161

62-
## GraphQL unit testing and Eslint code analysis
62+
## GraphQL unit testing and ESLint code analysis
6363

6464
### Requirements
6565

6666
{:.bs-callout-info}
6767
You must have Node.js on your system, see the [documentation](https://nodejs.dev/learn/how-to-install-nodejs).
6868

69-
The following instructions are for MacOS systems:
69+
The following instructions are for macOS systems:
7070

7171
1. Open a terminal and navigate to the root directory of the project.
7272
1. Install project dependencies:
@@ -76,6 +76,7 @@ The following instructions are for MacOS systems:
7676
```
7777

7878
### GraphQL unit testing
79+
7980
The [Jest](https://jestjs.io/docs/en/getting-started.html) framework was used to create these JS unit tests:
8081

8182
The tests are inside `dev/tests/Js`.
@@ -85,15 +86,17 @@ The string schemas for testing are inside `dev/tests/Acceptance/_files/graphql_s
8586
Run unit tests or `jest` as follows:
8687

8788
```bash
88-
npm run unit-test
89+
./node_modules/.bin/jest --verbose --rootDir=dev/tests/Js/
8990
```
90-
### Eslint code analysis
91-
[Eslint](https://eslint.org/docs/user-guide/getting-started) is a static code analysis tool for identifying problematic patterns found in JavaScript code, with the goal of making code more consistent and avoiding bugs.
91+
### ESLint code analysis
92+
93+
[ESLint](https://eslint.org/docs/user-guide/getting-started) is a static code analysis tool for identifying problematic patterns found in JavaScript code, with the goal of making code more consistent and avoiding bugs.
9294

9395
Run `eslint` code analysis as follows:
9496

9597
```bash
9698
npm run eslint -- path/to/analyse
99+
./node_modules/.bin/eslint -c dev/tests/Static/.eslintrc --rulesdir vendor/magento/magento-coding-standard/eslint/rules path/to/analyse
97100
```
98101

99102
## Complexity score
@@ -112,7 +115,7 @@ The {{site.data.var.uct}} calculates this score according to the complexity scor
112115

113116
### Complexity score formula
114117

115-
`Complexity Score = ({{site.data.var.ee}} core errors) * 4 + (Critical errors) * 4 + [(PHP and JS errors)+(GraphQL errors)] * 2 + [(PHP and JS warnings)+(GraphQL warnings)] * 1`
118+
`Complexity Score = (Critical issues * 3) + (Errors * 2) + Warnings`
116119

117120
{:.bs-callout-warning}
118121
These are absolute values.
Loading
Loading

src/upgrade-compatibility-tool/run.md

Lines changed: 98 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@ The `upgrade:check` command runs the {{site.data.var.uct}} and checks an {{site.
2828
{:.bs-callout-warning}
2929
Execute only when the project root (or main) directory is provided.
3030

31-
This command checks for core code changes for that specific {{site.data.var.ee}} instance, as well as all custom code changes installed in it.
32-
33-
However, you can run the `core:code:changes` command to analyze only core code changes for that specific {{site.data.var.ee}} instance. See [Core code changes]({{site.baseurl}}/upgrade-compatibility-tool/run.html#core-code) section for more information.
31+
You can run the `core:code:changes` command to analyze only core code changes for that specific {{site.data.var.ee}} instance. See [Core code changes]({{site.baseurl}}/upgrade-compatibility-tool/run.html#core-code) section for more information.
3432

3533
While you can use the `graphql:compare` command to compare two GraphQL schemas to check for any changes between them. See [GraphQL schema compatibility verification]({{site.baseurl}}/upgrade-compatibility-tool/run.html#graphql-schema-compatibility-verification) section for more information.
3634

@@ -64,40 +62,118 @@ bin/uct upgrade:check --help
6462

6563
Available `--help` options for the `upgrade:check` command:
6664

67-
* `--raw`: Outputs raw information.
68-
* `--format=FORMAT`: Output format (txt, xml, json, md).
69-
* `--short`: Skip arguments description.
70-
* `-o, --output[=OUTPUT]`: Path directory to export the `.json` output file.
71-
* `-m, --module-path[=MODULE-PATH]`: Modules path directory .
72-
* `--schema1[=SCHEMA1]`: Endpoint URL for the existing installation.
73-
* `--schema2[=SCHEMA2]`: Endpoint URL for the vanilla installation.
74-
* `--vanilla-dir`: {{site.data.var.ee}} vanilla installation directory.
65+
* `-m, --module-path[=MODULE-PATH]`: Path of the modules to be analysed
66+
* `-a, --current-version[=CURRENT-VERSION]`: Current {{site.data.var.ee}} version, version of the {{site.data.var.ee}} installation will be used if omitted.
67+
* `-c, --coming-version[=COMING-VERSION]`: Target {{site.data.var.ee}} version, version of the {{site.data.var.ee}} installation will be used if omitted.
68+
* `--json-output-path[=JSON-OUTPUT-PATH]`: Path of the file where the output will be exported in json format
69+
* `--html-output-path[=HTML-OUTPUT-PATH]`: Path of the file where the output will be exported in HTML format
7570
* `--min-issue-level`: Minimum issue level to show in report. Default is [WARNING].
7671
* `--ignore-current-version-compatibility-issues`: Use this option when you do not want to include known critical issues, errors and warnings in your {{site.data.var.uct}} report.
77-
* `-h, --help`: Display help for that specific command. If no command is provided, `list` command is the default result.
78-
* `-q, --quiet`: Do not outputs any message while executing the command.
79-
* `-v, --version`: Display app version.
72+
* `--context=CONTEXT`: Execution context. This option is for integration purposes and does not affect the execution result.
73+
* `-h, --help`: Display help for the given command. If no command is provided, `list` command is the default result.
74+
* `-q, --quiet`: Do not output any message while executing the command.
75+
* `-v, --version`: Display application version.
8076
* `--ansi, --no-ansi`: Enable ANSI output.
8177
* `-n, --no-interaction`: Do not ask any interactive question while executing the command.
8278
* `-v, --vv, --vvv, --verbose`: Increase verbosity of output communications. 1 for normal output, 2 for verbose output, and 3 for DEBUG output.
8379

8480
### Output
8581

86-
The {{site.data.var.uct}} exports a `json` file report identifying the affected code or modules, and the severity and description of the problem for every issue encountered.
82+
As a result of the analysis performed, the {{site.data.var.uct}} exports a report that contains a list of issues for each file specifying its severity, error code and error description.
83+
84+
See the example below:
85+
86+
```terminal
87+
File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php
88+
------------------------------------------------------------------
89+
90+
* [WARNING][1131] Line 23: Extending from class 'Magento\Framework\App\Action\Action' that is @deprecated on version '2.4.2'
91+
* [ERROR][1429] Line 103: Call method 'Magento\Framework\Api\SearchCriteriaBuilder::addFilters' that is non API on version '2.4.2'
92+
* [CRITICAL][1110] Line 60: Instantiating class/interface 'Magento\Catalog\Model\ProductRepository' that does not exist on version '2.4.2'
93+
```
94+
95+
Check the [Error message reference]({{site.baseurl}}/upgrade-compatibility-tool/errors.html) topic for more information.
96+
97+
The report also includes a detailed summary that shows:
98+
99+
* *Current version*: the version currently installed.
100+
* *Target Version*: the version you want to upgrade to.
101+
* *Execution time*: the amount of time the analysis took to build the report (mm:ss).
102+
* *Modules that require update*: the percentage of modules that contain compatibility issues and require update.
103+
* *Files that require update*: the percentage of files that contain compatibility issues and require update.
104+
* *Total critical errors*: the number of critical errors found.
105+
* *Total errors*: the number of errors found.
106+
* *Total warnings*: the number of warnings found.
107+
108+
See the example below:
109+
110+
```terminal
111+
----------------------------- ------------------
112+
Current version 2.4.2
113+
Target version 2.4.3
114+
Execution time 1m:10s
115+
Modules that require update 78.33% (47/60)
116+
Files that require update 21.62% (115/532)
117+
Total critical issues 35
118+
Total errors 201
119+
Total warnings 103
120+
----------------------------- ------------------
121+
```
122+
123+
{:.bs-callout-warning}
124+
By default, the {{site.data.var.uct}} exports the report into 2 different formats: `json` and `html`.
125+
126+
#### JSON
127+
128+
The JSON file contains exactly the same information shown on output:
129+
130+
* List of the identified issues.
131+
* Summary of the analysis.
132+
133+
For each encountered issue, the report provides detailed information such as the severity and description of the problem.
134+
135+
{:.bs-callout-info}
136+
The default path for the output folder is `var/output/[TIME]-results.json`.
87137

88138
To export this report into a different output folder, run:
89139

90140
```bash
91-
bin/uct upgrade:check <dir> --output[=OUTPUT]
141+
bin/uct upgrade:check <dir> --json-output-path[=JSON-OUTPUT-PATH]
92142
```
93143

94144
Where arguments are as follows:
95145

96146
* `<dir>`: {{site.data.var.ee}} installation directory.
97-
* `[=OUTPUT]`: Path directory to export the `.json` output file.
147+
* `[=JSON-OUTPUT-PATH]`: Path directory to export the `.json` output file.
148+
149+
#### HTML
150+
151+
The HTML file will also contain the list of identified issues and the summary of the analysis. But on top of this, it will include 4 different charts that makes the report more visually understandable:
152+
153+
* *Modules by issue severity*: shows a severity distribution by modules.
154+
* *Files by issue severity*: shows a severity distribution by files.
155+
* *Modules ordered by total number of issues*: shows the 10 most compromised modules taking into account warnings, errors and critical errors.
156+
* *Modules with relative sizes and issues*: The more files a module contains, the bigger its circle. The more issues a module has, the more red its circle appears.
157+
158+
These charts will allow you to identify the parts are most compromised and the ones that require more work to perform the upgrade to a later version with just a glance.
159+
160+
![HTML report - Summary](img/uct-html-summary.png){:height="80%" width="80%"}
161+
162+
![HTML report - Details](img/uct-html-details.png){:height="80%" width="80%"}
98163

99164
{:.bs-callout-info}
100-
The default path for the output folder is `var/output/[TIME]-results.json`.
165+
The default path for the output folder is `var/output/[TIME]-results.html`.
166+
167+
To export this report into a different output folder run:
168+
169+
```bash
170+
bin/uct upgrade:check <dir> --html-output-path[=HTML-OUTPUT-PATH]
171+
```
172+
173+
Where arguments are as follows:
174+
175+
* `<dir>`: {{site.data.var.ee}} installation directory.
176+
* `[=HTML-OUTPUT-PATH]`: Path directory to export the `.html` output file.
101177

102178
### Use the `--ignore-current-version-compatibility-issues` option
103179

@@ -108,7 +184,7 @@ bin/uct upgrade:check --ignore-current-version-compatibility-issues <dir>
108184
```
109185

110186
{:.bs-callout-info}
111-
This applies only to PHP API validations. Core code validations are compared only with the same version.
187+
This applies only to PHP API validations.
112188

113189
### Vanilla installation
114190

@@ -222,81 +298,9 @@ Available `--help` options for the `graphql:compare` command:
222298

223299
See [Developer information]({{site.baseurl}}/upgrade-compatibility-tool/developer.html) for more information.
224300

225-
### Full report
226-
227-
You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you must provide at least the following options:
228-
229-
* `--schema1=SCHEMA1`: Endpoint URL for the existing installation.
230-
* `--schema2=SCHEMA2`: Endpoint URL for the vanilla installation.
231-
* `<dir>`: {{site.data.var.ee}} installation directory.
232-
233-
> Example:
234-
235-
```bash
236-
bin/uct upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.3 <dir>
237-
```
238-
239-
## Example with a list of critical issues, errors, and warnings
240-
241-
```terminal
242-
File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php
243-
------------------------------------------------------------------
244-
245-
* [WARNING][1131] Line 23: Extending from class 'Magento\Framework\App\Action\Action' that is @deprecated on version '2.4.2'
246-
* [ERROR][1429] Line 103: Call method 'Magento\Framework\Api\SearchCriteriaBuilder::addFilters' that is non API on version '2.4.2'
247-
* [CRITICAL][1110] Line 60: Instantiating class/interface 'Magento\Catalog\Model\ProductRepository' that does not exist on version '2.4.2'
248-
```
249-
250-
The report also includes a detailed summary:
251-
252-
* *Installed Version*: the version currently installed.
253-
* *{{site.data.var.ee}} Version*: the version you want to upgrade to.
254-
* *Running time*: amount of time the analysis took to build the report (mm:ss).
255-
* *{{site.data.var.ee}} core checked modules*: amount of core checked modules.
256-
* *{{site.data.var.ee}} core modified files*: amount of core modified file.
257-
* *{{site.data.var.ee}} % core modified files*: percentage of core modified files.
258-
* *{{site.data.var.ee}} checked modules*: amount of checked modules.
259-
* *Compatibility errors found*: amount of compatibility errors.
260-
* *Compatibility warnings found*: amount of compatibility warnings.
261-
* *Compatibility critical errors found*: amount of compatibility critical errors.
262-
* *GraphQL critical errors found*: amount of GraphQL critical errors.
263-
* *GraphQL warnings found*: amount of GraphQL warnings.
264-
* *Total errors found*: total amount of errors found.
265-
* *Total warnings found*: total amount of warnings found.
266-
* *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one.
267-
268-
The lower this number is, the easier is to perform the upgrade.
269-
270-
See the [Error message reference]({{site.baseurl}}/upgrade-compatibility-tool/errors.html) topic for more information.
271-
272-
## Example of a general summary report
273-
274-
```terminal
275-
------------------------------------- -------
276-
Installed version 2.4.2
277-
{{site.data.var.ee}} version 2.4.3
278-
Running time 0m:48s
279-
Core files checked 0
280-
Core files modified 0
281-
% of files modified 0.00
282-
Checked modules 14
283-
Compatibility errors found 109
284-
Compatibility warnings found 0
285-
Compatibility critical errors found 0
286-
GraphQL critical errors found 0
287-
GraphQL warnings found 0
288-
Total errors found 109
289-
Total warnings found 0
290-
Total critical errors found 0
291-
Complexity score 218
292-
------------------------------------- -------
293-
```
294-
295-
Regarding the GraphQL schema compatibility comparison, the output would be very similar:
296-
297-
## Run {{site.data.var.uct}} via PHPstorm plugin
301+
## Run {{site.data.var.uct}} via PhpStorm plugin
298302

299-
You can run the {{site.data.var.uct}} with a run configuration via the PHPstorm plugin. See the [Upgrade Compatibility Tool Run Configuration]({{site.baseurl}}/guides/v2.3/ext-best-practices/phpstorm/uct-run-configuration.html) topic for more information.
303+
You can run the {{site.data.var.uct}} with a run configuration via the PhpStorm plugin. See the [{{site.data.var.uct}} Run Configuration]({{site.baseurl}}/guides/v2.3/ext-best-practices/phpstorm/uct-run-configuration.html) topic for more information.
300304

301305
## Troubleshooting
302306

@@ -311,7 +315,7 @@ If after running this command:
311315
bin/uct upgrade:check INSTALLATION_DIR -c M2_VERSION
312316
```
313317

314-
The only output is `Upgrade compatibility tool`:
318+
The only output is `{{site.data.var.uct}}`:
315319

316320
```terminal
317321
bin/uct upgrade:check /var/www/project/magento/ -c 2.4.1

0 commit comments

Comments
 (0)