ProxyManager v2.8.1 Release Notes

Release Date: 2020-07-13 // almost 2 years ago
  • ๐Ÿš€ 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