PackageTrack
Sign in Get early access

file

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.

7.0.1 9.5M downloads/mo #32 most downloaded on pub.dev dart-lang/tools

What this package is like to depend on

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

0 releases in the last 12 months

see the full history below

Release timeline

47 releases · Jun 2015 to Oct 2024
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 47
  1. 7.0.1 08 Oct 2024
    Release notes
    • Update the pubspec repository field to reflect the new package repository.
    Open source →
  2. 7.0.0 19 May 2023
    Release notes
    • Dart 3 fixes for class modifiers.
    • Require Dart 3.0.
    • MemoryFileSystem now treats empty paths as non-existent.
    • Fix FileSystem.isLink/FileSystem.isLinkSync to not follow symbolic links.
    • Make the return type of MemoryFile.openRead and _ChrootFile.openRead again match the return type from dart:io.
    Open source →
  3. 6.1.4 18 Aug 2022
    Release notes
    • Populate the pubspec repository field.
    Open source →
  4. 6.1.3 17 Aug 2022
    Release notes
    • In classes that implement File methods create, createSync now take bool exclusive = true parameter. No functional changes.
    Open source →
  5. 6.1.2 15 Jun 2021
    Release notes
    • MemoryFileSystem now provides opHandles for exists operations.
    Open source →
  6. 6.1.1 17 May 2021
    Release notes
    • MemoryFile now provides opHandles for copy and open operations.
    Open source →
  7. 6.1.0 18 Feb 2021
    Release notes
    • Reading invalid UTF8 with the 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.
    Open source →
  8. 6.0.1 17 Feb 2021
    Release notes
    • Fix sound type error in memory backend when reading non-existent MemoryDirectory.
    Open source →
  9. 6.0.0 03 Feb 2021
    Release notes
    • First stable null safe release.
    Open source →
  10. 6.0.0-nullsafety.4 04 Nov 2020 pre-release
    Release notes
    • Update upper bound of SDK constraint.
    Open source →
  11. 6.0.0-nullsafety.3 22 Oct 2020 pre-release
    Release notes
    • Update upper bound of SDK constraint.
    Open source →
  12. 6.0.0-nullsafety.2 22 Sep 2020 pre-release
    Release notes
    • Make ForwardingFile.openRead's return type again match the return type from dart:io.
    • Remove some unnecessary Uint8List conversions in ForwardingFile.
    Open source →
  13. 6.0.0-nullsafety.1 11 Aug 2020 pre-release
    Release notes
    • Update to null safety.
    • Remove record/replay functionality.
    • Made MemoryRandomAccessFile and MemoryFile.openWrite handle the file being removed or renamed while open.
    • Fixed incorrect formatting in NoMatchingInvocationError.toString().
    • Fixed more test flakiness.
    • Enabled more tests.
    • Internal cleanup.
    • Remove implicit dynamic in preparation for null safety.
    • Remove dependency on Intl.
    Open source →
  14. 5.2.1 23 Jun 2020
    Release notes
    • systemTemp directories created by 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>.
    • Fixed some test flakiness.
    • Enabled more tests.
    • Internal cleanup.
    Open source →
  15. 5.2.0 15 Jun 2020
    Release notes
    • Added a MemoryRandomAccessFile class and implemented MemoryFile.open()/openSync().
    Open source →
  16. 5.1.0 11 Oct 2019
    Release notes
    • Added a new MemoryFileSystem constructor to use a test clock
    Open source →
  17. 5.0.10 31 Aug 2019
    Release notes
    • Added example
    Open source →
  18. 5.0.9 31 Aug 2019
    Release notes
    • Fix lints for project health
    Open source →
  19. 5.0.8 20 May 2019
    Release notes
    • Return Uint8List rather than List<int>.
    Open source →
  20. 5.0.8+1 25 Jun 2019

    Nothing published for this version

  21. 5.0.7 07 Dec 2018
    Release notes
    • Dart 2 fixes for RecordingProxyMixin and ReplayProxyMixin.
    Open source →
  22. 5.0.6 30 Aug 2018
    Release notes
    • Dart 2 fixes for RecordingFile.open()
    Open source →
  23. 5.0.5 29 Aug 2018
    Release notes
    • Dart 2 fixes
    Open source →
  24. 5.0.4 14 Aug 2018
    Release notes
    • Update SDK constraint to 2.0.0-dev.67.0, remove workaround in recording_proxy_mixin.dart.
    • Fix usage within Dart 2 runtime mode in Dart 2.0.0-dev.61.0 and later.
    • Relax constraints on package:test
    Open source →
  25. 5.0.3 13 Aug 2018
    Release notes
    • Update package:test dependency to 1.0
    Open source →
  26. 5.0.2 13 Aug 2018
    Release notes
    • Declare compatibility with Dart 2 stable
    Open source →
  27. 5.0.1 21 May 2018
    Release notes
    • Remove upper case constants
    • Update SDK constraint to 2.0.0-dev.54.0.
    Open source →
  28. 5.0.0 10 Apr 2018
    Release notes
    • 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 to use package:file.
    Open source →
  29. 4.0.1 10 Apr 2018
    Release notes
    • General library cleanup
    • Add 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)
    Open source →
  30. 4.0.0 06 Apr 2018
    Release notes
    • Change method signature for 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.
    Open source →
  31. 3.0.0 20 Mar 2018
    Release notes
    • Adds discovery API to find both a configuration and its location:
      findPackageConfigAndFile and findPackageConfigAndUri.
    • Removes support for the .packages file.
      The Dart SDK no longer supports that file, and no new .packages files
      will be generated.
      Since the SDK requirement for this package is above 3.0.0,
      no supporting SDK can use or generate .packages.
    • Simplifies API that no longer needs to support two separate files.
      • Renamed readAnyConfigFile to readConfigFile, and removed
        the preferNewest parameter.
      • Same for readAnyConfigFileUri which becomes readConfigFileUri.
      • Old functions still exists as deprecated, forwarding to the new
        functions without the preferNewest argument.
        Makes PackageConfig, Package and LanguageVersion @sealed classes,
        in preparation for making them final in a future update.
    • Adds PackageConfig.minVersion to complement .maxVersion.
      Currently both are 2.
    Open source →
    Release notes
    • Import 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.
    • Bump minimum Dart SDK to 1.24.0
    Open source →
  32. 2.3.7 01 Mar 2018
    Release notes
    • Fix Dart 2 error.
    Open source →
  33. 2.3.6 12 Feb 2018
    Release notes
    • Relax sdk upper bound constraint to '<2.0.0' to allow 'edge' dart sdk use.
    Open source →
  34. 2.3.5 22 Nov 2017
    Release notes
    • Fix internal use of a cast which fails on Dart 2.0 .
    Open source →
  35. 2.3.4 13 Jul 2017
    Release notes
    • Bumped maximum Dart SDK version to 2.0.0-dev.infinity
    Open source →
  36. 2.3.3 11 Jul 2017
    Release notes
    • Relaxes version requirements on package:intl
    Open source →
  37. 2.3.2 27 Mar 2017
    Release notes
    • Fixed 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().
    Open source →
  38. 2.3.1 15 Mar 2017
    Release notes
    • Fixed MemoryFileSystem to make File.writeAs...() update the last modified time of the file.
    Open source →
  39. 2.3.0 27 Feb 2017
    Release notes
    • Added the following convenience methods in Directory:
      • Directory.childDirectory(String basename)
      • Directory.childFile(String basename)
      • Directory.childLink(String basename)
    Open source →
  40. 2.2.0 22 Feb 2017
    Release notes
    • Added ErrorCodes class, which holds errno values.
    Open source →
  41. 2.1.0 21 Feb 2017
    Release notes
    • Add support for new dart:io API methods added in Dart SDK 1.23
    Open source →
  42. 2.0.1 12 Feb 2017
    Release notes
    • Minor doc updates
    Open source →
  43. 2.0.0 12 Feb 2017
    Release notes
    • Improved toString implementations in file system entity classes
    • Added ForwardingFileSystem and associated forwarding classes to the main file library
    • Removed FileSystem.pathSeparator, and added a more comprehensive FileSystem.path property
    • Added FileSystemEntity.basename and FileSystemEntity.dirname
    • Added the record_replay library
    • Added the testing library
    Open source →
  44. 1.0.1 07 Jan 2017
    Release notes
    • Added FileSystem.systemTempDirectory
    • Added the ability to pass Uri and FileSystemEntity types to FileSystem.directory(), FileSystem.file(), and FileSystem.link()
    • Added FileSystem.pathSeparator
    Open source →
  45. 1.0.0 06 Jan 2017
    Release notes
    • Unified interface to match dart:io API
    • Local file system implementation
    • In-memory file system implementation
    • Chroot file system implementation
    Open source →
  46. 0.1.0 20 Feb 2016
    Release notes
    • Initial version
    Open source →
  47. 0.0.1-dev+1 06 Jun 2015 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive