Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/vendor/magento/magento2-functional-testing-framework/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/magento/magento2-functional-testing-framework/CHANGELOG.md
Magento Functional Testing Framework Changelog
================================================

4.3.5
---------
### Fixes
* Fixed ANSI Color codes getting appended to output of bin/magento command.

4.3.4
---------
### Fixes
* Resolving an issue when test is marked as failed due to Suite after section failure

4.3.3
---------
### Enhancements
* Enhance the details in the testgroupmembership.txt file.

### Fixes
* Fixed MFTF helpers & actionGroups allow duplicate argument names to be passed.

4.3.2
---------
### Enhancements
* 'bootstrap' argument added to indicate that no additional background processes will be run and the jobs complete in the foreground process.

### Fixes
* Fixed serialization of weakmap exception thrown for every internal exception after codeception upgrade.
* Fixed suites no longer separated by MFTF Suite.

4.3.1
---------
### Fixes
* Fixed cannot bind closure to scope of internal class Exception.
* Fixed broken Mftf doctor command.

4.3.0
---------
### Enhancements
* Bumped `allure-framework/allure-codeception` dependency to `^2.1`.
* Bumped `codeception/codeception` to `^5.0` and upgraded its dependent packages.
* Replaced Yandex methods with Qameta related methods.
* Created methods for modifying step name and for formatting allure.

### Fixes
* Fixed all issues and exceptions thrown after codeception upgrade.
* Removed dependency of MagentoAllureAdapter in codeception.yml file.

4.2.1
---------
### Fixes

* Updated constraint for php-webdriver to restrict pulling versions above 1.14.0

4.2.0
---------
### Fixes

* Bumped `allure-framework/allure-codeception` dependency to `^1.5` to fix downstream dependency issues in Magento.


4.1.0
---------
### Enhancements

* Dropped Support for PHP 8.0 and disabled PR checks for PHP 8.0
* Allow MFTF generate minimum possible groups runnable by codeception

### Fixes

* Fixed Allure report not generating issue
* MFTF displays an appropriate message for unable to connect to Selenium server

4.0.1
---------
### Fixes

* Fixed HTML files and images not attached to allure report issue

4.0.0
---------
### Enhancements

* Added Supported for PHP 8.2 and enabled PR checks for PHP 8.2
* Dropped Support for PHP 7.4 and disabled PR checks for PHP 7.4
* Upgraded allure-framework/allure-phpunit to its latest version

### Fixes

* MFTF deprecation errors fixes
* Composer downgraded from 2.4 to 2.2 due to lamina issue

3.12.0
---------

### Fixes
* Removed obsolete docs/directories

3.11.1
---------

### Fixes

* Removed environment variable MAGENTO_ADMIN_PASSWORD
* Fixed WaitForElementClickable action cannot be used more than once

3.11.0
---------
### Enhancements
* Composer updated to 2.4.2 version
* Static check for duplicate step keys in action group


### Fixes

* Fixed incorrect MFTF test dependencies path
* Removed PHP 7.3 build check from MFTF PR build as PHP 7.3 is no longer supported
* Fixed fatal error when running generate:tests --config parallel -g


3.10.3
---------

### Fixes

* Chrome settings for potential cost reductions

3.10.2
---------

### Fixes

* Fixed admin credentials being output to console in WebAPIAuth
* Fixed links in docs


3.10.1
---------

### Fixes

* Fixed allure reports not generating for composer builds.
* Fixed all MFTF scheduled build not generating allure report.

3.10.0
---------

### Enhancements
* Updated symfony/console and symfony/process constraints to support latest Symfony LTS (5.4v)
* Updated Symfony related code to support latest Symfony LTS (5.4v).
* Implement rapid times X clicks on UI element in MFTF
* Log MFTF test dependencies
* Unused entity static check
* Updated docs for new location of password
* Remove any remaining usages of Travis CI from MFTF Repo
* Unit tests for GenerateTestFailedCommandTest and RunTestFailedCommandTest

### Fixes
* Hashicorp Vault PHP lib being instantiated with wrong params

3.9.0
---------

### Fixes

* Fixed invalid UTF-8 chars returned from magentoCLI that breaks allure reporting
* Fixed MFTF tests failure without access to S3
* Removed sub heading Parameters from allure report
* Removed truncation of parameters on running MFTF run:test

### Enhancements
* MFTF group summary file
* Static check to detect unused entities
* Ability To Run MFTF JSON Configuration From File
* Test generation error on invalid entities
* Update MFTF to not pass NULL into non-nullable arguments
* Static check for created data outside action group
* Deleted the unused images
* CreateData's <field> to allow uniqueness attribute
* Set proper weight for action <startMessageQueue> for config parallel generation
* Test before/after comments in test/allure
* Throw error message if key value pair is not mapped properly in .credentials file

3.8.0
---------

### Updates:
* Allow MFTF Helpers to Return Data to MFTF Test
* Improve parallel grouping and fix an issue with unbalanced groups
* Added new action WaitForElementClickable

3.7.3
---------

### Updates:
* Fix encoding issue when secret key contains plus sign
* Adding pagebuilder file upload spinner to loadingMaskLocators


3.7.2
---------

### Bug fix:
* Failed tests weren't logged correctly to `failed` file which caused a failure during run:failed command execution


3.7.1
---------

### GitHub Pull Requests:
* [#873](https://github.com/magento/magento2-functional-testing-framework/pull/873) -- Add check for isBuiltin method (for PHP 8 compatibility) by @karyna-tsymbal-atwix

### Updates
* Moved `hoa/console` to suggest section to avoid issues with PHP8.0
* Update `vlucas/phpdotenv` to the latest versions
* `<seeInCurrentUrl />` encodes special character which caused test failed
* Add filter for groups, now we can generate tests with specific group annotation
* Seprated a `run:failed` command to `generate:failed` and `run:failed`
  * `run:failed` command can execute failed tests without need to regenerate failed tests
* Deleting MagentoPwaWebDriver file and moving it to Pwa_tests repo


3.7.0
---------

### GitHub Pull Requests:

* [#842](https://github.com/magento/magento2-functional-testing-framework/pull/842) -- Eliminated AspectMock from FileStorageTest
* [#843](https://github.com/magento/magento2-functional-testing-framework/pull/843) -- Eliminated AspectMock from ObjectExtensionUtilTest
* [#844](https://github.com/magento/magento2-functional-testing-framework/pull/844) -- Eliminated AspectMock from TestObjectHandlerTest
* [#845](https://github.com/magento/magento2-functional-testing-framework/pull/845) -- Eliminated AspectMock from SuiteObjectHandlerTest
* [#846](https://github.com/magento/magento2-functional-testing-framework/pull/846) -- Eliminated AspectMock from ActionGroupObjectTest
* [#847](https://github.com/magento/magento2-functional-testing-framework/pull/847) -- Removed not used mocked object
* [#848](https://github.com/magento/magento2-functional-testing-framework/pull/848) -- Eliminated AspectMock usage from ActionObjectTest
* [#850](https://github.com/magento/magento2-functional-testing-framework/pull/850) -- Eliminated AspectMock from TestGeneratorTest
* [#852](https://github.com/magento/magento2-functional-testing-framework/pull/852) -- Eliminated AspectMock from ModuleResolverTest
* [#853](https://github.com/magento/magento2-functional-testing-framework/pull/853) -- Eliminated AspectMock from PersistedObjectHandlerTest
* [#855](https://github.com/magento/magento2-functional-testing-framework/pull/855) -- Eliminated AspectMock from OperationDataArrayResolverTest
* [#856](https://github.com/magento/magento2-functional-testing-framework/pull/856) -- Eliminated AspectMock from DataExtensionUtilTest
* [#857](https://github.com/magento/magento2-functional-testing-framework/pull/857) -- Eliminated AspectMock from ParallelGroupSorterTest
* [#859](https://github.com/magento/magento2-functional-testing-framework/pull/859) -- Eliminated AspectMock usage from SuiteGeneratorTest
* [#861](https://github.com/magento/magento2-functional-testing-framework/pull/861) -- Eliminated aspect mock from mock module resolver builder
* [#862](https://github.com/magento/magento2-functional-testing-framework/pull/862) -- Eliminated AspectMock where it was imported but never used
* [#863](https://github.com/magento/magento2-functional-testing-framework/pull/863) -- Eliminated AspectMock from MagentoTestCase
* [#864](https://github.com/magento/magento2-functional-testing-framework/pull/864) -- Eliminated AspectMock usage from TestLoggingUtil
* [#865](https://github.com/magento/magento2-functional-testing-framework/pull/865) -- Eliminated aspect mock from object handler uti
* [#866](https://github.com/magento/magento2-functional-testing-framework/pull/866) -- Added access/secret key config parameters
* [#867](https://github.com/magento/magento2-functional-testing-framework/pull/867) -- Added empty query and fragment testing to the UrlFormatterTest
* [#868](https://github.com/magento/magento2-functional-testing-framework/pull/868) -- PHP 8 support - fix code related to changes in CURL
* [#869](https://github.com/magento/magento2-functional-testing-framework/pull/869) -- The squizlabs/php_codesniffer composer dependency has been updated to version 3.6.0
* [#870](https://github.com/magento/magento2-functional-testing-framework/pull/870) -- Removing the csharpru/vault-php-guzzle6-transport not needed dependency
* [#871](https://github.com/magento/magento2-functional-testing-framework/pull/871) -- Changed loose comparisons into strict
* [#872](https://github.com/magento/magento2-functional-testing-framework/pull/872) -- Fix broken MFTF tests

  3.6.1
---------

### Enhancements

* Maintainability
  * Updated allure dependencies to pull package from new repo `allure-framework/allure-php-api`.

3.6.0
---------

### Enhancements

* Maintainability
  * Updated composer dependencies to be PHP 8 compatible with the except of codeception/aspect-mock.

### GitHub Pull Requests:

* [#830](https://github.com/magento/magento2-functional-testing-framework/pull/830) -- Add ability to configure multiple OTPs
* [#832](https://github.com/magento/magento2-functional-testing-framework/pull/832) -- Updated monolog/monolog to ^2.2
* [#833](https://github.com/magento/magento2-functional-testing-framework/pull/833) -- Removed usage of AspectMock in FilesystemTest
* [#834](https://github.com/magento/magento2-functional-testing-framework/pull/834) -- Removed usage of AspectMock in AnnotationsCheckTest
* [#838](https://github.com/magento/magento2-functional-testing-framework/pull/838) -- Removed usage of AspectMock in DeprecatedEntityUsageCheckTest
* [#841](https://github.com/magento/magento2-functional-testing-framework/pull/841) -- Removed usage of AspectMock in GenerationErrorHandlerTest
* [#854](https://github.com/magento/magento2-functional-testing-framework/pull/854) -- Updated "monolog" to the latest version 2.3.1

3.5.1
---------

### GitHub Pull Requests:

* [#825](https://github.com/magento/magento2-functional-testing-framework/pull/825) -- Update allure-codeception in order to support php8

3.5.0
---------

### Enhancements

* Customizability
    * Added new `config:parallel --groups` option in `generate:tests` command to generate and split tests/suites into required number of execution time balanced groups.

### Fixes

* Added --no-sandbox chrome option in functional suite configuration.

### GitHub Pull Requests:

* [#824](https://github.com/magento/magento2-functional-testing-framework/pull/824) -- Fix typo in introduction.md
* [#816](https://github.com/magento/magento2-functional-testing-framework/pull/816) -- Update mftf.md
* [#812](https://github.com/magento/magento2-functional-testing-framework/pull/812) -- Added examples and modified url links in assertions.md

3.4.0
---------

### Enhancements

* Maintainability
  * Added support for composer 2.

3.3.0
---------

### Enhancements

* Usability
  * [#817](https://github.com/magento/magento2-functional-testing-framework/pull/817) -- Add support for admin WebAPI token refresh.

* Maintainability
  * [#814](https://github.com/magento/magento2-functional-testing-framework/pull/814) -- Update dependencies in order to make mftf php8 compatible, fix running phpcpd
  * [#815](https://github.com/magento/magento2-functional-testing-framework/pull/815) -- Upgrade csharpru/vault-php to 4.1

### Fixes

* Fixed test generation error in a split suite group (--config=parallel) to allow generation of subsequent groups.
* Fixed an issue where test extends from a skipped parent is not properly skipped.

3.2.1
---------

### Fixes

* Fixed issue that causes Magento bin/magento to fail when xdebug 3 is used. [GitHub Issue #808](https://github.com/magento/magento2-functional-testing-framework/issues/808)

### GitHub Pull Requests:

  * [#806](https://github.com/magento/magento2-functional-testing-framework/pull/806) -- Enable an extending entity to overwrite a requiredEntity binding
  * [#809](https://github.com/magento/magento2-functional-testing-framework/pull/809) -- Add MFTF documentation for AWS S3

3.2.0
---------

### Enhancements

* Usability
  * Introduced error tolerance during test and suite generation. See the [command page](./docs/commands/mftf.md#error-tolerance-during-generation) for details.
    Addressed github issue [#276](https://github.com/magento/magento2-functional-testing-framework/issues/276).

* Maintainability
  * Updated annotation static-check to check all required annotations.

### Fixes

* Fixed issue where CUSTOM_MODULE_PATHS env variable does not use all paths.
* Fixed issue where run:test only records the last failed test in `failed` file.

3.1.1
---------

* Traceability
  * Removed `travis.yml` and replaced with `.github/workflows/main.yml`

### Fixes
Fixed issue with XPath locators for waits in MagentoPwaWebDriver.

3.1.0
---------

### Enhancements

* Customizability
  * Introduced the new `return` action that allows action groups to return a value. See the [actions page](./docs/test/actions.md#return) for details.
  * Introduced new MFTF command that invokes `vendor/bin/codecept run`. See the [mftf page](./docs/commands/mftf.md#codeceptrun) for details.

* Usability
  * Introduced new action `pause`, to invoke codeception interactive pause for debugging during test execution. See the [Interactive Pause](./docs/interactive-pause.md) page for details.
  * Introduced a new `.env` configuration option `ENABLE_PAUSE`, to enable the new pause feature.

* Maintainability
  * Added a new static check that checks for the usage of the `pause` action. See the [command page](./docs/commands/mftf.md#static-checks) for details.

* Modularity
  * MFTF now supports the use of actions from multiple modules within suites.

* Traceability
  * A deprecation notice is now added at test execution time for deprecated metadata usage.

### Fixes

* Fixed issue with suite precondition failure for `createData` with required entity.

### GitHub Issues/Pull Requests:

  * [#547](https://github.com/magento/magento2-functional-testing-framework/pull/547) -- Fix invalid behavior of MAGENTO_BACKEND_BASE_URL
  * [#742](https://github.com/magento/magento2-functional-testing-framework/pull/742) -- Fix Waits In MagentoPwaWebDriver
  * [#750](https://github.com/magento/magento2-functional-testing-framework/pull/750) -- Docs: Outlining the difference between Allure severity levels
  * [#683](https://github.com/magento/magento2-functional-testing-framework/pull/683) -- Docs: Renamed sample test name with the correct one
  * [#691](https://github.com/magento/magento2-functional-testing-framework/pull/691) -- Docs: Branch name updates
  * [#678](https://github.com/magento/magento2-functional-testing-framework/pull/678) -- Docs: Command added to modify the web server rewrites configuration
  * [#745](https://github.com/magento/magento2-functional-testing-framework/pull/745) -- Docs: Remove invalid sample test name

3.0.0
---------

### Enhancements

* Customizability
    * Introduced MFTF helpers `<helper>` to create custom actions outside of MFTF.[See custom-helpers page for details](./docs/custom-helpers.md)
    * Removed deprecated actions `<executeSelenium>` and `<performOn>`.
    * `<group value="skip"/>` no longer skips a test. Instead, the test is added to the `skip` group.

* Maintainability
    * Added support for PHP 7.4.
    * Added support for PHPUnit 9.
    * Dropped support for PHP 7.0, 7.1, 7.2.
    * Schema updates for test entities to only allow single entity per file except Data and Metadata.
    * Support for sub-folders in test modules.
    * Removed support to read test entities from `<magento>dev/tests/acceptance/tests/functional/Magento/FunctionalTest`.
    * Removed file attribute for `<module>` in suiteSchema.
    * Removed action `pauseExecution` and added `pause`. [See actions page for details](./docs/test/actions.md#pause)
    * Removed action `formatMoney` and added `formatCurrency`. [See actions page for details](./docs/test/actions.md#formatcurrency)
    * Improved assertion actions to support PHPUnit 9 changes. [See assertions page for details](./docs/test/assertions.md)
        *  Added new actions: `assertEqualsWithDelta`, `assertNotEqualsWithDelta`, `assertEqualsCanonicalizing`, `assertNotEqualsCanonicalizing`, `assertEqualsIgnoringCase`, `assertNotEqualsIgnoringCase`.
        *  Added new actions: `assertStringContainsString`, `assertStringNotContainsString`, `assertStringContainsStringIgnoringCase`, `assertStringNotContainsStringIgnoringCase` for string haystacks.
        *  Removed actions: `assertInternalType`, `assertNotInternalType`, `assertArraySubset`.
        *  Removed delta option from `assertEquals` and `assertNotEquals`.
    * Added static check `deprecatedEntityUsage` that checks and reports references to deprecated test entities.
    * Added static check `annotations` that checks and reports missing annotations in tests.
    * Updated `bin/mftf static-checks` command to allow executing static-checks defined in `staticRuleSet.json` by default. [See command page for details](./docs/commands/mftf.md#static-checks)
    * Added support for Two-Factor Authentication (2FA). [See configure-2fa page for details](./docs/configure-2fa.md)
    * Added new upgrade script to remove unused arguments from action groups.
    * `mftf.log` no longer includes notices and warnings at test execution time.
    * Added unhandledPromptBehavior driver capability for Chrome 75+ support.
    * Added the Chrome option `--ignore-certificate-errors` to `functional.suite.dist.yml`.

* Traceability
    * Removed `--debug` option `NONE` to disallow ability to turn off schema validation.
    * Notices added for test entity naming convention violations.
    * Metadata file names changed to `*Meta.xml`.
    * Introduced new `.env` configuration `VERBOSE_ARTIFACTS` to toggle saving attachments in Allure. [See configuration page for details](./docs/configuration.md)
    * Changed the `bin/mftf static-checks` error file directory from the current working directory to `TESTS_BP/tests/_output/static-results/`.

* Readability
    * Support only nested assertion syntax [See assertions page for details](./docs/test/assertions.md).
    * Documented [3.0.0 Backward Incompatible Changes](./docs/backward-incompatible-changes.md).
    * Removed blacklist/whitelist terminology in MFTF.

* Upgrade scripts added to upgrade tests to MFTF major version requirements. See upgrade instructions below.
* Bumped dependencies to support PHP/PHPUnit upgrade.

### Upgrade Instructions

* Run `bin/mftf reset --hard` to remove old generated configurations.
* Run `bin/mftf build:project` to generate new configurations.
* Run `bin/mftf upgrade:tests`. [See command page for details](./docs/commands/mftf.md#upgradetests).
* After running the above command, some tests may need manually updates:
    * Remove all occurrences of `<executeInSelenium>` and `<performOn>`.
    * Remove all occurrences of `<module file=""/>` from any `<suite>`s.
    * Ensure all `<assert*>` actions in your tests have a valid schema.
* Lastly, try to generate all tests. Tests should all be generated as a result of the upgrades.
    * If not, the most likely issue will be a changed XML schema. Check error messaging and search your codebase for the attributes listed.

### Fixes

* Throw exception during generation when leaving out .url for `amOnPage`.
* `request_timeout` and `connection_timeout` added to functional.suite.yml.dist.
* Fixed `ModuleResolver` to resolve test modules moved out of deprecated path.
* Fixed issue of resolving arguments of type `entity` in action groups within a custom helper.
* Fixed reporting issue in output file for `testDependencies` static check.
* Fixed a bug in `actionGroupArguments` static check when action group filename is missing `ActionGroup`.
* Fixed issue of running suites under root `_suite` directory in Standalone MFTF.
* Fixed issue with custom helper usage in suites.
* Fixed issue with decryption of secrets during data entity creation.
* Fixed issue with merging of `array` items in data entity.
* Fixed issue where an extended data entity would not merge array items. Array items should merge properly now.
* Fixed issue where Chrome remains running after MFTF suite finishes.
* Fixed javascript error seen on Chrome 83 for dragAndDrop action.
* Fixed allure issue when `WebDriverCurlException` is encountered in `afterStep`.

### GitHub Issues/Pull Requests

* [#567](https://github.com/magento/magento2-functional-testing-framework/pull/567) -- log attachments for failed requests.

### Demo Video links

* [MFTF 3.0.0 RC1](https://www.youtube.com/watch?v=z0ZaZCmnw-A&t=2s)
* [MFTF 3.0.0 RC2](https://www.youtube.com/watch?v=BJOQAw6dX5o)
* [MFTF 3.0.0 RC3](https://www.youtube.com/watch?v=scLb7pi8pR0)

2.6.4
-----

### Fixes
* added dependency to packages MFTF used but never specified in composer.json

2.6.3
-----

### New Feature
* `--filter` option was added to `bin/mftf generate:tests` command. For more details please go to https://devdocs.magento.com/mftf/docs/commands/mftf.html#generatetests

2.6.2
-----

### Fixes
* Fixed float conversion error in test generation

2.6.1
-----

* Usability
    * Introduced new `.env` configuration `ELASTICSEARCH_VERSION` to support multiple elasticsearch versions
* Maintainability
    * Added deprecation notices for upcoming MFTF 3.0.0
* Replaced facebook webdriver with php-webdriver to support PHP version updates

2.6.0
-----

* Usability
    * `magentoCron` action added by community maintainer @lbajsarowicz
* Traceability
    * MFTF generated cest files are fully compatible for Codeception `dry-run`.
* Modularity
    * `mftf generate:tests` and `mftf run:test` commands now accept suite scoped test names in format `[suitename:testname]...`.
* Maintainability
    * Support `deprecated` syntax for the following test entities:
        * Test
        * Action Group
        * Data
        * Metadata
        * Page
        * Section
        * Section Element
            * See DevDocs for details
    * Improved `mftf static-checks` command to allow executing all or specific static checks.
    * Added a new static check that checks and reports unused arguments in action groups.
* Customizability
    * AWS Secrets Manager has been added as an additional credential storage.
        * See DevDocs for details
* Bumped dependencies to latest possible versions

### Fixes
* Fixed missing before, after, failed steps in cest file when generating tests with `--allow-skipped` option.
* Fixed suites and tests display issue in Allure `Suites` page after `mftf run:group` command.
* `createData` action now shows a meaningful error message at runtime when the entity does not exist.

### GitHub Issues/Pull requests:
* [#537](https://github.com/magento/magento2-functional-testing-framework/pull/537) -- Refactor of TestGenerator class
* [#538](https://github.com/magento/magento2-functional-testing-framework/pull/538) -- FEATURE: <magentoCron> command to execute Cron Jobs

2.5.4
-----
[Demo Video](https://www.youtube.com/watch?v=tguvkw1HWKg)
* Traceability
    * Introduced new `mftf doctor` command
        * Command verifies and troubleshoots some configuration steps required for running tests
        * Please see DevDocs for more details
    * `<*Data>` actions now contain `API Endpoint` and `Request Header` artifacts.
    * Introduced new `.env` configurations `ENABLE_BROWSER_LOG` and `BROWSER_LOG_BLOCKLIST`
        * Configuration enables allure artifacts for browser log entries if they are present after the step.
        * Blocklist filters out logs from specific sources.
* Customizability
    * Introduced `timeout=""` to `magentoCLI` actions.

### GitHub Issues/Pull requests:
* [#317](https://github.com/magento/magento2-functional-testing-framework/pull/317) -- RetrieveEntityField generation does not consider ActionGroup as part of namespace
* [#433](https://github.com/magento/magento2-functional-testing-framework/pull/433) -- Add possibility to include multiple non primitive types in an array

### Fixes
* A test now contains attachments for every exception encountered in the test (fix for a test `<after>` exception overriding all test exceptions).
* Fixed hard requirement for `MAGENTO_BASE_URL` to contain a leading `/`.
* `magentoCLI` actions for `config:sensitive:set` no longer obscure CLI output.
* `WAIT_TIMEOUT` in the `.env` now correctly sets `pageload_timeout` configuration.
* Fixed an issue where `run:group` could not consolidate a `group` that had tests in and out of `<suite>`s.

2.5.3
-----

### Fixes
* Fixed an issue where `createData` actions would cause an exception when used in `<suite>` hooks.

2.5.2
-----

* Traceability
    * Allure report enhanced to display file path of tests.
* Maintainability
    * Added support to read MFTF test entities from `<magento>dev/tests/acceptance/tests/functional/<vendor_name>/<module_name>/*`
    * Removed path deprecation warning from `ModuleResolver`.
    * Refactored problem methods to reduce cyclomatic complexity.

### Fixes
* Fixed issue with builds due to absence of AcceptanceTester class.

### GitHub Issues/Pull requests:
* [#348](https://github.com/magento/magento2-functional-testing-framework/pull/348) -- executeInSelenium command fixed to prevent escaping double quotes.

2.5.1
-----

### Fixes
* Fixed missing `use` statement in the generate:suite command

### GitHub Issues
* [#471](https://github.com/magento/magento2-functional-testing-framework/issues/471) -- PHP Fatal error: MftfApplicationConfig not found in GenerateSuiteCommand

2.5.0
-----
* Traceability
    * Allure output has been enhanced to contain new test artifacts created and used per MFTF step:
        * `makeScreenshot` will contain an attachment under its Allure step.
        * `seeInCurrentUrl` and all other `Url` asserts now contain an attachment with the expects vs actual comparison.
        * `createData` and all other `Data` actions now contain attachments with `Request Body` and `Response Body`.
* Modularity
    * Added a new `mftf run:manifest` command to run testManifest files generated by `generate:tests`.
        * See DevDocs for details
    * `mftf generate/run:test` commands now implicitly generates the `suite` the test exists in.
        * If a test exists in multiple suites, it will generate it in all suite contexts.
    * `mftf run:test <testName>` will now only run the exact test provided, regardless of what is generated.
* Maintainability
    * Added an `--allow-skipped` flag that allows MFTF to ignore the `<skip>` annotation. This was added to the following commands:
        * `generate:test`
        * `run:test`
        * `run:group`
        * `run:failed`
* Customizability
    * `<entity>` defined in data.xml can now reference other `<entity>` directly.
        * See DevDocs for details
    * Added vault as an alternative credential storage.
        * See DevDocs for details

### Fixes
* Fixed an issue where `grab` action variables were not substituting correctly when used as an element parameter.
* Framework will not throw a descriptive error when referencing a `$persisted.field$` that does not exist.
* MFTF test materials that `extends=""` itself will no longer cause infinite recursion.
* Fixed an issue where a test could not reference a `$data.field$` whose casing was modified by the API that it used.
* Fixed an issue with the default `functional.suite.yml` where it was incompatible with `symfony/yaml 4.0.0`.
* Improved test generation performance via class refactors (`~10%` faster).

### GitHub Issues/Pull requests:
* [#377](https://github.com/magento/magento2-functional-testing-framework/pull/377) -- Non-API operations fixes

2.4.5
-----
### Fixes
* Fixed an issue where `.credentials` was required when using `<createData>` actions with field overrides.

2.4.4
-----
### Fixes
* Fixed an issue where `_CREDS` could not be resolved when used in a suite.

2.4.3
-----
* Customizability
    * Use of `_CREDS` has been extended to `<magentoCLI>` and `<createData>` actions
* Traceability
    * A Test step is now generated and injected in the allure report when a test is reported as `BROKEN`.

### Fixes
* `static-checks` command now properly returns `1` if any static check failed.
* MFTF Console Printer class correctly utilizes `--steps` and other flags passed directly to `codecept commands`.
* `*source` actions correctly print when using `userInput` or `html` attributes.
* XML Comments should no longer throw an error in parsing when used outside `test/actionGroup`

### GitHub Issues/Pull requests:
* [#703](https://github.com/magento/magento2-functional-testing-framework/pull/403) -- SMALL_CHANGE: Minor change suggested

2.4.2
-----
* Traceability
    * Test action `stepKey`s are now included in both console output and Allure report.
    * XML Comments are now automatically converted into a `<comment>` action.

### Fixes
* Moved `epfremme/swagger-php` dependency to `suggests` block due to a conflict with Magento extensions.

2.4.1
-----
* Traceability
    * XSD Schema validation is now enabled by default in `generate:tests`, `run:test`, `run:failed`, `run:group`
    * `--debug` option for the above commands has been updated to include different debug levels
        * See DevDocs for details

### Fixes
* Fixed an issue where `skipReadiness` attribute would cause false XSD Schema validation errors.

2.4.0
-----
### Enhancements
* Maintainability
    * Added new `mftf static-checks` command to run new static checks against the attached test codebase
        * See DevDocs for details
    * Added new `mftf generate:docs` command that generates documentation about attached test codebase
        * See DevDocs for details
* Traceability
    * Allure reports for tests now contain collapsible sections for `actionGroup`s used in execution.

### Fixes
* Fixed an issue where `magentoCli` would treat `argument="0"` as a null value.
* Fixed an issue where `amOnPage` and `waitForPwaElementVisible` would not utilize the `timeout` attribute correctly when MagentoPwaWebDriver is enabled.
* Fixed an issue where invalid XML characters would cause Allure to throw an exception without a resulting report.
* Fixed `codeception.dist.yml` configuration for keeping previous test run results.
* PHP Notices are no longer thrown when XML is missing non-necessary attributes.
* Removed unusable `fillSecretField` action from schema.

### GitHub Issues/Pull requests:
* [#338](https://github.com/magento/magento2-functional-testing-framework/pull/338) -- Return exit codes of process started by 'run:test', 'run:group' or 'run:failed' command
* [#333](https://github.com/magento/magento2-functional-testing-framework/pull/333) -- Added Nginx specific settings to getting started doc
* [#332](https://github.com/magento/magento2-functional-testing-framework/pull/332) -- executeInSelenium action does not generate proper code
* [#318](https://github.com/magento/magento2-functional-testing-framework/pull/318) -- Reduce cyclomatic complexity in Problem Methods
* [#287](https://github.com/magento/magento2-functional-testing-framework/pull/287) -- Update requirements to include php7.3 support

2.3.14
-----
### Enhancements
* Maintainability
    * `command.php` is now configured with an `idleTimeout` of `60` seconds, which will allow tests to continue execution if a CLI command is hanging indefinitely.

2.3.13
-----
### Enhancements
* Traceability
    * Failed test steps are now marked with a red `x` in the generated Allure report.
    * A failed `suite` `<before>` now correctly causes subsequent tests to marked as `failed` instead of `skipped`.
* Customizability
    * Added `waitForPwaElementVisible` and `waitForPwaElementNotVisible` actions.
* Modularity
    * Added support for parsing of symlinked modules under `vendor`.

### Fixes
* Fixed a PHP Fatal error that occurred if the given `MAGENTO_BASE_URL` responded with anything but a `200`.
* Fixed an issue where a test's `<after>` would run twice with Codeception `2.4.x`
* Fixed an issue where tests using `extends` would not correctly override parent test steps
* Test actions can now send an empty string to parameterized selectors.

### GitHub Issues/Pull requests:
* [#297](https://github.com/magento/magento2-functional-testing-framework/pull/297) -- Allow = to be part of the secret value
* [#267](https://github.com/magento/magento2-functional-testing-framework/pull/267) -- Add PHPUnit missing in dependencies
* [#266](https://github.com/magento/magento2-functional-testing-framework/pull/266) -- General refactor: ext-curl dependency + review of singletones (refactor constructs)
* [#264](https://github.com/magento/magento2-functional-testing-framework/pull/264) -- Use custom Backend domain, refactoring to Executors responsible for calling HTTP endpoints
* [#258](https://github.com/magento/magento2-functional-testing-framework/pull/258) -- Removed unused variables in FunctionCommentSniff.php
* [#256](https://github.com/magento/magento2-functional-testing-framework/pull/256) -- Removed unused variables

2.3.12
-----
### Enhancements
* Fetched latest allure-codeception package

2.3.11
-----
### Fixes
* `mftf run:failed` now correctly regenerates tests that are in suites that were parallelized (`suite` => `suite_0`, `suite_1`)

2.3.10
-----
### Enhancements
* Maintainability
    * Added new `mftf run:failed` commands, which reruns all failed tests from last run configuration.

### Fixes
* Fixed an issue where mftf would fail to parse test materials for extensions installed under `vendor`.
* Fixed a Windows compatibility issue around the use of Magento's `ComponentRegistrar` to aggregate paths.
* Fixed an issue where an `element` with no `type` would cause PHP warnings during test runs.

2.3.9
-----
### Fixes
* Logic for parallel execution were updated to split default tests and suites from running in one group.

2.3.8
-----
### Fixes
* `ModuleResolver` will now only scan under `MAGENTO_BP/app/code/...` and `MAGENTO_BP/vendor/...` for `/Test/Mftf` directories.
* Fixed an issue where `Test.xml` files that did not end with `*Test.xml` would not be scanned for duplicates and other XML validation.

2.3.7
-----
### Enhancements
* Traceability
    * Test generation errors output xml filename where they were encountered, as well as xml parent nodes where applicable.
    * Duplicate element detection now outputs parent element where duplicate was found.
* Maintainability
    * Standalone MFTF can now be pointed at a Magento installation folder to generate and execute tests.
        * See DevDocs for more information.
    * MFTF now checks for `test` and `actionGroup` elements that have the same `name` in the same file.
* Customizability
    * Updated prefered syntax for `actionGroup` `argument`s that use `xml.data` (old syntax is still supported)
        * Old: `xml.data`
        * New: `{{xml.data}}`
* Modularity
    * `ModuleResolver` now utilizes each Magento module's `registration.php` to map MFTF test material directories.
### Fixes
* The `waitForPageLoad` action now correctly uses the given `timeout` attribute for all of its checks.
* Firefox compatibility issues in javascript error logging were fixed.
* Fixed an issue where arguments containing `-` would not properly resolve parameterized selectors.
* Fixed an issue where actions using `parameterArray` would not resolve `$persisted.data$` references.
* Fixed an issue where composer installations of Magento would fail to parse MFTF materials under a path `vendor/magento/module-<module>/`

2.3.6
-----
### Enhancements
* Maintainability
    * A `-r` or `--remove` flag has been introduced to `bin/mftf` commands to clear out the contents of the `_generated` folder before generation. This flag has been added to the following commands:
        * `generate:tests`
        * `generate:suite`
        * `run:test`
        * `run:group`
* Customizability
    * Persisted data handling mechanisms have been reworked.
        * All persisted data is now referenced with the single `$` syntax (old syntax is still supported):
            * `$persistedData.field$`
        * Persisted data resolution now starts in its own scope and broadens if no matching `stepKey` was found in the current scope.
        * Added support for referencing `suite` persisted data in tests.
        * Added support for removing data created in between test scopes (`test`, `before/after`, `suite`).
    * An attribute `skipReadiness` has been added to all test actions, allowing the individual test action to completely bypass the `ReadinessExtension` if it is enabled.

### Fixes
* To prevent Allure reporting from collating tests with identical `title`, the `testCaseId` annotation is now automatically prepended to the `title` annotation when tests are generated.
* The `magentoCLI` command now correctly removes `index.php` if it is present in the `MAGENTO_BASE_URL`.
* Invalid XML errors now indicate which XML file caused the error.
* Attempting to `extend` a test that does not exist now skips the generation of the test.
* Fixed an issue where a `suite` would generate invalid PHP if the `before` or `after` contained only `createData` actions.
* Fixed an issue where a selector inside an `actionGroup` would incorrectly append the `actionGroup`'s `stepKey` to the selector.

2.3.5
-----
### Fixes
* Removed `PageReadinessExtension` from default enabled extensions due to Jenkins instability.

2.3.4
-----
### Fixes
* MagentoWebDriver overrides `parent::_after()` function and remaps to `runAfter()`, necessary to solve compatibility issues in Codeception `2.3.x`.

2.3.3
-----
### Fixes
* Defaults in `etc/config/functional.suite.dist.yml` changed: window-size to `1280x1024`, and removed `--ingonito` flag.

2.3.2
-----
### Fixes
* The `executeJs` `function` no longer escapes persisted variables referenced via `$$persisted.key$$`.
* Extending a test no longer fails to generate the parent `test`'s `before`/`after` blocks if the parent was skipped.

2.3.1
-----
### Enhancements
* Maintainability
    * `mftf build:project` now copies over the `command.php` file into the parent Magento installation, if detected.

2.3.0
-----
### Enhancements
* Traceability
    * MFTF now outputs generation run-time information, warnings, and errors to an `mftf.log` file.
    * Overall error messages for various generation errors have been improved. Usage of the `--debug` flag provides file-specific errors for all XML-related errors.
    * Allure Reports now require a unique `story` and `title` combination, to prevent collisions in Allure Report generation.
    * The `features` annotation now ignores user input and defaults to the module the test lives under (for clear Allure organization).
    * The `<group value="skip"/>` annotation has been replaced with a `<skip>` annotation, allowing for nested `IssueId` elements.
    * Tests now require the following annotations: `stories`, `title`, `description`, `severity`.
        * This will be enforced in a future major release.
* Modularity
    * MFTF has been decoupled from MagentoCE:
        * MFTF can now generate and run tests by itself via `bin/mftf` commands.
        * It is now a top level MagentoCE dependency, and no longer relies on supporting files in MagentoCE.
        * It can be used as an isolated dependency for Magento projects such as extensions.
    * `generate:tests` now warns the user if any declared `<page>` has an inconsistent `module` (`Backend` vs `Magento_Backend`)
    * The `--force` flag now completely ignores checking of the Magento Installation, allowing generation of tests without a Magento Instance to be running.
* Customizability
    * Various test materials can now be extended via an `extends="ExistingMaterial"` attribute. This allows for creation of simple copies of any `entity`, `actionGroup`, or `test`, with small modifications.
    * `test` and `actionGroup` deltas can now be provided in bulk via a `before/after` attribute on the `test` or `actionGroup` element. Deltas provided this way do not need individual `before/after` attributes, and are inserted sequentially.
    * Secure and sensitive test data can now be stored and used via a new `.credentials` file, with declaration and usage syntax similar to `.env` file references.
    * A new `<generateDate>` action has been added to allow users to create and use dates according to the given `date` and `format`.
        * See DevDocs for more information on all above `Customizability` features.
* Maintainability
    * New `bin/mftf` commands have been introduced with parity to existing `robo` commands.
        * `robo` commands are still supported, but will be deprecated in a future major release.
    * The `mftf upgrade:tests` command has been introduced, which runs all test upgrade scripts against the provided path.
        * A new upgrade script was created to replace all test material schema paths to instead use a URN path.
    * The `mftf generate:urn-catalog` command has been introduced to create a URN catalog in PHPStorm to support the above upgrade.
    * A warning is now shown on generation if a page's url is referenced without specifying the url (`{{page}}` vs `{{page.url}}`).
    * An error is now thrown if any test materials contain any overriding element (eg different `<element>`s in a `<section>` with the same `name`)
        * This previously would cause the last read element to override the previous, causing a silent but potentially incorrect test addition.
    * Test distribution algorithm for `--config parallel` has been enhanced to take average step length into account.

### Fixes
* `_after` hook of tests now executes if a non test-related failure causes the test to error.
* Fixed periods in Allure Report showing up as `•`.
* Fixed Windows incompatibility of relative paths in various files.
* Suites will no longer generate if they do not contain any tests.
* Fixed an issue in generation where users could not use javascript variables in `executeJS` actions.
* Fixed an issue in generation where entity replacement in action-groups replaced all entities with the first reference found.
* Fixed an issue in generation where `createData` actions inside `actionGroups` could not properly reference the given `createDataKey`.
* Fixed an issue where `suites` could not generate if they included an `actionGroup` with two arguments.
* Fixed an issue in generation where calling the same entity twice (with different parameters) would replace both calls with the first resolved value.
* The `magentoCLI` action now correctly executes the given command if the `MAGENTO_BASE_URL` contains `index.php` after the domain (ex `https://magento.instance/index.php`)
* The `stepKey` attribute can no longer be an empty.
* Variable substitution has been enabled for `regex` and `command` attributes in test actions.

### GitHub Issues/Pull requests:
* [#161](https://github.com/magento/magento2-functional-testing-framework/pull/161) -- MAGETWO-46837: Implementing extension to wait for readiness metrics.
* [#72](https://github.com/magento/magento2-functional-testing-framework/issues/72) -- declare(strict_types=1) causes static code check failure (fixed in [#154](https://github.com/magento/magento2-functional-testing-framework/pull/154))

2.2.0
-----
### Enhancements
* Traceability
    * Javascript errors are now logged and reported in test output.
    * Test failures are no longer overwritten by failures in an `<after>` hook.
    * Tests will no longer execute an `<after>` hook twice if a failure triggered in the `<after>` hook.
    * Tests marked with `<group value="skip">` will now appear in generated Allure reports.
        * Along with the above, the `robo group` command no longer omits the `skip` group (skipped tests are picked up but not fully executed).
* Modularity
    * MFTF no longer relies on relative pathing to determine its path to tests or Magento (favoring composer information if available).
    * Tests and test materials are now read in from Magento modules as well as extensions in addition to `dev/tests/acceptance`.
        * See DevDocs `Getting Started` for details on expected paths and merge order.
* Customizability
    * Creation of Suites is now supported
        * `<suite>` can include tests via `name`, module, or `<group>` tags.
        * Consolidation of preconditions can be achieved via use of `<before/after>` tags in a `<suite>`
            * All normal test actions are supported
            * Data returned from actions is not available for reference in subsequent tests (`createData` or `grab` actions).
        * `robo generate:tests` generates all suites and tests, and can be given a JSON configuration to generate specific test/suites.
        * See MFTF Devdocs "Suite" page for more details.
    * `<deleteData>` may now be called against a `url` instead of a stepKey reference.
    * `<dragAndDrop>` may now be given an additional `x/y` offset.
    * `<executeJS>` now returns a variable based on what the executed script returns.
    * Added `<element>` `type="block"`.
    * `<page>` elements may now be blank (contain no child sections).
* Maintainability
    * `robo generate:tests --config parallel` now accepts a `--lines` argument, for grouping and sorting based on test length.
    * `robo generate:tests` now checks for:
        * Duplicate step keys within an `actionGroup`.
        * Ambiguous or invalid `stepKey` references (in merge files).
    * `robo generate:tests` now suppresses warnings by default. The command now accepts a `--verbose` flag to show full output including warnings.

### Fixes
* Exception message for the `<conditionalClick>` action now correctly references the `selector` given.
* Usage of multiple parameterized elements in a `selector` now correctly resolves all element references.
* Usage of multiple uniqueness references on the same entity now generate correctly.
* Persisted entity references are correctly interpolated with `<page>` url of `type="admin"`.
* Metadata that contains 2 or more params in its `url` now correctly resolve parameters.
* Arguments can now be passed to `x` and `y` attributes in `actionGroup`.
* Arguments can now be passed to nested `<assert*>` action elements.
* The `<seeInField>` action can now be used to assert against empty strings.
* Empty `<data>` elements within an `<entity>` now generate correctly.
* Mapping of the `<magentoCLI>` to the custom command has been fixed.

### GitHub Issues/Pull requests:
* [#89](https://github.com/magento/magento2-functional-testing-framework/pull/89) -- Add ability to use array entities as arguments.
* [#68](https://github.com/magento/magento2-functional-testing-framework/issues/68) -- Excessive double quotes are being generated in WaitForElementChange method arguments (fixed in [#103](https://github.com/magento/magento2-functional-testing-framework/pull/103))
* [#31](https://github.com/magento/magento2-functional-testing-framework/issues/31) -- Can't run tests without a store having "default" store code (fixed in [#86](https://github.com/magento/magento2-functional-testing-framework/pull/86))

2.1.2
-----
### Enhancements
* Added support for PHP version 7.2

2.1.1
-----
### Enhancements
* Modularity
    * MFTF now supports the existence of tests as composer package dependencies or as living alongside core modules. Supported paths:
        * `magento2ce/vendor/[vendor]/[module]/Test/Acceptance`
        * `magento2ce/app/code/[vendor]/[module]/Test/Acceptance`
* Maintainability
    * Robo command `generate:tests` now accepts a `--nodes` argument that specifies the number of test manifest files to generate for parallel configuration.

### Fixes
* Data returned by `grab` and `createData` actions can now be used in `<actionGroup>` test steps by their `stepKey` reference.
* Fixed an issue where `<requiredEntity>` elements inside `<entity>` data xml would overwrite one another when merged.
* Fixed an issue where `<object>` elements inside `<operation>` metadata xml would overwrite one another when merged.
* Nested assertion syntax now correctly allows for values passed in to resolve `{{entity.data}}` references.
* Test action `<selectMultiOption>` now correctly resolves entity references passed in to `filterSelector` and `optionSelector`.
* The robo command `generate:tests --force` no longer requires a `MAGENTO_BASE_URL` to be defined in the `.env` file.
* All `feature` and `story` annotations now live under in the method and not class level in output test php.
    * This is to work around a bug with the Allure-Codeception adapter version `1.2.6`, which was a dependency update in MFTF `2.1.0`.

2.1.0
-----
### Enhancements
* Traceability
    * Severity in `<annotation>` tags now properly reflect Magento severity values.
* Modularity
    * Added ability to pass in simple values to actionGroups via addition of `type` attribute in actionGroup `<argument>` declaration.
        * For examples, see devdocs article on actionGroups.
    * Merging resolution now depends on Magento instance's installed modules. This also means merging order now follows the expected module merging order.
* Customizability
    * Added `<assertArrayIsSorted>` action. This action takes in an array of data and asserts that the array is properly sorted, according to the provided `sortOrder`
    * Added `<selectMultipleOptions>` action. This is a variation of `<searchAndSelectOptions>` that is given a `filterSelector`, `optionSelector`, and an `<array>` of options to select.
        * For a working sample, see `SearchAndMultiselectActionGroup.xml` under `Catalog` in magento2ce.
    * Test actions that deal with `<url...>` now utilize and grab the page's full url, not just the `/path?query#fragment` portion.
    * All `<assert...>` actions support a clearer, more readable nested syntax.
        * Both old and new syntax are supported. See devdocs `Assertions` article for examples.
    * Added support for overriding a data-entity's `field` values during test runtime, prior to persistence via `<createData>` actions.
    * Added `removeBackend="true"` attribute to `<operation>`. Only applicable to `operation` definitions of `type="adminFormKey"`, attribute prevents pre-pending of `MAGENTO_BACKEND_NAME` to the `url` specified.
        * Specific to use case where `adminFormKey` operations don't follow `MAGENTO_BASE_URL/MAGENTO_BACKEND_NAME/MAGENTO_BACKEND_NAME/API_URL` format.
* Readability
    * Data Entities used in tests (`<test>`, `<page>`, `<section>`, `<element>`, `<data>`) now require alphanumeric naming.
* Maintainability
    * Documentation for all test actions have been added to XML schema. Turning on documentation hinting will display relevant information while writing test XML.
    * All references to `.env` file contents are now resolved at test runtime, as opposed to generation.

### Fixes
* Fixed an issue with using the character `-` in parameterized selector references.
    * Users should now be able to use any characters except for `'` when providing a `'stringLiteral'` to a parameterized selector/url.
* Fixed an issue where entity substitution was not enabled in all `<assert...>` test actions.

### GitHub Issues/Pull requests:
* [#37](https://github.com/magento/magento2-functional-testing-framework/issues/37) -- Unable to make API requests using self signed certificate to HTTPS domain (fixed in [#39](https://github.com/magento/magento2-functional-testing-framework/pull/39))

2.0.3
-----
### Enhancements
* Readability
    * Added the ability to refer to `custom_attribute` data in persisted entities via `key` instead of index.
        * ex. `url_key` in category entity: `$category.custom_attributes[3][value]$` and `$category.custom_attributes[url_key]$` are both valid.
* Maintainability
    * Added check for duplicate `stepKey` attributes at test generation. This check is scoped to `<testAction>` tags within a single `<test>` tag in a single file.

### Fixes
* Fixed inability to use `<actionGroup>` with `<arguments>` in test hooks.
* Fixed inability to use `0` as data in an entity.
* Fixed an issue where using `<annotation>` tag of `<useCaseId>` would cause test generation failures.
* Fixed an issue where the `<closeAdminNotification>` action could not be used twice in in a `<test>`.
* Fixed an issue where specifying duplicate test actions in test delta's would cause generation errors.
* Fixed an issue where test failure screenshots were being taken at the end of the test hook, as opposed to at the point of failure.
* Operation `metadata` with an `auth` of type `adminFormKey` will now automatically append specified `MAGENTO_BACKEND_NAME` if necessary.

2.0.2
-----

### Enhancements
* Customizability
    * Added the `<magentoCLI>` test action. Action takes the given `command=""` and passes it for execution in Magento Environment.
        * Note: Installation step to enable above action has been added. See `Step 5` in the MFTF `Getting Started` article.
* Maintainability
    * Tests now run actions declared in `<after>` hook in both successful and failed test runs.

### Fixes
* Fixed inability to use `[]` characters within selector/url parameters.
* Fixed a bug where the `<formatMoney>` action did not return a variable for test use.
* Fixed a bug where the `<waitForLoadingMaskToDisappear>` action could not be used twice in an `<actionGroup>`.

2.0.1
-----

### Fixes
 * Fixed an issue with `group` annotation.

2.0.0
-----

### Enhancements
* Modularity
    * Replaced the `<loginAsAdmin>` test action with the action group `LoginAsAdmin`.
    * Added the `.env` file variable `CUSTOM_MODULE_PATHS` which can be used to point to any custom extensions that you may want to write tests against.
    * Added the `<page area="..">` property to distinguish between admin and storefront.
    * Added support for `SectionName.elementName` references in any `function` attributes.
* Customizability
    * Changed page objects where `area="admin"` to prepend the `MAGENTO_BACKEND_NAME` value from the `.env` file.
    * Added support for HTTP requests that do not require authentication.
* Readability
    * Renamed `<config>` XML root nodes to match the content they contain, e.g. `<tests>` or `<pages>`.
    * Renamed all instances of the word *Cest* with *Test*. The *Cest* name will no longer be used in the MFTF project.
* Maintainability
    * Removed the `returnVariable` property from any test actions that return values. Instead, the `stepKey` property will be used as the name of the variable and be referenced as before.

### Fixes
* Fixed the `unselectOption.parameterArray` property to work as expected.
* Fixed a crash if you had a system environment variable set with the same name as any variable in the `.env` file.
* Fixed any actions that refer to *CurrentUrl*, such as `<seeInCurrentUrl>`, to now look at the full webdriver address.
* Fixed the `<waitForPageLoad>` test action to not assume that you always want to dismiss UI notifications.

1.0.0
------

### Core features

* **Traceability** for clear logging and reporting capabilities
* **Modularity** to run tests based on modules/extensions installed
* **Customizability** to have an ability to customize existed tests
* **Readability** using clear declarative XML test steps
* **Maintainability** based on simple test creation and overall structure

### Supported systems

#### Operation systems

* Windows 10
* macOS Sierra

#### Browser

* Chrome (Latest) with ChromeDriver Latest

### Known issues

* Support for Firefox is currently incomplete. This will be resolved to support Firefox 57 (Quantum) and latest Gecko driver in next minor release.
* `MAGENTO_BASE_URL` in _.env_ file must have `/` at the end. Example: http://magento.com/

Spamworldpro Mini