-
2.6.1dec37bfb · ·
This release fixes immutability static analysis for internal ProxyManager symbols, which was incorrect due to being performed with an older psalm version. Support for stream wrappers in combination with the `FileLocator` also has been corrected, since stream wrappers are inherently incompatible with `realpath()` from php-src. Total issues resolved: **3** - [553: Revert "Documented basic immutable/mutation-free interfaces and services in the package"](https://github.com/Ocramius/ProxyManager/pull/553) thanks to @Ocramius - [557: Fix property initializers in ghost object examples](https://github.com/Ocramius/ProxyManager/pull/557) thanks to @ostrolucky - [558: Fix compatibility of `FileLocator` with stream wrappers](https://github.com/Ocramius/ProxyManager/pull/558) thanks to @Bittarman
-
2.6.0406ca12c · ·
This release: * migrates the project from `zendframework/zend-code` to `laminas/laminas-code` * integrates with `webimpress/safe-writer` to better handle atomic proxy file write operations, effectively deferring any race conditions to a third-party package designed just for that. * improves type declarations by marking some of ProxyManager's safe internals as `@psalm-immutable`, integrates the new * uses stricter tested dependency sets, reducing the range of possible bugs coming from too wide dependency permutations Total issues resolved: **40** - [492: Lock onto PHP 7.4.x (not 7.5.x or newer)](https://github.com/Ocramius/ProxyManager/issues/492) thanks to @Ocramius - [493: Update phpunit/phpunit requirement from ^8.3.3 to ^8.3.4](https://github.com/Ocramius/ProxyManager/pull/493) thanks to @dependabot-preview[bot] - [494: Update zendframework/zend-code requirement from ^3.3.1 to ^3.3.2](https://github.com/Ocramius/ProxyManager/pull/494) thanks to @dependabot-preview[bot] - [496: Update nikic/php-parser requirement from ^4.2.2 to ^4.2.3](https://github.com/Ocramius/ProxyManager/pull/496) thanks to @dependabot-preview[bot] - [497: Update symfony/console requirement from ^4.3.3 to ^4.3.4](https://github.com/Ocramius/ProxyManager/pull/497) thanks to @dependabot-preview[bot] - [500: Update vimeo/psalm requirement from 3.4.11 to 3.5.1](https://github.com/Ocramius/ProxyManager/pull/500) thanks to @dependabot-preview[bot] - [501: #492 allow installation only on PHP `7.4.*` (NOT 8.x!)](https://github.com/Ocramius/ProxyManager/pull/501) thanks to @Ocramius - [502: Documented basic immutable/mutation-free interfaces and services in the package](https://github.com/Ocramius/ProxyManager/pull/502) thanks to @Ocramius - [505: Update phpbench/phpbench requirement from ^0.16.9 to ^0.16.10](https://github.com/Ocramius/ProxyManager/pull/505) thanks to @dependabot-preview[bot] - [506: Update nikic/php-parser requirement from ^4.2.3 to ^4.2.4](https://github.com/Ocramius/ProxyManager/pull/506) thanks to @dependabot-preview[bot] - [507: Update phpunit/phpunit requirement from ^8.3.4 to ^8.3.5](https://github.com/Ocramius/ProxyManager/pull/507) thanks to @dependabot-preview[bot] - [508: Update vimeo/psalm requirement from 3.5.1 to 3.5.3](https://github.com/Ocramius/ProxyManager/pull/508) thanks to @dependabot-preview[bot] - [510: Update infection/infection requirement from ^0.13.6 to ^0.14.1](https://github.com/Ocramius/ProxyManager/pull/510) thanks to @dependabot-preview[bot] - [512: Update squizlabs/php_codesniffer requirement from ^3.4.2 to ^3.5.2](https://github.com/Ocramius/ProxyManager/pull/512) thanks to @dependabot-preview[bot] - [514: Update infection/infection requirement from ^0.14.1 to ^0.14.2](https://github.com/Ocramius/ProxyManager/pull/514) thanks to @dependabot-preview[bot] - [515: Update zendframework/zend-code requirement from ^3.3.2 to ^3.4.0](https://github.com/Ocramius/ProxyManager/pull/515) thanks to @dependabot-preview[bot] - [516: Update phpunit/phpunit requirement from ^8.3.5 to ^8.4.2](https://github.com/Ocramius/ProxyManager/pull/516) thanks to @dependabot-preview[bot] - [517: Update nikic/php-parser requirement from ^4.2.3 to ^4.2.5](https://github.com/Ocramius/ProxyManager/pull/517) thanks to @dependabot-preview[bot] - [519: Update symfony/console requirement from ^4.3.4 to ^4.3.6](https://github.com/Ocramius/ProxyManager/pull/519) thanks to @dependabot-preview[bot] - [520: Correct current failures with psalm 3.6.2](https://github.com/Ocramius/ProxyManager/issues/520) thanks to @Ocramius - [521: Update vimeo/psalm requirement from 3.5.1 to 3.6.3](https://github.com/Ocramius/ProxyManager/pull/521) thanks to @dependabot-preview[bot] - [522: Feature: integration with webimpress/safe-writer](https://github.com/Ocramius/ProxyManager/pull/522) thanks to @michalbundyra - [524: Remove wrong comment on chore tasks required on `Version`](https://github.com/Ocramius/ProxyManager/pull/524) thanks to @BackEndTea - [525: Update nikic/php-parser requirement from ^4.2.5 to ^4.3.0](https://github.com/Ocramius/ProxyManager/pull/525) thanks to @dependabot-preview[bot] - [527: Update phpunit/phpunit requirement from ^8.4.2 to ^8.4.3](https://github.com/Ocramius/ProxyManager/pull/527) thanks to @dependabot-preview[bot] - [528: Update infection/infection requirement from ^0.14.2 to ^0.15.0](https://github.com/Ocramius/ProxyManager/pull/528) thanks to @dependabot-preview[bot] - [529: Update vimeo/psalm requirement from 3.6.3 to 3.7.0](https://github.com/Ocramius/ProxyManager/pull/529) thanks to @dependabot-preview[bot] - [530: Update symfony/console requirement from ^4.3.6 to ^4.4.1](https://github.com/Ocramius/ProxyManager/pull/530) thanks to @dependabot-preview[bot] - [532: Stable PHP 7.4 builds - Travis CI config](https://github.com/Ocramius/ProxyManager/pull/532) thanks to @michalbundyra - [533: Update phpunit/phpunit requirement from ^8.4.3 to ^8.5.0](https://github.com/Ocramius/ProxyManager/pull/533) thanks to @dependabot-preview[bot] - [534: Update vimeo/psalm requirement from 3.7.0 to 3.7.2](https://github.com/Ocramius/ProxyManager/pull/534) thanks to @dependabot-preview[bot] - [535: Update squizlabs/php_codesniffer requirement from ^3.5.2 to ^3.5.3](https://github.com/Ocramius/ProxyManager/pull/535) thanks to @dependabot-preview[bot] - [541: Update symfony/console requirement from ^4.4.1 to ^4.4.2](https://github.com/Ocramius/ProxyManager/pull/541) thanks to @dependabot-preview[bot] - [542: Update zendframework/zend-code requirement from ^3.4.0 to ^3.4.1](https://github.com/Ocramius/ProxyManager/pull/542) thanks to @dependabot-preview[bot] - [543: Update phpunit/phpunit requirement from ^8.5.0 to ^8.5.1](https://github.com/Ocramius/ProxyManager/pull/543) thanks to @dependabot-preview[bot] - [546: Migrating from `zendframework/zend-code` to `laminas/laminas-code`](https://github.com/Ocramius/ProxyManager/pull/546) thanks to @orklah - [547: Fixs a few small issues that newest Psalm flagged](https://github.com/Ocramius/ProxyManager/pull/547) thanks to @muglug - [548: Fixed code style after replacing Zend with Laminas](https://github.com/Ocramius/ProxyManager/pull/548) thanks to @alfredbez - [550: Change missed occurences of zendframework](https://github.com/Ocramius/ProxyManager/pull/550) thanks to @orklah - [552: Merge `2.5.x` into `master`, end `2.5.x` support in favour of `2.6.x`](https://github.com/Ocramius/ProxyManager/pull/552) thanks to @Ocramius
-
2.5.2fea82fb0 · ·
This release fixes a bug in handling default arguments of remote object proxies, which were not being passed to the remote call adapter. Total issues resolved: **2** - [539: BC Break in 2.2.2? - Problem with `get_func_args()` and method with default parameters](https://github.com/Ocramius/ProxyManager/issues/539) thanks to @pedro-stanaka - [540: `RemoteObjectMethod` generation: support for methods with default parameters](https://github.com/Ocramius/ProxyManager/pull/540) thanks to @pedro-stanaka
-
2.5.1b7bac968 · ·
Total issues resolved: **2** - [536: Accessing properties of Serializable proxy](https://github.com/Ocramius/ProxyManager/issues/536) thanks to @Ludo444 - [537: Use ReflectionClass to create proxied class instance inside PublicScopeSimulator](https://github.com/Ocramius/ProxyManager/pull/537) thanks to @Ludo444
-
2.5.08eb0084c · ·
This release fixes [deprecation warnings that come with the newer PHP 7.4 release](https://wiki.php.net/rfc/deprecations_php_7_4), and completely covers the test suite with type checks. With this release, no types coming from ProxyManager should be inferred as `mixed` anymore, allowing for safer, faster and more reliable downstream development. Total issues resolved: **11** - [467: Covered tests via static types through psalm](https://github.com/Ocramius/ProxyManager/pull/467) thanks to @Ocramius - [475: Removed reliance on `Closure::bind(_, null)`](https://github.com/Ocramius/ProxyManager/pull/475) thanks to @Ocramius - [477: Update phpunit/phpunit requirement from ^8.2.2 to ^8.2.5](https://github.com/Ocramius/ProxyManager/pull/477) thanks to @dependabot-preview[bot] - [478: Update symfony/console requirement from ^4.3.1 to ^4.3.3](https://github.com/Ocramius/ProxyManager/pull/478) thanks to @dependabot-preview[bot] - [479: Update infection/infection requirement from ^0.13.2 to ^0.13.4](https://github.com/Ocramius/ProxyManager/pull/479) thanks to @dependabot-preview[bot] - [480: Update ocramius/package-versions requirement from ^1.4.0 to ^1.5.1](https://github.com/Ocramius/ProxyManager/pull/480) thanks to @dependabot-preview[bot] - [481: Update couscous/couscous requirement from ^1.7.1 to ^1.7.2](https://github.com/Ocramius/ProxyManager/pull/481) thanks to @dependabot-preview[bot] - [484: Fix deprecation PHP 7.4](https://github.com/Ocramius/ProxyManager/pull/484) thanks to @nicolas-grekas - [485: Update phpunit/phpunit requirement from ^8.2.2 to ^8.3.3](https://github.com/Ocramius/ProxyManager/pull/485) thanks to @dependabot-preview[bot] - [486: Remove process isolation from tests around file writer generators](https://github.com/Ocramius/ProxyManager/pull/486) thanks to @Ocramius - [487: Update vimeo/psalm requirement from 3.4.6 to 3.4.11](https://github.com/Ocramius/ProxyManager/pull/487) thanks to @dependabot-preview[bot]
-
2.2.34d154742 · ·
This release fixes a bug in `FileWriterGeneratorStrategy` in which permissions were not correctly placed on files written to disk, and also ensures that different `$proxyOptions` passed to the various proxy factories lead to different proxy class names. Total issues resolved: **4** - [458: Release Minor Version of 2.2](https://github.com/Ocramius/ProxyManager/issues/458) thanks to @natec8 - [462: Updates FileWriterGeneratorStrategy to set permissions on the created file](https://github.com/Ocramius/ProxyManager/pull/462) thanks to @rsahlstrom - [469: `ProxyManager\Factory\AbstractBaseFactory#generateProxy()` does not use `$proxyOptions` as part of the class name signature](https://github.com/Ocramius/ProxyManager/issues/469) thanks to @Ocramius - [470: #469 ensure factory considers `proxyOptions` when generating unique class names](https://github.com/Ocramius/ProxyManager/pull/470) thanks to @Ocramius
-
2.4.07a133e8d · ·
This release introduces [vimeo/psalm](https://github.com/vimeo/psalm) and [PHPStorm](https://www.jetbrains.com/phpstorm/)-specific type-declarations for all API endpoints that do not return simple scalar/object types. Effectively, that means that following code will now be statically analysable by psalm and PHPStorm, which will know the exact type of `$proxy`: ```php class MyExample { public function bar(int $parameter) : void {} } $proxyFactory ->createProxy(MyExample::class) ->bar('hello world!'); // this will be detected as a type mismatch ``` In practice, this means that most projects won't need to use explicit inline type-hints such as `/** @var SomeClassName $proxy */`, and the tooling will pick up these types implicitly. Improvements were also applied to type declarations in generated code, autoloading (now switched to PSR-4) and null-check `??` operator usages. Total issues resolved: **9** - [359: Extend date for bug fixes and security fixes for the 2.x series](https://github.com/Ocramius/ProxyManager/pull/359) thanks to @malukenho - [360: README.md fix FQCN usage](https://github.com/Ocramius/ProxyManager/pull/360) thanks to @Slamdunk - [408: Add return type `self` to generated method](https://github.com/Ocramius/ProxyManager/pull/408) thanks to @malukenho - [426: Replace one ?: by ?? for consistency](https://github.com/Ocramius/ProxyManager/pull/426) thanks to @nicolas-grekas - [428: Moved to psr-4](https://github.com/Ocramius/ProxyManager/pull/428) thanks to @samnela - [429: #426 replace falsey check (`?:`) with null coalesce (`??`) operations](https://github.com/Ocramius/ProxyManager/pull/429) thanks to @Ocramius - [453: Bump dependencies/CS standard/add typed properties](https://github.com/Ocramius/ProxyManager/pull/453) thanks to @Ocramius - [463: Provide `@psalm-param class-string<T>` documentation for proxy factories and anything type-hinted `object` and `: object`](https://github.com/Ocramius/ProxyManager/issues/463) thanks to @Ocramius - [465: #463: psalm-specific type declarations for generic/intersection types of proxies](https://github.com/Ocramius/ProxyManager/pull/465) thanks to @Ocramius
-
2.3.13be07227 · ·
This release reverts a BC break that led to fatal errors when attempting to load child classes of the proxy generators. Total issues resolved: **2** - [451: synfony integration](https://github.com/Ocramius/ProxyManager/issues/451) thanks to @soufianez75 - [452: Revert BC break - `: void` cannot be added as return type to open classes](https://github.com/Ocramius/ProxyManager/pull/452) thanks to @Ocramius
-
2.3.010e0eb0d · ·
This release introduces support for PHP 7.4 typed properties, and requires a minimum PHP version of 7.4.0 to be installed. In addition to that, multiple improvements have been done to prepare for PHP 8 support, and to reduce the chance of regressions by using stricter type checks, testing for mutations, and applying stricter coding style rules. Total issues resolved: **25** - [398: Updated `@var` annotation tags to the standard form](https://github.com/Ocramius/ProxyManager/pull/398) thanks to @ondrejmirtes - [399: Use assertDirectoryExists](https://github.com/Ocramius/ProxyManager/pull/399) thanks to @carusogabriel - [400: `LazyLoadingValueHolder` generated properties incorrectly documented](https://github.com/Ocramius/ProxyManager/issues/400) thanks to @Ocramius - [403: Use Null Coalesce Operator](https://github.com/Ocramius/ProxyManager/pull/403) thanks to @carusogabriel - [405: Remove non needed requirement](https://github.com/Ocramius/ProxyManager/pull/405) thanks to @exussum12 - [409: Use infection instead of humbug for mutation tests](https://github.com/Ocramius/ProxyManager/pull/409) thanks to @malukenho - [413: Document writing generating proxies to files](https://github.com/Ocramius/ProxyManager/pull/413) thanks to @2DSharp - [414: Wrong error message from ProxyManager\Exception\FileNotWritableException on restricted directory](https://github.com/Ocramius/ProxyManager/issues/414) thanks to @2DSharp - [416: Tidied up the docs and simply removed weasel words](https://github.com/Ocramius/ProxyManager/pull/416) thanks to @GeeH - [417: Use proper visibility when overwriting `TestCase#setUp()`](https://github.com/Ocramius/ProxyManager/pull/417) thanks to @malukenho - [423: Typed properties (PHP 7.4) support](https://github.com/Ocramius/ProxyManager/pull/423) thanks to @Ocramius - [424: Cleaned up dependencies, update mutation test setup and static analysis](https://github.com/Ocramius/ProxyManager/pull/424) thanks to @Ocramius - [435: Allow php 7.3 ](https://github.com/Ocramius/ProxyManager/pull/435) thanks to @malukenho - [438: Fixed location of `FileWriterGeneratorStrategy` temp file](https://github.com/Ocramius/ProxyManager/pull/438) thanks to @fmasa - [439: Added professional support notes](https://github.com/Ocramius/ProxyManager/pull/439) thanks to @Ocramius - [441: Use namespaced version of "MockObject"](https://github.com/Ocramius/ProxyManager/pull/441) thanks to @malukenho - [442: Improve usage of phpunit](https://github.com/Ocramius/ProxyManager/pull/442) thanks to @malukenho - [443: #400 correcting docblock type for generated "valueHolder" properties](https://github.com/Ocramius/ProxyManager/pull/443) thanks to @Ocramius - [444: Run `infection/infection` with `phpdbg`](https://github.com/Ocramius/ProxyManager/pull/444) thanks to @Ocramius - [445: Run `composer update` with `--ignore-platform-reqs` when running on `php: nightly`](https://github.com/Ocramius/ProxyManager/pull/445) thanks to @Ocramius - [446: Exclude `zendframework/zend-stdlib < 3.2.1` (not compatible with PHP 7.3)](https://github.com/Ocramius/ProxyManager/pull/446) thanks to @Ocramius - [447: Upgrade phpunit to ^v8](https://github.com/Ocramius/ProxyManager/pull/447) thanks to @malukenho - [448: Forcing latest `nikic/php-parser` releases for dev dependencies](https://github.com/Ocramius/ProxyManager/pull/448) thanks to @Ocramius - [449: Remove big-header section from documentation](https://github.com/Ocramius/ProxyManager/pull/449) thanks to @malukenho - [450: Removed unused badges from `README.md`](https://github.com/Ocramius/ProxyManager/pull/450) thanks to @Ocramius
-
2.2.214b137b0 · ·
This release fixes incorrect passing of variadic method parameters to the RPC adapter used by the remote object proxies. Total issues resolved: **1** - [434: Fix passing of variadic arguments to RPC adapters in remote object proxies (Backport of #443)](https://github.com/Ocramius/ProxyManager/pull/434) thanks to @Ocramius