Skip to content

Releases: zen-fs/core

1.10.4

15 Feb 20:34
v1.10.4
1bb11ba
Compare
Choose a tag to compare
  • LazyFile is no longer marked as dirty when created
  • The size mismatch error in PreloadFile is now logged
  • readdir will no longer throw if an entry is deleted

1.10.3

13 Feb 21:48
v1.10.3
8703532
Compare
Choose a tag to compare

The journal option of CopyOnWriteOptions from last release was not finished or finalized. This release fixes that and adds CopyOnWrite and SingleBuffer tests to the CI workflow.

1.10.2

13 Feb 21:04
v1.10.2
ea962dd
Compare
Choose a tag to compare

Refactored Overlay (now CopyOnWrite)

  • Renamed to CopyOnWrite for clarity (all of the old names are still available but deprecated)
  • Rewrote CopyOnWrite to use a journal
  • Added a new internal API for journaling
  • Fixed readdir not tracking deletions correctly
  • Moved journal initialization logic to create
  • Fixed the CoW test setup and enabled CoW tests
  • Cleaned up directory tests
  • Removed an incorrect directory test for permissions

Fixes to Streams

  • createReadStream now supports the start and end options (#175)
  • createWriteStream now supports the start option
  • Removed the problematic @types/readable-stream dependency
    • The types for Readable and Writable are now pulled from @types/node
    • You should not install @types/readable-stream alongside ZenFS!
  • Added tests for start and end with createReadStream
  • Cleaned up the createWriteStream and readableWebStream methods of FileHandle
  • Cleaned up the createWriteStream function
  • Cleaned up streams tests

Other changes

  • Removed incorrect modification of AsyncIterableIterator (#158)
  • Corrected the return type of fs.promises.watch from AsyncIterableIterator to AsyncIteratorObject
  • Improved error messages test to check for ENOENT on missing items
  • Polyfills now log warnings and aren't considered in test coverage
  • Fixed Async#_patchAsync calling the sync method recursively
  • Removed trailing period on many log/error messages
  • Fixed Async never updating the sync cache when a sync method is called
  • Async#_patchAsync now gets the keys dynamically
  • Fixed FileHandle.write's behavior when the encoding was null

1.10.1

12 Feb 17:58
v1.10.1
255578f
Compare
Choose a tag to compare
  • Added two new built-in log formats: css_level and css_message, which style text using CSS for usage with the Console API in browsers
  • The format in a LogConfiguration can now return a string[] (in addition to a string)
  • The output in a LogConfiguration is now passed an array of strings

1.10.0

11 Feb 22:04
v1.10.0
381a43e
Compare
Choose a tag to compare

New backend: SingleBuffer (#162)

This release adds the SingleBuffer backend, which allows you to work with a file system contained within a single buffer. This is very useful for synchronous multi-threaded file system interaction using SharedArrayBuffer. Please note there is no built-in concurrent access prevention.

Usage statistics

All of the core backends now include usage statistics. This includes Passthrough, Fetch (IndexFS), Overlay, InMemory. Additionally, the optional usage method was added to Store.

baseUrl in Fetch options

You are now required to pass an explicit baseUrl parameter to Fetch. This is primarily a security change to avoid misconfigurations. Additionally, the change prevents an issue where a missing baseUrl resulted in an attempt to create an invalid URL.

1.9.5

06 Feb 22:28
v1.9.5
529a6b6
Compare
Choose a tag to compare
  • Fixed nested symlink path resolution
  • PR CI/CD is no longer run with sub-checks (permissions)
  • Added nested symlinks tests (#187, thanks @mcandeia)
  • Fixed help message formatting
  • Added support for file URLs (#186)
  • Improved worker tests
  • Remove deprecated clearSync from InMemoryStore

1.9.4

04 Feb 19:57
v1.9.4
5f5888b
Compare
Choose a tag to compare
  • Fixed the FSRequest type for Port not including usage
  • Optimized _open so only one stat is done
  • Removed experimental VFS Caching
    • It was not maintainable and had numerous issues. Caching at the VFS level may return in a future release.
  • Fixed realpath using the FS specific instead of absolute path
  • Added internal _resolve
  • Documentation updates

1.9.3

03 Feb 05:05
v1.9.3
75ddb17
Compare
Choose a tag to compare
  • Added lots of documentation!
  • Added categories to documentation comments
  • Fixed rename removing files when renaming with the same name
  • Added internal _asyncDone to FetchFS
  • Fixed race condition with test exit
  • npm update

1.9.2

03 Feb 02:02
v1.9.2
c19348e
Compare
Choose a tag to compare
  • Fixed IndexFS not removing the old file on rename
  • Fixed assertion comparison in rename test

1.9.1

03 Feb 00:41
v1.9.1
17b11c7
Compare
Choose a tag to compare

IndexFS statSync will now throw ENOENT if the data in the index is undefined, not just when it is missing. Additionally, stat does not call statSync, which fixes usage with Async.