Releases: Ocramius/ProxyManager
2.9.1
Release 2.9.1
2.9.1
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 2
enhancement
bug
2.9.0
This release upgrades ocramius/proxy-manager
to use composer-runtime-api:^2
: this
means that you will need composer:^2
to install this version of ProxyManager.
In order to upgrade to composer v2, you can run composer self-update --2
on your
development or CI/CD system.
In addition to that, few notable improvements:
- the
ocramius/package-versions
dependency has been replaced bycomposer-runtime-api
- testing and static analysis have been noticeably improved, making it easier for others
to contribute to the project.
Total issues resolved: 9
- 599: Add psalm's github workflow thanks to @malukenho
- 600: Fix documentation code samples thanks to @malukenho
- 601: Remove travis in favor of github workflow thanks to @malukenho
- 602: Replace travis and scrutinizer badges with github build status shield images and sheperd images thanks to @Ocramius
- 603: Introduce a build task that runs off a locked dependency set (
composer.lock
) thanks to @Ocramius - 604: Enable automatic review for phpcs thanks to @malukenho
- 606: Run xulieta in CI thanks to @malukenho
- 616: Only run static analysis and CS checks on locked dependencies thanks to @Ocramius
- 619: #617 upgrade from
ocramius/package-versions
tocomposer-runtime-api:^2
thanks to @Ocramius
2.8.1
This release removes compatibility with ocramius/package-versions:^1.10.0
, which
will be restored in ocramius/proxy-manager:^2.9.0
and newer.
Due to a change in ocramius/package-versions
internals, and my own mistake in
not detecting that PackageVersions\Versions::VERSIONS
was marked as @internal
(note: annotations on constants are not really picked up by reflection, and therefore
not by static analysis tools either), we had a pretty abrupt crash when upgrading
to ocramius/package-versions:1.10.0
.
In practice, PackageVersions\Versions::VERSIONS
is hashed in order to prefix the
name of generated proxy classes, therefore ensuring that no proxy classes would
be re-used when underlying dependency versions change: while this design worked really
well, it relied on accessing the PackageVersions\Versions::VERSIONS
constant, which
was never part of the ocramius/package-versions
API, and which was removed in an
internal refactoring of ocramius/package-versions:1.10.0
.
This change is only in place to prevent installation of ocramius/package-versions:1.10.0
,
while a subsequent patch will be made to phase out said package, to be replaced with
direct usage of composer-runtime-api:^2
, which comes with composer 2.x.
Total issues resolved: 2
2.8.0
This release fixes compatibility with PHP 7.4.1
and newer, since
PHP introduced a major backwards compatibility break in a patch
release, rendering lazy-loading of typed properties completely
non-functioning (see bug 79373 "uninitialized typed property cannot accessed in __get magic method").
Types for closures in proxy factories have also been improved, and
some purity type markers were added to some library internals.
Total issues resolved: 16
- 488: Drop compiled documentation thanks to @Ocramius
- 490: Just redirect right away from the "index" doc thanks to @malukenho
- 491: Redirect to github repository documentation thanks to @malukenho
- 495: Update vimeo/psalm requirement from 3.4.11 to 3.4.12 thanks to @dependabot-preview[bot]
- 498: Update infection/infection requirement from ^0.13.4 to ^0.13.6 thanks to @dependabot-preview[bot]
- 499: Remove references to the compiled HTML documentation thanks to @malukenho
- 568: Increased proxy factory internal methods coverage and mutation tests reliability thanks to @Ocramius
- 574: Typed public property not initialized properly thanks to @sakarikl
- 577: Fix signatures to static thanks to @muglug
- 578: fix gitattributes due to changed files thanks to @Tobion
- 585: Fix #574: initialize typed nullable properties on PHP >=7.4.1 thanks to @Ocramius
- 587: Fix test suite deprecations thanks to @Ocramius
- 589: Correct type errors in static analysis thanks to @Ocramius
- 590: Update infection/infection requirement from ^0.16.1 to ^0.16.2 thanks to @dependabot-preview[bot]
- 591: Update nikic/php-parser requirement from ^4.3.0 to ^4.4.0 thanks to @dependabot-preview[bot]
- 593: Update Psalm to latest and improve templating thanks to @muglug
2.7.1
This release REMOVES support for PHP 7.4.1
and newer, since
PHP introduced a major backwards compatibility break in a patch
release, rendering lazy-loading of typed properties completely
non-functioning (see bug 79373 "uninitialized typed property cannot accessed in __get magic method").
Please upgrade to 2.8.x
ASAP: this release is only here to raise
awareness of the issue in the 2.7.x
series, and to make auto-update
tooling notice it.
While ocramius/proxy-manager
2.7.1
is compatible with PHP 7.4.0
,
PHP 7.4.1
or newer will require ocramius/proxy-manager
2.8.0
or
newer to operate correctly.
Total issues resolved: 1
2.7.0
This release upgrades dependencies and provides better type inference for proxy factories.
Total issues resolved: 2
2.6.1
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
2.6.0
This release:
- migrates the project from
zendframework/zend-code
tolaminas/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) thanks to @Ocramius
- 493: Update phpunit/phpunit requirement from ^8.3.3 to ^8.3.4 thanks to @dependabot-preview[bot]
- 494: Update zendframework/zend-code requirement from ^3.3.1 to ^3.3.2 thanks to @dependabot-preview[bot]
- 496: Update nikic/php-parser requirement from ^4.2.2 to ^4.2.3 thanks to @dependabot-preview[bot]
- 497: Update symfony/console requirement from ^4.3.3 to ^4.3.4 thanks to @dependabot-preview[bot]
- 500: Update vimeo/psalm requirement from 3.4.11 to 3.5.1 thanks to @dependabot-preview[bot]
- 501: #492 allow installation only on PHP
7.4.*
(NOT 8.x!) thanks to @Ocramius - 502: Documented basic immutable/mutation-free interfaces and services in the package thanks to @Ocramius
- 505: Update phpbench/phpbench requirement from ^0.16.9 to ^0.16.10 thanks to @dependabot-preview[bot]
- 506: Update nikic/php-parser requirement from ^4.2.3 to ^4.2.4 thanks to @dependabot-preview[bot]
- 507: Update phpunit/phpunit requirement from ^8.3.4 to ^8.3.5 thanks to @dependabot-preview[bot]
- 508: Update vimeo/psalm requirement from 3.5.1 to 3.5.3 thanks to @dependabot-preview[bot]
- 510: Update infection/infection requirement from ^0.13.6 to ^0.14.1 thanks to @dependabot-preview[bot]
- 512: Update squizlabs/php_codesniffer requirement from ^3.4.2 to ^3.5.2 thanks to @dependabot-preview[bot]
- 514: Update infection/infection requirement from ^0.14.1 to ^0.14.2 thanks to @dependabot-preview[bot]
- 515: Update zendframework/zend-code requirement from ^3.3.2 to ^3.4.0 thanks to @dependabot-preview[bot]
- 516: Update phpunit/phpunit requirement from ^8.3.5 to ^8.4.2 thanks to @dependabot-preview[bot]
- 517: Update nikic/php-parser requirement from ^4.2.3 to ^4.2.5 thanks to @dependabot-preview[bot]
- 519: Update symfony/console requirement from ^4.3.4 to ^4.3.6 thanks to @dependabot-preview[bot]
- 520: Correct current failures with psalm 3.6.2 thanks to @Ocramius
- 521: Update vimeo/psalm requirement from 3.5.1 to 3.6.3 thanks to @dependabot-preview[bot]
- 522: Feature: integration with webimpress/safe-writer thanks to @michalbundyra
- 524: Remove wrong comment on chore tasks required on
Version
thanks to @BackEndTea - 525: Update nikic/php-parser requirement from ^4.2.5 to ^4.3.0 thanks to @dependabot-preview[bot]
- 527: Update phpunit/phpunit requirement from ^8.4.2 to ^8.4.3 thanks to @dependabot-preview[bot]
- 528: Update infection/infection requirement from ^0.14.2 to ^0.15.0 thanks to @dependabot-preview[bot]
- 529: Update vimeo/psalm requirement from 3.6.3 to 3.7.0 thanks to @dependabot-preview[bot]
- 530: Update symfony/console requirement from ^4.3.6 to ^4.4.1 thanks to @dependabot-preview[bot]
- 532: Stable PHP 7.4 builds - Travis CI config thanks to @michalbundyra
- 533: Update phpunit/phpunit requirement from ^8.4.3 to ^8.5.0 thanks to @dependabot-preview[bot]
- 534: Update vimeo/psalm requirement from 3.7.0 to 3.7.2 thanks to @dependabot-preview[bot]
- 535: Update squizlabs/php_codesniffer requirement from ^3.5.2 to ^3.5.3 thanks to @dependabot-preview[bot]
- 541: Update symfony/console requirement from ^4.4.1 to ^4.4.2 thanks to @dependabot-preview[bot]
- 542: Update zendframework/zend-code requirement from ^3.4.0 to ^3.4.1 thanks to @dependabot-preview[bot]
- 543: Update phpunit/phpunit requirement from ^8.5.0 to ^8.5.1 thanks to @dependabot-preview[bot]
- 546: Migrating from
zendframework/zend-code
tolaminas/laminas-code
thanks to @orklah - 547: Fixs a few small issues that newest Psalm flagged thanks to @muglug
- 548: Fixed code style after replacing Zend with Laminas thanks to @alfredbez
- 550: Change missed occurences of zendframework thanks to @orklah
- 552: Merge
2.5.x
intomaster
, end2.5.x
support in favour of2.6.x
thanks to @Ocramius
2.5.2
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
2.5.1
Total issues resolved: 2