SimpleArchiver/Changelog.md

79 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

2024-10-08 04:23:52 +00:00
# Changelog
## Upcoming Changes
2024-11-25 08:18:30 +00:00
## Version 1.8
2024-11-25 08:18:04 +00:00
Minor refactorings related to `printf` and `uintX_t`/`size_t` types.
2024-11-15 08:37:06 +00:00
## Version 1.7
Refactor the internal hash-map data structure.
2024-11-15 08:39:10 +00:00
Minor update to CMakeLists.txt.
2024-10-28 04:45:21 +00:00
## Version 1.6
2024-10-24 05:00:06 +00:00
Enforce "safe-links" on extraction by ensuring every extracted symlink actually
points to a file in the archive. Additionally any extracted symlinks that don't
point to a valid destination is removed. This "enforce safe-links on extract"
can be disabled with the "--no-safe-links" option.
2024-10-24 07:41:46 +00:00
Add "--preserve-symlinks" option that will verbatim store the symlinks' target.
Not recommended if symlinks are pointing to absolute paths, which will be
clobbered on extraction to a different directory unless if "--no-safe-links" is
specified on extraction.
2024-10-21 08:37:24 +00:00
## Version 1.5
Previous file-format-v1 implementation of "safe links" still created a symlink
if a relative or absolute link existed in the file. This version fixes this, and
prevents invalid symlinks from being created. (This check is only done if the
bit-flag is set in the file as mentioned in the file-format spec for v1 files.)
## Version 1.4
2024-10-21 08:21:15 +00:00
Do "safe links" behavior by default: symlinks pointing to outside of archived
files (or invalid symlinks) should not be included in the archive, unless if the
option "--no-safe-links" is specified. This is supported in both v0 and v1 file
formats.
2024-10-16 04:56:37 +00:00
## Version 1.3
Prevent `simplearchiver` from busy-waiting during non-blocking IO by sleeping
in "EWOULDBLOCK" conditions. This results in less consumed cpu time by the
process, especially during compression.
2024-10-11 03:34:51 +00:00
## Version 1.2
2024-10-10 01:55:14 +00:00
Proper handling of Ctrl+C (SIGINT). This prevents temporary files from
persisting by doing a proper cleanup before stopping the program.
2024-10-08 07:05:22 +00:00
## Version 1.1
2024-10-08 05:47:32 +00:00
More robust handling of de/compression process (handling SIGPIPE).
2024-10-08 06:52:03 +00:00
By default files are now pre-sorted by size before placed into chunks.
2024-10-08 06:51:05 +00:00
Add option to NOT pre-sort files by size.
2024-10-08 04:23:52 +00:00
## Version 1.0
First release.
Features:
- Can specify any command as de/compressor when archiving.
- The commands must accept file data in stdin and output processed data to
stdout.
- Can specify any command as decompressor when extracting to override the
simple-archive's stored decompressor.
- Archives/compresses into chunks to reduce overhead by compressing per chunk
instead of per file.
- Chunk size can be tweaked by a parameter setting.
- Can archive without de/compressor to be compressed separately.
- Supports pre-version-1 simple archiver file format (version 0).
- Archives regular files and symlinks.
- Keeps track of files and symlink permissions.
- Keeps track of file UID and GID (only set if extracting as root).
- Can be set to ignore absolute paths for symlinks by parameter setting.