Innmind\Filesystem\File\Content::ofChunks()->size()
no longer load more than one chunk size in memory
- Special ASCII characters are no longer used in genarated names via
Fixtures\Innmind\Filesystem\Name::any()
- Emoticon characters are now used in genarated names via
Fixtures\Innmind\Filesystem\Name::any()
- Support for
symfony/filesystem:~7.0
- Watch the streams before reading from them (allows for an easy integration in
Fiber
s)
Properties\Innmind\Filesystem\Adapter\AddDirectory::directory()
Properties\Innmind\Filesystem\Adapter\RemoveAddRemoveModificationsDoesntAddTheFile::directory()
Innmind\Filesystem\File\Content::io()
Innmind\Filesystem\File\Content::chunks()
Innmind\Filesystem\Name
constructor is now private, use::of()
named constructor insteadInnmind\Filesystem\File\File
constructor is now private, use::of()
named constructor insteadInnmind\Filesystem\File\Content
is now a final class and its different implementations are declared internal, use theContent
named constructors insteadInnmind\Filesystem\Directory
no longer extendsFile
, all previous function typed againstFile
are now typedFile|Directory
Innmind\Filesystem\File
is now a final class instead of an interfaceInnmind\Filesystem\Directory
is now a final class instead of an interfaceInnmind\Filesystem\Directory::files()
has been renamed to::all()
- An inconsistency in
File\Content
that must contain at least one line but it wasn't applied after aContent::filter()
Innmind\Filesystem\Adapter\HashedName
Innmind\Filesystem\Adapter::all()
Innmind\Filesystem\Chunk
Innmind\Filesystem\File\Content\Chunkable
- Possibility to use a
Innmind\Immutable\Set
of files inside aDirectory
Innmind\Filesystem\Stream\LazyStream
- Support for
innmind/immutable
5
Innmind\Filesystem\Adapter\HashedName
- Deleting a file in a directory for the adapter
InMemory::emulateFilesystem()
wasn't applied
- Require
innmind/black-box
5
- Support for PHP
8.1
Innmind\Filesystem\Adapter\InMemory::emulateFilesystem()
it will merge directories (instead of the overwriting done by::new()
)
- Accessing the media type of a file no longer raise an error when it's unavailable, instead it defaults to
application/octet-stream
- When adding a
Directory
loaded viaAdapter\Filesystem
the sub directories are no longer loaded if not modified - Throw an exception when failing to load a file
Innmind\Filesystem\File\Content\Chunkable
andInnmind\Filesystem\Chunk
are declared immutable (released as a bugfix since it should have been here since the start)
Innmind\Filesystem\Directory
is declared immutable (released as a bugfix since it should have been here since the start)
Innmind\Filesystem\File\Content\Chunks
Innmind\Filesystem\Adapter\Filesystem::mount()
now acceptsInnmind\Stream\Capabilities
as a second argumentInnmind\Filesystem\Stream\LazyStream
is now declared internal, future versions may introduce BC breaks
Innmind\Filesystem\CaseSensitivity
enumInnmind\Filesystem\Adapter\Filesystem::withCaseSensitivity()
Innmind\Filesystem\Name::of()
named constructorInnmind\Filesystem\Name::str(): Innmind\Immutable\Str
Innmind\Filesystem\File::withContent(): Innmind\Filesystem\File
Innmind\Filesystem\File\File::of()
named constructorInnmind\Filesystem\Directory::files(): Innmind\Immutable\Sequence<Innmind\Filesystem\File>
Innmind\Filesystem\Adapter::root(): Innmind\Filesystem\Directory
Innmind\Filesystem\Directory::map(): Innmind\Filesystem\Directory
Innmind\Filesystem\Directory::flatMap(): Innmind\Filesystem\Directory
Innmind\Filesystem\File::rename(): Innmind\Filesystem\File
Innmind\Filesystem\Directory\Directory::of()
$files
parameter accepts anInnmind\Immutable\Sequence<Innmind\Filesystem\File>
Innmind\Filesystem\Directory\Directory::remove()
no longer unwraps the whole directoryInnmind\Filesystem\Directory\Directory::filter()
no longer erase the previous removals
Innmind\Filesystem\Name
constructorInnmind\Filesystem\File\File
constructorInnmind\Filesystem\Adapter::all()
Innmind\Filesystem\Adapter\Chunk
Innmind\Filesystem\File\Content\AtPath::stream()
Innmind\Filesystem\File\Content\OfStream::stream()
Innmind\Filesystem\Chunk
Innmind\Filesystem\File\Content\Chunkable
Innmind\Filesystem\File\Content\Line::str(): Innmind\Immutable\Str
Innmind\Filesystem\Stream\LazyStream::end()
is declared as mutation free
Innmind\Filesystem\File\Content
Innmind\Filesystem\File\Content\Line
Innmind\Filesystem\File\Content\Lines
Innmind\Filesystem\File\Content\AtPath
Innmind\Filesystem\File\Content\OfStream
Innmind\Filesystem\File\Content\None
Innmind\Filesystem\Exception\FailedToWriteFile
Innmind\Filesystem\Exception\FailedToLoadFile
Innmind\Filesystem\File::content()
now returnsInnmind\Filesystem\File\Content
- Sets of loaded files are now lazy instead of deferred to avoid keeping in memory a whole directory tree
Innmind\Filesystem\Directory\Directory
constructor is now private, useDirectory::of()
insteadInnmind\Filesystem\Directory::get()
now returnsInnmind\Immutable\Maybe<Innmind\Filesystem\File>
instead of throwing an exceptionInnmind\Filesystem\Directory::foreach()
now returnsInnmind\Immutable\SideEffect
Innmind\Filesystem\Directory::filter()
now returnsInnmind\Filesystem\Directory
Innmind\Filesystem\Directory::modifications()
has been replaced byInnmind\Filesystem\Directory::removed()
Innmind\Filesystem\Directory::content()
no longer contains the names of the files it containsInnmind\Filesystem\Adapter\Filesystem
constructor is now private, useFilesystem::mount()
insteadInnmind\Filesystem\Adapter\HashedName
constructor is now private, useHashedName::of()
insteadInnmind\Filesystem\Adapter\InMemory
constructor is now private, useInMemory::new()
insteadInnmind\Filesystem\Adapter\Logger
constructor is now private, useLogger::psr()
insteadInnmind\Filesystem\Adapter::get()
now returnsInnmind\Immutable\Maybe<Innmind\Filesystem\File>
instead of throwing an exception
Innmind\Filesystem\Stream\NullStream
Innmind\Filesystem\File\File::withContent()
Innmind\Filesystem\Exception\FileNotFound
Innmind\Filesystem\Source
Innmind\Filesystem\Directory\Source
Innmind\Filesystem\File\Source
Innmind\Filesystem\Event\FileWasAdded
Innmind\Filesystem\Event\FileWasRemoved
Innmind\Filesystem\Directory::replaceAt()
Innmind\Filesystem\LazyAdapter
Innmind\Filesystem\Adapter\Lazy
Innmind\Filesystem\Adapter\CacheOpenedFiles