- [MongoDB] Allow v2
- Normalise path for checksum call
- [FTP] Add error context from error messages
- [SFTP] overwrite on move
- [AWS S3] same path copy/move no-op
- [Async S3] transform error to flysystem errors
- MongoDB GridFS adapter (by @GromNaN)
- PHP 8.3 directory listing issue for the FTP adapter (by @lanz1)
- Corrected AWS SSE-C Options
- Handle MetadataDirective gracefully.
- Make SFTP connectivity pinging an opt-in feature.
- Add
add_content_md5
option to AWS S3 (#1774) - Added AWS SSE-C options (#1773)
- Cleanup connection instance after disconnecting SFTP connection.
- Fix upcoming PHP 8.4 deprecations (#1772)
- [MountManager] added ability to (dangerously) mount additional filesystems
- [FTP] added
disconnect
method to proactively close connections - [SFTP V3] added
disconnect
method to proactively close connections
- Updated method signatures to match upgraded dependency signatures for overrides (#1748, #1746)
- Added missing path prefixing in FTP implementation (#1747)
- Updated string assertions to use PHP 8 functions (#1750, #1749))
- Updated license year
- Fixed upstream regression caused by resolving inconclusive mime-type.
- Made inconclusive mime-type resolving configurable on the local adapter.
- Prevent double directory creation with lazy root creation for Local filesystem.
- Resolve to "inconclusive" mimetype instead of causing a type error by @GuySartorelli
- Corrected spelling of a configuration key for the Azure adapter by @shineability
- MountManager::extend allows for immutable dynamic extension of the mount manager.
- Added a new abstract DecoratedAdapter for easier decoration of adapters by @jnoordsij
- Retain visibility on local copy for local FS, in line with other adapter (#1730) by @jnoordsij
- Normalise paths for public and temporary URLs (#1727)
- Configuration option to specify if visibility should be retained during copy/move operations
- InMemoryFilesystemAdapter now supports visibility changes on move and copy.
- Default visibility options are ignored when moving/copying while respecting visibility retention settings.
- Local filesystem implementation now allows setting visibility on move and copy.
- Configuration option to specify how to handle same path copy/move operations (#1715)
- [AsyncAWS] Added support for version 2.0 of async-aws/{s3,simple-s3}
- [AsyncAws] Allow specifying
get_object_options
for temporary URL generation
- [ZipArchive] override on move
- [WebDAV] encode path for propfind actions
- [PathPrefixing] #1686
- Remove duplicate class caused by package extractin and inclusion
- Extracted the local adapter as a standalone package
- Removed readme's from shipped artefacts.
- Made disabling stat cache configurable for SFTP adapters.
- AsyncAwsS3 object deletion now chunks per 100 objects to prevent memory exhaustion
- AsyncAwsS3 now disregards top-level directories from listings
- LocalAdapter now deals with file deletions during directory listings gracefully.
- DirectoryListing now supports correct phpstan for map and filter methods.
- FTP/SFTP added config option to detect the mime-type using the path alone (prevents a read)
- SFTP now supports PuTTY style private keys
- [Google Cloud Storage] Fixed ACL error for uniform bucker ACL copy operations.
- [AWS S3] Corrected param order for doesObjectExistV2 call
- [AWS S3] Use doesObjectExistV2 to prevent false positive respomnses.
- [Core] Chained public URL generation strategy
- [WebDAV] Handle cases where the content listing returns entries with URL prefixes.
- [Local] Ensure correct implicit root creations happens on windows.
- [ZipArchive] Fix incorrect zip contents listing for top-level directory.
- [Google Cloud Storage] Added
UniformBucketLevelAccessVisibility
to allow buckets with uniform bucket-level access policies.
- [PathPrefixing] ensure
checksum
andtemporaryUrl
are prefixed - [WebDAV] ensure directory creation uses trailing slashes for paths
- [Local] Handle checksum errors without message (#1590)
- [Filesystem] Ensure adapter is used for exposing temporary URLs.
- [Filesystem] Added missing constructor argument to allow temporary URL generator injection.
- [Filesystem] added
temporaryUrl
method - [AsyncAWS] added
temporaryUrl
method - [AWS S3] added
temporaryUrl
method - [Azure Blob Storage] added
temporaryUrl
method - [MountManager] added
temporaryUrl
method - [Google Cloud Storage] added
temporaryUrl
method - [ReadOnly] added
temporaryUrl
method - [PathPrefixing] added
temporaryUrl
method
- [Filesystem] Added ability to inject custom public URL generator into a filesystem.
- [MountManager] added
checksum
andpublicUrl
methods - [ZipArchive] Do not prefix directories when creating/reading an archive
- [ShardedPrefixPublicUrlGenerator] added url generator strategy that distributes over a list of prefixes
- [ChecksumAlgoIsNotSupported] Exception to indicate a checksum is not supported by the checksum provider, filesystem will fall back to ad-hoc generation.
- [Filesystem] added
checksum
method - [AWS S3] added
checksum
method - [Async S3] added
checksum
method - [Google Cloud Storage] added
checksum
method - [Azure Blob Storage] added
checksum
method
- [Filesystem] Added public url method
- [Azure Blob Storage] Added public url method
- [AWS S3] Added public url method
- [Async S3] Added public url method
- [GCS] Added public url method
- [WebDAV] Added public url method
- [ReadOnly] Added public url method
- [PathPrefixing] Added public url method
- [SFTP] Account for missing "type" field in metadata result.
- [SFTP v2/v3] Fixed possible race-condition during directory creation leading to false failures.
- [WebDAV] Strip directory prefix in
createDirectory
to prevent double prefixing indirectoryExists
.
- [AWS S3] Allow specifying visibility on move and copy
- Added FTP configuration option useRawListOptions (null|false|true).
- UnableToListContents exception was added to uniformly represent content listing exceptions.
- [FTP] Don't use raw list options for FileZilla FTP servers (#1553)
- [WebDAV] Correct path formatting for move and copy operations (#1552)
- StaticInMemoryAdapterRegistry contributed by @kbond
- ReadonlyFilesystemAdapter contributed by @kbond
- PathPrefixedAdapter contributed by @shyim
- WebDAV prefix is now encoded and the dir is not required to be pre-created (#1533)
- [ZipArchive] reverted regression introduced in #1525
- [AwsS3V3] Added configuration options for forwarded options, multipart upload configuration, and metadata fields.
- [ZipArchive] delete top-level directory when deleting directories.
- [AwsS3V3] add
ChecksumAlgorithm
to forwarded options. - [AwsS3V3] add
ContentMD5
to forwarded options. - [AwsS3V3] made forwarded options and metadata fields configurable.
- [SftpV3] upgrade minimum version, PHP 8 and the lowest version fails to authenticate.
- [AwsS3V3] Corrected exception type (#1524)
- Added option for the Local adapter to create the root directory only on the first mutating (write/copy/move) action.
- Added reasons for exceptions for all adapters that were missing previous exception messages.
- [AwsS3V3] Added reasons for exceptions
- [AwsS3V3] Use ListObjectsV2 instead of ListObjects
- [AwsS3V3] Use ListObjectsV2 instead of ListObjects
- [Core] Fix deprecated ${var} string interpolation patterns (#1470)
- [FTP] Turn errors into proper exceptions when resolving the connection root (#1460)
- [SFTP v3] Fix retries (#1451)
- [SFTP v2] Avoid type errors when public key is not retrieved (#1446)
- [SFTP v3] Avoid type errors when public key is not retrieved (#1446)
- [Local] fall back to extension lookups when the mime-type comes up as inconclusive.
- [GCS] Allow setting upload metadata
- [GCS] Allow setting contentType, or resolve it
- [SFTP v2+v3] Delete top-level directory too.
- [InMemory] allow to set a last-updated time (#1438)
- [SFTP V3] allow configuring preferred algo's (#1440)
- [AWS S3 V3] Do not return top-level directory when listing that same directory
- [SFTP V3] Fix issue where listing is false.
- [Async AWS S3] Cosmetic fix for directory prefixing.
- [AWS S3] Use globally configured options.
- [AWS S3] fix detecting directories that only contain other directories but no files.
- [AWS S3] when checking for directory existence, limit the result set (perf)
- [AWS S3] throw interface exception when failing to delete directory
- [Async AWS S3] when checking for directory existence, limit the result set (perf)
- [AWS S3] support setting an ACL as a direct option instead of using visibility.
- [AWS S3] Set ContentType when mime-type config option is set during writes, like in v1.
- [WebDAV] added missing composer.json for sub-split
- [WebDAV] new adapter added
- [Core] Trim slashed uniformly in the attribute classes.
- [Core] Uniformly use directory_visibility over visibility for directory usage.
- [FTP] export-ignore the test case.
- [AzureBlobStorage] New adapter added
- [AsyncAwsS3] Make EXTRA_METADATA_FIELDS protected to prevent error when extending the class
- [FTP] Do not require setting of the root directory, use '' by default.
- [FTP] Made connection resolving lazy again (#1414)
- [FTP] Support relative or empty connection root directories (#1410)
- [ZipArchive] delete top-level directory too when deleting a directory
- [GoogleCloudStorage] Use listing to check for directory existence (consistency)
- [GoogleCloudStorage] Fixed bug where exceptions were not thrown
- [AwsS3V3] Allow passing options for controlling multi-upload options (#1396)
- [Local] Convert windows-style directory separator to unix-style (#1398)
- FilesystemReader::has to check for directory or file existence
- FilesystemReader::directoryExists to check for directory existence
- FilesystemReader::fileExists to check for file existence
- FilesystemAdapter::directoryExists to check for directory existence
- FilesystemAdapter::fileExists to check for file existence
- [AWS S3] Allow specifying visibility on move and copy
- [SFTP v3] Fix retries (#1451)
- [SFTP v2] Avoid type errors when public key is not retrieved (#1446)
- [SFTP v3] Avoid type errors when public key is not retrieved (#1446)
- [AWS S3] Set ContentType when mime-type config option is set during writes, like in v1.
- [FTP] Made connection resolving lazy again (#1414)
- [FTP] Fix relative connection root handling
- [SFTP V3] New adapter officially published
- [FTP] Check for FTP\Connection object in addition to a
resource
for connectivity checks and connection handling. - [Local] Simplify writeStream, as a bonus, have an EXT_LOCK on it now by default.
- [ZipArchive] copy stream, the ziparchive is closed after getting the stream
- [Core] PHP 8.1 compatibility updates
- [LocalFilesystem] parse permissions during listing
- [LocalFilesystem] clear realstatcache
- [FTP] PHP 8.1 compatibility updates
- [Core] Upgraded PHP-CS-Fixer
- [GoogleCloudStorage] Make it possible to set an empty prefix (#1358)
- [GoogleCloudStorage] Added possibility not to set visibility (#1356)
- [Core] Corrected exception message for UnableToCopyFile.
- [Core] Ensure the sorted directory listing can be iterated over (#1342).
- [FTP] use original path when ensuring the parent directory exists during
move
operation. - [FTP] do not fail setting UTF-8 when the server is already on UTF-8.
- [Core] Added sortByPath on the directory listing to allows content listings to be sorted.
- [Core] Whitespace normalization now no longer strips funky whitespace but throws an exception.
- [Core] the DirectoryAttributes now have an
extraMetadata
like files do.
- [AwsS3V3] Allow the ACL config option to take precedence over the visibility key.
- [SFTP] Don't fail listing contents when a directory does not exist (#1301)
- [LocalFilesystem] convert windows style paths to unix style paths on listing
- [AsyncAwsS3] do not urlencode CopySource arguments (#1302)
- [AwsS3] ensure write errors are turned into exceptions.
- [InMemory] Corrected how the file size is determined.
- [AwsS3V3] Use the $config array during the copy operation.
- [Ftp] Close FTP connections when the object is destructed.
- [Core] Allow for an absolute root path of
/
.
- Corrected the ignored exports for Ftp
- Corrected the ignored exports for Phpseclib
- string type added to all visibility input
- Google Cloud Storage adapter.
- UnableToCheckFileExistence error introduced
- Mount manager is re-introduced
- Allow FTP filenames to contain special characters.
- Prevent resources of incorrect types to be passed.
- [AWS] By default, make sure readStream resources are streamed over HTTP.
- DirectoryAttributes now have a
lastModified
accessor.
- Allow listing of top-level directory for AWS S3
- Ensure the adapters can use the correct beta release.
- Small code optimizations
- Add global options array to AwsS3V3Adapter like in V1
- Renamed AwsS3V3Filesystem to AwsS3V3Adapter (in line with other adapter names).
- Renamed the PHPSecLibV2 package to PhpseclibV2, Renamed the FTP package to Ftp.
- Public key and ss-agent authentication support for Sftp
- Allow creation of files with empty streams.
- Corrected the required version for the sub-split packages.
- The
League\Flysystem\FilesystemAdapter::listContents
method returns aniterable
instead of aGenerator
. - The
League\Flysystem\DirectoryListing
class accepts aniterable
instead of aGenerator
.
- Initial 2.0.0 alpha release