- Deprecate
onentry
in favor ofonReadEntry
for clarity.
- Add
onWriteEntry
option
- DRY the command definitions into a single
makeCommand
method, and update the type signatures to more appropriately infer the return type from the options and arguments provided.
- Update minipass to v7.1.0
- Update the type definitions of
write()
andend()
methods onUnpack
andParser
classes to be compatible with the NodeJS.WritableStream type in the latest versions of@types/node
.
- Rewrite in TypeScript, provide ESM and CommonJS hybrid interface
- Add tree-shake friendly exports, like
import('tar/create')
andimport('tar/read-entry')
to get individual functions or classes. - Add
chmod
option that defaults to false, and deprecatenoChmod
. That is, reverse the default option regarding explicitly setting file system modes to match tar entry settings. - Add
processUmask
option to avoid having to callprocess.umask()
whenchmod: true
(ornoChmod: false
) is set.
- Add support for brotli compression
- Add
maxDepth
option to prevent extraction into excessively deep folders.
- remove dead link to benchmarks (#313) (@yetzt)
- add examples/explanation of using tar.t (@isaacs)
- ensure close event is emited after stream has ended (@webark)
- replace deprecated String.prototype.substr() (@CommanderRoot, @lukekarrys)
- Drop support for node 6 and 8
- fix symlinks and hardlinks on windows being packed with
\
-style path targets
- Address unpack race conditions using path reservations
- Change large-numbers errors from TypeError to Error
- Add
TAR_*
error codes - Raise
TAR_BAD_ARCHIVE
warning/error when there are no valid entries found in an archive - do not treat ignored entries as an invalid archive
- drop support for node v4
- unpack: conditionally use a file mapping to write files on Windows
- Set more portable 'mode' value in portable mode
- Set
portable
gzip option in portable mode
- Add 'mtime' option to tar creation to force mtime
- unpack: only reuse file fs entries if nlink = 1
- unpack: rename before unlinking files on Windows
- Fix encoding/decoding of base-256 numbers
- Use
stat
instead oflstat
when checking CWD - Always provide a callback to fs.close()
- Add 'transform' unpack option
- Fail when zlib fails
- Add noMtime flag for tar creation
- unpack: raise error if cwd is missing or not a dir
- pack: don't drop dots from dotfiles when prefixing
- Support
@file.tar
as an entry argument to copy entries from one tar file to another. - Add
noPax
option noResume
option for tar.t- win32: convert
>|<?:
chars to windows-friendly form - Exclude mtime for dirs in portable mode
- Minipass-based implementation
- Entirely new API surface,
tar.c()
,tar.x()
etc., much closer to system tar semantics - Massive performance improvement
- Require node 4.x and higher
- fstream-based implementation
- slow and kinda bad, but better than npm shelling out to the
system
tar