2026-01-03  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.29 released.
	* New option '--numeric-owner'.
	* common_decode.cc (read_t_list): Quit early if NUL bytes in list.
	* extended.cc (Extended::parse): Ignore keyword 'ctime'.
	* lzip_index.cc (skip_box): New function.
	* main.cc (parse_mtime): Fix checking of errors in mktime.
	  (Thanks to Michael Shigorin).
	  (getnum): Accept underscore separators ('_').
	  (set_archive_name): Reject archive name with control characters.
	* tarlz.h: Limit max_edata_size to 1 GiB.
	* tarlz.texi: Add 'Table of SI and binary prefixes'.
	* check.sh: Skip symbolic link archiving test on Cygwin.
	  (Reported by Sonia Diaz).

2025-06-24  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.28.1 released.
	* decode.h: #include <sys/types.h>. (Reported by lid gnulinux).

2025-06-20  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.28 released.
	* New option '-T, --files-from'.
	* New options '-R, --no-recursive' and '--recursive'.
	* New options '--depth', '--mount', '--xdev', and '--parallel'.
	* New operation '--time-bits'.
	* Assign short option name '-?' to '--help'.
	* archive_reader.cc (Archive_reader::read): Detect empty archive.

2025-03-04  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.27.1 released.
	* common_mutex.h: #include <pthread.h>. (Reported by Michal Górny).

2025-02-28  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.27 released.
	* common_decode.cc (format_member_name): If date is out of range,
	  print seconds since epoch. Use at least 4 digits to print years.
	  Print typeflag after the member name if unknown file type.
	  (make_dirs): stat last dir before trying to create directories.
	* decode.cc (skip_warn): Diagnose a corrupt tar header.
	* extended.cc (Extended::parse): Diagnose a CRC mismatch.
	  New argument 'msg_vecp' for multithreaded diagnostics.
	* Many small fixes and improvements to the code and the manual.
	* tarlz.texi: New chapter 'Creating backups safely'.
	  (Suggested by Aren Tyr).
	* check.sh: Require lzip. Create .tar files from .tar.lz files.
	  Limit '--mtime' test to safe dates. (Reported by Aren Tyr).
	* testsuite: Add 5 new test files.

2024-12-07  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.26 released.
	* decode.cc (decode), delete.cc (delete_members):
	  Return 2 if any empty lzip member is found in a multimember archive.
	* create_lz.cc, decode_lz.cc:
	  Change 'deliver_packet' to 'deliver_packets'.
	* create.cc (copy_file): Show file name if read error.
	* tarlz.texi: New chapter 'Syntax of command-line arguments'.
	* check.sh: Use 'cp' instead of 'cat'.
	  Skip time stamps out of range or not recognized by system tools.
	  (Reported by J Dean).

2024-01-03  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.25 released.
	* New option '--ignore-metadata'.
	* create.cc, decode.cc, decode_lz.cc:
	  '#include <sys/types.h>' for major, minor, makedev on BSD systems.
	* compress.cc: Reformat file diagnostics as 'PROGRAM: FILE: MESSAGE'.
	  (compress_archive): Create missing intermediate directories.
	* configure, Makefile.in: New variable 'MAKEINFO'.

2023-09-20  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.24 released.
	* decode.cc (decode), common_decode.cc (check_skip_filename):
	  Make option '-C' position-dependent also for diff and extract.
	  (Reported by Devon Sean McCullough).
	* create.cc (encode): Deduct '--uncompressed' from archive name ext.
	* compress.cc (show_atpos_error): New function showing errno msg.
	  (compress_archive): Exit with error status 2 if archive is empty.
	* Limit the size of a header set (extended+ustar) to INT_MAX.
	* check.sh: Fix '--diff' test on OS/2 again. (Reported by Elbert Pol).

2022-09-23  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.23 released.
	* Create and decode the extended records 'atime' and 'mtime'.
	* Create and decode the extended records 'uid' and 'gid'.
	* New option '--ignore-overflow'.
	* Refuse to read/write archive data from/to a terminal.
	  (Reported by DustDFG).
	* main.cc (parse_mtime): Make time of day 'HH:MM:SS' optional.
	  Accept both space and 'T' as separator between date and time.
	  (show_option_error): New function showing argument and option name.
	* decode.cc (extract_member): Diagnose intermediate directory failure.
	  Failure to extract a member is no longer fatal.
	* decode_lz.cc: Make diagnostics identical to serial decoder.
	* common_decode.cc (format_member_name): Improve column alignment.
	* create.cc (fill_headers): Improve diagnostic when stat reports a
	  wrong st_size for a symbolic link. (Reported by Jason Lenz).
	  Change diagnostic "File is the archive" to "Archive can't contain
	  itself" following a similar change made by Paul Eggert to GNU tar.
	* Don't show "Removing leading '/' from member names." if excluded.
	* tarlz.texi: Change GNU Texinfo category from 'Data Compression'
	  to 'Archiving' to match that of GNU tar.
	  Use 'end-of-archive' (EOA) instead of 'end-of-file' (EOF).
	* main.cc (show_help), tarlz.texi: List operations before options.
	* Many small improvements have been made to code and documentation.

2022-01-05  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.22 released.
	* main.cc (getnum): Show option name and valid range if error.
	  (check_lib): Check that LZ_API_VERSION and LZ_version_string match.
	  (main): Report an error if -o is used with any operation except -z.
	* configure: Set variable LIBS.

2021-06-14  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.21 released.
	* Lzlib 1.12 or newer is now required.
	* decode.cc (decode): Skip members without name except when listing.
	  decode_lz.cc (dworker): Likewise. (Reported by Florian Schmaus).
	* New operation '-z, --compress'.
	* New options '-o, --output' and '--warn-newer'.
	* tarlz.texi (Invoking tarlz): Document concatenation to stdout.
	* check.sh: Fix the '--diff' test on OS/2. (Reported by Elbert Pol).

2021-01-08  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.19 released.
	* extended.cc: Print a diagnostic for each unknown keyword found.
	* tarlz.h: Add a missing '#include <sys/types.h>' for 'mode_t'.

2020-11-21  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.18 released.
	* New operation '--check-lib'.
	* Implement multithreaded '-x, --extract'.
	* Don't #include <sys/sysmacros.h> when compiling on OS2.
	* delete.cc, delete_lz.cc: Use Archive_reader.
	* extract.cc: Rename to decode.cc.
	* tarlz.texi: New section 'Limitations of multithreaded extraction'.

2020-07-30  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.17 released.
	* New options '--mtime' and '-p, --preserve-permissions'.
	* Implement multithreaded '-d, --diff'.
	* list_lz.cc: Rename to decode_lz.cc.
	  (decode_lz): Limit num_workers to number of members.
	* main.cc (main): Report an error if a file name is empty or if the
	  archive is specified more than once.
	* lzip_index.cc: Improve messages for corruption in last header.
	* Don't #include <sys/sysmacros.h> when compiling on BSD.
	* tarlz.texi: New chapter 'Internal structure of tarlz'.

2019-10-08  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.16 released.
	* extract.cc (extract_member): Fix call order of chown, chmod.
	* delete_lz.cc (delete_members_lz): Return 2 if collective member.
	* main.cc: Set a valid invocation_name even if argc == 0.
	* #include <sys/sysmacros.h> unconditionally.
	* tarlz.texi: New chapter 'Portable character set'.

2019-04-11  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.15 released.
	* New operation '--delete' (from uncompressed or --no-solid archive).
	* list_lz.cc: Fix MT listing of archives with format violations.

2019-03-12  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.14 released.
	* New options '--exclude' and '-h, --dereference'.
	* Short option name '-h' no longer means '--help'.
	* create.cc: Implement '-A, --concatenate' and '-r, --append' to
	  uncompressed archives and to standard output.
	* main.cc: Port option '--out-slots' from plzip.

2019-02-27  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.13 released.
	* create_lz.cc (cworker): Fix skipping of unreadable files.
	* list_lz.cc: Fix listing of archives containing empty lzip members.
	* create.cc (fill_headers): Store negative mtime as cero.

2019-02-22  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.12 released.
	* create.cc (fill_headers): Fix use of st_rdev instead of st_dev.
	* Save just numerical uid/gid if user or group not in database.
	* extract.cc (format_member_name): Print devmajor and devminor.
	* New operation '-d, --diff'.
	* New option '--ignore-ids'.
	* extract.cc: Fast '-t, --list' on seekable uncompressed archives.

2019-02-13  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.11 released.
	* extract.cc (archive_read): Fix endless loop with empty lz file.
	* Implement multithreaded '-c, --create' and '-r, --append'.
	* '--bsolid' is now the default compression granularity.
	* create.cc (remove_leading_dotslash): Remember more than one prefix.
	* tarlz.texi: New chapter 'Minimum archive sizes'.

2019-01-31  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.10 released.
	* New options '--bsolid' and '-B, --data-size'.
	* create.cc: Set ustar name to zero if extended header is used.

2019-01-22  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.9 released.
	* Implement multithreaded '-t, --list'.
	* New option '-n, --threads'.
	* Recognize global pax headers. Ignore them for now.
	* strtoul has been replaced with length-safe parsers.
	* tarlz.texi: New chapter 'Limitations of parallel tar decoding'.

2018-12-16  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.8 released.
	* New option '--anonymous' (--owner=root --group=root).
	* extract.cc (decode): 'tarlz -xf foo ./bar' now extracts 'bar'.
	* create.cc: Set to zero most fields in extended headers.
	* tarlz.texi: New chapter 'Amendments to pax format'.

2018-11-23  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.7 released.
	* New options '--keep-damaged' and '--no-solid'.
	* create.cc (archive_write): Minimize dictionary size.
	  Detect and skip archive in '-A', '-c', and '-r'.
	* main.cc (show_version): Show the version of lzlib being used.

2018-10-19  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.6 released.
	* New operation '-A, --concatenate'.
	* Replace option '--ignore-crc' with '--missing-crc'.
	* create.cc (add_member): Check that uid, gid, mtime, devmajor,
	  and devminor are in ustar range.
	* configure: Accept appending to CXXFLAGS; 'CXXFLAGS+=OPTIONS'.
	* Makefile.in: Use tarlz in target 'dist'.

2018-09-29  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.5 released.
	* Implement simplified POSIX pax format.
	* Implement CRC32-C (Castagnoli) of the extended header data.
	* New option '--ignore-crc'.
	* Add missing #includes for major, minor and makedev.
	* tarlz.texi: Document the new archive format.

2018-04-23  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.4 released.
	* Add some missing #includes.
	* main.cc (main): Open files in binary mode on OS2.

2018-03-19  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.3 released.
	* Rename project to 'tarlz' from 'pmtar' (Poor Man's Tar).
	* New operation '-r, --append'.
	* New options '-C, --directory', '--owner', and '--group'.
	* New options '--asolid', '--dsolid', and '--solid'.
	* Implement lzip compression of members at archive creation.
	* Implement file appending to compressed archive.
	* Implement transparent decompression of the archive.
	* Implement skipping over damaged (un)compressed members.
	* Implement recursive extraction/listing of directories.
	* Implement verbose extract/list output.
	* tarlz.texi: New file.

2014-01-22  Antonio Diaz Diaz  <antonio@gnu.org>

	* Version 0.2 released.
	* configure: Options now accept a separate argument.

2013-02-16  Antonio Diaz Diaz  <ant_diaz@teleline.es>

	* Version 0.1 released.


Copyright (C) 2013-2026 Antonio Diaz Diaz.

This file is a collection of facts, and thus it is not copyrightable, but just
in case, you have unlimited permission to copy, distribute, and modify it.
