league/flysystem
Flysystem is a PHP filesystem abstraction library offering one API for local and remote storage. Adapters let you read, write, and manage files on S3, FTP, SFTP, Dropbox, and more, so you can swap backends without rewriting application code.
Full Changelog: https://github.com/thephpleague/flysystem/compare/3.15.1...3.16.0
Full Changelog: https://github.com/thephpleague/flysystem/compare/2.4.0...3.0.0
Blog post: https://blog.frankdejonge.nl/flysystem-3-0-0-is-released/
When resources are not actually file pointers, but fopen results from URL, the fstat call fails. This resulted in an error in PHP 7.4 because it's more strict about variable handling. This affected the Util::getStreamSize utility method.
A new minor version for Flysystem has been released due to a (very minor) backwards incompatibility for custom adapters.
The adapter now accepts visibility and config settings for the put and update methods. This added a new parameter to those functions which breaks the public interface. All user-land code will be backwards compatible, this change only affects custom adapters.
The writeStream method now ensures the existence of the parent directory before opening a stream.
Flysystem will now resolve relative paths, when unresolvable it will throw an exception (LogicException). file (or dir) paths that reach outside of the specified root are now disallowed which makes the entire API more secure and friendly to use. A path like some/nested/../location will be converted to some/location, making sure the cached metadata is correct and protecting you from possible security exploits when building file managers.
Various bugfixes and anonymous ftp support.
How can I help you explore Laravel packages today?