NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #43 most downloaded on pub.dev
A pluggable, mockable file system abstraction for Dart. Supports local file system access, as well as in-memory file systems, record-replay file systems, and chroot file systems.
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.4 years
Nearly every release is documented
notes for 41 of 42 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
47 releases · first in 2015
Update the pubspec repository field to reflect the new package repository.
Dart 3 fixes for class modifiers.
MemoryFileSystem now treats empty paths as non-existent.FileSystem.isLink/FileSystem.isLinkSync to not follow symbolic links.MemoryFile.openRead and _ChrootFile.openRead again
match the return type from dart:io.One column per quarter.
Populate the pubspec repository field.
repository field.In classes that implement File methods create, createSync now take bool exclusive = true parameter. No functional changes.
File methods create, createSync now take bool exclusive = true parameter. No functional changes.MemoryFileSystem now provides opHandles for exists operations.
MemoryFileSystem now provides opHandles for exists operations.MemoryFile now provides opHandles for copy and open operations.
MemoryFile now provides opHandles for copy and open operations.Reading invalid UTF8 with the MemoryFileSystem now correctly throws a FileSystemException instead of a FormatError.
MemoryFileSystem now correctly throws a FileSystemException instead of a FormatError.MemoryFileSystem now provides an opHandle to inspect read/write operations.MemoryFileSystem now creates the temporary directory before returning in createTemp/createTempSync.Fix sound type error in memory backend when reading non-existent MemoryDirectory.
MemoryDirectory.First stable null safe release.
Update upper bound of SDK constraint.
Update upper bound of SDK constraint.
Make ForwardingFile.openRead's return type again match the return type from dart:io.
ForwardingFile.openRead's return type again match the return type from
dart:io.Uint8List conversions in ForwardingFile.Remove record/replay functionality.
MemoryRandomAccessFile and MemoryFile.openWrite handle the file
being removed or renamed while open.NoMatchingInvocationError.toString().systemTemp directories created by MemoryFileSystem will allot names based on the file system instance instead of globally.
MemoryFileSystem will allot names
based on the file system instance instead of globally.MemoryFile.readAsLines()/readAsLinesSync() no longer treat a final newline
in the file as the start of a new, empty line.RecordingFile.readAsLine()/readAsLinesSync() now always record a final
newline.MemoryFile.flush() now returns Future<void> instead of Future<dynamic>.Added a MemoryRandomAccessFile class and implemented MemoryFile.open()/openSync().
MemoryRandomAccessFile class and implemented
MemoryFile.open()/openSync().Added a new MemoryFileSystem constructor to use a test clock
MemoryFileSystem constructor to use a test clock* Added example
* Fix lints for project health
Return Uint8List rather than List .
Uint8List rather than List<int>.Nothing published for this version
Dart 2 fixes for RecordingProxyMixin and ReplayProxyMixin.
RecordingProxyMixin and ReplayProxyMixin.Fix getExecutablePath() to support forward slashes on Windows.
getExecutablePath() to support forward slashes on Windows.* Dart 2 fixes
Update SDK constraint to 2.0.0-dev.67.0, remove workaround in recording_proxy_mixin.dart.
package:testUpdate package:test dependency to 1.0
package:test dependency to 1.0Declare compatibility with Dart 2 stable
Update SDK constraint to 2.0.0-dev.54.0.
Moved testing library into a dedicated package:file_testing so that libraries don't need to take on a transitive dependency on package:test in order t
testing library into a dedicated package:file_testing so that
libraries don't need to take on a transitive dependency on package:test
in order to use package:file.Add style support in MemoryFileSystem, so that callers can choose to have a memory file system with windows-like paths. [#68]
style support in MemoryFileSystem, so that callers can choose to
have a memory file system with windows-like paths. [#68]
(https://github.com/google/file.dart/issues/68)Change method signature for RecordingRandomAccessFile._close to return a Future instead of Future . This follows a change in dart:io, Dart SDK 2.0.0-d
RecordingRandomAccessFile._close to return a
Future<void> instead of Future<RandomAccessFile>. This follows a change in
dart:io, Dart SDK 2.0.0-dev.40.Old functions still exists as deprecated, forwarding to the new functions without the preferNewest argument. Makes PackageConfig , Package and Languag…
findPackageConfigAndFile and findPackageConfigAndUri..packages file..packages files.packages.readAnyConfigFile to readConfigFile, and removedpreferNewest parameter.readAnyConfigFileUri which becomes readConfigFileUri.preferNewest argument.PackageConfig, Package and LanguageVersion @sealed classes,final in a future update.PackageConfig.minVersion to complement .maxVersion.2.dart:io unconditionally. More recent Dart SDK revisions allow
dart:io to be imported in a browser context, though if methods are actually
invoked, they will fail. This matches well with package:file, where users
can use the memory library and get in-memory implementations of the
dart:io interfaces.1.24.0* Fix Dart 2 error.
Relax sdk upper bound constraint to '<2.0.0' to allow 'edge' dart sdk use.
Fix internal use of a cast which fails on Dart 2.0 .
Bumped maximum Dart SDK version to 2.0.0-dev.infinity
Relaxes version requirements on package:intl
package:intlFixed FileSystem.directory(Uri), FileSystem.file(Uri), and FileSystem.link(Uri) to consult the file system's path context when converting the URI to a
FileSystem.directory(Uri), FileSystem.file(Uri), and
FileSystem.link(Uri) to consult the file system's path context when
converting the URI to a file path rather than using Uri.toFilePath().Fixed MemoryFileSystem to make File.writeAs...() update the last modified time of the file.
MemoryFileSystem to make File.writeAs...() update the last modified
time of the file.Added the following convenience methods in Directory:
Directory:
Directory.childDirectory(String basename)Directory.childFile(String basename)Directory.childLink(String basename)Added ErrorCodes class, which holds errno values.
ErrorCodes class, which holds errno values.Switched to using the Apache httpd mime.conf table as the source of truth for mime types. Mime type additions:
application/vnd.geogebra.slidesfont/collectionimage/jxlimage/vnd.dvb.subtitlevideo/mp2tapplication/x-font-otf => font/otfapplication/x-font-ttf => font/ttfapplication/x-font-woff => font/woffmodel/vnd.mtsapplication/inkml+xml, inkml => inkapplication/octet-stream, so => binapplication/onenote, onetoc2 => onetocapplication/pgp-signature, sig => ascapplication/tei+xml, teicorpus => teiapplication/vnd.adobe.fxp, fxpl => fxpapplication/vnd.clonk.c4group, c4u => c4gapplication/vnd.dece.data, uvvf => uvfapplication/vnd.dece.ttml+xml, uvvt => uvtapplication/vnd.eszigno3+xml, et3 => es3application/vnd.framemaker, maker => fmapplication/vnd.geometry-explorer, gre => gexapplication/vnd.grafeq, gqs => gqfapplication/vnd.ibm.modcap, listafp => afpapplication/vnd.iccprofile, icm => iccapplication/vnd.intercon.formnet, xpx => xpwapplication/vnd.kde.kpresenter, kpt => kprapplication/vnd.kde.kword, kwt => kwdapplication/vnd.kinar, knp => kneapplication/vnd.koan, skt => skpapplication/vnd.ms-project, mpt => mppapplication/vnd.palm, pqa => pdbapplication/vnd.quark.quarkxpress, qxt => qxdapplication/vnd.simtech-mindmapper, twds => twdapplication/vnd.stardivision.writer, vor => sdwapplication/vnd.sus-calendar, susp => susapplication/vnd.symbian.install, sisx => sisapplication/vnd.ufdl, ufdl => ufdapplication/vnd.visio, vsw => vsdapplication/vnd.zul, zirz => zirapplication/x-authorware-bin, x32 => aabapplication/x-blorb, blorb => blbapplication/x-cbr, cbz => cbrapplication/x-director, w3d => dirapplication/x-font-type1, pfm => pfaapplication/x-msdownload, msi => exeapplication/x-pkcs12, pfx => p12application/x-pkcs7-certificates, spc => p7bapplication/x-zmachine, z8 => z1application/xv+xml, xvml => mxmlaudio/basic, snd => auaudio/mpeg, mpga => mp3audio/vnd.dece.audio, uvva => uvaimage/tiff, tif => tiffimage/vnd.dece.graphic, uvvi => uviimage/x-freehand, fhc => fhmessage/rfc822, mime => emlmodel/mesh, silo => mshmodel/x3d+binary, x3dbz => x3dbmodel/x3d+vrml, x3dvz => x3dvmodel/x3d+xml, x3dz => x3dtext/troff, tr => ttext/uri-list, urls => uritext/x-fortran, for => fvideo/mj2, mjp2 => mj2video/vnd.dece.hd, uvvh => uvhvideo/vnd.dece.mobile, uvvm => uvmvideo/vnd.dece.pd, uvvp => uvpvideo/vnd.dece.sd, uvvs => uvsvideo/vnd.dece.video, uvvv => uvvvideo/vnd.uvvu.mp4, uvvu => uvuvideo/x-ms-asf, asx => asf* Minor doc updates
Improved toString implementations in file system entity classes
toString implementations in file system entity classesForwardingFileSystem and associated forwarding classes to the
main file libraryFileSystem.pathSeparator, and added a more comprehensive
FileSystem.path propertyFileSystemEntity.basename and FileSystemEntity.dirnamerecord_replay librarytesting libraryAdded FileSystem.systemTempDirectory
FileSystem.systemTempDirectoryUri and FileSystemEntity types to
FileSystem.directory(), FileSystem.file(), and FileSystem.link()FileSystem.pathSeparatorInitial stable release.
* Initial version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →