Details
-
Story
-
Resolution: Done
-
High
-
None
-
None
-
[4.4] - Sprint 4
Description
Our solution still uses flysystem 1.x, while version 2.x has been release in novembre 2020 and 3.x in january 2022. We should upgrade to that major version, as flysystem is the reference library for working with remote filesystems.
The upgrade process is fully documented: https://flysystem.thephpleague.com/docs/upgrade-from-1.x/.
Developer notes
For Ibexa 4.x we can update to Flysystem 2.x only, as Flysystem 3.x has hard requirement on PHP ^8.0.
Backward compatibility promise
Upgrade is necessary due to lack of support for version 1.x (though not stated clearly by the Maintainer) and mostly due to lack of support by 3rd party adapters for older Flysystem version. This needs to be documented along with example how to use Rector for that upgrade, so it's smooth for Ibexa project maintainers relying directly on Flysystem code.
For instance, the AWS S3 adapters require the 2.x version or above of the aws-sdk-php package, that require guzzle and not guzzlehttp) that is abandoned and isn’t compatible with newer version of Symfony.