ProxyManager v2.8.1 Release Notes
Release Date: 2020-07-13 // almost 4 years ago-
๐ This release removes compatibility with
ocramius/package-versions:^1.10.0
, which
โช will be restored inocramius/proxy-manager:^2.9.0
and newer.๐ฆ Due to a change in
ocramius/package-versions
internals, and my own mistake in
๐ฆ not detecting thatPackageVersions\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
๐ฆ toocramius/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 thePackageVersions\Versions::VERSIONS
constant, which
๐ฆ was never part of theocramius/package-versions
API, and which was removed in an
๐จ internal refactoring ofocramius/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 ofcomposer-runtime-api:^2
, which comes with composer 2.x.Total issues resolved: 2