版本发布 8
This patch updates to typescript 6.0 and removes some polyfilled types.
- Fixed incorrect path resolution when inside a context with a non-root PWD (#263) - Fixed `bindContext` copying from the created child context instead of assigning to it - Fixed `resolveMount` not resolving paths using the context's PWD - `normalizePath` now passes through `this` to `path.resolve` - Anti-regression tests now have the issue number in the test name instead of as a comment - Contexts are now more secure at runtime, with `readonly` members being made non-writable anbd non-configurable - Added internal `contextOf` and `createChildContext` - `V_Context` is now `unknown` for better compatibility with Node.js - `bindContext` now checks if the specified root is a directory and exists - Fixed incorrect example for `bindContext` in documentation
- Fixed `SingleBuffer` metadata block corruption (#277, thanks @lvcabral) - Cleaned up hex string formatting in `SingleBuffer` - Added debug message when `SingleBuffer` metadata blocks are rotated - Fixed backends requiring entries in `options` when extending `SharedConfig`
This patch cherry picks a bug fix for `path.join` from the next minor release, which is still a work in progress.
- Added support for Node v24.7.0 - Added `autoClose` option to `FileHandle.readableWebStream` - Made `Dir` disposers idempotent - Added `fs.mkdtempDisposableSync` and `fs.promises.mkdtempDisposable` - Added "default" directories along with `Configuration.defaultDirectories`. When set, `configure` will automatically create common directories from the Linux Filesystem Hierarchy. - Fixed incorrect iterator return result type for `fs.watch` - Updated dependencies
- Fixed `IndexFS.rename` and `IndexFS.renameSync` not behaving correctly. - Items are now correctly removed bottom up and re-created top down - Fixed `mkdir` in derived file systems not being compatible with `Async(IndexFS)` - Added internal `IndexFS._mkdir` and `_mkdirSync`, which are called by `IndexFS` when creating new directories and renaming existing ones - Added `timeout` argument to `_MutexedFS.lock()` - `--test-force-exit` is no longer used when testing, which means more bugs should be caught
- `null` is now used instead of `undefined` in successful callbacks (#255, thanks @EnoahNetzach)
- Corrected `touch` and `touchSync` for `PassthroughFS` (#249) - Removed redundant timestamp updates - Fixed the flag used to open the handle for `touch` - Failing to `chown` the underlying file will no longer throw an error, though an error is still logged. - Updated homepage in package.json