Skip to content

Releases: ybirader/pzip

v0.2.0

24 Sep 17:14
Compare
Choose a tag to compare

Features

This release introduces punzip, a concurrent extractor.

Changelog

  • 7cf8b78 add ci
  • ee64aac add dirpath option
  • 6226995 add error handling
  • 809d099 add extractor benchmark
  • 84b1f32 add extractor cli
  • a09a8b2 add extractor options
  • 27f35e9 add generic worker pool
  • 761fa75 add interrupt context and concurrency option
  • 4653a5d add passing extraction acceptance test
  • 1c89f29 add release and docs for punzip
  • c131596 creates directory with single file
  • 035fd19 decompress files
  • 270d771 handle errors
  • 0316272 handle extractor errors
  • 7dec6e3 handle no args provided
  • 8c0876f make extractor concurrent using blocking errgroup
  • 6b734f5 propagate file modes
  • 3911c55 refactor extract test
  • 89f2dc3 refactor: extract extractFile method
  • fe797d5 refactor: implement extractor closer
  • 1e2fd5b refactor: minor renaming
  • 7417ee0 refactor: rename dirpath to outputdir
  • 8d88f71 rename cli to pzip
  • 42b995d replace errgroup sem with generic worker pool
  • a600225 update readme
  • 6b7e91b update release config
  • abda90f writes empty archive files to output directory
  • 11ef3c6 writes empty file to output dir

v0.1.1

13 Sep 20:22
Compare
Choose a tag to compare

Changelog

  • 69a9f4d add archive directory of files
  • bd0e4ca add archive directory to cli
  • f7d0490 add archive of single non-empty file
  • b1ff231 add benchmark for archive
  • 26c8e3e add cli benchmark
  • 38f6076 add cli error handling
  • 475a0d9 add compress to buffer using default deflate compression
  • 9139d45 add compression to file process executor
  • fdc702e add data descriptor to header
  • 836f4f4 add e2e benchmark
  • e720d8a add error handling in archiver constructor
  • 78a861f add error handling to worker pool
  • d3b0de4 add extra extended timestamp
  • 3782e4a add file status
  • a4c5960 add gitignore
  • 383a357 add graceful shutdown
  • a00158c add main walking skeleton
  • 480a914 add makefile
  • 7991c01 add method deflate to header
  • 07497ba add more semantic error handling
  • a6a82f3 add named file to archive
  • 056f5c3 add passing acceptance test
  • 1c567d7 add retains last modified date of archived file
  • 27b1c48 add workers process files to completion
  • a1132ae add workers to file process pool
  • 55477cb allow concurrency to be specified
  • cf9073c allow files to be archived separately
  • f274ba7 allow worker pool to be restarted
  • e676356 archive two files sequentially
  • 04a476f archiver creates a single empty file
  • 2b248f4 can enqueue tasks with file process pool
  • 3a1a932 check for overflow when writing archive file
  • 22ea924 chore: add goreleaser file
  • e2a31b2 chore: add license
  • ad59d81 chore: change license to apache
  • e0fee39 chore: mior cofig update
  • 5648a12 chore: setup ci
  • 19c5ff3 chore: update ci to publish deb packages
  • 164feb3 compress file to buffer
  • b5348b1 constrain max buffer size
  • c029f19 correctly sets name field in archive file header
  • 9c31929 ensure compressed file header accounts for overflow
  • 15428f4 fix: close file after read
  • 87d7cd6 fix: remove overflow temp folder after read
  • 7285c6a handle errors and refactor
  • 265897c handle when no args passed
  • d8aea25 header contains correct method, size, mod time, and mode
  • 4096208 include root dir in final zip
  • 347d7e0 insist on non-zero number of pool workers
  • f6a0ebd output error when one argument passed
  • 7d89111 perf: add file pool to reduce allocations
  • 2fe6b5d perf: add larger buffer
  • 7355349 perf: cache compressor
  • 1517e3f perf: pool copy buffers
  • d627536 refactor main test
  • aab3217 refactor: add archiver constructor
  • a48c565 refactor: add archiver to remove writer duplication
  • 8dde31d refactor: add create file helper
  • 38d610d refactor: add file abstraction
  • 6189e02 refactor: add file process pool constructor
  • 2c00f9a refactor: add file worker pool config
  • fd1d2a2 refactor: add functional options
  • 0028836 refactor: add get file info helper
  • 8054200 refactor: add helper for writing content to archive file
  • f422230 refactor: add initial concurrency skeleton
  • 53369d6 refactor: add more descriptive errors
  • cf22e33 refactor: add names for file fixtures
  • d2aa85d refactor: add overflow interface
  • cc83602 refactor: add separate worker pool package
  • cb9b826 refactor: add time matching helper
  • ab6d5b4 refactor: add write file helper
  • 96ebc2c refactor: consolidate compress and pop. headers
  • 39ef42d refactor: consolidate relative name logic in file
  • b3c35d7 refactor: create extended timestamp extra field type
  • e5e7ceb refactor: delete unneeded test
  • e19ee6b refactor: dry file channels
  • 1c41d8c refactor: dry test with archive reader helper
  • efa8e1c refactor: dry tests with generic find
  • c82dddb refactor: dry with read method
  • 6211c92 refactor: ensure consistent naming
  • b25ab18 refactor: extract helper to walk directory tree
  • 89a876f refactor: improve package structure
  • 909040f refactor: inject context
  • 6266feb refactor: inject task executor function
  • f92bd1d refactor: move file to pool package
  • 9d9e500 refactor: move header name computation to file
  • 173fcb5 refactor: move relative to chroot to pop. header
  • 1189cd1 refactor: mv shared test utils to internal package
  • 33a40a0 refactor: parametrize the number of workers
  • 05b62ee refactor: pass file pointers
  • 66af2a0 refactor: remove status in favour of overflowed
  • fdac8d4 refactor: remove unecessary interface
  • d12d3a8 refactor: remove unused helper code to open test file
  • 295a27e refactor: rename number of workers to concurrency
  • d294dde refactor: rename to file worker pool
  • 5ae63db refactor: use file process pool for executiong file processing tasks
  • 97fbc66 refactor: use file process pool to execute file archive processing
  • d253f8e refactor: use file status enum
  • c8641ae refactor: use file writer pool for file writing
  • dc7abfc remove unused benchmark
  • d74dec9 store method for directories
  • 47d75e0 tmp: remove release signing
  • 84a2da2 track number of bytes written
  • 621d994 update README
  • f927658 use int64 for written in case of large files
  • 4d9a9b6 write compressed content
  • 1fa8d1d write overflow to temp file

v0.1.0

13 Sep 13:15
Compare
Choose a tag to compare

Changelog

  • 69a9f4d add archive directory of files
  • bd0e4ca add archive directory to cli
  • f7d0490 add archive of single non-empty file
  • b1ff231 add benchmark for archive
  • 26c8e3e add cli benchmark
  • 38f6076 add cli error handling
  • 475a0d9 add compress to buffer using default deflate compression
  • 9139d45 add compression to file process executor
  • fdc702e add data descriptor to header
  • 836f4f4 add e2e benchmark
  • e720d8a add error handling in archiver constructor
  • 78a861f add error handling to worker pool
  • d3b0de4 add extra extended timestamp
  • 3782e4a add file status
  • a4c5960 add gitignore
  • 383a357 add graceful shutdown
  • a00158c add main walking skeleton
  • 480a914 add makefile
  • 7991c01 add method deflate to header
  • 07497ba add more semantic error handling
  • a6a82f3 add named file to archive
  • 056f5c3 add passing acceptance test
  • 1c567d7 add retains last modified date of archived file
  • 27b1c48 add workers process files to completion
  • a1132ae add workers to file process pool
  • 55477cb allow concurrency to be specified
  • cf9073c allow files to be archived separately
  • f274ba7 allow worker pool to be restarted
  • e676356 archive two files sequentially
  • 04a476f archiver creates a single empty file
  • 2b248f4 can enqueue tasks with file process pool
  • 3a1a932 check for overflow when writing archive file
  • 22ea924 chore: add goreleaser file
  • e2a31b2 chore: add license
  • ad59d81 chore: change license to apache
  • e0fee39 chore: mior cofig update
  • 5648a12 chore: setup ci
  • 164feb3 compress file to buffer
  • b5348b1 constrain max buffer size
  • c029f19 correctly sets name field in archive file header
  • 9c31929 ensure compressed file header accounts for overflow
  • 15428f4 fix: close file after read
  • 87d7cd6 fix: remove overflow temp folder after read
  • 7285c6a handle errors and refactor
  • 265897c handle when no args passed
  • d8aea25 header contains correct method, size, mod time, and mode
  • 4096208 include root dir in final zip
  • 347d7e0 insist on non-zero number of pool workers
  • f6a0ebd output error when one argument passed
  • 7d89111 perf: add file pool to reduce allocations
  • 2fe6b5d perf: add larger buffer
  • 7355349 perf: cache compressor
  • 1517e3f perf: pool copy buffers
  • d627536 refactor main test
  • aab3217 refactor: add archiver constructor
  • a48c565 refactor: add archiver to remove writer duplication
  • 8dde31d refactor: add create file helper
  • 38d610d refactor: add file abstraction
  • 6189e02 refactor: add file process pool constructor
  • 2c00f9a refactor: add file worker pool config
  • fd1d2a2 refactor: add functional options
  • 0028836 refactor: add get file info helper
  • 8054200 refactor: add helper for writing content to archive file
  • f422230 refactor: add initial concurrency skeleton
  • 53369d6 refactor: add more descriptive errors
  • cf22e33 refactor: add names for file fixtures
  • d2aa85d refactor: add overflow interface
  • cc83602 refactor: add separate worker pool package
  • cb9b826 refactor: add time matching helper
  • ab6d5b4 refactor: add write file helper
  • 96ebc2c refactor: consolidate compress and pop. headers
  • 39ef42d refactor: consolidate relative name logic in file
  • b3c35d7 refactor: create extended timestamp extra field type
  • e5e7ceb refactor: delete unneeded test
  • e19ee6b refactor: dry file channels
  • 1c41d8c refactor: dry test with archive reader helper
  • efa8e1c refactor: dry tests with generic find
  • c82dddb refactor: dry with read method
  • 6211c92 refactor: ensure consistent naming
  • b25ab18 refactor: extract helper to walk directory tree
  • 89a876f refactor: improve package structure
  • 909040f refactor: inject context
  • 6266feb refactor: inject task executor function
  • f92bd1d refactor: move file to pool package
  • 9d9e500 refactor: move header name computation to file
  • 173fcb5 refactor: move relative to chroot to pop. header
  • 1189cd1 refactor: mv shared test utils to internal package
  • 33a40a0 refactor: parametrize the number of workers
  • 05b62ee refactor: pass file pointers
  • 66af2a0 refactor: remove status in favour of overflowed
  • fdac8d4 refactor: remove unecessary interface
  • d12d3a8 refactor: remove unused helper code to open test file
  • 295a27e refactor: rename number of workers to concurrency
  • d294dde refactor: rename to file worker pool
  • 5ae63db refactor: use file process pool for executiong file processing tasks
  • 97fbc66 refactor: use file process pool to execute file archive processing
  • d253f8e refactor: use file status enum
  • c8641ae refactor: use file writer pool for file writing
  • dc7abfc remove unused benchmark
  • d74dec9 store method for directories
  • 47d75e0 tmp: remove release signing
  • 84a2da2 track number of bytes written
  • 621d994 update README
  • f927658 use int64 for written in case of large files
  • 4d9a9b6 write compressed content
  • 1fa8d1d write overflow to temp file