diff --git a/CHANGELOG.md b/CHANGELOG.md index 17915bbb3..cc5ff4a5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,242 +4,12 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [unreleased] Unreleased -## [4.1.0] 2024-02-20; +## [3.5.0] 2024-02-20; -### Changed - -- The `WPTestCase` class will **not** backup globals and static attributes by default. Version `3` of wp-browser did not backup globals and static attributes by default, this change in version `4` is aligned with that behaviour to ease migration from version `3` to version `4`. - -### Added - -- Restored support for the `@runInSeparateProcess` annotation for test methods. Along with it, improved support for the `@dataProvider` annotation for test methods used in conjunction with the `@runInSeparateProcess` annotation to run data provider methods at most once. -- Implemented support for the `runTestsInSeparateProcesses` annotation for test classes; supporting the `@dataProvider` annotation ro run data provider methods at most once. -- Added support for the `#[RunInSeparateProcess]` attribute for test methods and the `#[RunTestsInSeparateProcesses]` attribute for test classes. -- [Migration guide from version 3 to version 3.5 or 4](https://wpbrowser.wptestkit.dev/migration/) - -## [4.0.21] 2024-02-12; - -### Fixed - -- Search more paths for Chrome binaries on linux (#694, thanks to @iateadonut) - -### Changed - -- List paths searched for Chrome on current platform in debug output - -## [4.0.20] 2024-02-12; - -### Added - -- Print file and line of failure during setup of plugin project, (#694, thanks to @iateadonut) - -## [4.0.19] 2024-02-09; - -### Fixed - -- PHPUnit version 10+ warnings (#692) - -### Changed - -- Updated Core PHPUnit test code from `wordpress/wordpress-develop`. -- Update SQLite plugin from `sqlite-database-integration` plugin. - -## [4.0.18] 2024-01-23; - -- Improve messaging and documentation around initialization and setup. - -## [4.0.17] 2023-12-14; - -### Fixed - -- Improve router script to speed up localhost server. - -## [4.0.16] 2023-12-07; - -### Changed - -- Update the Core PHPUnit test suite to the latest version. - -## [4.0.15] 2023-12-06; - -### Added - -- The `WPLoader::silentlyActivatePlugins` configuration parameter to activate plugins without firing the `activated_plugin` action. - -## [4.0.14] 2023-12-06; - -### Added - -- The `WPLoader::skipInstall` configuration parameter to skip the WordPress installation when already installed. - -## [4.0.13] 2023-11-28; - -### Changed - -- Updated Core PHPUnit test suite -- Updated SQLite plugin from version 2.1.1 to 2.1.2 - -## [4.0.12] 2023-11-25; - -### Added - -- Added the `backupGlobals`, `backupGlobalsExcludeList`, `backupStaticAttributes`, `backupStaticAttributesExcludeList` to the `WPLoader` module configuration file to provide a sweeping control over the state snapshot of test cases extending the `WPTestCase` class. Test cases overriding those properties explicitly will have their values respected. - -## [4.0.11] 2023-11-24; - -### Fixed - -- Correctly activate themes during bootstrap. -- Remove brittle database name validation, fix #667 and #671. - -#### Changed - -- Lay the groundwork for version 3.5 automated building. - -## [4.0.10] 2023-10-14; - -### Added - -- Methods to set, delete, check and assert on the value of site and normal transients to the `WPDb` class. - -### Fixed - -- Allow hyphens in database names in the `MySqlDatabase` class. (thanks @BrianHenryIE) - -## [4.0.9] 2023-10-09; - -### Fixed - -- Support database names up to 64 chars in the `Database\MysqlDatabase` class. (thanks @BrianHenryIE) - -## [4.0.8] 2023-10-08; - -### Changed - -- Better exception message in the `WordPress\WPConfigFile` class when the processing fails. (thanks @BrianHenryIE) -- Deal with fixable code style fixes automatically. (thanks @BrianHenryIE) - -### Fixed - -- Composer autoload file path location in the `Process\Protocol\Control` that would cause tests to not run correctly outside of terminal. (thanks @BrianHenryIE) - -## [4.0.7] 2023-10-08; - -### Fixed - -- Rework the Core PHPUnit test case handling to correctly fire the test case set up and tear down methods. - -## [4.0.6] 2023-10-05; - -### Fixed - -- Added back the `amEditingUserWithId` methood to the `WPBrowser` and `WPWebDriver` modules. (thanks @johnbillion for the original 3.1.7 contribution) - -## [4.0.5] 2023-10-04; - -### Fixed - -- Set `path` correctly in `WPWebDriver` module setup -- Set dump file paths correctly on Windows machines -- Use correct Chrome and Chromedriver binary paths on Windows machines -- Work around command line length limit on Windows machines to ensure process-based operaitons work correctly - -## [4.0.4] 2023-09-29; +### Breaking change -### Fixed - -- Use Symphony Process component in loop code to solve Windows issues. - -## [4.0.3] 2023-09-19; - -### Added - -- Allow changing path in the WPCLI module using the `changeWpcliPath` method. - -## [4.0.2] 2023-09-18; - -### Fixed - -- Exclude some WooCommerce global values and static attributes from backup to avoid fatals. - -## [4.0.1] 2023-09-15; - -### Added - -- Theme-related methods to the `WPBrowser` module. -- Theme-related methods to the `WPWebDriver` module. - -## [4.0.0] 2023-09-11; - -### Changed - -- Update code to be compatible with Codeception v5, PHP 8.0+ and Composer API 2.2+. -- Added support for the `WPLoader.stylesheet` configuration parameter to allow specifying a distinct `template` and `stylesheet`. -- Changed name of the `WPLoader.theme` to `WPLoader.template`. -- Added the following configuration keys to the `WPLoader` module: - - `dump` - allows specifying one or more dump files to be loaded after the installation and before the first test runs. - - `dbUrl` - allows providing the db name, user, password and host using a single URL, e.g. `mysql://user:password@host:port/db_name`. - - `AUTH_KEY` - `SECURE_AUTH_KEY` - `LOGGED_IN_KEY` - `NONCE_KEY` - `AUTH_SALT` - `SECURE_AUTH_SALT` - `LOGGED_IN_SALT` - `NONCE_SALT` - allows specifying the WordPress salts. - - Support configuring the module using the WordPress constant name directly according to the following map (keys are aliased): - - `ABSPATH` or `wpRootFolder` - - `DB_NAME` or `dbName` - - `DB_USER` or `dbUser` - - `DB_HOST` or `dbHost` - - `DB_PASSWORD` or `dbPassword` - - `DB_CHARSET` or `dbCharset` - - `DB_COLLATE` or `dbCollate` - - `WP_TESTS_MULTISITE` or `multisite` - - `WP_DEFAULT_THEME` or `theme` - - `WP_TESTS_DOMAIN` or `domain` - - `WP_TESTS_EMAIL` or `adminEmail` - - `WP_TESTS_TITLE` or `title` - - Added support for the `dbUrl` configuration parameter to the `WPDb` module; it allows providing the database username, password and DSN with a single URL; e.g. `mysql://user:password@host:port/db_name`. - - Added the `WPCLI::dontSeeShellOutputMatches` method - -### Breaking changes - -- Move classes in the `tad\WPBrowser` namespace to the `lucatume\WPBrowser` one. -- Move classes in the `Codeception` namespace to the `lucatume\WPBrowser` one. -- Moved functions from the `lucatume\WPBrowser` namespace to dedicated classes in the `lucatume\WPBrowser\Utils` - namespace. -- Removed support for Handlebars-like syntax from the `WPDb` module scaffolding functions. -- Removed the `Dotenv/Dotenv` polyfill class. -- Remove unused `tad\WPBrowser` functions related to Patchwork and PHPUnit. -- Removed the `lucatume\WPBrowser` Composer-related functions. -- Removed the `tad\WPBrowser\pregErrorMessage` function. -- Removed support for the `WPLoader.isolatedInstall` configuration parameter; installation always happens in isolation. -- Deprecated the `WPLoaer.activatePlugins` parameter: the `WPLoader.plugins` parameter should be used instead. -- Removed the `tad\WPBrowser\processStatus`, `tad\WPBrowser\processReadPipe`, `tad\WPBrowser\process` and `tad\WPBrowser\buildCommandLine` functions. -- Removed the `isolatedInstall` parameter from the `WPLoader` configuration: installation will always happen in isolation. -- Removed the `mikey179/vfsStream` development dependency. -- Removed the `vria/nodiacritic` dependency. -- Removed the `wp-cli/wp-cli` dependency. -- Removed the `antecedent/patchwork` dependency. -- Removed the `dg/mysql-dump` dependency. -- Removed the `mikehaertl/php-shellcommand` dependency. -- Removed the `bordoni/phpass` dependency, internalized the `Hautelook\Phpass` portable password hashing library. -- Removed the `mikemclin/laravel-wp-password` dependency. -- Removed the `WordPress` module and related support classes. -- Removed the `StubProphecy` and `FunctionProphecy` classes. -- Removed the `WPHealthcheck` class in favor of reports provided by the `WordPress\Installation` class. -- Removed the `tad\WPBrowser\Utils\Map` class -- Deprecated the following `WPLoader` module configuration keys: - - `installationTableHandling` - no more required. - - `skipPluggables` - no more required. - - `wpDebug` - the `WP_DEBUG` constant is always set to `true` during tests. - - `activatePlugins` - plugins specified in the `plugins` configuration key will be always activated. -- Removed support for PHPUnit's `@runInSeparateProcess` annotation. -- Removed the `Copier` and `Symlinker` extensions. -- Removed the `WithWordPressFilters` trait -- Removed the `generate:wpajax` command and related support classes. -- Removed the `generate:wpcanonical` command and related support classes. -- Removed the `generate:wprest` command and related support classes. -- Removed the `generate:wprestcontroller` command and related support classes. -- Removed the `generate:wprestposttypecontroller` command and related support classes. -- Removed the `generate:wpxmlrpc` command and related support classes. -- Rewrite the `WPCLI` module to use the `Symfony\Component\Process\Process` class under the hood. -- Temporarily remove the `preserveGlobalState` test method support to reimplement support later. -- Update the `WPCLI` module to use supported configuration parameters as strict arguments by default +- First release of the `v3.5` branch built from the transpile of the `v4` branch. +- Depending on your project set up, some of your test code could require migration to be compatible with the new architecture. See the [migration guide](https://wpbrowser.wptestkit.dev/migration/) for more information. ## [3.2.1] 2023-09-21; @@ -2096,27 +1866,6 @@ Read the [migration guide here](https://wpbrowser.wptestkit.dev/migration/from-v [3.1.9]: https://github.com/lucatume/wp-browser/compare/3.1.8...3.1.9 [3.1.10]: https://github.com/lucatume/wp-browser/compare/3.1.9...3.1.10 [3.2.0]: https://github.com/lucatume/wp-browser/compare/3.1.10...3.2.0 -[4.0.0]: https://github.com/lucatume/wp-browser/compare/3.1.10...4.0.0 -[4.0.1]: https://github.com/lucatume/wp-browser/compare/4.0.0...4.0.1 -[4.0.2]: https://github.com/lucatume/wp-browser/compare/4.0.1...4.0.2 -[4.0.3]: https://github.com/lucatume/wp-browser/compare/4.0.2...4.0.3 -[4.0.4]: https://github.com/lucatume/wp-browser/compare/4.0.3...4.0.4 -[4.0.5]: https://github.com/lucatume/wp-browser/compare/4.0.4...4.0.5 -[4.0.6]: https://github.com/lucatume/wp-browser/compare/4.0.5...4.0.6 -[4.0.7]: https://github.com/lucatume/wp-browser/compare/4.0.6...4.0.7 -[4.0.8]: https://github.com/lucatume/wp-browser/compare/4.0.7...4.0.8 -[4.0.9]: https://github.com/lucatume/wp-browser/compare/4.0.8...4.0.9 -[4.0.10]: https://github.com/lucatume/wp-browser/compare/4.0.9...4.0.10 -[4.0.11]: https://github.com/lucatume/wp-browser/compare/4.0.10...4.0.11 -[4.0.12]: https://github.com/lucatume/wp-browser/compare/4.0.11...4.0.12 -[4.0.13]: https://github.com/lucatume/wp-browser/compare/4.0.12...4.0.13 -[4.0.14]: https://github.com/lucatume/wp-browser/compare/4.0.13...4.0.14 -[4.0.15]: https://github.com/lucatume/wp-browser/compare/4.0.14...4.0.15 -[4.0.16]: https://github.com/lucatume/wp-browser/compare/4.0.15...4.0.16 -[4.0.17]: https://github.com/lucatume/wp-browser/compare/4.0.16...4.0.17 -[4.0.18]: https://github.com/lucatume/wp-browser/compare/4.0.17...4.0.18 -[4.0.19]: https://github.com/lucatume/wp-browser/compare/4.0.18...4.0.19 -[4.0.20]: https://github.com/lucatume/wp-browser/compare/4.0.19...4.0.20 -[4.0.21]: https://github.com/lucatume/wp-browser/compare/4.0.20...4.0.21 -[4.1.0]: https://github.com/lucatume/wp-browser/compare/4.0.21...4.1.0 -[unreleased]: https://github.com/lucatume/wp-browser/compare/4.1.0...HEAD +[3.2.1]: https://github.com/lucatume/wp-browser/compare/3.2.0...3.2.1 +[3.5.0]: https://github.com/lucatume/wp-browser/compare/3.2.1...3.5.0 +[unreleased]: https://github.com/lucatume/wp-browser/compare/3.5.0...HEAD