Releases: zen-fs/core
Releases · zen-fs/core
0.12.4
0.12.3
- Fixed
File.write
(+Sync
)position
allowingnull
and having an incorrect default - Inlined
pathNotExistsAction
andpathExistsAction
, which made the_open
(+Sync
) more readable - Updated error messages for sync
PortFile
methods to throwENOTSUP
instead ofENOSYS
(since sync. methods are not currently supported) - Consistent type imports
0.12.2
File.readSync
now updatesatime
correctly- Calls to
File.sync
andFile.syncSync
no longer check for sync flag - Implemented
StatsCommon
methods:isSocket
,isBlockDevice
,isCharacterDevice
,isFIFO
- Changed
StatsCommon.blocks
to a getter - Streamlined
StatsCommon
constructor - Fixed
StatsCommon.*timeNs
being incorrect - Removed
Stats.clone
andBigintStats.clone
- Implemented
statsfs
- Inlined
wrap
in sync.ts_openSync
now only resolves the fs and such once, which improves performance
- Streamlined
_open
(+*Sync
)
0.12.1
- Fixed
FileSystem.exists
(+*Sync
) returningfalse
for non-ENOENT errors - Fixed
_open
(+*Sync
) incorrectly handling non-ENOENT errors _open
(+*Sync
) now adds the original stack trace on the second throw- Fixed
configure
overwriting per-mountdisableAsyncCache
option - Improved
configure
handling when no mounts are specified - Added overloads to
configure
configure
now gives a Typescript error when a mount's configuration is incorrect- Added
BackendConfiguration.disableAsyncCache
- Fixed missing
Buffer
import (#63)— Thanks @atty303! - Consistent type assertions
- Added
FileSystemMetadata.noAsyncCache
- Added
AsyncFS._disableSync
- Added
FileSystemMetadata.noResizableBuffers
, which - Updated utilium to v0.4.0
0.12.0
- Overhauled file index:
- Renamed
FileIndex
toIndex
- The index JSON format now uses versioning and "flat" entries
Index
now preloads all files when loaded- Removed
SyncIndexFS
andAsyncIndexFS
- Added
IndexFS.reloadFiles
(and*Sync
)
- Renamed
- Renamed
FetchFS.preloadFile
toFetchFS.preload
- Removed
FetchFS.empty
- Renamed
FetchFS.prefixUrl
toFetchFS.naseUrl
for consistancy withFetchOptions
- Added optional generic type to
StatsLike
0.11.2
- Fixed
FileHandle.readFile
'sFile.read
usage not working withPortFile
(#60) - Fixed
AsyncFS.openFileSync
returning aFile
with a differentfs
- Add optional type parameter to
StoreFS
- Renamed
LockedFS._mu
toLockedFS.mutex
- Renamed
Mutex._locks
toMutex.locks
- Renamed
*FileSystem
to*FS
in filesystem.ts - Renamed
doOp
towrap
in sync.ts make-index
:- Updated help message
- Added verbose logging
- Fixed positional arguments handled incorrectly
- Updated
Fetch.options.index.description
0.11.1
0.11.0
- Merged
SyncStore*
andAsyncStore*
logic into combinedStore*
StoreFS
SyncStoreFS
andAsyncStoreFS
combined intoStoreFS
- Renamed
commitNewFile
tocommitNew
(and*Sync
) - Renamed
addNewNode
toaddNew
(and*Sync
) - Renamed
removeEntry
toremove
(and*Sync
) - Streamlined some methods
- Changed the constructor to take a store directly
- It now takes a
Store | Promise<Store>
instead of{ store: Store | Promise<Store> }
- Also removed
StoreOptions
- It now takes a
Store
SyncStore
andAsyncStore
combined intoStore
- Renamed
beginTransaction
totransaction
- Changed
clear
to allow async implementations - Added caching for
SimpleAsyncStore
Transaction
SyncTransaction
andAsyncTransaction
combined intoTransaction
- Renamed
put
toset
and removed theoverwrite
parameter - Made an abstract class
- Split store code into multiple files (see src/backend/store)
- Fixed an index out of bound in
File.readSync
when offset is non-zero— Thanks @atty303! (#56) - Fixed unresolved types in
configure
(#48) - Removed
PortStore
backend (usePort
instead) - Changed
FileSystem.ready()
to returnPromise<void>
- This fixes
Port
attempting topostMessage
non-transferable objects
- This fixes
- Changed
InMemoryStore
to extendMap
- Narrowed
rootIno
type fromIno
to0n
- Renamed
p
arguments topath
for clarity
0.10.0
- Overhauled configuration
- Renamed
MappingConfiguration
toConfiguration
- Removed old
Configuration
type - Changed the new
Configuration
to have mounts as a property - Renamed
MountMapping
toMountObject
- Renamed
mountMapping
tomountObject
- Renamed
- Added port backends (since they are cross platform)
- Fixed
PortFile
sync methods having a "Sync" postfix in error syscalls - Fixed
PortFS
not awaitingsuper.ready()
- Fixed
handleRequest
not transmitting errors correctly RPC.handleResponse
no longer returns a value
- Fixed
- Added the
Fetch
backend (again, because it is cross-platform)- Fixed
FetchFS.preloadFile
check ordering
- Fixed
- Added Fetch backend to core
- Changes to errors
- Renamed
ApiError
toErrnoError
- Renamed
ApiErrorJSON
toErrnoErrorJSON
- Renamed
ErrorCode
toErrno
- The error JSON interface is now exported
- Changed some errors to use
ErrnoError
instead of regular error classes
- Renamed
- Added the
AbsolutePath
type - Streamlined path emulation and
normalizePath
- Changed
FileHandle
constructor to also takeFile
s - Removed
_readFile
and_appendFile
internal functions - Inlined
doOp
for the promises API - Added
Symbol.dispose
andSymbol.asyncDispose
toFile
- Upgraded eslint to support explicit resource management (ERM not added yet because it breaks tests)
- Added ESNext.Disposable TS lib
0.9.7
- Enabled strict mode, which lead to a lot of bugs being fixed.
- Added full compatibility for
fs.PathLike
, not just strings - Fixed
new Uint8Array(arrayBuffer)
not passingoffset
andlength
parameters PreloadFile.write
now callssync
- Fixed
readFileSync
overload ordering - Updated
promises.writeFile
overloads - Made
path
argument ofApiError.With
optional - Made
File.position
andFile.path
required - Fixed
Mutex.lock
not addingresolve
if the path hadn't been locked, meaning noresolve
s would ever be added. - Changed
BigIntStats.*timeNs
to be getters onStatsCommon
- Added initializers to
StatsFs
andBigIntStatsFs
- Added better handling for
AsyncStorFS.store
. An error will now be thrown ifstore
has not been set. - Fixed
createBackend
notawait
ingcheckOptions
- Changed
BackendConfiguration
to take a singleBackend
type parameter - Added
Dir._entries
initializer - Renamed
getFdForFile
tofile2fd