Skip to content

2.8.1

Compare
Choose a tag to compare
@Ocramius Ocramius released this 13 Jul 19:26
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