From 9d80f23c1457af7af795793b3df8a68597040175 Mon Sep 17 00:00:00 2001 From: ek9 Date: Wed, 11 May 2016 00:18:50 +0200 Subject: [PATCH 01/27] v7.0.x-dev PHP 7+ --- CHANGELOG.md | 4 +++- README.md | 2 ++ composer.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36538d8..1438bf9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,9 @@ This is a CHANGELOG file for [leanphp/common-dev][0] package, previously known as [ek9/common-dev][1]. -**6** version series are last series to support both PHP **5.6** and **PHP 7**. +## 7.0.x-dev / FUTURE + +- Update PHP from `~5.6||~7.0` to `^7.0` ## 6.1.1 / 2016-05-11 diff --git a/README.md b/README.md index bb054a5..b94de35 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ common-dev [![Latest Unstable Version](https://poser.pugx.org/leanphp/common-dev/v/unstable)](https://packagist.org/packages/leanphp/common-dev) [![MIT License](https://poser.pugx.org/leanphp/common-dev/license)](https://packagist.org/packages/leanphp/common-dev) +**Note!** This is early **7.0.x-dev** branch, only supporting **PHP 7+**! + [leanPHP/common-dev][0] is a set of modern **PHP 7** (**5.6+**) development tools and libraries, which help you write PHP packages and libraries that comply with [PHP-FIG][1] standards and adhere to best PHP practices defined in [PHP - The diff --git a/composer.json b/composer.json index de5afbc..eda05f8 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "docs": "https://github.com/leanphp/common-dev#common-dev" }, "require": { - "php": "~5.6||~7.0", + "php": "^7.0", "symfony/var-dumper": "~2.8||~3.0", "apigen/apigen": "4.2.0.x-dev", "phpmd/phpmd": "~2.4", From 74d15853334931dc730263fbb2f5e2b3fcde3ddb Mon Sep 17 00:00:00 2001 From: ek9 Date: Sun, 22 Jan 2017 01:09:01 +0100 Subject: [PATCH 02/27] update .travis.yml for develop --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index dbf043b..def962e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: php php: - - '5.6' - '7.0' - '7.1' script: From 47c466daf12317d3da21d511cebb68f637420aad Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 28 Jan 2017 03:50:08 +0100 Subject: [PATCH 03/27] 7.0.x-dev branch alias on develop --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 24518eb..5f4cf82 100644 --- a/composer.json +++ b/composer.json @@ -48,7 +48,7 @@ }, "extra": { "branch-alias": { - "dev-master": "6.2.x-dev" + "dev-develop": "7.0.x-dev" } } } From db5e22f462af316a39ff14eacf7fcd99e07881c6 Mon Sep 17 00:00:00 2001 From: ek9 Date: Fri, 3 Feb 2017 17:17:47 +0100 Subject: [PATCH 04/27] behatspec 0.3.* until phpspec3 support is fixed --- CHANGELOG.md | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d728b9b..ee5aa60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## 6.2.x-dev / FUTURE - Update mockery from `~0.9` to `0.9.*` -- Add BehatSpec `0.5.*` (Behat3 + PhpSpec3) +- Add BehatSpec `0.3.*` (Behat3 + PhpSpec2) ## 6.2.2 - 2017-01-22 diff --git a/composer.json b/composer.json index 5f4cf82..2d2aa46 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,7 @@ "behat/mink-extension": "~2.2", "behat/mink-goutte-driver": "~1.2", "behat/mink-browserkit-driver": "~1.3", - "rmiller/behat-spec": "0.5.*" + "rmiller/behat-spec": "0.3.*" }, "bin": ["bin/composer"], "minimum-stability": "stable", From 3223d7466b1017ef14df9b7ecc15556d9e700238 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 4 Mar 2017 13:28:10 +0100 Subject: [PATCH 05/27] behatspec update from 0.3.* to dev-master --- CHANGELOG.md | 1 + composer.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 106d174..8ea6ca6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## 7.0.x-dev / FUTURE - Update PHP from `~5.6||~7.0` to `^7.0` +- Update BehatSpec from `0.3.*` to `dev-master` ## 6.3.x-dev / FUTURE diff --git a/composer.json b/composer.json index 1cbe9b5..fa9b6ad 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,7 @@ "behat/mink-extension": "~2.2", "behat/mink-goutte-driver": "~1.2", "behat/mink-browserkit-driver": "~1.3", - "rmiller/behat-spec": "0.3.*" + "rmiller/behat-spec": "dev-master" }, "bin": ["bin/composer"], "minimum-stability": "stable", From 713ea30556e67f8c855b12e3f3d27cf784eec40f Mon Sep 17 00:00:00 2001 From: ek9 Date: Sun, 5 Mar 2017 11:23:14 +0100 Subject: [PATCH 06/27] Update behat and phpspec example configs for BehatSpec dev-master --- config/behat.yml | 3 +-- config/phpspec.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/config/behat.yml b/config/behat.yml index 679b119..91b10c3 100644 --- a/config/behat.yml +++ b/config/behat.yml @@ -12,8 +12,7 @@ default: pretty: true extensions: # rmiller/behat-spec extension - RMiller\ErrorExtension\ErrorExtension: ~ - RMiller\BehatSpec\BehatExtension: + RMiller\BehatSpec\Extension\BehatSpecExtension\BehatExtension: path: 'bin/phpspec' # behat/mink-extension (via behat/mink-goutter-driver) Behat\MinkExtension: diff --git a/config/phpspec.yml b/config/phpspec.yml index 33010ad..da738bb 100644 --- a/config/phpspec.yml +++ b/config/phpspec.yml @@ -9,8 +9,7 @@ suites: extensions: LeanPHP\PhpSpec\CodeCoverage\CodeCoverageExtension: ~ Cjm\PhpSpec\Extension\TypeHintedMethodsExtension: ~ - RMiller\BehatSpec\PhpSpecExtension: ~ - RMiller\ExemplifyExtension\ExemplifyExtension: ~ + RMiller\BehatSpec\Extension\BehatSpecExtension\PhpSpecExtension: ~ code_coverage: format: From 44df9e093c3fc42dff9bc208d11daf7b7f49d816 Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 27 Mar 2017 00:09:31 +0200 Subject: [PATCH 07/27] add phpstan ~0.6 --- CHANGELOG.md | 1 + composer.json | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb0f4b7..fba86e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## 7.0.x-dev / FUTURE +- Added phpstan `~0.6` - Update PHP from `~5.6||~7.0` to `^7.0` - Update BehatSpec from `0.3.*` to `dev-master` diff --git a/composer.json b/composer.json index 46ac48b..df7380e 100644 --- a/composer.json +++ b/composer.json @@ -20,6 +20,7 @@ "require": { "php": "^7.0", "symfony/var-dumper": "~2.8||^3.1", + "phpstan/phpstan": "~0.6", "phpmd/phpmd": "~2.6", "squizlabs/php_codesniffer": "~2.8", "leaphub/phpcs-symfony2-standard": "~2.0", From 63a0a657de29d1d632e56e5f939660865a4fa8ba Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 27 Mar 2017 00:13:14 +0200 Subject: [PATCH 08/27] Add phpstan - fixes #12 --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 7366265..f10c4ed 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ This is a list of PHP Libraries that this package installs: This is a list of PHP Development Tools that this package installs: - [ApiGen](#ApiGen) **v4** - PHP Source Code API generator. +- [PHPStan](#PHPStan) - PHP Static Analysis tool. - [PHPMD](#PHPMD) **v2** - PHP Mess Detector. Optimize your code, reduce complexity, cleanup unused parameters, methods, variables & more. - [PHP_CodeSniffer](#PHP CodeSniffer) **v2** - PHP Code Sniffer ensures that @@ -324,6 +325,16 @@ Generate the API: The HTML files will be generated in `build/docs` directory, which is configured via `destination` parameter in `apigen.yml`. +#### PHPStan + +[PHPStan][115] is a PHP Static Analysis Tool. It focuses on finding errors in +your code without actually running it. It catches whole classes of bugs even +before you write tests for the code. + +`PHPStan` is run via console: + + $ bin/phpstan analyse src tests + #### PHPMD [PHPMD][120] (PHP Mess Detector) is a code optimizer, which scans your code for @@ -442,6 +453,7 @@ Licensed under [MIT License](LICENSE). [100]: http://apigen.org [110]: https://github.com/symfony/var-dumper +[115]: https://github.com/phpstan/phpstan [120]: https://phpmd.org [121]: https://phpmd.org/rules/index.html [130]: https://pear.php.net/package/PHP_CodeSniffer From b39d57085a1945f6c224c7ed3517371ee6c814b0 Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 27 Mar 2017 06:32:33 +0200 Subject: [PATCH 09/27] config/behat.yml updat for Behat3 and new BehatSpec --- README.md | 4 ++++ config/behat.yml | 29 +++++++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index f10c4ed..c247d70 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,10 @@ Copy it to the root of your project: $ cp vendor/leanphp/common-dev/config/behat.yml behat.yml +Initialize the project: + + $ bin/behat --init + The configuration file will enable all the Behat extensions that come installed with this package and will also integrate it with [PHPSpec](#PHPSpec). diff --git a/config/behat.yml b/config/behat.yml index 91b10c3..5879f8b 100644 --- a/config/behat.yml +++ b/config/behat.yml @@ -1,21 +1,18 @@ # behat.yml # example behat config - leanphp/common-dev default: - - # configure paths - paths: - features: features - bootstrap: %behat.paths.features%/bootstrap - - # configure formatters + autoload: + '': %paths.base%/features/bootstrap formatters: pretty: true - extensions: - # rmiller/behat-spec extension - RMiller\BehatSpec\Extension\BehatSpecExtension\BehatExtension: - path: 'bin/phpspec' - # behat/mink-extension (via behat/mink-goutter-driver) - Behat\MinkExtension: - sessions: - default: - goutte: ~ + + extensions: + # rmiller/behat-spec extension + RMiller\BehatSpec\Extension\BehatSpecExtension\BehatExtension: + path: 'bin/phpspec' + # behat/mink-extension (via behat/mink-goutter-driver) + Behat\MinkExtension: + sessions: + default: + goutte: ~ + From 644b8567995617dc8a1fb66e8882a79af1ceff6b Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 27 Mar 2017 06:32:50 +0200 Subject: [PATCH 10/27] config/phpspec.yml update for PhpSpec3 and new BehatSpec --- config/phpspec.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/config/phpspec.yml b/config/phpspec.yml index da738bb..f110642 100644 --- a/config/phpspec.yml +++ b/config/phpspec.yml @@ -7,14 +7,16 @@ suites: psr4_prefix: LeanPHP\Common extensions: - LeanPHP\PhpSpec\CodeCoverage\CodeCoverageExtension: ~ Cjm\PhpSpec\Extension\TypeHintedMethodsExtension: ~ + LeanPHP\PhpSpec\CodeCoverage\CodeCoverageExtension: + format: + - html + - clover + output: + html: build/phpspec-coverage + clover: build/phpspec-coverage.xml RMiller\BehatSpec\Extension\BehatSpecExtension\PhpSpecExtension: ~ - -code_coverage: - format: - - html - - clover - output: - html: build/phpspec-coverage - clover: build/phpspec-coverage.xml + RMiller\BehatSpec\Extension\PhpSpecRunExtension\PhpSpecRunExtension: + path: bin/phpspec + commands: [describe, exemplify] + config: phpspec.yml From c0cfc68dd67ff9335ef6fd11af58ef37217c6842 Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 27 Mar 2017 06:57:10 +0200 Subject: [PATCH 11/27] update phpcs.xml standard name --- config/phpcs.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/phpcs.xml b/config/phpcs.xml index 0251c51..983f286 100644 --- a/config/phpcs.xml +++ b/config/phpcs.xml @@ -1,7 +1,7 @@ - - leanphp/common-dev Coding Standard + + LeanPHP Coding Standard src From fdbf0d55fb39bbe91614ee4f39f59d94d6aeef54 Mon Sep 17 00:00:00 2001 From: ek9 Date: Tue, 4 Apr 2017 19:11:39 +0200 Subject: [PATCH 12/27] Add ApiGen 4.2.0-RC1 + disable phpstan --- CHANGELOG.md | 3 ++- README.md | 12 +++++------- composer.json | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fba86e5..97fc006 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## 7.0.x-dev / FUTURE -- Added phpstan `~0.6` +- Added ApiGen `4.2.0-RC1` +- Added phpstan `~0.6` (disabled for now) - Update PHP from `~5.6||~7.0` to `^7.0` - Update BehatSpec from `0.3.*` to `dev-master` diff --git a/README.md b/README.md index c247d70..6d3a6c0 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ common-dev **Note!** This is early **7.0.x-dev** branch, only supporting **PHP 7+**! -[leanPHP/common-dev][0] is a set of modern **PHP 7** (**5.6+**) development tools and +[leanphp/common-dev][0] is a set of modern **PHP 7** (**5.6+**) development tools and libraries, which help you write PHP packages and libraries that comply with [PHP-FIG][1] standards and adhere to best PHP practices defined in [PHP - The Right Way][2] guidelines. @@ -306,12 +306,6 @@ For more information check [Mink Homepage][400]. #### ApiGen -**Note!** ApiGen is temporarily not provided by the package as it conflicts -with Symfony3 dependencies. We will continue to support ApiGen once it is -compatible with Symfony3 components. If you would like to use apigen, you can -add it to `require-dev` manually, by running `composer require --dev -apigen/apigen 4.2.0.x-dev` - [ApiGen][100] is a PHP Source Code API generator, which generated class reference files in HTML format for your source code. The generated reference files are useful for developer to familiarize with API of your PHP classes. @@ -331,6 +325,10 @@ The HTML files will be generated in `build/docs` directory, which is configured #### PHPStan +**Note!** PHPSten is temporarily not provided by the package as it conflicts +with ApiGen. Additionally we believe we need to review the usability of some of +the other tools if we also bring PHPStan. + [PHPStan][115] is a PHP Static Analysis Tool. It focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code. diff --git a/composer.json b/composer.json index df7380e..591a08a 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "require": { "php": "^7.0", "symfony/var-dumper": "~2.8||^3.1", - "phpstan/phpstan": "~0.6", + "apigen/apigen": "~4.2.0-rc1", "phpmd/phpmd": "~2.6", "squizlabs/php_codesniffer": "~2.8", "leaphub/phpcs-symfony2-standard": "~2.0", From 090433877eef6c2408cc22a4463d17e8857af16c Mon Sep 17 00:00:00 2001 From: ek9 Date: Tue, 4 Apr 2017 19:19:02 +0200 Subject: [PATCH 13/27] README.md: Add instructions to install --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6d3a6c0..fe6aadc 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,10 @@ Install this package as a development requirement in your project: $ composer require --dev leanphp/common-dev +To install a preview of `7.0.x-dev`: + + $ composer require --dev rmiller/behat-spec:dev-master apigen/apigen:~4.2.0-rc1 leanphp/common-dev:7.0.x-dev + ## Packages This package will trigger installation of various PHP [Libraries](#Libraries) From 5a365ecc0c6b363e36056c43b2e98b3011c95c99 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:26:05 +0200 Subject: [PATCH 14/27] CHANGELOG v6.4.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c20406..4df0bc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). **6** version series are last series to support both PHP **5.6** and **PHP 7**. -## 6.4.1 / 2017-04-08 +## 6.4.0 / 2017-04-08 - Add `sami/sami:~3.2||~4.0` (ApiGen replacement) From 0884cd6c514edd6b30e388aa953e424e983c1272 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:29:15 +0200 Subject: [PATCH 15/27] reenable phpstan/phpstan --- CHANGELOG.md | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c28ea89..99e8b5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## 7.0.x-dev / FUTURE - Added ApiGen `4.2.0-RC1` -- Added phpstan `~0.6` (disabled for now) +- Added phpstan `~0.6` - Update PHP from `~5.6||~7.0` to `^7.0` - Update BehatSpec from `0.3.*` to `dev-master` diff --git a/composer.json b/composer.json index 4bf5e6a..0237541 100644 --- a/composer.json +++ b/composer.json @@ -40,7 +40,7 @@ "behat/mink-extension": "~2.2", "behat/mink-goutte-driver": "~1.2", "behat/mink-browserkit-driver": "~1.3", - "rmiller/behat-spec": "dev-master" + "phpstan/phpstan": "~0.6" }, "bin": ["bin/composer"], "minimum-stability": "stable", From 4e2f01135118c50914ba5f6f2587dc702e81f7f3 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:31:51 +0200 Subject: [PATCH 16/27] swap rmiller/behatspec to leanphp/behat-phpspec (temp fork) --- CHANGELOG.md | 2 ++ README.md | 2 +- composer.json | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99e8b5e..8968cf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## 7.0.x-dev / FUTURE +- Change `rmiller\behatspec` to `leanphp\behat-phpspec` (temporary tagged + fork). - Added ApiGen `4.2.0-RC1` - Added phpstan `~0.6` - Update PHP from `~5.6||~7.0` to `^7.0` diff --git a/README.md b/README.md index cbdac4d..1bdbe20 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Install this package as a development requirement in your project: To install a preview of `7.0.x-dev`: - $ composer require --dev rmiller/behat-spec:dev-master apigen/apigen:~4.2.0-rc1 leanphp/common-dev:7.0.x-dev + $ composer require --dev leanphp/common-dev:7.0.x-dev ## Packages diff --git a/composer.json b/composer.json index 0237541..0d5c346 100644 --- a/composer.json +++ b/composer.json @@ -40,6 +40,7 @@ "behat/mink-extension": "~2.2", "behat/mink-goutte-driver": "~1.2", "behat/mink-browserkit-driver": "~1.3", + "leanphp/behat-phpspec": "0.6.*", "phpstan/phpstan": "~0.6" }, "bin": ["bin/composer"], From e54f2af30c87f81a0b0a3dc3f5547912d2f35687 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:38:27 +0200 Subject: [PATCH 17/27] symfony ~2.8||^3.2; leanphp/phpspec-code-coverage ~3.1 --- CHANGELOG.md | 2 ++ composer.json | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8968cf2..b458875 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Added phpstan `~0.6` - Update PHP from `~5.6||~7.0` to `^7.0` - Update BehatSpec from `0.3.*` to `dev-master` +- Update `leanphp\phpspec-code-coverage` from `~3.0` to `~3.1` +- Update `symfony` from `~2.8||^3.1` to `~2.8||^3.2`. ## 6.4.0 / 2017-04-08 diff --git a/composer.json b/composer.json index 0d5c346..c9f1ae4 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "require": { "php": "^7.0", "sami/sami": "~3.2||~4.0", - "symfony/var-dumper": "~2.8||^3.1", + "symfony/var-dumper": "~2.8||^3.2", "phpmd/phpmd": "~2.6", "squizlabs/php_codesniffer": "~2.8", "leaphub/phpcs-symfony2-standard": "~2.0", @@ -34,7 +34,7 @@ "phpspec/prophecy": "~1.7", "mockery/mockery": "0.9.*", "ciaranmcnulty/phpspec-typehintedmethods": "~2.0", - "leanphp/phpspec-code-coverage": "~3.0", + "leanphp/phpspec-code-coverage": "~3.1", "behat/behat": "~3.3", "behat/mink": "~1.7", "behat/mink-extension": "~2.2", From 7cd17e128170434ddca4118e27846853cffc1d42 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:42:26 +0200 Subject: [PATCH 18/27] remove branch-alias --- composer.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/composer.json b/composer.json index c9f1ae4..010c24d 100644 --- a/composer.json +++ b/composer.json @@ -47,10 +47,5 @@ "minimum-stability": "stable", "config": { "bin-dir": "bin" - }, - "extra": { - "branch-alias": { - "dev-develop": "7.0.x-dev" - } } } From 1aae50b4bd09ff54e224cfa2cbcd98b925260990 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:42:55 +0200 Subject: [PATCH 19/27] CHANGELOG: v7.0.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b458875..6c10745 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## 7.0.x-dev / FUTURE +## 7.0.0 / 2017-04-08 - Change `rmiller\behatspec` to `leanphp\behat-phpspec` (temporary tagged fork). From d9dc8f3cdbb110e9eb62598c72fc9527f4796651 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 20:44:27 +0200 Subject: [PATCH 20/27] 7.1.x-dev --- CHANGELOG.md | 2 ++ composer.json | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c10745..e7769df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## 7.1.x-dev / UNRELEASED + ## 7.0.0 / 2017-04-08 - Change `rmiller\behatspec` to `leanphp\behat-phpspec` (temporary tagged diff --git a/composer.json b/composer.json index 010c24d..345d837 100644 --- a/composer.json +++ b/composer.json @@ -47,5 +47,10 @@ "minimum-stability": "stable", "config": { "bin-dir": "bin" + }, + "extra": { + "branch-alias": { + "dev-develop": "7.1.x-dev" + } } } From 4e7e99573d5b5becf97b05923357df30758f847e Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 8 Apr 2017 21:00:17 +0200 Subject: [PATCH 21/27] README.md: update v7.0.0 --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 1bdbe20..4a4bbbb 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,7 @@ common-dev [![Travis](https://img.shields.io/travis/leanphp/common-dev.svg?style=flat-square)](https://travis-ci.org/leanphp/common-dev) [![Pre Release](https://img.shields.io/packagist/vpre/leanphp/common-dev.svg?style=flat-square)](https://packagist.org/packages/leanphp/common-dev) -**Note!** This is early **7.0.x-dev** branch, only supporting **PHP 7+**! - -[leanphp/common-dev][0] is a set of modern **PHP 7** (**5.6+**) development tools and +[leanphp/common-dev][0] is a set of modern **PHP 7+** development tools and libraries, which help you write PHP packages and libraries that comply with [PHP-FIG][1] standards and adhere to best PHP practices defined in [PHP - The Right Way][2] guidelines. @@ -30,10 +28,6 @@ Install this package as a development requirement in your project: $ composer require --dev leanphp/common-dev -To install a preview of `7.0.x-dev`: - - $ composer require --dev leanphp/common-dev:7.0.x-dev - ## Packages This package will trigger installation of various PHP [Libraries](#Libraries) From 0c65d2baceaa18f773bd28976cfd505a513fa8d5 Mon Sep 17 00:00:00 2001 From: ek9 Date: Wed, 18 Oct 2017 13:38:24 +0200 Subject: [PATCH 22/27] v7.11.0 - update dependencies to sable versions (phpspec v4 etc.) --- CHANGELOG.md | 16 +++++++++++++++- README.md | 18 ++++++++++-------- bin/composer | Bin 1811606 -> 1852323 bytes composer.json | 25 +++++++++++++------------ 4 files changed, 38 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7769df..35d8655 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,21 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## 7.1.x-dev / UNRELEASED +## 7.1.0 / 2017-10-18 + +- Updated `PHP_CodeSniffer` from `~2.8` to `3.0` +- Updated `phpcpd` from `~2.0` to `~3.0` +- Updated `phploc` from `~3.0` to `~4.0` +- Updated `phpunit` from `~5.0` to `~6.0` +- Updated `alice` from `~2.3` to `~3.0` +- Updated `faker` from `~1.6` to `~1.7` +- Updated `mockery` from `~0.9` to `~1.0` +- Updated `phpspec` from `~3.2` to `~4.0` +- Updated `phpspec-typehintedmethods` from `~2.0` to `~3.0` (`phpspec 4`) +- Updated `phpspec-code-coverage` from `~3.1` to `~4.0` (`phpspec 4`) +- Added `behat-code-coverage` `~3.2` +- Updated `behat` to `~3.4` +- Updated `bin/composer` to `1.3.0` ## 7.0.0 / 2017-04-08 diff --git a/README.md b/README.md index 4a4bbbb..4538fcb 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,12 @@ libraries, which help you write PHP packages and libraries that comply with [PHP-FIG][1] standards and adhere to best PHP practices defined in [PHP - The Right Way][2] guidelines. -These tools help you write **well-tested** functional & **OOP** code ([TDD][3], -[BDD][4], [SOLID][5]). - -**Distribute** your code via [Packagist][6] by using [composer][7]! +**Note!** These tools help you write **well-tested** functional & **OOP** code +([TDD][3], [BDD][4], [SOLID][5]). This meta-package should serve more as an +example set of development tools that one can use. This package helps when you +want to hack something quick, however for serious projects you are advised to +compile a custom list of development dependencies in `composer.json` of your +project, instead of depending on this package directly. See [Packages](#Packages) for a list of packages that this meta-package provides. [Usage](#Usage) section covers information regarding various tools @@ -39,15 +41,15 @@ This is a list of PHP Libraries that this package installs: - [symfony/var-dumper](#var-dumper) **v3** - Advanced Variable Dumper by Symfony project (`dump()` instead of `var_dump()`). -- [Mockery](#Mockery) **v0.9** - a simple yet flexible PHP mock object framework for +- [Mockery](#Mockery) **v1.0** - a simple yet flexible PHP mock object framework for use in unit testing. - [Prophecy](#Prophecy) - highly opinionated mocking framework for PHP. - [Alice](#Alice) - Expressive Fixtures generator based on [Faker](#Faker). - [Faker](#Faker) - PHP Library to generate fake data for you. - [vfsStream](#vfsStream) - Virtual file system to mock the real file system in unit tests. -- [PHPUnit](#PHPUnit) **v5** - The PHP Unit Testing framework. -- [PHPSpec](#PHPSpec) **v3** - SpecBDD / BDD Testing framework for PHP with extensions: +- [PHPUnit](#PHPUnit) **v6** - The PHP Unit Testing framework. +- [PHPSpec](#PHPSpec) **v4** - SpecBDD / BDD Testing framework for PHP with extensions: - [phpspec-code-coverage][805] - Code Coverage for [PHPSpec][800]. - [phpspec-typehintedmethods][810] - Generate Typehinted methods - [behat](#Behat) **v3** - ScenarioBDD / BDD Testing framework for PHP, with @@ -66,7 +68,7 @@ This is a list of PHP Development Tools that this package installs: - [PHPStan](#PHPStan) - PHP Static Analysis tool. - [PHPMD](#PHPMD) **v2** - PHP Mess Detector. Optimize your code, reduce complexity, cleanup unused parameters, methods, variables & more. -- [PHP_CodeSniffer](#PHP CodeSniffer) **v2** - PHP Code Sniffer ensures that +- [PHP_CodeSniffer](#PHP CodeSniffer) **v3** - PHP Code Sniffer ensures that your code remains clean and consistent. It is a set of scripts to detect and automatically correct violations of a defined coding standard. - [phpcs-symfony2-standard][140] - Symfony2 Coding Standard configuration for diff --git a/bin/composer b/bin/composer index 89920d3980b4ac429ef7455d6df9c4fb7bc6c3be..508f9cf274be7a7526630f9ef01c183e6b17612f 100755 GIT binary patch delta 68715 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 HeWm{olUiW- delta 45838 zcmce;2V7Lg6FBa>e)q1tYwzeBaC-D2VgW@^u@|t#0wThxC>%&pu}4j@m#2&^mY76M zqJk+eCb7j5HL<0tv0!2}##m!4vHfS?d!Q!yeLtUn`TXf!AH1xw+1YQ0AUR ztRygH;jTJvkIR=cYBk(S1;gx?iH!vAD}1RpH%S}9ol#gAtyOFw@OJH)m0Vq0u~)Ft zswV><(l%-YnIY@Bgyv#Ht};+T8n|i7RAz`$>`vf}d-F`(QDswRV<)kaK>N^>aU7#+ z#Y|`>RuWhjG<&bW!333s`B-9&zzf0geq604gxjIAGGBKTdk}bO{Wo85FQF;hO5O!0=FyUCLvcL+$^{*Be){p&9d+ zMyw=o^QkM}atUq7JOY@*(##2j@4uZUusK+3W-i&q9t8e=^RHt#Xd-hZNUS9AiuYW# zL`K8aX>H6Jz1T?L(cQPcLN)Q_ytI~UqO&tHX^{xr()h_rVVokJnW>XFBe1UNpF_9{ zp<=JCIvdkGUL;9iK@Ab(8!W;?MsS_^SlMIr6Wtb4iwP{+_v(srULP1w3&&P zCP83A^_U_-NMmU$v%w(tAn@z)*K>p(pJI=}p<)ApU8)BDA@q2JJsdW%fxwEup4+)# zePiFJ67vLJRCK%ZG1W-;&%rI!vo^xo0*M}hSds81OtesKTsL==d!Erc< zKX+B{%j}mn6@mHQUwaGljWIYFmm~-RuMM|66!fsz5GIgGR5faJ`sIvDr0vVyG+McX z2D7+5&KkN17&1qrMt_|hJC&Pk>?yV!Gv7}}F&|6&j=&Eyo=)QS zBnoYbRx8s?>PKLwiDA6JYN<6s9P|xqSFv!_+L1YfVj~-cz*%xrOD^5khPjMWB$Wih zImLh>`<$6g7bty=dbPD~<1RrCh&-Kj zNK;}viG|)h@z0A)D{8FkW1LGAjaIA%9*c{E)Uy4u7GK4%aU>CTI>( zD^h>QVPo=Wu@8YQqE~kzd!4kk_AxUn62&$G<6_n|jPAdvr!~_`S|$P~=KOF= zWGIkn%ZQx`y!oAGDi`CMCiWWR+m6{M*-ZkEcRI92?4{>^^RY0CW$f58JHyuI2J3$4Qkm(;IKN-DbC^3z-Z>3)*>+i3tvn7iZcfL zaZC^+beoIf44+=Kh|f3Q1uJ{D2OKLC zB-o~DPAhlHDcPp$PSF4iL8^@3kuqVA5UN8%0z|6QLL|M|7t&TB=D|&wQsX4<*_TTT zqq&v8v-M{ zX(I)nMjD%iOFG&uyfyPwB0*qD)Gt~z#$+zxA}eRY+lz&;h$OL)9U*bKHR2_)Mi(j7 z%p+PNhw8Vg(Qc!Yzy8tE%E48R828z0u8h7 zB*up$7~e!$#8G~W>Lg%nLm9p^`R}6wp9CX6T9V(i=q}8T1aZy;?)RQPfjf@S(Q%KW zHO#vqVk3bIT6lJH&NOk^l448(?L&U({r4^yDHs4EsWCA=;^^~YMB5jPCRLj|?S6wS zAI6CBqZyY-HvedD!wRItN}FkLY^o@wT{aWczFru zc`0{eg0Sb~;x*isxDcTMjYXq}y?#y=rbZeb#Tmt}#`xA^p=W(zetcW8=0toeCcq_5 zpTPGXAG}!WK$yUy`I77m_-N1S6V@ zw(1(Hd)tEp`=S97QQvAV3Ske@Q1qI1wV~lobBS?liyi_mV^B=3jE*+a)EI7Q3rPT5 zTXbg{OJ0pY)u^@{N?9DBu7#RQX{i_4=+?4>Kx;AXh!PGDL`2_@w=i*gTT1$Vs%1Nd z@fC$hVA7<&Pe`+;xn8a8OeTh^WP201*3@lTgQR=4(m}Tca;*>s|AYe&ECLssf8O&P z2_1K>l}TV{ak9AkN>IwB-@o^61F4}Y3T{TSl{tbgj!+@+`0zoCaZ=&j(PV~6!Sg0* zATaE^MjxZ(Q9u5rM~Sou z?CofG87rd#yXOsi*3Bu&gTOBw0}pcM)~P0)*y|#~-SM|L!TAt{L*4^Ak9gL3x5O%e zhc{oohkMXPkhsIG#RFY0T=`tjp=$!Wea3p9b=`<|fy|P?l`~?{4!22SW=aDSXi{(9 zi&GEhR=1G?(a+mR{+LSbCN6nqswm`HxDt!v%5R_v@#9k4s<^LGB`^6)s$^pW+DaQa zyS}ihZA+2L$@&_fw3dPfeTA+$b;9^+!5q}2DY*%02Gd8 zE2fFG00dr7zW9jqNtXhWp6Sv^v(sZ3nPf5uJpZQ7fFVwZqjTjjvW8ow`4bpecT9_I z;Y@|J^aKW#G+icemDx_(AEVky^Ln>kQzo#fC{zNw%%>)xw?}J?6VSESGxrr@BZ2)l z9-J=ZGe~2H_L51;ZJ*3s87g8CIBf6Z{CX0N`xF*=y!oQ8-6Adp7mvVV+t|nTK0kyD zNw;%U2ho1ZaaDG<&`LIbDSH>;(Nkd2f!aYtuv3yEfk#GjXByUE zdj|uvLXr=G4{I0Q7nr-z!OZlO7Kgxzff-{sCPTFB+mQ!*m&vPy$@(dbe%(v*3dBk5 zP82yIuxief1KgAhDGK^1BbwPWT5Kio-B<5^%iYS5!ork}oqcJK*h=67Pspr#0Yq{a z#`|#}ca#KrqGPI{P;d7~ljP!$asHi}Gh0K%z61`cInk8M>m*{G#X~^s$>o(;5ykz` zNpj=YI!S?JLg&7szRv0_8Ts!!OSV0-OJ`<zgCFw&;zYGE!1h;0O(vF#bkt?Mnc_3bJhLyEgf?qo+-(UtDUmH%e^ zPuU!m>(AA7Wx2N9#B7iS_s#{j=@p@2VOKl1u$!c*?{*Up-rwPp9K7f3&Kb-6xrJS| zTwHhY=sz4y<+}8C?{aw!4O&h=JwWpgHW1dit=+|=D5)MFjO|%sYn>d{+LqvgHD!*(~!23-p{Qo}96iS^1- zbAEj+%*#@kMc{XS!`2I{hHP=e`}i`0rTs|Yh&%0)xCMO@nYSWDIT1K?c<&ipbXFwy zsE>h3M%5q!B(TL6(*lVl6W6}4r0awFb{6)_5nQFL^Lg92wu41ZPWF{t`1QWhsi#># zX~q-#rHb>}(NEf->i*pYDl3r6Yoq$E5$2QIPsIhlq~zxHw+M~Z=52JAMM4UtS6jDqEw_lYjoQ zNEkVGfG?9P=?;Mp+a2Kr?AQTn?&|>tZvFs`ID-`fq!8`;0CD(ZD5)*W<_r>afhZ*D zGIF34n@$)g9%TX$%kSIMsc1LC1dIm*CGTe*)R765)`-B|qcyelc7Z!LNXv19M24^6 zcAnwLN)zUJZjcn=Jsc$Ytrml&P;csBDM531a5^(GSX@s6X9smUA?(J~Y^NZC?=X0O z|Btr{gqfyhtGOlFW@ZaUh(rSj%s91Tk}$91*;2fIE4#TUhp3!3%&&nWDuM4jNX+I^ zaXTWr6-gt*UCap*NvMWMq8v0t${M2NV?rMmpk0dR&JU4n z(t{z=-t3kug%m4trIXjST+v*;jve3ZG~LT3jJI)t5ZXn z7@g!%2;9E$;Ck-&q5YU7jEx8efvcU}?{K~H`iVSl%=3r^^RQgzYsotk_{V~y+qh}N zqF+?7_|bt}Nr9F-H_Rn86ry^&oKIH@)~dLG#s(dinlA}6H(#32mi)c~ITRzo{MzZaZmc9 zM%Fiq;Xq?-=)NoCOY{$+LXQz6d<0IWV8fEvoZ|&eBIGuYa0?AHQEWSQmal49ezB3} z3?n5~iyJBF(90tSiqktca)4M!E)jKmGCZrjr(vF?@uMPXDnAxUAx2!Wn7%7R^{&wPRZ8nf#@BLuvE_yPuZ-n8<_bzE zGN|Pg-cXUHNUyZu6TMlC1&t!n4FWxC7IyD^aak3yFHS$N6Tzmr+6o_0 zs7ETKsTnK9Fk%R9g~sKt+z__H%?d4dtWwF%s+2a&`btU5u2g1-1e%U*&OFW%$0cxC z>&TvxW@>OKEjMJW%D-J@VUZLl{~~!10uOJfc^$nxVM)OA?N?D)R89;?OVlhf69QK+ zs9dplT(me`{5VOpbH{aIeDP#Lun4@}GG!)ia2wZsT(EC<&v-G&QA-B|0%y%E4#ABl zX~wkiQV@E4yyPf!Rg&-TUe%g0NDL5Iv}5RbZdsLhoO7aVKfSElg#OXW-KcUiS0tlN zpmzm-jaxWjDAQG%C4q-dPHDV&Vt?i>i5CL9z3M3BW=-qNZJFp`h;<~>AaL2%j%~SM zYzUlWVe(N0NCSbNzSrSC*LG5$7f9!PJ?ai;oZOlFeUgpYC`F9~F4^+dQ*6j))<}#H z*sD*!M*{X2lWoke7@rZ^1m2I~8KEI|ij7fAgA#cE?&Z&fh85T_UD7TBYkx1m!`zet z-+dA`fiP|`S8wSDa@5O-oOf!3FC!iA2>f{-`)xf2M*9K=%RQLNGF>DY5P0%f?WZV% zLCi+!uu5Rs_*I{y#B!OBF>fPC3*qC z75571L16bm>pRzT(4R}6-T{1u%FIIGzC=PJ@ak`8J99oWiiO=%i4||J4PC`8nlVDu z!bdYkFlVKC5%?xONrtT*x$QFp8Lvc#z?zZ)#W)p_7jkr%DK!%4zF9qh%Y0=NGgYc2 zaLvQGFS*074Dlr%nQ%?u%~99;)^puWklTe<{h3E-n+XPib&E>y&Uw6*3x2JcZwHAr z0;6qvrahG%|tyIimtl?Sw|3_LXHt zWOr6bnm}L|{&6GZmmq{Pti%z4mrkx#New1$+bk;+DRD($OyW}w>W?_4bG9$DNg9(t zmAri~uFLFR3@33(VEjG%9d6_7Oy;tr<^;~^(l&(C%<0Qam%0cvq429f9LSDUN3Ba2&z^fg>7v5>(@^LUj@7I60> z?l)gND#Lj+_9^q^398Zs-3ifA0?)#S-*Va|i30ZfxTYOF!Q;5jOQL-3J|Y%@PZw5( z)+=l{mp;#mGV#gD&?y8u1m-k9nNW{`f^Rge&>NRuQe0Y6?kOWN4jGTYMnOFrB2OH? zk+i~z(h3v!Fo?(90SjlCSg5I$+p7JI^aov*K9m_edEN-8tH3k1M@fMP##~SbLu^N% zo|^DsB_&1J2({ql@_`8(i z+CPf3x`tzXotalLGTQ0R&UWL!aoo^{whz`n`rgP_(bVfSKiNTjuY~MCDv)wRt&6hq z^8=|T6zo1KYY8_~IbpM zG%DyFLY2dT5XuGVH)S#KbfHWQ)7r=bVJ$6J@M)oxS_YR=Wj-)`PBejpfm9gW89=pxF9%S~VCeuVitjs+dXG|%$PbT?cE*D@nhNAY2UEUs zlQX}>JG^j&v!t}5u*6#qi{6k$@#BV26LoO(4^^O}UNvGzm6v$k5h*&I&RICz364T4 z1cnq+0hALa7E-BPLXCqzQAq7DVMWL^DiGeUqC&8Iw2F#A5c4wSM&O)49TpK912d8G z!SeB`l+D;Mv$1(aDNg7%k%|-11UhEeG?8LNTss__NPYLu4z-i0B)=DlOpb`wx%0~M zM`BtYYNt>!|Ll`8nQHC$k3I!?6?y;J;m~BNh3Ow1;MM@j2R@xbx&GC%V*uq4TK+lk z`YBY(KkNROLV>29Hq5suQgkSa2xqD@9_8_0GP*q#l|ztq%>O}(W2RAw^-}zfRYb@{ zN`eHHpnjQJfUWQ{)mZMF905+b!VaG4R2(m#PJKpU)2x5kbUEDzbt3!t&gL z!ZJ89L(qd45x38zGWi~_P&JAMbeFig^lYl>zofO!&Ddb*Y|8ad?8URG=KrkwVK$Xy zsh5^Wl`J=e1Zu4iKS$uE#~dmP`6Wy}6KwoT+AuW{Y>IO-e`yZY$`_6YQ&D7}cZaiW za4B=+HQJ?bsBQf9x2Y*IzIY?GFp}@~Ej3Y9ZyA0%MQx1YXDVfiAPBiAj|J10@@Y_V zNUq`Ax@7kie7gwQN;#a1miY?X34(6R!uXCcvbM6|aF-{-IkBGeP?yIUUR08g{DdMy z(YQZOs~uoECsXo!;$*RLe4AXEo`zpX%UJO2m)RhwNM?r}qhzVD`J7A#The73$Q>oq z!jvLeFocYj&4$DxnFX$mmKhs*^nVdqt%^a*?2aIPmh*wdva>SYuTcDHH&8P#i_Aqy*Y#tx`imbU0c!<$J%dv=oez(!8 zwcjf13ZHG2wSxOwWql#DM)o<+)XMHq{G<aT%)v$5pivygo)1)YaM*kmc1_`O?!eha95L$u{%X&dFlT3TMSg4=lPZ3*pml z$`0yy?L*mlrNKG8q|8~Gmp?jhgh#S(VU&Efp0FCkcQwktl=0on@&q^BOr`&lDENXd@{csoyd!0V_j=10p)D*)S2^J3L{(#GS4G*N zgqN#L?ub~o(_2!3EL3_6+z=B&JD~Lk4h^(S&>11VC#9<1DA)2k`^uB${GU~4qm z#U5`(YTnqq!lJxkMV{8g#S2x*{L~!zD{?4#OQxNgS5}r+74H7;f!xkEsm_YBN)P(W z|4C6m9G+KHE?^2={)@2&ViC@~a;K}Js?_6b1IzQ|3Gi`++^H36Q2i$Jhw|jzD45bu z-i;rUFSk)}V~~6mj7g#V;NW2SIw&uYZ&W&)G;xLlTM#_WW;}P=akd>zn1N}&O6UZ7VZw#kP z{*?Rpg}Vy91*pX0V1fjsS-{a9C?ZrFH|*brR&Ps@JU}BwMhUQ}u`&pBmGVx|yHb7z zik8az7jHCVq_8izru}LN1_^uf?L`tZV36s6bdv=>-Z1H%2x&Q zkE`WI4d~X$KZX5kaD7Rr1a$}H&G;^Bost<|tjuW&$MghI`G!xiI{vL;Tr9HS^e z$oGgRG5$336-i0jR$03QzSu`xu!svmZMXHWtk!l z%9kk;;G1iT9Wd#Z!U{K(%EsWgT#*iHotA;As}w5u^SYurOxT2e|NISwiZ8vPm_R{i zO5+3N%N6!0vbpln`c{OyDn=HT$E4Pe7vT(PgTb%RQiiXCV^ZN$l`?1)@fN6ixcf0w zc6ky0clQ)0BDF>gQizHo8%Eg3FOD+URhWYVwQ;({G3rMr^^mnr!$Rr`s~I-0)G%P& zt@Yt8w-g6tko~8^0!NqQ%*OB6;LOfw4G?li5esE^6uvNWg(8Xn^p4_nN+pg4?d~cP z>&umQ6>s_1kAv+0W8NveEG&DSrlcb2*-ODCJ`cs{b;xuvV?ifFUasUqD@w z5=E*}vT}HzR+jLC^-3iL2BT6f$N9jXH&r(1W>8vmgLBA8WR6hV+u-2a8kGyxu$xu- z!A-mJ5Gkz&k3%_%Zja{;T=>SsT{ z$WZo?YwNqFz^%?oE8o0}5)}M*J(LqoP`Xs%15<`8Tfx*YrILR)M`=>>yN4;~${UEl zT29fJN1Sr%#X8b&08ARD)$lV$DnC*Q#Q1(C%C^tgs;pSXbQ-0wAr9n-xuV^S8Klp<3 zh5~Jb|8L4LzW9=I3po(rkAD1^-<08Y*jB81n{W3-`6w9cu~S=qa*%478rEc~Ltq-C zi-T#I+AJ8#s+vP&vdvb#(5iu5d-U<7z;AM^y2!wjrgHH?k*Y;dY6KuO;sTf zvfmI&H!gSfC@d>0DMN&urm8@j+nMZiqc3z}Ca&HAL)Ii!fFN4lKT$PB2I<>1LHzC{ zRcR1PBfhU{Wf**A@-gGlM3n%WcPL+i>Wz|7}Vsa};+p|Cnu z6$tMfQ2O!#lT{fiK7WQP%?w+zRXV795C2)eMCAkdIl4edvl~KScNE6eHzw+QAUH?$ zE#y|KzN125G^qUeTcDCrFm5Gfg=2%TQ{WJlLqTi}yu4iHM}-Sm3K9~*t!sK#j;08r zSEziU?+R5%C>yE@))SwGAGJ7R+c@2@dx$DYgD$V4tO_whC_@Uw=c>HmS*ePE%v@D8 z$j>`$N-~1T0sK4y7dddT$`Xs+ToVdQ)5T*o?s>0goO4h^1!f_{_=3cZ&JdWp8W)Ql zMZ4hM8dX9>tgE!FB;QkBoZI!wQ$!0}JzHW>1$YB8_-OchVTj~8eYpZ~e)s*I3a8WM_O7NHvJ z4kh`J$+~}z0VTUse*jV~gmb%9gF%t4^Z{oRO3m-ytC}Cizj;~JjDor=syJSKMHOV> zCp}cD5@Fu!CO>#O(V~O2NtW)=<}Rz|ug9vZOb|BP5&I4BPyG}h-DEw5Xo*)$ZT~Hqs3V}bX zk10rhi2n@Fg+KqGiGrKO4m@K1qP{L*1YJ~57Yb`HswWABfM3;>LSfOb>e)iU|B`wN zDe%iLsdW~9>wR_1Nci*(g`N+|(|n?ceimj9c30$;VRF!&6RmSSUyVs+lETZ;LDqB` zW=Z0RRpXUhctHT`8EKLg-^14P36|*!`sZw|}OA`mBb2M7M-)zki4Y=1* z2FPBmnGW%*G)lgh)7;hxl{{9yqldM>*ww&n&;&!=JdKXO{+?z*2tVbB1|yWNBtlI4 z9h0nUj%h5=y|X?5em#alZGT)dlRtD^^P>jVe!-X_^MOVU+fQlIc=KtER>eowX~t9V zz~~bI3zCp%-384}GymJ48ZX5U|4Y+EA=29YK(iClR#}7j&3|hS+6AFkGTPX|aLKDR z!Lbim6@Rlx`(qDi;)AFEG_y8^H+`mU+X6IyYFogj+u9UT8cY5OfSrG84?>hu*94|1 zRC+jaNBcn6F{5w$&bgg4(mU{n{?e)`{^DKj8X3R%fi_(M;kzArKJ1CMkAhz;(?vCh zK_4<^{zOZigMn#V@hrmh)OAFAl%tF93hE6yi=v>gyaN0;=vq>fq3&%R3&Ef3N`UFA zP{N8$=uf;Gbu=HoQFp}(Jf}1B><-R-} z(H8z-03Ge(4e9h?3Oam*gP-q=xo)l|v<2K9=(-mh%;4XYj(~2xu`guMelND#`AZq}7YY+Tr7lO;pP5&N_Y#;G zoAMHkGkd62Du`);dtK>NH!&t+0GwA)kTJf(<0W0fUH|CI_vl8CQocBhzyxLxvgix{ z(I9Y_^DX&&0mYe&%8W~kBm z=%5(raEKeHvx0LZZk2cUpja^mQ36#(--cJe*O*||1Pm)aTtp_m^KzuPeMZn z%(q7n=Mv%+YI8?>s&YN!QLW3v-6R=LLN-E(AVOw}!ww4v7&J_M)nE}R2h0u)?(Gv8 zZQzs!|KFNMleqkmd0srJdn(HRIUD4^z7axRrz0Wr32JTC>$JmO-v^CuVKE-_^NLH| z$j2YL5O^4iiQ8_k(=6||h}J6L_D^P%cUPqn{I<|GnBGepPBwH9l+MRPP~CV`8s{0j zxN-K->!HT3ck_y6^gKPk_$~T`98cF{cF`Nb+XSth6JNYS+$MSjWM-o~$Iz33`9%gD z{IUs|>)Jyf3TahVC2aP?LuJ|kJ*vkg+DK%Q2)h`)FD!f)^?~`3X8*m&aC;x^lH-hF z%_TYk&b^8Z{y3SoL(eI63VdbO`zDlmN=wK}40adi6?$`rmF0Q!N4j$&oNY<)@E>i^ z@qM~Y^%J=sjvYXwA@DJE66$5Zmvn#7#puJKW)__ahFNqR?EHit4ONF|bHMWom>d^3 ztgvEOW&UVSMQlmg2)MP6ZX6KnjzdQmhw<1m)r)nX$^G$j@HOA zT7o@uX@?JX5l+8ERR_Dv^2X(Q(L16Z)PAqG!}+)AcsMtY9`(OQHsHvjAU$OCo(t$< zF#T^dpGBjTT9T{P!KVvo9ZdXzrdtVN8W~K8ro;_d-+8c0Ed39L(hBq{c1r9oZlD5SXo9{Y%vzyMfcU2}Egw`vKhyy#p`DNWj9$q=@XK^3KJ;sP z9R-1Fk=sG<}Csd{m9uk)W><#(>9K1=pVTn%9 z!tF%89|Yf`Gokbr66$)AHo#GxJ}K}yLq+2M;=GFdk%Qd=AzYffx9A#pxDVI&&~5q~ z_@W)k`f{c|7+iPgH^YY&l?+2O@S=tui?i^=Zu-~J@z<#y5GhRbS>D9316WrdP`(r$t`hd=YDJ}Fyxb%R|z;j~O_jF@e z@;99i%^%Y5Qi*WkA?=n#X?{c>mqj?i{+LdJ?vHU>jCf3U5VR4FKc)j^cPd8pxDd@$!nrO4(l~=%Ev9)Qs)N-mEWAl;;TP7xLi}bF*=AaQ z8Zrl|Fj8u;ivO^0+f4d6c;y6c=hSs{vM_^$|79iO@YE8Q5E~yy%u;z_MM+s9-T)EP zK{xDl(b6Ts>ThU!B5_WlV~TLL5t4S2Jrlf>6#PE3aTRE2Aa8>Wjj36m&PcwIJo9nK zjwq~vk!HPHK@LRFV+!4xSWmP6b0(5>&w0*Zz{?ZNHkeD6m0w3shF(GX!v8N#;Ycus zp!FvP@c*IMUNn&1|EF2>|38^UB9E!_(66Y>jER`X9{+Dx`nTmwBL3O;|3~u~4nJA+ zHzDv3JXO^@_(brv>37OUj!1(OwFXpJIU3!+ZTji|;pqcm=v$PcdIM#F(maca|H`ia zObaz{&|2-t5zhR)3TI3iJlRfngTul4bHre7gI)}YCopQu;!Uxe!i z$>4{#?LIL1PZY3VH3Bv$H2lyg{kKNGX|n#Q9=@%$Vf@%h9|_)0xSveBSTppxhV}(t z+2h?y6$TA&40UMv4xROjb%1>$`KP`0vnlbsGhK!$gRY-ocpnt259WXFtH&!kQyg~h z{!p%kq5bu(VEP5KF9gTy_58v9`j3)f?jn6QoEc>c;4#&eM1h|Mv-PDMj<#XD#t6ID z>6MUoM(q#B90udZOZ3|n(0jGM9|SGOQ0VOsEdivVl;5{pKZ)XVR_aSA(%zqM`i7nn zifiERYJFpTGNHr6?Q9Hq{tPrUh7oV-Ltw|7`T>v-ggGw!835x~#p5hQ-@8oi2w zH(8WBVF9~O*1<8AAsBis)NA4BY7C?ZUD&z~9nG!bhSqTGuujGAds~mex2sk^S00+} zh0kmCu>skkXw>o2#e;|Ms_am5$%#pBJdk)|LwUtEeMOoq)&LxjRu36kO*b))+p8;;f8g;Fo7_e zG3-@im%#}+u`s}FxU7#Q`Poav@tvw;@T19gFf{Opw9G=erHO3_|+ItbEHz10T=d9Ax-j59=7r4P6{z=mgOt z4GZ}lBMsvyK53M}q+VD z)L{3&x)PO=5@r8J;>XW0q$pyY9WW>?}tpn`de4X^RqC5GKp*gvRyNa8iMBR&ft zj|RkF{2xmV1(fkcOvnL4Fx3$zgCPpu2SZh`nDoI|$~}Ta*n)$6b{fXi>mox7@Gdjx z_?^oPdCWiQMQ<|TUE(H#Ng-vHFR1nYz-aXrX!)KYg5SNxP)CUx*%-dAF|;u_J;kLJ zRd{drOg*P=HkhDCt-&g&C&|{&{ zBmRFZ5eW|SDl0HHEX^w~A6HUV;Lb_mOLiL`vI^k>y!1yyB(Nt9FDaVhRUY1T7}{gj z%3+1Ju{hUnP8trFgD|_CTS>0?!`j#rBVScCA6GMMP zYbjnR#egEO%+s43AImVKD&^`UNJ3vi!TjorZ7J1y<4Ne-QWwZa8jRr-6d7r&&p#+N zsV4LR=>+$ ze#+Y5LzA&Dv_Tz;!TW2>>)PL9S<7=K2 zR{~*J5^Xt&P@TeNL3s#c5MkH1!p=Y~3;jN1d|}mHg9cJ8#;?H`s4#=C)o8N+L%b0v zQ#6(D8I2KqPpff|jNfE89*N^(e$c_ru0}naP4_WCX%8P2oa}036!;}&HkoR8UOV_(^rvje5R=#-}V*LE-n1o&tL|>1*RCN^J=tU;FTH^24wjo zGsfq8q!+V$e!|RT|Gi8MAG*-gO%4|qn<6nWV6v+sh-7vAm?fqb{uXK5p~b{4_fla2 zKCSt9t7!vG-gf0x;2Q{h4>c{@>;r3;TJZT8KF@-2HKtd4{JUTH3#;mm^UoeUct~+h zWHC`g;eNA$W=yJB498~{UQa{>m}^bbEv|pH!^ppwAbi7ZVqHYhFqKtKUdxHM`v1ZX zhaYN98Gir4nX3XluLrL>wwdDb*>(NY8rXoL+e~2^ftkVaIj{u>gip6&7UIA*Q!boO zwWyW7(_eBrZwi8$`%ED)e5J|? zofeq7Tgd5+ya*THTab5_P_o~YrX;({10U`;^`ShVIbgz9`nZe0eZUk9`3Fqtq^T90 zI$*NX6(h?^#yMT%aoym}eWv!LeGYH@(sas%*QE^$H}yQT48~=#X8!UICZz%5*I5|; z$uFh_6s-CcS=3xM=^@T;weUY&G98q|o!?E7yz{E*Vr%#!m2vPH;ml6FuX=2@^J$Sx zX9X;DQmN4PRZ|;2K8|5Dux9|{&*!&b!sRMd7~CX~lg#+=waLsv*)wE7WFsG+${eJs z)0hEDXOy#P3hc>btZ=gzQkmD6VPS3>GgX$*g2w}DnH*ZDF&blemA9m{ys$jtKRbNY zff*}LXb}Nx5|N1^8B7_W9su2LnQ8uMM`nnD_w;3MQ}CBvZRN+l#I&afzx^S2AoB|h z9mM!U<3UU!kEP$EtNmCzfBZFOwhUJMWwvn4G9{GEX4*mWF|DOK*%AcjXX9N>;TcQ_ z>{`M!h2%~6v*R2l4AUQ48_-MfjQIK-rWK5O8(*f>ylqiJ%2EdJ(C08~VAe5}jbAXA zS*n3vOBsAnhRr-SAMOcnUS!VN$~{HHlaoaWhU42fvVu^1)SSZa{*_tng|(+NX5QP^ zT!C*|me4-r;ROGZ-P05-&18SWt6Ub zPf-!R7MJ<+GiRG0%ft$P`#f`)j5jYd-&EVX3(x*gPJPw@{E0|M4>ON_F)% zJf^*~)_h-}1&r9uOyhU-vaF78*wYcwkT%WY5ARO1od2&%J+yAY zSfGwITj8f^mR>M_ti^{foo@Ne3012sKl1XoEaxoz)sHRb{P@c!EH7CgcAdonQ*T++ z(C?xp6mRtg*%fxlTA3u?#c+c=Zro5i;f-+>OjV)5rEU9l7?;LTqx ze*Cp-mP2y>(k;s!IkZ1(X$8J_Ehaqm)!woALC$T9jeqa1B~1>7l_nkRzGcz!s=qBw ztu%zo5udhR?-t$^kI@u|=mLhjbDvz?dp4s}_$7 zlfj&B!`xPe+04&>Vp&-r$7>C~ZNAk`0W$0Z#Rb-JLWzG|VEw`jyT@81_}|A`*BGE| ztknvm-;x<%=S*v$93u~)UbR~JoL8(fDfszS>l{f*);er@;bl$mT&o3~GweO!=6t2QUT13Cd8psb{WX0#rbhWiVkl%I^WDcvs7p?6}N((&&g6#~4 zvTAE%u)K%iN=>zO6Etpz@4qX+dfy1e78|wznBustzB%F8mVnpBZT3MgM2 z1TVou(GTVLP&|2wZLsbcA7;3D$ExJ(-n6~%gvh>H9e-i3ZHPfrKCVz)#kMDG;leAL zb;oUXb^FYgN%8JvSbf5_i{JB&Eso;*eP^2_hxsQlqfvO$RwIX`(>5!=;EZkR2hez- zJrxQT+8;;**5F@k<=MDmIK+4U+zh!g=7dP^%S_$%4$Vg^Q!#zT(z zC}WkAIB;mbITEN+)<@&Y^OobKDc+TP*-t4Yn$=4DFl;o&`gO+{M|COd3$H8iXp~&a znw9vPS9nzt4t*=xFyRw~3*$9-O;E{prcxlJ8oOPqWR28dkd0+ys2o0iEIWvT)V-_$ zTE5J-hr$UC6Wm3ZpSvwqmneBpavizpA{xPBC$Syv1h)FFj^mf5NyHJjGp-y~> zilss?`Hny|Vxcf>I-4kqj)2-(IOZP*@l%8kr?VZA*290(${YW`X|#VQLH5PU< zjwU?!I%|}{w%M!;x_)EULE|L7nZG@o-A}2ag*X&y+xg%Fvbk(?a8xRd+I zC;UdOcNP0HImojU*+?`7=@W6yI(&j5^?MW9TJc;-U|Q0gKs6D2>FYvs0I{N@cHMc;5o&m$PlayadM& z1~vsgU!Ob>MqS z#N!76`;mO#%M|$!{lMg8I5+2|7Rj*;g<3k1C8Y<)l zJl@LUzQTtTZJePcWQrA`#P^UmI9&XV^w+Sxn18mCS|@ndvKgpmAFgF15S&}fcA%mm zeK}69e(8h2RL5c_bRF_|yuZZ(H^!kP>eZno{Eg4!0W+urfmx5UJr|6&bkTY?Po~39 z@A6AL_~yI}65eL53Q~kyZ?l7;-#ctMq;F!a@aP>>*3b=XAK1Tv#cw8JFza}vts|Bn zxQWF(ucCL6$B-rX>hb<2v|69Pi+k^?UTft~zl$3Xw!LGEfT?8|@MXP^ngzZNjZHx$ z22ZErW$n3*XbKJ_%P=Uc*JDlZ;rWS)iLFu~eH9xiO8)#7wk?r-HotuwywVZgAdrH_2ujj*^Z{rE?zWig$4Lvyr`rs6ly<2(K257$g-B^SnT4hOGgmU+?bZ%O*TKzCcKcZ@BQO$mq}5 zBt=G#^e&M5F`M*^HKFx|4$${AcIh*+T{4~cYy}fe@0}U$e17;m5DpXrZ7w!o~(-Q-m|dnSf86n)>RC4r9ePXe|#d@p@DKZymgWdfw1FjocUQN99&4P79D5j>fK@PXm=F; ze~LRAG$+_oEcv`h$W;+fUEnDyEGFNGz>^bf70P7XH)x1|{)SDLIg{bST-HxpDCAit zqh0lWi=OIuH#E9i)#xdbj$;q%J2M4=jpTMkKVx{o&%ome4j;e112Z#n+o$*G8$sMjct|*T zxGl^b(ld2zkZ?9?s6$6DDS&A6p~q>~p(ZEg|MM6@Q|nz72Du`O7z~NJDN>hy#H3Di z6;38Y)U$vNv>{z7A(78%{(*u=Hu68g8$LHggAzjgX*B)4TIxa}MDAd%_-v5Gq{6jE zD0zk+iXZfM*V$|@Gzed)VN1dkTe#w4ecpTofEm2_OXZw%oEl*Rg|&B)eGC0>|5bU zE=lt@Jk_n=!%Hd*%A)V1FQX9?=GtgzB$xHV+T=o~5Bv+RVF_a@LP-+ra z@C6Z&;AzifSrCoM^UQjcq>i&z{-@LIWJ-oPzoTbyXXKv6L(Rjp7+?scsB>&fxN(MU zgZnY&EbAx7Z3j2cupx}F=OoR-*CC-W@vPtszC6pGLgaPlo*~=e22%ZZj~nOM?!>I0 z_)G5F5N-T-=u{s+8=#~P4_E zjG1xaeeeSXe3xRmi{WzFUG^(;&wkyzN8>h+ClC6_59oQ14dF}g;aL?vz0cmUg*ru> zBz!&|?HpE#@`EoPu(3uwtd`e%l7dip@&L~cX@9fLG~!pg5l(*6-*}`{xr8g;>PKui zeEE<~Qlg)7e>7myX zHXB9z{u8z(f?uDo6JW?A49iD7Wuup_b+Ai=9O|XF9WeyLAj;8MD4e4lzOdsd%fW5R zu@)9RMb*g-$G4Qb0#N-wk~y;A$B&;6)ZuU&hqK|VX@DmQRxNjWnhplm5j8Io<#pg=pgxf{2mJx_=SaJjgHrzBS7tE{ZZ08 zj1CeD|73K;Ki6n7;puz19_O)R7A8qC^3+1M$?+#*W-^WdDs)3JV#8U*zxb!Rf#je@DP`qhysCto#Lkhd}8;fWu!$ zDB)in=r!C87Y5=>o`gV0CwMg&g}*+~kpveRM=(4NbmRf9J~>(L3UY)A!{>Rc0RO^v z0{8_x7Qy!u(U^T!sHNd5gCWzEUm_QQTXCP$9MqVL`ojqIO@akPVoH}EQ=TP1$0w`GPMpBt`XF=G~o zN>ww1QNz?&N21&*p5>pb=kLTi@cH926pa-U#-1+@ax!pALi9cD+#t`$O#DbYZJc^)j+d?iH7|@+7pq3jqgZr`ivT^fs7kLJD?W&;z{XcAJGH)JSe%ieGSFkJO z=5JoU{CQ9){i=QQwnt~{<|9wtEA-*`+57JNo(+i8b>{qx50kL(+5 z{^`%dSp8R@yZPCtKaYOlQS`kx?|#GO_kQWEZ@IicK!ZT-_wQeXpM*_4-~U%2WW6nJ zq|3kO-@JH%C-SySKD+s=mmiJZ^2W;#eF^f8|MRO*YoR8=zmXd9z4pzn?HE!^3*%t{;o^= zGjQ&C0d=nY>0e)fiGi;C7tzfR!5?&a^PBMJUoLO{{^bkrzxm+hE%D7ic=SSY^XqT8 zr2hyu-~Eg1X4`DTdyHGd;{p1$c_#2O8<;--@&5t4n7(&=13LBB_wD@``v496CwsX0 z->#l{`{lD+n9{%bS0E;X58C%-Ffc&CtYB84hntUFzIuS^SvJq$XZ|lhudXQQkCbqM zANj{{_{$~O=6AV(JiQ9;`~FM226MXpiRZrK0wCkFmw!>;bRWI{^EZG0uf3J*;~k>g z$H_-ezwb7D=85C{!?*lXuN+@~{d;bosQzPL{jIx4Km3u~_dQYN(a*PT-~5IrPWf*> zdi#@493~&TwVycr+aJ6AH?JH%`g`r$ue{}zzcIdj?ltla zq>*pzmre8!8jTNJ-Zla4#=rSnV01sC+o&V+bT~D+0_yS)9_s+AXP^3U%Qx0L4il{q0=G)$K&T@N& zDXt$dMrdj<+CGrs)Y7au(Tp^b^qsC5kOG;^KkI5Mdn9jO*g73Pq8xjedj|F7KM zUH(b?!M8nQGBmP2UEcAig(2cScx?luc=Y^HaEPE|H z(o2riS5h$1k%iJ-&~t{Q7W7yhpH{1U%6anX=ws@Fo=rv`$+Wdd9=G=>&CE|riqL@nS*IJIhTQEMO1Sbyj6#1x&@u8FlvxAFTy?3Rg%)V`Bvog{jH)p!)r#q&ia9;nF*RyN zOVs)tO)1b7w-TEx>1a&TQN?elsWJ98Eu%D$B6l2p5XBNrPn6C|TMx8K)UK7sH0^Rc z7iaz?*`Yhx!q9~))o|<6*iDA*sX|pSFY#%}RT{5Q3XM>UekDZiP~Ldbvh)Tt%26~0 z9XS@f6)OitP*^IOU4F-W@a!3;J5BNNSf20tgFzQVPLbT`i>_o( zch=e)s1$xGGJ7O#!V`YrNikev?6 zH+7^@hbLD?+(U+S8np+lNz9f*!#iO4&>U0qO>1wfy+u762q8g9Gn_*WY@!$Hm^iBu zF*b|Mu73!H!)CXug|sr1)nOFP5PLZmEpnpw8Ft;}`mwg7sNBJa-FdnUI))nKzm}>l049g9ff8%~vvIY3jJ#PYz+l)V6GI`NJ{fyK=T9Psc99tQb`6 z66ta_-1?$5-WgLOmF!mOi_`8dP>fR@c4>*~^R0rN3q>HPrvU-WetnWYmuhQ`kC;`v z47emsBdgGZW!Ftdcr};2wr1@dsx?A!e%zM{yxnzuW;`SvZ9L2 zG#vT2)$*p{NaH*IG(5u?>`@AJ!3GR%M*qX=3`2yhx69XJ|4|vd)%-0 z1ao9Md`c-8vJyhnYE2gL2;M!i>GuX*h^^{0W^;a{ZnjRm$&Wsjh@EjfWs^3Et@cVz z&pJJH?8ZItW&6QCF|)~dgb~OJRbvP;&2yWjn}EaIFDGzCZc*0GGGv27-0Jg*5R*o) zuO4*rpdMCvM_!O@|Gt1MOtCRl0_S*LjeUpTD5HI6v z5APpbe6Sx8;VBS@v1@diikJ6_cQIymO>L5Ny1i~rH9Q!4kO&iZOsdW!x!vq##j3K^f@bC za)XsU2)DAh19$FMNAxt4CtL5B`I$2qOVPgMPses^XP+r?(S<(KO+fDn?f$X@$0uAyrE(U@DAIT z(mQ^v^E@}yF4V^%8;acNkvUPrdjsv7RN@(m)~{HIvKtE}ag`?o84t60dSqh=qpz7( zVA2*120T3}I#sdv23zK;P&18zsiXQ>(a4Iux6dQ4vN%M;RMRlI@qJuA<*1{=8|P`r zj!^C>ov0-pCEI1P5(X8dP#S0RLb`Two(k|VnXNk2%;>CVgoTeX55mQ3;t0W<3D)}r zBNr#Nf;EYw)WnlV^`$a+Bgr4r$8+OoB;?;#C!0PZuj}L=)5rJzah+`J5X4RA+jm|5 z?swn4>GHxaKZMs?eDUrr=VIB`QDMX@r;?&2Un&MCay3~D2z0WTZ*bqRPB>z2cZxX5 zmfd?gB)jOIs7$H$|fodKX4PnB@W;G|J|6n@-CC7uggU$N@;GLVa9*qYC#^-5&r zKw)ge*z^)BK*M3jXrIn&Y1`vZouFo0^XTr!xL97bk$C}{b<|Sl>0~*q2@U5*l|_Vy;b?$QHaylJ=%d}bLy|eSP>RmXEAuMdR%%PB zT2`bH1OC8BWxS|nJfR_qSJX0wI-WOn-O>4YhND)9H-x0p0Pp z%M`3@d$TFSXfyHEzO=?>2TG%;{BJH5xm6Oh*TOJo35OoEaR8Ht(67>&o(hN6?J6?aP( zrUF`4&j<)-Yg!2f?V#vd#XXLT!CdXrk)?KhJ3K&8%xWgL0wkpgD;l%vnRXhVgKTi} zAOQ9Z%$#TGdY1L0X*MWBra9q0^Hxm?g`n7l09YbbR&O$IFr5?x!>^PnqVyUUv9uJO ztJwP#U*xJK6WaPR5UdjtvYf5JcvGK+wgBX$Hf?#SDW<3=qnMj25Y9Ah1>|Y;Wb?Gf z6U0<>|9}(|5vEw~62me8gh3Lf`zev<9^NT0zcRZco7A1%*A#0-PN|M5T0E%-t}^(1 zBpMpah~AW3>?euJO}njKOJZgdaiwAsemIQVCKuLpr|9?6&B>k}9RUf6?sC+k7s<|D zV+1(;snYN6*TtwscKUd}Hpl~Wsz;<}IjxaWl#BCp*_}8}XS=1=2cikqVD#6W%;>gN zWU~!bY9qCyZOtDK+$7=VUP|T1AXm1vKcmX{Xq)2L7`FM{e&Gz-EM#26k!EIZ-p>a9q`-XmUei$oSS!cVT0oyEO`jnOpHwpCN^<2wG&>a)N)W_rcub$ht9}_| zV8FBKK6pHI;E*t|7I8p8IITT-o-81e{c>DQghX(F$#Hr-cMmWi<#qmYDm}{7I=n{c zXYi2$Ohg2tq|J*a#GW+ZxxDYYG#A=?2(ZoANY(-u&{o z2}QkX+6$06fxNE4upp<{rffX26ur`DDmqII5IYq&5)G!ArWlF}DSAl>B-M)O6E#LD z1PX9!%u%z5?lcv;8eLPOMtK@tPy*Wg?NZ}}3Mw|Igy{bGz8(N5)Z=xLUu$H?Rf+cSiy@(DwgD&X8_ z_yBFn!DtmGHXXd?b5=8slb5c6GzP4xe6@fp`lw8%uh{+(rwqV1wB1)RC6?hiUI_s( z>f3{ZDWs>6-LHJRvqXY*a`}z$;d5t6u#uP)T z5UIh>8|Z<~pY$>>JCv#ipvlXA;;}VvjCED1FZZz+1A?(Q`>dTnKC_aXvq=UkS)#q zi8yZ@KM7g7RZLnnBQCZ+r>(nfDJPtHjxEX5ORcve4Zwj#!(VFU2j_QK)*8yT$z6+p|eSNk;f^eTv3~Xj$aw7|v#cmDTo< zem5f5r>Vdw_MmF502ffZDr+-OYOA1U+l+)o?*&>mBl?nainl03vr<@ zr`{-E%0xI{%1CW_1=f*w>xDHOtHa5(rGCyzXmOSeXM(YiT7zMKMo#7u!C0$oYPvzM z-&Q7yqMmxwYPF(*9!Kvxn4c~+8Zo+wzBbbBXitYxz)p%4%^s^sq@taW*&jWLnLc{z z$L_2bF2DN|58i&k?w)`4lK=GwA9(Zh1imCbTz>Wow=X<3x_s+TJ@};E&!Gr=d=kfYifs1PfL}B*{DvmVSC}gOW5>Kn~J++CyrmQkfmw)x2Ja`||TnxEh z%~JMbGXkK}Jt-%Nc!E-ag{uRsmR7E#!Xi|Q>t9xizz{`>dHHSh!M}5siaw1x?qJ`} zj{R*no=$k3#4EetNW3F+qTDwzYEY_)8y%URf&>nQZer6^>z+%PIWg+9J9)kg(4Czp zrXfn{x^+^^b>_G1%8x}&#Z%rr9%`|6sD7DAlaZ5R{o}^y69~FH_YUPY+i$sgF4-PC z?yma%DvQUeyGD*6_2ZrLI^s8bta~4dhje zqo&RRl4j(<1>T{<(uR;_xm9B|>TpjJ9+uPqMip)k!3 zgB>YVJ$9a4zW5g&e&8~RZ@>NFgv5Q@E&Frg5Nx`AvS8QyLNrekk$8b2+4Glq_)r&&r^mV2bP z?1pM;2Z>7pv1|i)xAN45^9f89VamCL$z-0$0p^!0UR`Hl7fk1VlTLvp&05 zd_zuJ%g<`XbVb&E&FgFjRi{EK)*;6JF!c6x&-Pjy{V4mxdYk|nypB3jvZ!E!AnvNtFGRsgTNsS zuFcWyW9k!nJ;OUWa{1L?deH6=3Ol{ew4&;uPluw!4WV^wevPMlMB??-2fsEG23sFa z4zeT)v+3n8K6-fb+$*_jle$`b6X!~+%e%kz?)LKA-}CT0&g@|$=}VN&x89Pfah4+& z-TAt+z?bCW;Do*9F+D_Pn)s~Qo7IRz4DH!cjdD%U$+YB87ARS8Rd3h*0p3g6+iik% zh_yBVueV=`+ipFcwpUrZMP@oH7(PAS>`v6_&^PfJ5@p#rF()g3)(TemlIc2~QD0yJ zc`N5!YemAh5bcF5ir9#dcdN0!4T^Q@>4SqDwZftm^*Yq?FyH4+J6!CLxx1f3fNF-( zzMyhDP7mfNOhsKD;!B}Ca+`!u=4*e$ns}Q>`>Pet4tD3=tVnoTwmU6L^LH}a8_Mks z;{oiZ3cO#E0Xp1PnTHqJCgVfgOb(~n)*4KuRMrC?HM>b%%p$eGL#$|z3zcfOvgjz! z`hI4z{VDtsYQ*gT(|ZWE-f(Rk#wkXwYk1xpe_NbY8$UAsL{g3Y`e5(7wHS6+oqiUK zQf_?OojRvhBH@MM@J!5QD(0<`!&VtB!Wpp&u=QpZbj8e@47RkzGnO)9fwoNqrPQ>e zzocs>N5`YJKY-L)U%7|P1hY=%py(b~8lUDv>5OcXgDOXp)ar2BK-g?}yCa6A9!wo$ zAVpH6F12 zO|^4Y^R2zuVA4|WB+g(z-E2?RJQ_ksAsY_UjuIQYyaTEw_a|3{^6a_>GuS)UD;k| z)-|>YFh0h*#&>f(30|j9d8sb)`pQkLc6)|Yb9ivG6mRwGD2Di~7!dGv<-;DO?rV$H z@jb!^Qyf>PonBj-OKJBM?ey?~R(_pJDuD)xxKk29WTmdFR)jZky0h(xIC}nM-;3%= zX}0YuZ-F3TBSaZ;8mh()QqZKs%3(i0tH!*&viHfhG}*B^lIeZSj_qmNw{>hg-vV(V zNm=B2_+T;Bs8M_2HXW16XyKD3rQ?g(ZnD1it|7lww;oRmD##0p?o6%eaD7ZLA?_7ZL^n}6UHW5A7Mv_} zOhs}OVyD;pUM&NzmirST2(&Xam`%5>1D@{KsBGz^#zx*zSkg*+ZME9Rjx(N)WCUw* z*2eNITQ7BR-#X6q*xV?~WYng5l4RN>VF#<)G&h5-9Jct0s;Hzaxm5)(*qqgJfBY@$w&nqXuy&a+_U zwhf3F3&H5^T`UC9r7ZywtT*Y}Tw9m(N%E%`BK$1p3< zY$bWQoLW+pu4Ui*L{Spx#$y+Z+)B%AfKdKYB<9neHc2tLQ|$E25MsTD#_d832kh4H zr69JXX&!COtBB~4{R?;h!CSwZ%5!*Gqu=a=WGL7~IrMXX4ZH7N5H|2C`E|2hvQZMf z|EeQ=$L6XdT)pI9fkXY$FWf$NW?$p(*zUnxmRG!6L%$o0M4uc&ZHm1nD>SArnD(kIOR1dXRbXV zH;}obDnn|zoMqMtJhwO_yc7wt&fc>-PvWycXJK?8(jYHr6pd*)OH{fM6TSb8z?28F zlcRE+h(fL_#@(qvWUCcU`ksMnYOnw_+&hf72T>XAhud+V@9u};GIqDEW4;aOogqx; z8o{o05?Q1zdC@Tv3=O2VMf=u4-|U#>X(N{T;OlSyAExw z7_mK0HGL3N{J0auyxp~3Tx>Iwc`~3lBnJJ+Y({AFB1^|vUMqc1X0`Lwkylu+@E0yt zGOYpI-mpf0&V66C=nmCnk?1M(yo)Of$xRkLfq{}Q9a1a(YjzvyK1+wViOIQ z^(nT-LY(g;iRm-^R*8+ZDB_|wh>$iLow$}TC#XGyW1c2EMHvjaNjBS{s)SpiVzuV- zIn5y9ktHW&IQf_jV`2_i@PJ>?WzRk?xJi8COF&jvo7S3Ja!TDs+w(vO+V<$Mfe~U= zZs#0>7J2HnE2d~MUfEj7UTZ&;oHjF_MlXm>feLC{nvc@T$5RTByyD>5m+sF#c+VTTV@hA# zpMCIN4M=e0F$)fQ*ia4~s|JQ<^cV$zxE*qNwxOw&>ao5VZ#2(pBRsk6xtOS zV=KT59e(D)o%d>3i`Spvd4OB-AjNCMm-q5&M+dscsuADD@&Mn1G2LSzE`C|K4Jd?Y ztSu~9VJ6@W`Ge;HCg6dMBv15U7Aq2JF4jS<7v)5l4I^dhJIm5=^{vTxQ)hyrbf3gF zt1V5FO23wha7-Jex8jNY0x`AC0aaQfsnwZKNw?RndUB~Rh+C4Mnl zbFB*12c=`T^imu#2SVV*7AcnamRprGc0U=l+9Wy+=EHPRAyXYarDeOcO~N-r&Qg`d zb^@5syu$@q#3_@>EaD+sH~}Q-)=`_$@WpK3nMBe?I+Ufgk)?5`GC>zwvp!c+;q@Ls|7(l~WMBIo}1CIl9kT!5V!0~AVvI9I1 zaJozR8oj&1_YLk3p93FoX#R%LnN99ddEh7jfN$`8q+tj`jZT^xaCehp(B=wP?g4=K z*IpTIPQ2b3?g;hvl+bV&%^jz(KAQiCzzkIPl*H`HhM?4_xiD9p8)D#er4Ax!8=UD~ zDS)EkD4gqfkX56$~^#Ga%~z^@GJVHFx-<*2bdh|RZPxkt?ovd z1#(EWLV~(qoq?xn%>M!;CRM{V0umF6k_*wTjt1n2eX}e&_2eU*7(<=bwG5 zbNRV-Kulq1w9QGFRi7e)Q@Q;?FFq9_ne> z9y*eJc6+CdMeSoX7IuS6s1E1LB7?Z2cB6CtdWN5hd?#x03Cup!k%`!)BaH^=8BXzwE;w!=b=#PH)?wRsE`UdvHL0Aj9YV$p-aQpoW zmJb_uf|bAao4EG7F6dhyy!Y7^;6}7Fe#KXyP70rcuekgVZ@qi_nV+6ON^!6LxbBa! zb=*2Y5W9q66?Gjg0ufpPQDp4fAfz%mVB)S)k%j;lrrdt0V;(RIK{b5L&2Y!gl|Vom z20`LLSD1l-!anAqz@rlH!G$eQWPxNjQxGmWfx@g8gZ{|y_Owe+r_mE z$QpX{nqd4@Z3mz7O*g&SHgezg7r#N{zlpYAdVl8bqh~?h?j6nyN@=qL4ZarE2Xw!Q z4t)h1Qp054va>836B3T_=xIarR=p81TWXw#LTIB+qZQiju9RxdiYv?2#^$8-M>=ro z`CjS@LuVz&Ml`F2ZQ403;@pgf1QQQv#G6cZ-n@gK+o`c#0DZhGCr+qHveTYQGA~Id z-U`vEJ#o`H zoJQNavE#=z)epI0x$ks>0(E&xn;*-WKM2Jwb{_P7B|ogE9LtS6yUf|oks;97+m=c7 zu{t1oy|FSqCSuy9AZTY7(aEkiM=Rd-qB2QDwyPwXle?m8Zf$xbk+a3V*O|;g)OvhE z*Q)fu)vz!}>L*EjF!-HJX>8#Ww06Vc^V!Q(eCZNuHCod<9~5{hxJe8}Dzt+1p{p*Yi;+`Kz4Ns2Dla2rSZEvpJH1YcU<0e>WT67IV;MVYbuabvr zz;cZqn&W1mVZ@;#JdCDKECdncHJTurE4fz%MAQTc5T8&K0_GYN1$`>4Xo3<0Y825` zqfhWP3Z6;;q0s$E!WH59_nYympwo>Bep$;xL97Oj21Oogy|3zmtJFISagcPU=b#aQ z!&$G|lqMD!in4|%MxJ*Vpd1qilcZJ8DYFk5t99L+BsLVc3ql5WOYwiq2^+gk{BLNs z&**i>T_d#mrVaPYcKhp?ZKM%3{KbsNL(zfDJ?iTJ4U+CB|Vf`J(gcBcj_~7XAScE5pN#d3y zj`p+uX%pd`4dPBZg*^#zo*RtO#%ISE>u5=GEr7VF6iqgfgfn0?jF~@#b%*g zes1vmyMOqp*@H(<%^rTiy>x!@VgIS_MSJl9arwtzx_#drH*BnD^>QW)u(()z^IE=W zzi|ieg?#kz`DdFgq8tqyYc$wB13PJ!$`q|G)FZeQa(T}$J^1M5KYIk6+4&bA3`mKK z@cXQ_*(M`3d>CxgWi?Q1U)9yuLg1-7kIO)c!(ArNJ^Y@tY0{&|8}BxN`kU;UAC4@3 zXiYIKYN#>~Phht$4OEz(AH6|7yQjz);GSMO7OUP7he!!%HDiGQhxYaPvnd4Dk3|?P zn@+3F(J%x|H!Mq?N}L6;)*c1X;la0ymlI@2jQ2|rt>p6zOF;w)q5)$u6ZpCoq+0 zl4J6owU4vCQV$b(HZzhgTF%sHurJ+^jm-nP#&b*SM}rBPA3FRD5k*4KVgTs?sKY3+ zcXC&b;heiV7#XnGJ7_mndMbx)omv>0dy($uDNxBq8L1v7oy$jYVpTj<vB$b4>b`C(JbrH|LVsP1lr*2VH$~aNCq=Dx#bXHo?&9 zVtBs9;;bYbFIbXMy~mJo*P0zDEL`-+c$a!s%EzTh3W~fNshxZuua~QS$1a3Db#RS( zIp2{>x2`_bpGxPdz_=8pX+r_o?SU^ptS< z!B0Kkz5L&wdVY8L%=WoAK8im5{0nb<{%@RbT2E7d^zM)Sa`vbH`HLTa@mGKQGvD!s NZ~2yQ5kNuz{{cM=e2f49 diff --git a/composer.json b/composer.json index 345d837..96353f1 100644 --- a/composer.json +++ b/composer.json @@ -24,24 +24,25 @@ "phpmd/phpmd": "~2.6", "squizlabs/php_codesniffer": "~2.8", "leaphub/phpcs-symfony2-standard": "~2.0", - "sebastian/phpcpd": "~2.0", - "phploc/phploc": "~3.0", - "phpunit/phpunit": "~5.7", + "sebastian/phpcpd": "~3.0", + "phploc/phploc": "~4.0", + "phpunit/phpunit": "~6.0", "mikey179/vfsstream": "~1.6", - "nelmio/alice": "~2.3", - "fzaninotto/faker": "~1.6", - "phpspec/phpspec": "~3.2", + "nelmio/alice": "~3.0", + "fzaninotto/faker": "~1.7", + "phpspec/phpspec": "~4.0", "phpspec/prophecy": "~1.7", - "mockery/mockery": "0.9.*", - "ciaranmcnulty/phpspec-typehintedmethods": "~2.0", - "leanphp/phpspec-code-coverage": "~3.1", - "behat/behat": "~3.3", + "mockery/mockery": "~1.0", + "ciaranmcnulty/phpspec-typehintedmethods": "~3.0", + "leanphp/phpspec-code-coverage": "~4.0", + "leanphp/behat-code-coverage": "~3.2", + "behat/behat": "~3.4", "behat/mink": "~1.7", "behat/mink-extension": "~2.2", "behat/mink-goutte-driver": "~1.2", "behat/mink-browserkit-driver": "~1.3", - "leanphp/behat-phpspec": "0.6.*", - "phpstan/phpstan": "~0.6" + "leanphp/behat-phpspec": "0.7.*", + "phpstan/phpstan": "~0.8" }, "bin": ["bin/composer"], "minimum-stability": "stable", From 751bbf9dd4ad5e85c116193362d485e92b77870f Mon Sep 17 00:00:00 2001 From: ek9 Date: Sun, 18 Mar 2018 22:12:31 +0000 Subject: [PATCH 23/27] v7.1.1 - phpspec-code-coverage fix --- CHANGELOG.md | 5 +++++ composer.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35d8655..8f64da6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## 7.1.1 / 2017-03-18 + +- `leanphp/phpspec-code-coverage` update from `~4.0` to `4.0.*` as we do not + support `4.1` yet. + ## 7.1.0 / 2017-10-18 - Updated `PHP_CodeSniffer` from `~2.8` to `3.0` diff --git a/composer.json b/composer.json index 96353f1..56877af 100644 --- a/composer.json +++ b/composer.json @@ -34,7 +34,7 @@ "phpspec/prophecy": "~1.7", "mockery/mockery": "~1.0", "ciaranmcnulty/phpspec-typehintedmethods": "~3.0", - "leanphp/phpspec-code-coverage": "~4.0", + "leanphp/phpspec-code-coverage": "4.0.*", "leanphp/behat-code-coverage": "~3.2", "behat/behat": "~3.4", "behat/mink": "~1.7", From 640550f0f1d20c602733505bfe265459f8f63a15 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sun, 18 Mar 2018 22:15:14 +0000 Subject: [PATCH 24/27] travis: add php 7.2 to test matrix --- .travis.yml | 2 ++ CHANGELOG.md | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/.travis.yml b/.travis.yml index def962e..0307fce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,8 @@ language: php php: - '7.0' - '7.1' + - '7.2' + script: - composer validate - composer update diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f64da6..c2a7fcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,16 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## 7.x.x + +- PHP requirement has been updated from `^7.0` to `^7.1` +- `sami/sami` package updated from `~3.2||~4.0` to `~4.0` +- `symfony/var-dumper` package updated from `~2.8||^3.2` to `~4.0` +- `sebastian/phpcpd` updated from `~3.0` to `~4.0` +- `phpunit/phpunit` updated from `~6.0` to `~6.0||~7.0` +- `nelmio/alice` updated from `~3.0` to `^3.2` +- `behat/mink-extension` updated to `~2.3` + ## 7.1.1 / 2017-03-18 - `leanphp/phpspec-code-coverage` update from `~4.0` to `4.0.*` as we do not From dcf5f64ad8dbde5f4ff2c74c1bc125cf6112acb8 Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 19 Mar 2018 00:05:09 +0000 Subject: [PATCH 25/27] travis: remove PHP 7.0 + cleanup CHANGELOG --- .travis.yml | 1 - CHANGELOG.md | 10 ---------- 2 files changed, 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0307fce..f509687 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: php php: - - '7.0' - '7.1' - '7.2' diff --git a/CHANGELOG.md b/CHANGELOG.md index c2a7fcd..8f64da6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,16 +6,6 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## 7.x.x - -- PHP requirement has been updated from `^7.0` to `^7.1` -- `sami/sami` package updated from `~3.2||~4.0` to `~4.0` -- `symfony/var-dumper` package updated from `~2.8||^3.2` to `~4.0` -- `sebastian/phpcpd` updated from `~3.0` to `~4.0` -- `phpunit/phpunit` updated from `~6.0` to `~6.0||~7.0` -- `nelmio/alice` updated from `~3.0` to `^3.2` -- `behat/mink-extension` updated to `~2.3` - ## 7.1.1 / 2017-03-18 - `leanphp/phpspec-code-coverage` update from `~4.0` to `4.0.*` as we do not From c3ac6bd3ac1cbf5eb6a070876c5eb31e79e01d26 Mon Sep 17 00:00:00 2001 From: ek9 Date: Mon, 19 Mar 2018 00:09:58 +0000 Subject: [PATCH 26/27] composer.json: set develop to 7.2.x-dev --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 56877af..b6cce6d 100644 --- a/composer.json +++ b/composer.json @@ -51,7 +51,7 @@ }, "extra": { "branch-alias": { - "dev-develop": "7.1.x-dev" + "dev-develop": "7.2.x-dev" } } } From e9231f84565528ef97f81b3e949df2dc33071d19 Mon Sep 17 00:00:00 2001 From: ek9 Date: Sat, 14 Apr 2018 01:05:42 +0100 Subject: [PATCH 27/27] v7.2.0 updates --- CHANGELOG.md | 16 +++++++++++++++- composer.json | 24 ++++++++++++------------ 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f64da6..0cd35ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,21 @@ this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## 7.1.1 / 2017-03-18 +## 7.2.0 / 2018-04-14 + +- PHP requirement has been updated from `^7.0` to `^7.1` +- `sami/sami` package updated from `~3.2||~4.0` to `~4.0` +- `symfony/var-dumper` package updated from `~2.8||^3.2` to `^3.2||~4.0` +- `sebastian/phpcpd` updated from `~3.0` to `~4.0` +- `phpunit/phpunit` updated from `~6.0||~7.0` to `~7.0` +- `nelmio/alice` updated from `~3.0` to `^3.2` +- `behat/mink-extension` updated to `~2.3` +- `phpstan/phpstan` update from `~0.8` to `~0.9` +- `leaphub/phpcs-symfony2-standard` replaced with + `escapestudios/symfony2-coding-standard` +- `leanphp/phpspec-code-coverage` update to `^4.2` + +## 7.1.1 / 2018-03-18 - `leanphp/phpspec-code-coverage` update from `~4.0` to `4.0.*` as we do not support `4.1` yet. diff --git a/composer.json b/composer.json index b6cce6d..9e6ce9c 100644 --- a/composer.json +++ b/composer.json @@ -18,31 +18,31 @@ "docs": "https://github.com/leanphp/common-dev#common-dev" }, "require": { - "php": "^7.0", - "sami/sami": "~3.2||~4.0", - "symfony/var-dumper": "~2.8||^3.2", + "php": "^7.1", + "sami/sami": "~4.0", + "symfony/var-dumper": "^3.2||~4.0", "phpmd/phpmd": "~2.6", - "squizlabs/php_codesniffer": "~2.8", - "leaphub/phpcs-symfony2-standard": "~2.0", - "sebastian/phpcpd": "~3.0", + "squizlabs/php_codesniffer": "~3.0", + "escapestudios/symfony2-coding-standard": "^3.1", + "sebastian/phpcpd": "~4.0", "phploc/phploc": "~4.0", - "phpunit/phpunit": "~6.0", + "phpunit/phpunit": "~7.0", "mikey179/vfsstream": "~1.6", - "nelmio/alice": "~3.0", + "nelmio/alice": "^3.2", "fzaninotto/faker": "~1.7", "phpspec/phpspec": "~4.0", "phpspec/prophecy": "~1.7", "mockery/mockery": "~1.0", "ciaranmcnulty/phpspec-typehintedmethods": "~3.0", - "leanphp/phpspec-code-coverage": "4.0.*", - "leanphp/behat-code-coverage": "~3.2", + "leanphp/phpspec-code-coverage": "^4.2", + "leanphp/behat-code-coverage": "^3.3", "behat/behat": "~3.4", "behat/mink": "~1.7", - "behat/mink-extension": "~2.2", + "behat/mink-extension": "~2.3", "behat/mink-goutte-driver": "~1.2", "behat/mink-browserkit-driver": "~1.3", "leanphp/behat-phpspec": "0.7.*", - "phpstan/phpstan": "~0.8" + "phpstan/phpstan": "~0.9" }, "bin": ["bin/composer"], "minimum-stability": "stable",