- Fixed
extract's recursive feature, which was broken for some nested archives.
- Added
baseDiroption toextractto append a base directory to entry paths. - Added
normalizeoption (enabled by default) toextractto normalize entry paths. - Added
stripComponentsoption toextractto skip leading path components. - Added hard recursion limit depth of 16 and corresponding error.
- Expanded tests to include new features.
- Renamed
excludedandincludedoptions toexcludeandinclude. - Moved
includeandexcludeoptions and functionality toextract. - Updated Emscripten to 4.0.5.
- Improved documentation.
- Added
.excludedand.includedoptions toextractTo. - Replaced references to old libarchive version.
- Improved typing for input and archive data:
- Added
ArrayBufferViewas a possible type for theextractfunction and its derivatives. - Removed incorrect
SharedArrayBufferunion forEntry.datatype.
- Added
- Updated documentation.
- Updated libarchive to v3.7.7.
- Updated libarchive dependencies.
- Fixed test.
- Updated Emscripten, libarchive, and Mbed-TLS.
- Removed
fix_tz.patch(fix included in new Emscripten version). - Updated libarchive headers.
- Updated build dependencies:
- New ESLint 9 config.
- New Prettier config.
- New Babel config.
- Improved TypeScript config.
- Fixed test.
- Updated dependencies.
- Updated documentation.
- Improved wasm build script.
- Updated libarchive headers.
- Updated libarchive wasm type definitions.
- Updated to Emscripten 3.1.64.
- Patched missing
__secs_to_zone. - Improved fix for
tuklib_integer.cmakeusage error in liblzma. - Fixed lzma test failure.
- Patched missing
- Added GH workflow to test the project.
- Added step to install required dependencies for tests in CI.
- Downgraded Emscripten to 3.1.61 due to breaking changes.
- Fixed broken LZMA in last version's wasm build.
- Fixed test script hanging on error.
- Added test for
extractTousing spacedrive native-deps archive.
- Fixed
extractTosymlink extraction on Linux.
- Removed incorrect file type grouping logic from
extractTo. Files are now extracted in archive order. - Renamed
fchmodtolchmod. - Updated dependencies (both js and native).
- Added some compilation improvements.
- Fixed data corruption and crashes from use after free of recursive archive buffer's pointer.
- Restored mtree support.
- Disabled ar, empty, mtree, and cab extraction support for recursive extractions.
- Fixed GBK test downloading the wrong file.
- Added symlink test
- Disabled mtree support due to false positives when
recursiveis enabled.
- Fixed symlink and hardlink breaking on
extractAll/extractTodue to an incorrectNullError.
- Added
recursiveoption toextractfor extracting sub-archives. - Added
encodingoption toextractfor decoding entry metadata. - Added
sizeLimitoption toextractAllfor zip bomb protection. - Added logic to guess Entry's metadata encoding.
- Added tests for new features.
- Changed from jsdoc-markdown to typedoc-plugin-markdown.
- Fixed
extract'signoreDotDiroption not matching against./paths. - Fixed
ENOENTerrors for valid files due to missing subdirectories inextractTo.
- Rewrote
extractTo, making extraction synchronous between file types. - Ensured all subdirectories exist during
extractTo. - Added
chmodoption toextractTo.
- Added
overwriteoption toextractToandignoreDotDirtoextract. - Added tests for pax, iso, and cab.
- Minor changes to test scripts.
- Fixed libarchive type definition to match new export.
- Made changes to wasm build to accommodate changes from new Emscripten version:
- Reflected removed properties from Emscripten wasm initialization function in type definition.
- Replaced
module.mjswith--extern-pre-jsin wasm build. - Reduced Firefox required version to 102.
- Added
.perm,.type, and.linkto entry object. - Added
extractToinarchive-wasm/fs.mjs. - Added
bomb.ziptest.
- Removed
getEntryTypefunction. - Improved documentation.
- Fixed reading entry's data after its loop has completed.
- Added
extractAlland replacedentry.typewithgetEntryTypefunction. - Added entry mode, atime, ctime, mtime, birthtime.
- Added typing for the wasm module.
- Added tests for most archive formats/compressions and some error handling tests.
- Added rar tests.
- Improved code organization.
- Improved error handling.
Initial release.
- Added tests, build step, and a public API
- Implemented all logic (not fully tested yet).