Skip to content

Releases: zen-fs/core

0.18.0

19 Sep 20:23
v0.18.0
b7b4e20
Compare
Choose a tag to compare
0.18.0 Pre-release
Pre-release
  • Implemented the watch API/features (#6)
  • Permissions are now handled in the emulation layer, not by individual backends
    • Removed redundant permissions checks in backends
    • Credentials are no longer passed to FileSystem methods
      • This change greatly simplifies the FileSystem API, making it easier to write backends
      • It is also a major breaking change for the internal API
    • Backends that need them can import credentials
    • Simplified credentials handling to use the exported credentials object
    • Credentials were already managed globally
  • Corrected the syscall in some ErrnoError.With calls
  • _openSync now truncates the file instead of deleting and recreating it (when the flag is truncating)
  • Clarified link parameter names
  • PortFile.stat now returns a Stats instance
  • link correctly throws an error when attempting to make a cross "device"/backend link
  • Simplified directory listing encoding/decoding
  • Added deadlock avoidance to Mutexed
  • Fixed Dir._entries initialization
  • Added missing early return in mkdir

0.17.1

07 Sep 21:07
v0.17.1
4578216
Compare
Choose a tag to compare
0.17.1 Pre-release
Pre-release
  • Fixed mixins not being exported
  • Removed nop from being exported

0.17.0

07 Sep 20:27
v0.17.0
e7b4b61
Compare
Choose a tag to compare
0.17.0 Pre-release
Pre-release
  • Changed LockedFS into a mixin named Mutexed
    • Removed Locked backend
    • Removed unlock method
  • Fixed race condition after Mutex unlock (#78, Thanks @terryluan12)
  • Removed OverlayFS methods: getOverlayedFileSystems, resDeletionLog, unwrap
  • Changed OverlayFS protected _readable and _writable properties to public readonly readable and writeable
  • Renamed UnlockedOverlayFS to UnmutexedOverlayFS
  • Backends' types are no longer expanded
    • This means a much cleaner and readable error message with an incorrect configuration for a mount in configure and configureSingle
    • This is exclusively an aesthetic change
  • Implemented fs.watch and fs.promises.watch
    • Note that the internal events have not been added, so no events will be emitted
  • Fully added File.close functionality
    • After closing a file, most operations no longer work.
  • Index constructor now accepts entries
  • opendir now preloads Dir entries
  • Fixed double close in _readFileSync
  • Fixed being able to abort a Transaction after it was already commited
  • Changed Transaction disposal to abort instead of commit
  • Updated StoreFS methods to use using on transaction instances

File structure changes:

  • Consolidated backends/index/* into backends/file_index
  • Organized FS mixins into mixins

0.16.4

23 Aug 19:38
v0.16.4
b7c12c4
Compare
Choose a tag to compare
0.16.4 Pre-release
Pre-release

rm now passes the options through to recursive calls. (#100, Thanks @matteo-cristino)

0.16.3

17 Aug 19:03
v0.16.3
1bc835c
Compare
Choose a tag to compare
0.16.3 Pre-release
Pre-release

Fixed bad _disableSync check in resolveMountConfig (#86)

0.16.2

02 Aug 16:00
Compare
Choose a tag to compare
0.16.2 Pre-release
Pre-release
  • Fixed unavailable backends throwing the backend object instead of the name
  • Fixed resolveMountConfig not awaiting checkOptions
  • Changed internal Offset enum to offsets object (for Inode)
  • UnlockedOverlayFS.restoreDeletionLog and deletePath are now async
  • Added runtime checks for IndexFS directory contents
  • Fixed some types being any in callbacks API emulation
  • Added a runtime check for globalThis.ReadableStream to FileHandle.readableWebStream
  • Fixed sync tests being async functions
  • A shared Eslint config is now exported
  • Upgraded to the flag Eslint config

0.16.1

29 Jul 22:49
v0.16.1
11c02c3
Compare
Choose a tag to compare
0.16.1 Pre-release
Pre-release
  • Added resolveRemoteMount (#93, Thanks @UnCor3)
  • Updated and fixed Port readme
  • Internal FileOrFSRequest and handleRequest are exported

0.16.0

25 Jul 11:32
v0.16.0
33f2b38
Compare
Choose a tag to compare
0.16.0 Pre-release
Pre-release
  • Cleaned up RPC types
  • Greatly streamlined the StatsCommon constructor
  • StatsCommon now allows passing a mode of 0 to the constructor
  • Changed FileType from an enum to a type

0.15.2

20 Jul 19:11
Compare
Choose a tag to compare
0.15.2 Pre-release
Pre-release

This release adds support for the disableAsyncCache config option to FetchFS. This should resolve #86.

0.15.1

14 Jul 20:21
v0.15.1
e7ec89d
Compare
Choose a tag to compare
0.15.1 Pre-release
Pre-release
  • Added polyfill for Promise.withResolvers
  • Changed required engine to >=16