0.8.0 - 25/04/2006: fixed unintended transformation of some GNU longnames to dirtypes (SF #1471427). added ReadGNULongTest to test for SF #1471427. validate header blocks using checksums in TarInfo.frombuf(). rewrite of TarFile.next() and the member processing methods, which affects subclassing to implement custom types. 0.7.9 - 10/03/2006: added base-256 encoding for all number fields in a header not only the size field. added support for posix and sun header checksums. added posix argument to TarInfo.tobuf(). 0.7.8 - 26/10/2005: fixed: tarfile.add() accidentally creates hardlink members (SF #1330039). fixed: workaround for old tar archives DIRTYPE members does not work (SF #1336623). 0.7.7 - 28/08/2005: fixed external GNU tar documentation URL. synchronized with Python branch, see SF #1107973, #1168594, #1262036. changed TarFile.add()'s exclude keyword argument to accept a function object instead of patterns. copied Python's test_tarfile.py and changed it to work standalone. added: tarfile.open() accepts fileobj argument for "r:bz2" and "w:bz2" modes (workaround for a limitation in the bz2 module). 0.7.6 - 18/01/2005: fixed TarIter which breaks with certain archives under Windows (Python bug #1100429). 0.7.5 - 10/10/2004: added extractall() method (Python patch #1043890) (thanks to Joeseph Jones). fixed filemode() function (Python bug #1017553). 0.7.4 - 15/09/2004: fixed truncated longnames in TarFile.getnames() (reported by Ignacio Feijoo). 0.7.3 - 31/08/2004: synchronized with Python branch, see SF #988444, #995126, #1013882, #1014992. 0.7.2 - 08/03/2004: fixed broken hardlink extraction (Python bug #857297). fixed missing trailing null character for names in TarFile._create_gnulong() (see Python patch #846659). 0.7.1 - 14/11/2003: fixed bogus largefile debug messages that were introduced in version 0.7. fixed a bug in TarFile._create_gnulong() that had several side-effects, e.g. faulty end-of-tar padding. fixed missing end-of-tar padding in _Stream for non-10240-byte blocksizes (reported by Johan Fredrik Øhman). 0.7 - 07/11/2003: added support for files exceeding 8 GB size (hint by Johan Fredrik Øhman). 0.6.9 - 05/11/2003: fix for Python bug #822668. 0.6.8 - 31/10/2003: added exclude keyword to TarFile.add() (inspired by Andrea Bolzonella). 0.6.7 - 07/08/2003: added new mode 'r|*' which enables the stream interface to use transparent detection of compression (inspired by Jacob Weismann Poulsen). 0.6.6 - 25/04/2003: fix for Python bug #721871. 0.6.5 - 07/01/2003: merged changes and fixes from the Python tarfile module. in TarFile.bz2open() compresslevel was not used. fixed a bug in TarFile.proc_gnulong(). fixed missing slash bug with directories and GNU longnames. 0.6.4 - 17/12/2002: gettarinfo() is now more performant (patch from Chris Jaeger). fixed a bug in TarFile.bz2open() (reported by Iustin Pop). 0.6.3 - 22/11/2002: made subclassing TarFile is easier: - open() and *open() are now classmethods. - set up an internal interface that allows to replace methods and to add callbacks. _buftoinfo went into TarInfo as frombuf(), TarInfo.getheader() is now tobuf(). changed exceptions: TarError is the base exception for all the others. error tuple is removed. improved debugging output process, debugging output is now written to stderr. list() handles uname, gname, uid, gid differently. 0.6.2 - 14/11/2002: TarInfo has a __repr__() now. getnames(), getmember(), getmembers() and list() now work when writing, too. 0.6.1 - 11/11/2002: applied a patch by Chris Jaeger (gettarinfo() with fileobj). fixed bug in _Stream._init_write_gz() when self.name is None. TarFile.list() shows uid/gid when uname/gname are not present. added support for bzip2 compression in _Stream. synced docstrincs with tex documentation. open() with mode 'w|' truncates an existing file. 0.6 - 22/10/2002: tarfile.open() now supports stream-like objects and tape devices (thanks to Richard Townsend!). support for bzip2 compression (requires bz2 module). added tardump.py, a small script that displays detailed information on tar files. fixed error in TarFile.add() when TarFile.name is None. defined maximum size of a file member (<8GB). TarInfo.name and .prefix are used more efficiently. fixed problem with hardlink extraction. fixed: TarInfo.linkname was always "." by mistake (reported by David Levine). GNU longname/longlink extensions now support names of unlimited length. fixed bugs with append mode. 0.5 - 02/10/2002: intelligent open() method with transparent compression (suggestion by Jason Petrone). improved POSIX tar compliance (suggestion by Jörg Schilling): - TarFile.posix toggles posix-compliance (on by default). - TarInfo.mode uses only the lower 12 bits. - TarInfo.prefix is used for reading and writing. unknown type members are now extracted as normal files (suggestion by Ben Escoto). added class TarInc to tartools.py (inspired by Ben Escoto). rewrote/updated/improved the docs. rewrote/updated/improved the unittest. fixed error with GNU sparse files. some minor adjustments. 0.4.9 - 22/07/2002: TarFile.getinfo() will be replaced by TarFile.getmember(), added DeprecationWarning. replaced TarFile.ignore_errors by TarFile.errorlevel under Python >= 2.3, True and False are returned where possible. added TarInfo.isdev(). small fix for default of devmajor, devminor. complete rewrite of test_tarfile.py. 0.4.8 - 14/07/2002: massive code-cleanup in _extract_member(). reworked exception handling: - introduced TarFile.ignore_errors which enables the caller to react on errors when extracting. - small doc-update. 0.4.7 - 06/07/2002: fixed copyfileobj() which failed on files that have no remainder. set tarfile.py and _tarfile.c in sync with Gustavo Niemeyer's latest patches to posixmodule.c. fixed bug with chown() under root. added tartools.py which contains TarCount class. 0.4.6 - 29/06/2002: improved output of TarFile.list() method. added os.lchown() call for future Python version. fixed link extraction. a zero block is now regarded as the end of an archive. by default, this can be avoided by setting TarFile.ignore_zeros to True. 0.4.5 - 17/06/2002: fixed the _tarfile.c extension for FreeBSD support. 0.4.4 - 10/06/2002: bugfix for devmajor, devminor handling on extraction. more elegant debug handling. 0.4.3 - 08/06/2002: added support for character and block device extraction and addition, you need the _tarfile.c extension for that. 0.4.2 - 02/06/2002: fixed a major bug in TarFile.extract(). some minor enhancements. 0.4.1 - 19/05/2002: fixed a small bug in gzopen(). 0.4 - 01/05/2002: added support for GNU sparse files (read-only). improved FileObject class with sparse-file support and seek(), tell(), readline() and readlines() methods. created a unittest suite and removed several bugs. 0.3.4 - 26/04/2002: extractfile() and addfile() take file objects. included some code improvements by Niels Gustäbel. changed names for read*() and write*() to extract*() and add*(). added isfile(), isdir() etc. methods to TarInfo. 0.3.3 - 10/04/2002: added TarFileCompat class, which is compatible to zipfile.ZipFile (suggestion by Thomas Heller). added is_tarfile(). 0.3.2 - 10/04/2002: improved TarFile.__init__. removed is_tarfile(). dropped the use of constants for compression. added open(), gzopen() and bzopen() functions. 0.3.1 - 27/03/2002: changed TarFile.__init__ to work more like expected. removed stdout class, it is not needed anymore. some other fine adjustments. 0.3 - 23/03/2002: !dropped zipfile compatibility completely. changed class interface. removed gzip() and gunzip() functions. added method gettarinfo() to TarFile. added read support for "--portability" tar format. 0.2.8 - 20/03/2002: improved extract() method. 0.2.7 - 17/03/2002: hardlinks are now archived and extracted correctly. improved error handling. improved commandline interface. renamed TarFile.followsymlinks to TarFile.dereference, like the GNU tar option. 0.2.6 - 15/03/2002: added some patches from Detlef Lannert. fixed some bugs. 0.2.5 - 14/03/2002: added the stdout class for gzipped writing to sys.stdout. kicked out the last bugs. !first public release. 0.2.4 - 13/03/2002: can now handle GNUtar longlinks. 0.2.3 - 12/03/2002: some cosmetic code surgery. set up the documentation. 0.2.2 - 09/03/2002: can now handle GNUtar longnames. still needs some testing. 0.2 - 09/03/2002: many many changes. 0.1 - 06/03/2002: initial version.