4.54.0 (2026-01-18)
- 🎸 add locking for FSA writable handles (35d3519)
4.53.0 (2026-01-17)
4.52.0 (2026-01-15)
- 🐛 add deprecated
Dirent.pathwith deprecation notice (ebf8ea9)
4.51.1 (2025-11-30)
- add glob functions to API lists (445f337)
4.51.0 (2025-11-12)
4.50.0 (2025-10-28)
- 🎸 improve Node buffer allocation strategy (d1edb3f)
- optimize Node buffer management to prevent O(n^2) overhead (95d6f09)
4.49.0 (2025-10-06)
- harden flaky watchFile test by adding proper timing delays (092a1ba)
- handle stream reading past file size in FsaNodeReadStream (2eac49b)
4.48.1 (2025-10-01)
- 🐛 throw EISDIR when writing over folder (d20095e)
4.48.0 (2025-10-01)
- handle EEXIST error when creating directories in parallel (3c9b2c8)
4.47.0 (2025-09-27)
- align openAsBlob errors with Node.js behavior (1f1afb7)
4.46.1 (2025-09-25)
- handle Uint8Array byteOffset and byteLength in readSync (bba8729)
4.46.0 (2025-09-24)
- implement inline inspect and format functions to replace node:util imports (894819e)
- inline inherits and promisify implementations, remove all node:util dependencies (4e628bf)
4.45.0 (2025-09-24)
- 🐛 inline Buffer and URL (0b6c43a)
- inline fs.ts types to remove node:fs dependency (22886c3)
4.44.0 (2025-09-24)
- 🐛 remove dependence on "assert" module (c7c6f6c)
- move internal files to vendor/node/internal and cleanup unused error codes (3a9ee47)
4.43.1 (2025-09-24)
4.43.0 (2025-09-20)
- re-export all Node.js native packages (4ecc167)
4.42.0 (2025-09-16)
- 🎸 implement
.openAsBlob()forFsaNodeFs(26068e8)
4.41.0 (2025-09-16)
- update TypeScript and related packages to latest versions (988710d)
4.40.0 (2025-09-16)
- update Node.js types and add node: prefix to imports (c3f32bc)
4.39.0 (2025-09-10)
- 🎸 add scaffold for
CoreFileSystemObserverimplementation and restructure fsa() helper (117b7c5) - 🎸 improve
IFileSystemChangeRecordinterface (868b763) - 🎸 update
IFileSystemObserverinterface (d581d8c) - 🎸 update file change record interface (ff2386c)
- 🎸 use
FanOutforLinkreactivity (2aec586) - 🎸 use
FanOutforNodeevents (95ef10a) - 🎸 use compact form for link events (a00a1f0)
4.38.3 (2025-09-09)
- prevent readFile from updating ctime when only accessing files (f5f3066)
4.38.2 (2025-08-26)
- correct permission check logic for readonly files in copyFile operations (a06bb4d)
4.38.1 (2025-08-24)
- 🐛 use glob-to-regex library (8962374)
4.38.0 (2025-08-24)
- handle chmod 0 permissions in existsSync and access methods (3452bcf)
- revert exists implementation (bf209cd)
4.37.1 (2025-08-22)
- ensure FLAG enum is properly exported for compatibility with Node.js fs.open (685aef1)
- add FLAG constant enum (8c301ff)
4.37.0 (2025-08-22)
- implement async queryPermission with FSA context mode checks (68a5927)
- implement queryPermission method in NodeFileSystemHandle using fs.access (06bd6b1)
4.36.3 (2025-08-18)
4.36.2 (2025-08-18)
- 🐛 check for buffer size when stream reading (1402df8)
4.36.1 (2025-08-18)
- 🐛 correctly write at offset in FS adapter (2526c3a)
4.36.0 (2025-08-03)
- 🎸 harden WritableStream usage (155b023)
4.35.0 (2025-08-02)
- directory timestamp handling - correctly distinguish access vs modification operations (db0e6ce)
- increase setTimeout delay in directory timestamp tests from 1ms to 10ms to improve reliability on Mac systems (65051af)
- add comprehensive test coverage for appendFile path validation (0baa763)
- add test case for appendFile with dots in path (ab544ca)
- fix directory timestamp handling - correctly distinguish access vs modification operations (5d88334)
4.34.0 (2025-08-01)
- add ENOTDIR error for files accessed with trailing slash (83d36f3)
4.33.0 (2025-08-01)
- correct ENOTDIR vs ENOENT error handling after symlink resolution (63b5cb3)
- fix ENOTDIR vs ENOENT error handling for file-as-directory scenarios (adab01d)
4.32.1 (2025-08-01)
- remove setTimeout to capture immediate file events in watched directories (6cda8d5)
4.32.0 (2025-08-01)
- ensure glob APIs use consistent posix paths on all platforms (a0cff3e)
- resolve merge conflicts and update missing-apis tests (247302f)
- implement in-memory Node.js fs glob APIs (1b57205)
4.31.0 (2025-08-01)
- improve FileHandle.readableWebStream() with proper locking and autoClose support (1e27b52)
4.30.1 (2025-08-01)
- add missing name check in FsaNodeSyncWorker.getFileOrDir for root directory (fcdd81e)
- allow lstat to traverse intermediate symlinks (733eb2c)
- statSync("/") error in FsaNodeSyncAdapterWorker (bd831a6)
4.30.0 (2025-08-01)
- remove implemented APIs from missing-apis tests (1a5dfbe)
- implement fs.openAsBlob method with comprehensive tests (a85d5fc)
- implement statfsSync and statfs functions with StatFs class (312ce88)
- move statfs tests to standalone statfs.spec.ts file (daaf632)
4.29.0 (2025-08-01)
- add missing Node.js fs APIs with proper TypeScript types and stubs (280f317)
4.28.1 (2025-08-01)
- correct writevSync return type to number per Node.js documentation (d7720c3)
- make position parameter optional in readvSync, writeSync, and writevSync methods (3e4ccc6)
4.28.0 (2025-07-31)
- 🎸 export fsa() factory (5b5431b)
4.27.0 (2025-07-31)
- resolve security regex issue and constructor bug in FSA classes (c7c268c)
- complete Core FSA implementation with clean linting (e53cd7c)
- complete FSA implementation with main package exports (a26e1cc)
- implement Core FSA classes with basic functionality working (7e60a4a)
- revert index.ts changes and implement queryPermission method (02c2b6c)
4.26.0 (2025-07-31)
- revert yarn.lock changes and fix import paths in moved test files (1cd8d0a)
- update remaining import paths in volume.test.ts (4dd00c8)
- update remaining Stats import in mkdirSync test (4cfcfa6)
- update Node.js interfaces to use property syntax instead of method declarations (a774c3f)
4.25.1 (2025-07-31)
- remove await in loop for toSnapshot (66519da)
4.25.0 (2025-07-31)
- 🐛 correct imports graph to fix Windows path resolution (3e442a8)
- 🐛 pass tests after refactor (7a87435)
- 🎸 introduce Superblock, make Volume use it (963850f)
4.24.0 (2025-07-30)
- refactor core classes to separate files (0ce0317)
4.23.0 (2025-07-27)
- add
promises.watch(45a6171)
4.22.1 (2025-07-27)
fs.createReadStreamthrowingERR_OUT_OF_RANGEwith start parameter (5e5e5ca)
4.22.0 (2025-07-27)
- add
realpath.nativeand its sync variant (89d7e54)
4.21.0 (2025-07-27)
- improve
Dirclass, align better with Node.js (cdc257a)
4.20.1 (2025-07-27)
- track internal position in FileHandle (7406f1b)
4.20.0 (2025-07-25)
- improve
FileHandleimplementation (4b39403)
4.19.0 (2025-07-25)
- improve cross-platform path validation in cp operations to prevent Windows infinite recursion (77535d0)
- prevent infinite recursion in Windows path resolution for cp operations (0f26418)
- implement cp, cpSync, and promises.cp APIs (389f1f5)
- ⚡️ do not create a temporary function (c8dbc24)
4.18.0 (2025-07-25)
- add missing opendir methods (7412d71)
4.17.2 (2025-05-15)
- use promises rather than
setImmediateso that I/O is executed within the current task stack (#1100) (786072f)
4.17.1 (2025-05-03)
4.17.0 (2025-01-09)
4.16.0 (2025-01-09)
4.15.4 (2025-01-09)
4.15.3 (2025-01-01)
4.15.2 (2024-12-30)
4.15.1 (2024-12-22)
4.15.0 (2024-12-09)
4.14.1 (2024-12-02)
4.14.0 (2024-10-13)
4.13.0 (2024-10-07)
4.12.0 (2024-09-19)
4.11.2 (2024-09-17)
4.11.1 (2024-08-01)
4.11.0 (2024-07-27)
- volume implementation of .opendir() method (7072fb7)
4.10.0 (2024-07-27)
4.9.4 (2024-07-23)
- ensure files in subdirectories are returned as buffers when calling
toJSONwithasBuffer(#1041) (c3d4cf3)
4.9.3 (2024-06-14)
4.9.2 (2024-04-30)
4.9.1 (2024-04-27)
- 🐛 use latest json-pack implementation (de54ab5)
4.9.0 (2024-04-27)
- 🎸 define .scan() CRUD method (921e05d)
- 🎸 implement .scan() in Node.js CRUD (3d973b7)
- 🎸 implement .scan() method for FSA CRUD (a148fb8)
4.8.2 (2024-04-14)
4.8.1 (2024-03-31)
4.8.0 (2024-03-19)
- 🎸 allow to customize CAS storage hash and location mappin (e32a57d)
4.7.7 (2024-02-21)
4.7.6 (2024-02-17)
4.7.5 (2024-02-17)
4.7.4 (2024-02-17)
4.7.3 (2024-02-17)
4.7.2 (2024-02-17)
4.7.1 (2024-02-16)
4.7.0 (2024-02-13)
4.6.1 (2024-02-12)
4.6.0 (2023-10-07)
- add
queueMicrotaskimplementation (45d1784)
4.5.0 (2023-09-25)
4.4.0 (2023-09-22)
- volume:
toJSONnow accepts theasBufferparameter (#952) (91a3742) - volume: implement readv and writev (#946) (966e17e)
4.3.0 (2023-09-15)
4.2.3 (2023-09-15)
4.2.2 (2023-09-15)
4.2.1 (2023-08-07)
4.1.0 (2023-06-26)
- 🐛 add support for unknown nodes (77786f1)
- 🐛 allow readin into various kinds of buffers (361812d)
- 🐛 allow readin into various kinds of buffers (e9c70e9)
- 🐛 allow to seek in file (c04895b)
- 🐛 allow to seek in file (b363689)
- 🐛 correctly handle directory paths (ea909e8)
- 🐛 do not allow empty children names (f014fd8)
- 🐛 do not allow empty children names (43da1d6)
- 🐛 handle root folder better (89bbffd)
- 🐛 handle root folder better (76de780)
- 🐛 improve file opening and closing logic (403c271)
- 🐛 throw "ENOENT" and "ENOTDIR" when folder or file 404 (5de4faa)
- 🐛 throw "ENOENT" and "ENOTDIR" when folder or file 404 (ddd5d56)
- 🎸 add .toTree() to Volume (2d5c4cb)
- 🎸 add .truncate() method (038ab36)
- 🎸 add .truncate() method (085335c)
- 🎸 add ability to close files (0db56be)
- 🎸 add ability to close files (d3828a8)
- 🎸 add ability to create sub directories (8f15bd9)
- 🎸 add ability to create sub directories (528c807)
- 🎸 add ability to remove all files (76cabc7)
- 🎸 add ability to remove all files (566e29b)
- 🎸 add appendFileSync() method (57192fe)
- 🎸 add appendFileSync() method (27411e4)
- 🎸 add basenem() utility (8b27695)
- 🎸 add basenem() utility (43354e5)
- 🎸 add binary serialization to snapshots (c1cd615)
- 🎸 add copyFile() method (de2bb0a)
- 🎸 add copyFile() method (5e207c4)
- 🎸 add copyFileSync() method (7e0137c)
- 🎸 add copyFileSync() method (5fc1bac)
- 🎸 add createSwapFile() method (dfdb908)
- 🎸 add createSwapFile() method (b07ce79)
- 🎸 add crudfs types (18c0658)
- 🎸 add existsSync() method (0492a98)
- 🎸 add existsSync() method (073ec6b)
- 🎸 add fstatSync() method (f13ddb7)
- 🎸 add fstatSync() method (6b1597a)
- 🎸 add initial writign implementation (2f9542c)
- 🎸 add initial writign implementation (6a50382)
- 🎸 add integrity check on read (710eb2f)
- 🎸 add json encoding for snapshots (41f9b8c)
- 🎸 add lstat() and fstat() methods (ce5dd5e)
- 🎸 add lstat() and fstat() methods (e147d58)
- 🎸 add missing callback API methods and some sycn API ones (956533a)
- 🎸 add missing promisees API types (f6727f3)
- 🎸 add missing synchronous method types (ac38b5d)
- 🎸 add mkdirSync() method (57f386b)
- 🎸 add mkdirSync() method (bcad970)
- 🎸 add mkdtempSync() method (1ac2df4)
- 🎸 add mkdtempSync() method (68033dd)
- 🎸 add options to promises.rmdir() method (ce268bb)
- 🎸 add options to promises.rmdir() method (0628d56)
- 🎸 add pathToLocation() utility (8e0136a)
- 🎸 add pathToLocation() utility (cb92a99)
- 🎸 add read/write mode separation (b4b6fcb)
- 🎸 add read/write mode separation (60a65c1)
- 🎸 add readdirSync() method (2178a50)
- 🎸 add readdirSync() method (3689abd)
- 🎸 add readlinkSync() method (f398908)
- 🎸 add readlinkSync() method (8d243a0)
- 🎸 add readSync() method (31383a8)
- 🎸 add readSync() method (3729cd0)
- 🎸 add realpathSync() method (f9a3cbe)
- 🎸 add realpathSync() method (75890e0)
- 🎸 add renameSync() method (a1674e4)
- 🎸 add renameSync() method (5b1cd63)
- 🎸 add rm() method (239437d)
- 🎸 add rm() method (29a7dc8)
- 🎸 add rmdirSync() method (59ccf3c)
- 🎸 add rmdirSync() method (695b62a)
- 🎸 add rmSync() method (a39e9a2)
- 🎸 add rmSync() method (aa9acb3)
- 🎸 add snapshot creation utilities (9fc8f13)
- 🎸 add some common objects (b68ea2a)
- 🎸 add some common objects (c89744d)
- 🎸 add sumlink printing support (1850dae)
- 🎸 add sync api (29c035a)
- 🎸 add sync api (16d6600)
- 🎸 add timeout to spin lock (1e2fc72)
- 🎸 add timeout to spin lock (48e8e74)
- 🎸 add truncateSync() and ftruncateSync() methods (4caf28b)
- 🎸 add truncateSync() and ftruncateSync() methods (2b77619)
- 🎸 add typed array view support to volume (a8bee73)
- 🎸 add typed array view support to volume (7c8439f)
- 🎸 add unlinkSync() method (4b3444d)
- 🎸 add unlinkSync() method (417f911)
- 🎸 add writev() method (17b0446)
- 🎸 add writev() method (8190bfd)
- 🎸 create FSA types folder (c153506)
- 🎸 create FSA types folder (bb0c75a)
- 🎸 create Node fs api tyeps (27fd08a)
- 🎸 create Node fs api tyeps (4db1321)
- 🎸 explose FSA from index file (6865a05)
- 🎸 explose FSA from index file (77696f5)
- 🎸 implement .del() method (9a7fd37)
- 🎸 implement .drop() method (1b893a2)
- 🎸 implement .get() method (63aacb6)
- 🎸 implement .getDirectoryHandle() method (b6b026a)
- 🎸 implement .getDirectoryHandle() method (090980c)
- 🎸 implement .getFile() method (b8601cc)
- 🎸 implement .getFile() method (17015a3)
- 🎸 implement .getFileHandle() method (71567c9)
- 🎸 implement .getFileHandle() method (40bdc13)
- 🎸 implement .isSameEntry() method (f18d91e)
- 🎸 implement .isSameEntry() method (438806b)
- 🎸 implement .list() method (4a064cf)
- 🎸 implement .mkdir method (2623049)
- 🎸 implement .mkdir method (be1525a)
- 🎸 implement .mkdtemp() method (cd54e9b)
- 🎸 implement .mkdtemp() method (2db4cd0)
- 🎸 implement .removeEntry() method (48617aa)
- 🎸 implement .removeEntry() method (dca57a2)
- 🎸 implement .resolve() method (bf47b96)
- 🎸 implement .resolve() method (9d5669c)
- 🎸 implement .values() and .entries() (f13de3b)
- 🎸 implement .values() and .entries() (177010a)
- 🎸 implement .write() for FSA (8226541)
- 🎸 implement .write() for FSA (6a2fa2d)
- 🎸 implement access() method (0a43a1b)
- 🎸 implement access() method (c72390b)
- 🎸 implement accessSync() method (accebdb)
- 🎸 implement accessSync() method (719a19f)
- 🎸 implement async verions of snapshotting (18912bf)
- 🎸 implement basic readdir (898e221)
- 🎸 implement basic readdir (685bc7e)
- 🎸 implement basic rename() method, only for files (169662a)
- 🎸 implement basic rename() method, only for files (4769314)
- 🎸 implement basic state() method (425cad7)
- 🎸 implement basic state() method (4039d64)
- 🎸 implement CAS storage (33ddbcc)
- 🎸 implement closeSync() method (24841fa)
- 🎸 implement closeSync() method (646efaf)
- 🎸 implement crudfs .put() method (505dc20)
- 🎸 implement crudfs on top of fs (cb7ac4d)
- 🎸 implement Dirent listings (03e60d0)
- 🎸 implement Dirent listings (5d6f976)
- 🎸 implement exists() method (615e88f)
- 🎸 implement exists() method (0753937)
- 🎸 implement first version of readFile() method (e046128)
- 🎸 implement first version of readFile() method (629f22a)
- 🎸 implement first version of worker (3662003)
- 🎸 implement first version of worker (caf8394)
- 🎸 implement FSA ReadStream (bc50fc5)
- 🎸 implement FSA ReadStream (53784d9)
- 🎸 implement info() method (eea9215)
- 🎸 implement initial version of .open() mehtod (b3983df)
- 🎸 implement initial version of .open() mehtod (cb363b5)
- 🎸 implement initial version of appendFile() method (616be8d)
- 🎸 implement initial version of appendFile() method (65580aa)
- 🎸 implement initial version of writeFile() method (80e8499)
- 🎸 implement initial version of writeFile() method (e2b2bfd)
- 🎸 implement keys() method (33f9af0)
- 🎸 implement keys() method (b8e8a4c)
- 🎸 implement openSync() method (8ecac69)
- 🎸 implement openSync() method (4b7eddd)
- 🎸 implement read() method (33bea4b)
- 🎸 implement read() method (7357c14)
- 🎸 implement readFileSync() method (3a1b737)
- 🎸 implement readFileSync() method (2a07e34)
- 🎸 implement readFileSync() method (953d276)
- 🎸 implement readFileSync() method (bb803e2)
- 🎸 implement realpath() method (458a7b2)
- 🎸 implement realpath() method (99b12dc)
- 🎸 implement rmdir() method (c06734b)
- 🎸 implement rmdir() method (973af0a)
- 🎸 implement sync messenger (1c0bd59)
- 🎸 implement sync messenger (d221870)
- 🎸 implement sync write method (3017ecd)
- 🎸 implement sync write method (22047da)
- 🎸 implement toTreeSync() method (09c9770)
- 🎸 implement truncation (af8452e)
- 🎸 implement truncation (d4469d1)
- 🎸 implement unlink() method (e11a383)
- 🎸 implement unlink() method (6bd3e75)
- 🎸 implement writeSync() method (7a2fced)
- 🎸 implement writeSync() method (12a8b3f)
- 🎸 improve mkdir method (e6dd59e)
- 🎸 improve mkdir method (c393f6c)
- 🎸 improve read stream interfaces (7e1a844)
- 🎸 improve read stream interfaces (6d5de0c)
- 🎸 improve stat method (505a1d9)
- 🎸 improve stat method (c6eeab4)
- 🎸 improve write stream, better flag handling (531f2a7)
- 🎸 improve write stream, better flag handling (7b9e0a3)
- 🎸 improve writing at offset logic (71b6afc)
- 🎸 improve writing at offset logic (392932a)
- 🎸 improve writing to file (1de0e06)
- 🎸 improve writing to file (3edcac1)
- 🎸 include "writeSync" method for sync writer (b267f78)
- 🎸 include "writeSync" method for sync writer (b006b2d)
- 🎸 introduce FSA context (f603262)
- 🎸 introduce FSA context (b696e09)
- 🎸 make basic WriteStream work (69281ff)
- 🎸 make basic WriteStream work (c109af1)
- 🎸 make promises methods bound (3010141)
- 🎸 make statSync() resolve the path correctly (0d81728)
- 🎸 make statSync() resolve the path correctly (7801533)
- 🎸 normalize adapter rpc (16ce2cf)
- 🎸 normalize adapter rpc (96b8374)
- 🎸 progress on writable stream (a568afd)
- 🎸 progress on writable stream (9900423)
- 🎸 setup fsa to node utility (50d2a1e)
- 🎸 setup fsa to node utility (5fa0d61)
- 🎸 setup node-to-fsa folder (a4268c6)
- 🎸 setup node-to-fsa folder (16e78e3)
- 🎸 setup NodeCrud implementation (39073ce)
- 🎸 setup webfs (68f0014)
- 🎸 setup webfs (99c915f)
- 🎸 standartize message contents (b3254f6)
- 🎸 standartize message contents (c254dc7)
- 🎸 start synchronous file handle implementation (f9b0f73)
- 🎸 start synchronous file handle implementation (d05c407)
- 🎸 start WriteStream implementation (5971c39)
- 🎸 start WriteStream implementation (32e13a8)
- 🎸 throw exception on closed files (7adff27)
- 🎸 throw exception on closed files (5119b8f)
- 🎸 track number of written bytes (b80f7b7)
- 🎸 track number of written bytes (7a65daa)
- 🎸 write through a swap file (84cecec)
- 🎸 write through a swap file (5134766)
4.1.0-next.5 (2023-06-25)
- 🐛 add support for unknown nodes (77786f1)
- 🎸 add binary serialization to snapshots (c1cd615)
- 🎸 add json encoding for snapshots (41f9b8c)
- 🎸 add snapshot creation utilities (9fc8f13)
- 🎸 implement async verions of snapshotting (18912bf)
4.1.0-next.4 (2023-06-25)
- 🎸 add .toTree() to Volume (2d5c4cb)
- 🎸 add sumlink printing support (1850dae)
- 🎸 implement toTreeSync() method (09c9770)
4.1.0-next.3 (2023-06-22)
- 🎸 add missing callback API methods and some sycn API ones (956533a)
- 🎸 add missing promisees API types (f6727f3)
- 🎸 add missing synchronous method types (ac38b5d)
- 🎸 implement crudfs on top of fs (cb7ac4d)
- 🎸 make promises methods bound (3010141)
- 🎸 setup NodeCrud implementation (39073ce)
4.1.0-next.2 (2023-06-21)
4.1.0-next.1 (2023-06-21)
- 🐛 allow readin into various kinds of buffers (361812d)
- 🐛 allow readin into various kinds of buffers (e9c70e9)
- 🐛 allow to seek in file (c04895b)
- 🐛 allow to seek in file (b363689)
- 🐛 do not allow empty children names (f014fd8)
- 🐛 do not allow empty children names (43da1d6)
- 🐛 handle root folder better (89bbffd)
- 🐛 handle root folder better (76de780)
- 🐛 throw "ENOENT" and "ENOTDIR" when folder or file 404 (5de4faa)
- 🐛 throw "ENOENT" and "ENOTDIR" when folder or file 404 (ddd5d56)
- 🎸 add .truncate() method (038ab36)
- 🎸 add .truncate() method (085335c)
- 🎸 add ability to close files (0db56be)
- 🎸 add ability to close files (d3828a8)
- 🎸 add ability to create sub directories (8f15bd9)
- 🎸 add ability to create sub directories (528c807)
- 🎸 add ability to remove all files (76cabc7)
- 🎸 add ability to remove all files (566e29b)
- 🎸 add appendFileSync() method (57192fe)
- 🎸 add appendFileSync() method (27411e4)
- 🎸 add basenem() utility (8b27695)
- 🎸 add basenem() utility (43354e5)
- 🎸 add copyFile() method (de2bb0a)
- 🎸 add copyFile() method (5e207c4)
- 🎸 add copyFileSync() method (7e0137c)
- 🎸 add copyFileSync() method (5fc1bac)
- 🎸 add createSwapFile() method (dfdb908)
- 🎸 add createSwapFile() method (b07ce79)
- 🎸 add crudfs types (18c0658)
- 🎸 add existsSync() method (0492a98)
- 🎸 add existsSync() method (073ec6b)
- 🎸 add fstatSync() method (f13ddb7)
- 🎸 add fstatSync() method (6b1597a)
- 🎸 add initial writign implementation (2f9542c)
- 🎸 add initial writign implementation (6a50382)
- 🎸 add lstat() and fstat() methods (ce5dd5e)
- 🎸 add lstat() and fstat() methods (e147d58)
- 🎸 add mkdirSync() method (57f386b)
- 🎸 add mkdirSync() method (bcad970)
- 🎸 add mkdtempSync() method (1ac2df4)
- 🎸 add mkdtempSync() method (68033dd)
- 🎸 add options to promises.rmdir() method (ce268bb)
- 🎸 add options to promises.rmdir() method (0628d56)
- 🎸 add pathToLocation() utility (8e0136a)
- 🎸 add pathToLocation() utility (cb92a99)
- 🎸 add read/write mode separation (b4b6fcb)
- 🎸 add read/write mode separation (60a65c1)
- 🎸 add readdirSync() method (2178a50)
- 🎸 add readdirSync() method (3689abd)
- 🎸 add readlinkSync() method (f398908)
- 🎸 add readlinkSync() method (8d243a0)
- 🎸 add readSync() method (31383a8)
- 🎸 add readSync() method (3729cd0)
- 🎸 add realpathSync() method (f9a3cbe)
- 🎸 add realpathSync() method (75890e0)
- 🎸 add renameSync() method (a1674e4)
- 🎸 add renameSync() method (5b1cd63)
- 🎸 add rm() method (239437d)
- 🎸 add rm() method (29a7dc8)
- 🎸 add rmdirSync() method (59ccf3c)
- 🎸 add rmdirSync() method (695b62a)
- 🎸 add rmSync() method (a39e9a2)
- 🎸 add rmSync() method (aa9acb3)
- 🎸 add some common objects (b68ea2a)
- 🎸 add some common objects (c89744d)
- 🎸 add sync api (29c035a)
- 🎸 add sync api (16d6600)
- 🎸 add timeout to spin lock (1e2fc72)
- 🎸 add timeout to spin lock (48e8e74)
- 🎸 add truncateSync() and ftruncateSync() methods (4caf28b)
- 🎸 add truncateSync() and ftruncateSync() methods (2b77619)
- 🎸 add typed array view support to volume (a8bee73)
- 🎸 add typed array view support to volume (7c8439f)
- 🎸 add unlinkSync() method (4b3444d)
- 🎸 add unlinkSync() method (417f911)
- 🎸 add writev() method (17b0446)
- 🎸 add writev() method (8190bfd)
- 🎸 create FSA types folder (c153506)
- 🎸 create FSA types folder (bb0c75a)
- 🎸 create Node fs api tyeps (27fd08a)
- 🎸 create Node fs api tyeps (4db1321)
- 🎸 explose FSA from index file (6865a05)
- 🎸 explose FSA from index file (77696f5)
- 🎸 implement .del() method (9a7fd37)
- 🎸 implement .drop() method (1b893a2)
- 🎸 implement .get() method (63aacb6)
- 🎸 implement .getDirectoryHandle() method (b6b026a)
- 🎸 implement .getDirectoryHandle() method (090980c)
- 🎸 implement .getFile() method (b8601cc)
- 🎸 implement .getFile() method (17015a3)
- 🎸 implement .getFileHandle() method (71567c9)
- 🎸 implement .getFileHandle() method (40bdc13)
- 🎸 implement .isSameEntry() method (f18d91e)
- 🎸 implement .isSameEntry() method (438806b)
- 🎸 implement .list() method (4a064cf)
- 🎸 implement .mkdir method (2623049)
- 🎸 implement .mkdir method (be1525a)
- 🎸 implement .mkdtemp() method (cd54e9b)
- 🎸 implement .mkdtemp() method (2db4cd0)
- 🎸 implement .removeEntry() method (48617aa)
- 🎸 implement .removeEntry() method (dca57a2)
- 🎸 implement .resolve() method (bf47b96)
- 🎸 implement .resolve() method (9d5669c)
- 🎸 implement .values() and .entries() (f13de3b)
- 🎸 implement .values() and .entries() (177010a)
- 🎸 implement .write() for FSA (8226541)
- 🎸 implement .write() for FSA (6a2fa2d)
- 🎸 implement access() method (0a43a1b)
- 🎸 implement access() method (c72390b)
- 🎸 implement accessSync() method (accebdb)
- 🎸 implement accessSync() method (719a19f)
- 🎸 implement basic readdir (898e221)
- 🎸 implement basic readdir (685bc7e)
- 🎸 implement basic rename() method, only for files (169662a)
- 🎸 implement basic rename() method, only for files (4769314)
- 🎸 implement basic state() method (425cad7)
- 🎸 implement basic state() method (4039d64)
- 🎸 implement closeSync() method (24841fa)
- 🎸 implement closeSync() method (646efaf)
- 🎸 implement crudfs .put() method (505dc20)
- 🎸 implement Dirent listings (03e60d0)
- 🎸 implement Dirent listings (5d6f976)
- 🎸 implement exists() method (615e88f)
- 🎸 implement exists() method (0753937)
- 🎸 implement first version of readFile() method (e046128)
- 🎸 implement first version of readFile() method (629f22a)
- 🎸 implement first version of worker (3662003)
- 🎸 implement first version of worker (caf8394)
- 🎸 implement FSA ReadStream (bc50fc5)
- 🎸 implement FSA ReadStream (53784d9)
- 🎸 implement info() method (eea9215)
- 🎸 implement initial version of .open() mehtod (b3983df)
- 🎸 implement initial version of .open() mehtod (cb363b5)
- 🎸 implement initial version of appendFile() method (616be8d)
- 🎸 implement initial version of appendFile() method (65580aa)
- 🎸 implement initial version of writeFile() method (80e8499)
- 🎸 implement initial version of writeFile() method (e2b2bfd)
- 🎸 implement keys() method (33f9af0)
- 🎸 implement keys() method (b8e8a4c)
- 🎸 implement openSync() method (8ecac69)
- 🎸 implement openSync() method (4b7eddd)
- 🎸 implement read() method (33bea4b)
- 🎸 implement read() method (7357c14)
- 🎸 implement readFileSync() method (3a1b737)
- 🎸 implement readFileSync() method (2a07e34)
- 🎸 implement readFileSync() method (953d276)
- 🎸 implement readFileSync() method (bb803e2)
- 🎸 implement realpath() method (458a7b2)
- 🎸 implement realpath() method (99b12dc)
- 🎸 implement rmdir() method (c06734b)
- 🎸 implement rmdir() method (973af0a)
- 🎸 implement sync messenger (1c0bd59)
- 🎸 implement sync messenger (d221870)
- 🎸 implement sync write method (3017ecd)
- 🎸 implement sync write method (22047da)
- 🎸 implement truncation (af8452e)
- 🎸 implement truncation (d4469d1)
- 🎸 implement unlink() method (e11a383)
- 🎸 implement unlink() method (6bd3e75)
- 🎸 implement writeSync() method (7a2fced)
- 🎸 implement writeSync() method (12a8b3f)
- 🎸 improve mkdir method (e6dd59e)
- 🎸 improve mkdir method (c393f6c)
- 🎸 improve read stream interfaces (7e1a844)
- 🎸 improve read stream interfaces (6d5de0c)
- 🎸 improve stat method (505a1d9)
- 🎸 improve stat method (c6eeab4)
- 🎸 improve write stream, better flag handling (531f2a7)
- 🎸 improve write stream, better flag handling (7b9e0a3)
- 🎸 improve writing at offset logic (71b6afc)
- 🎸 improve writing at offset logic (392932a)
- 🎸 improve writing to file (1de0e06)
- 🎸 improve writing to file (3edcac1)
- 🎸 include "writeSync" method for sync writer (b267f78)
- 🎸 include "writeSync" method for sync writer (b006b2d)
- 🎸 introduce FSA context (f603262)
- 🎸 introduce FSA context (b696e09)
- 🎸 make basic WriteStream work (69281ff)
- 🎸 make basic WriteStream work (c109af1)
- 🎸 make statSync() resolve the path correctly (0d81728)
- 🎸 make statSync() resolve the path correctly (7801533)
- 🎸 normalize adapter rpc (16ce2cf)
- 🎸 normalize adapter rpc (96b8374)
- 🎸 progress on writable stream (a568afd)
- 🎸 progress on writable stream (9900423)
- 🎸 setup fsa to node utility (50d2a1e)
- 🎸 setup fsa to node utility (5fa0d61)
- 🎸 setup node-to-fsa folder (a4268c6)
- 🎸 setup node-to-fsa folder (16e78e3)
- 🎸 setup webfs (68f0014)
- 🎸 setup webfs (99c915f)
- 🎸 standartize message contents (b3254f6)
- 🎸 standartize message contents (c254dc7)
- 🎸 start synchronous file handle implementation (f9b0f73)
- 🎸 start synchronous file handle implementation (d05c407)
- 🎸 start WriteStream implementation (5971c39)
- 🎸 start WriteStream implementation (32e13a8)
- 🎸 throw exception on closed files (7adff27)
- 🎸 throw exception on closed files (5119b8f)
- 🎸 track number of written bytes (b80f7b7)
- 🎸 track number of written bytes (7a65daa)
- 🎸 write through a swap file (84cecec)
- 🎸 write through a swap file (5134766)
4.1.0 (2023-06-20)
- 🐛 allow readin into various kinds of buffers (e9c70e9)
- 🐛 allow to seek in file (b363689)
- 🐛 do not allow empty children names (43da1d6)
- 🐛 handle root folder better (76de780)
- 🐛 throw "ENOENT" and "ENOTDIR" when folder or file 404 (ddd5d56)
- 🎸 add .truncate() method (085335c)
- 🎸 add ability to close files (d3828a8)
- 🎸 add ability to create sub directories (528c807)
- 🎸 add ability to remove all files (566e29b)
- 🎸 add appendFileSync() method (27411e4)
- 🎸 add basenem() utility (43354e5)
- 🎸 add copyFile() method (5e207c4)
- 🎸 add copyFileSync() method (5fc1bac)
- 🎸 add createSwapFile() method (b07ce79)
- 🎸 add existsSync() method (073ec6b)
- 🎸 add fstatSync() method (6b1597a)
- 🎸 add initial writign implementation (6a50382)
- 🎸 add lstat() and fstat() methods (e147d58)
- 🎸 add mkdirSync() method (bcad970)
- 🎸 add mkdtempSync() method (68033dd)
- 🎸 add options to promises.rmdir() method (0628d56)
- 🎸 add pathToLocation() utility (cb92a99)
- 🎸 add read/write mode separation (60a65c1)
- 🎸 add readdirSync() method (3689abd)
- 🎸 add readlinkSync() method (8d243a0)
- 🎸 add readSync() method (3729cd0)
- 🎸 add realpathSync() method (75890e0)
- 🎸 add renameSync() method (5b1cd63)
- 🎸 add rm() method (29a7dc8)
- 🎸 add rmdirSync() method (695b62a)
- 🎸 add rmSync() method (aa9acb3)
- 🎸 add some common objects (c89744d)
- 🎸 add sync api (16d6600)
- 🎸 add timeout to spin lock (48e8e74)
- 🎸 add truncateSync() and ftruncateSync() methods (2b77619)
- 🎸 add typed array view support to volume (7c8439f)
- 🎸 add unlinkSync() method (417f911)
- 🎸 add writev() method (8190bfd)
- 🎸 create FSA types folder (bb0c75a)
- 🎸 create Node fs api tyeps (4db1321)
- 🎸 explose FSA from index file (77696f5)
- 🎸 implement .getDirectoryHandle() method (090980c)
- 🎸 implement .getFile() method (17015a3)
- 🎸 implement .getFileHandle() method (40bdc13)
- 🎸 implement .isSameEntry() method (438806b)
- 🎸 implement .mkdir method (be1525a)
- 🎸 implement .mkdtemp() method (2db4cd0)
- 🎸 implement .removeEntry() method (dca57a2)
- 🎸 implement .resolve() method (9d5669c)
- 🎸 implement .values() and .entries() (177010a)
- 🎸 implement .write() for FSA (6a2fa2d)
- 🎸 implement access() method (c72390b)
- 🎸 implement accessSync() method (719a19f)
- 🎸 implement basic readdir (685bc7e)
- 🎸 implement basic rename() method, only for files (4769314)
- 🎸 implement basic state() method (4039d64)
- 🎸 implement closeSync() method (646efaf)
- 🎸 implement Dirent listings (5d6f976)
- 🎸 implement exists() method (0753937)
- 🎸 implement first version of readFile() method (629f22a)
- 🎸 implement first version of worker (caf8394)
- 🎸 implement FSA ReadStream (53784d9)
- 🎸 implement initial version of .open() mehtod (cb363b5)
- 🎸 implement initial version of appendFile() method (65580aa)
- 🎸 implement initial version of writeFile() method (e2b2bfd)
- 🎸 implement keys() method (b8e8a4c)
- 🎸 implement openSync() method (4b7eddd)
- 🎸 implement read() method (7357c14)
- 🎸 implement readFileSync() method (953d276)
- 🎸 implement readFileSync() method (bb803e2)
- 🎸 implement realpath() method (99b12dc)
- 🎸 implement rmdir() method (973af0a)
- 🎸 implement sync messenger (d221870)
- 🎸 implement sync write method (22047da)
- 🎸 implement truncation (d4469d1)
- 🎸 implement unlink() method (6bd3e75)
- 🎸 implement writeSync() method (12a8b3f)
- 🎸 improve mkdir method (c393f6c)
- 🎸 improve read stream interfaces (6d5de0c)
- 🎸 improve stat method (c6eeab4)
- 🎸 improve write stream, better flag handling (7b9e0a3)
- 🎸 improve writing at offset logic (392932a)
- 🎸 improve writing to file (3edcac1)
- 🎸 include "writeSync" method for sync writer (b006b2d)
- 🎸 introduce FSA context (b696e09)
- 🎸 make basic WriteStream work (c109af1)
- 🎸 make statSync() resolve the path correctly (7801533)
- 🎸 normalize adapter rpc (96b8374)
- 🎸 progress on writable stream (9900423)
- 🎸 setup fsa to node utility (5fa0d61)
- 🎸 setup node-to-fsa folder (16e78e3)
- 🎸 setup webfs (99c915f)
- 🎸 standartize message contents (c254dc7)
- 🎸 start synchronous file handle implementation (d05c407)
- 🎸 start WriteStream implementation (32e13a8)
- 🎸 throw exception on closed files (5119b8f)
- 🎸 track number of written bytes (7a65daa)
- 🎸 write through a swap file (5134766)
4.0.0 (2023-06-16)
- 🎸 add File System Access API TypeScript types (3ea8641)
- 🧨 no breaking changes in this commit, but bumping to get this to v4 in NPM
3.6.0 (2023-06-16)
- 🎸 node fs and volume improvements (5bc245b)
3.5.3 (2023-06-07)
3.5.2 (2023-06-02)
3.5.1 (2023-04-20)
3.5.0 (2023-04-06)
3.4.13 (2023-01-07)
3.4.12 (2022-11-19)
3.4.11 (2022-11-13)
3.4.10 (2022-11-03)
3.4.9 (2022-10-29)
3.4.8 (2022-10-28)
- extend with null bytes when calling
truncatewith alengreater than the current file size (#875) (25027fb)
3.4.7 (2022-06-24)
3.4.6 (2022-06-18)
3.4.5 (2022-06-18)
3.4.4 (2022-05-28)
3.4.3 (2022-05-17)
3.4.2 (2022-05-17)
3.4.1 (2021-12-30)
- recursively sync children steps to fix rename (43e8222)
3.4.0 (2021-11-24)
- support the
throwIfNoEntryoption (80cf803)
3.3.0 (2021-09-19)
- 🐛 remove unused method (05b2a47)
- 🎸 add .rmSync(), .rm(), and .promises.rm() methods (2414fb6)
- 🎸 add support for "recursive" and "force" flags in .rm() (7f6714c)
3.2.4 (2021-09-02)
- 🐛 use globalThis defensively (eed6bbf)
3.2.3 (2021-08-31)
- global and timers this arg in browser (1e93ab1)
- prevent callback from triggering twice when callback throws (07e8215)
- prevent callback from triggering twice when callback throws (6db755d), closes #542
3.2.2 (2021-04-05)
- deps: update dependency fs-monkey to v1.0.2 (07f05db)
- deps: update dependency fs-monkey to v1.0.3 (84346ed)
3.2.1 (2021-03-31)
3.2.0 (2020-05-19)
- 'fromJSON()' did not consider cwd when creating directories (3d6ee3b)
- support nested objects in 'fromJSON()' (f8c329c)
3.1.3 (2020-05-14)
- deps: update dependency fs-monkey to v1.0.1 (10fc705)
3.1.2 (2020-03-12)
- should throw
EEXISTinstead ofEISDIRonmkdirSync('/')(f89eede)
3.1.1 (2020-02-17)
- deps: update dependency fs-monkey to v1 (ccd1be0)
3.1.0 (2020-02-17)
- replace
fast-extendwith nativeObject.assign(934f1f3) - specify
enginesfield withnodeconstraint of>= 8.3.0(7d3b132)
3.0.6 (2020-02-16)
- export
DirectoryJSONfromindex(c447a6c)
3.0.5 (2020-02-15)
- remove space from error message (42f870a)
- use
IStoreinterface instead ofStorage(ff82480) - use
PathLiketype from node (98a4014)
3.0.4 (2020-01-15)
3.0.3 (2019-12-25)
- rmdir: proper async functionality (cc75c56)
- rmdir: support recursive option (1e943ae)
- watch: suppress event-emitter warnings (1ab2dcb)
3.0.2 (2019-12-25)
- watch: trigger change event for creation/deletion of children in a folder (b1b7884)
3.0.1 (2019-11-26)
- ⚡️ bump fast-extend (606775b)
3.0.0 (2019-11-26)
- 🐛 adjust definition of
TCallbackto acceptnullforerrorparameter (aedcbda) - 🐛 adjust return of
Link#walkto returnLink | null(1b76cb1) - 🐛 adjust type of
childreninLinkto be possibly undefined (b4945c2) - 🐛 allow
_modeToNumberto be called w/undefined(07c0b7a) - 🐛 allow
_modeToNumberto returnundefined(3e3c992) - 🐛 allow
assertEncodingto be called w/undefined(e37ab9a) - 🐛 allow
Dirent~buildto acceptundefinedfor theencodingparameter (8ca3550) - 🐛 allow
flagsToNumberto be called w/undefined(dbfc754) - 🐛 allow
mkdtempBaseto be called w/undefinedforencoding(f28c395) - 🐛 allow
modeToNumberto be called w/undefined(336821d) - 🐛 allow
realpathBaseto be called w/undefinedforencoding(e855f1c) - 🐛 create
tryGetChildutil function (b5093a1) - 🐛 create
tryGetChildNodeutil function (62b5a52) - 🐛 define the type elements in the
Volume.releasedFdsarray (9e21f3a) - 🐛 don't assign
nullto._linkproperty inFSWatcher(71569c0) - 🐛 don't assign
nullto._stepsproperty inFSWatcher(0e94b9c) - 🐛 don't assign
nullto.bufproperty inNode(00be0c2) - 🐛 don't assign
nullto.linkproperty inFile(5d01713) - 🐛 don't assign
nullto.nodeproperty inFile(d06201e) - 🐛 don't assign
nullto.nodeproperty inLink(4d7f439) - 🐛 don't assign
nullto.parentproperty inLink(b3e60b6) - 🐛 don't assign
nullto.symlinkproperty inNode(9bfb6f5) - 🐛 don't assign
nulltoStatWatcher.prevproperty (fd1a253) - 🐛 don't assign
nulltoStatWatcher.volproperty (1540522) - 🐛 don't set
#volor#parentoflinktonull(b396f04) - 🐛 enable
strictNullChecks(3896de7) - 🐛 make
StatWatcher.timeoutRefproperty optional (d09cd03) - 🐛 refactor
#accessto be compatible w/strictNullChecks(82ed81b) - 🐛 refactor
#copyFileSyncto be compatible w/strictNullChecks(40f8337) - 🐛 refactor
#createLinkto be compatible w/strictNullChecks(7d8559d) - 🐛 refactor
#ftruncateto be compatible w/strictNullChecks(f2ea3f1) - 🐛 refactor
#mkdirto be compatible w/strictNullChecks(d5d7883) - 🐛 refactor
#mkdirpto be compatible w/strictNullChecks(6cf0bce) - 🐛 refactor
#mkdtempBaseto be compatible w/strictNullChecks(d935b3b) - 🐛 refactor
#mkdtempSyncto be compatible w/strictNullChecks(7e22617) - 🐛 refactor
#newFdNumberto be compatible w/strictNullChecks(0bc4a15) - 🐛 refactor
#newInoNumberto be compatible w/strictNullChecks(e9ba56c) - 🐛 refactor
#openFileto be compatible w/strictNullChecks(1c4a4ba) - 🐛 refactor
#openLinkto be compatible w/strictNullChecks(216a85f) - 🐛 refactor
#readto be compatible w/strictNullChecks(87b587f) - 🐛 refactor
#readdirBaseto be compatible w/strictNullChecks(ab248b4) - 🐛 refactor
#readFileBaseto be compatible w/strictNullChecks(27a4dad) - 🐛 refactor
#readlinkBaseto be compatible w/strictNullChecks(b2e0f76) - 🐛 refactor
#resolveSymlinksto be compatible w/strictNullChecks(6dc4913) - 🐛 refactor
#statBaseto be compatible w/strictNullChecks(ba0c20a) - 🐛 refactor
#symlinkto be compatible w/strictNullChecks(4148ad3) - 🐛 refactor
#truncateto be compatible w/strictNullChecks(fadbd77) - 🐛 refactor
#watchto be compatible w/strictNullChecks(415a186) - 🐛 refactor
#watchFileto be compatible w/strictNullChecks(2c02287) - 🐛 refactor
#writeto be compatible w/strictNullChecks(2ba6e0f) - 🐛 refactor
#writeFileto be compatible w/strictNullChecks(ac78c50) - 🐛 refactor
#writeFileBaseto be compatible w/strictNullChecks(e931778) - 🐛 refactor
#writeSyncto be compatible w/strictNullChecks(7b67eea) - 🐛 refactor
copyFiletests to be compatible w/strictNullChecks(e318af2) - 🐛 refactor
errorsto be compatible w/strictNullChecks(b25c035) - 🐛 refactor
existstests to be compatible w/strictNullChecks(81a564f) - 🐛 refactor
renameSynctests to usetryGetChildNode(8cd782a) - 🐛 refactor
volumetests to be compatible w/strictNullChecks(f02fbac) - 🐛 refactor
volumetests to usetryGetChild(5a6624f) - 🐛 refactor
volumetests to usetryGetChildNode(34acaac) - 🐛 refactor
writeFileSynctests to be compatible w/strictNullChecks(4b7f164) - 🐛 remove unused
getArgAndCbfunction (f8bb0f8) - 🐛 replace
throwErrorfn w/ inlinethrow createError()calls (c9a0fd6)
- 🎸 enable TypeScript strict null checks (1998b24)
- TypeScript strict null checks are now enabled which may break some TypeScript users.
2.17.1 (2019-11-26)
- set-up semantic-release packages (0554c7e)
2.15.5 (2019-07-16)
2.15.4 (2019-06-01)
- 🐛 accept
nullas value infromJSONfunctions (9e1af7d) - 🐛 annotate return type of
toJSONfunctions (6609840)
2.15.3 (2019-06-01)
2.15.2 (2019-02-16)
- 🐛 BigInt type handling (c640f25)
2.15.1 (2019-02-09)
- 🐛 show directory path when throwing EISDIR in mkdir (9dc7007)
- 🐛 throw when creating root directory (f77fa8b), closes #325
2.15.0 (2019-01-27)
- volume: add env variable to suppress fs.promise api warnings (e6b6d0a)
2.14.2 (2018-12-11)
2.14.1 (2018-11-29)
2.14.0 (2018-11-12)
- add bigint option support (00a017e)
2.13.1 (2018-11-11)
- 🐛 don't install semantic-release, incompat with old Node (cd2b69c)