Releases: a-j-wood/pv
v1.7.24
Correction to terminal size detection. This was broken by the configuration script rewrite in 1.7.17.
This release also introduces the first step towards further code cleanups, which should improve robustness. The code analysis tools splint and flawfinder are being used on all source files. The first thing they highlighted was the potentially unsafe DEBUG environment variable (only used when "--enable-debugging
" is passed to "./configure
"), so this has been removed. When debugging mode is enabled, developers must now use the "--debug
" option to specify the debugging output file, instead of the environment variable.
As an introduction to Unicode output support (a precursor to possibly implementing GH#15 "Unicode output for more granular progress" in future), the "--help
" option will now word-wrap and align its output appropriately for the terminal size, taking character widths into account rather than byte counts.
1.7.24 - 30 July 2023
- fix: correct terminal size detection, broken in 1.7.17 by the configuration script rewrite (GH#72)
- security: removed DEBUG environment variable in debug mode, added "
--debug
" instead - cleanup: added "
make analyse
" to run "splint
" and "flawfinder
" on all source files - cleanup: corrected detection of boolean capability
- cleanup: word wrapping of "
--help
" output is now multi-byte locale aware - cleanup: adjusted "
indent
" rules to line length of 120 and reformatted code
v1.7.18
v1.7.17
New transfer modification features for sync and direct I/O, a minor display formatting fix, extensions to the test framework, and the first round of cleanups.
- feature: new "
--sync
" option to flush cache to disk after every write (related to GH#6, to improve accuracy when writing to slow disks) - feature: new "
--direct-io
" option to bypass cache - implements GH#29 "Option to enable O_DIRECT" - requested by Romain Kang, Jacek Wielemborek - fix: correct byte prefix size to 2 spaces in rate display, so progress display size remains constant at low transfer rates
- cleanup: rewrote
configure.in
as per suggestions in newer "autoconf
" manuals - cleanup: replaced
header.in
with one generated by "autoheader
", moving custom logic to a separate header file "config-aux.h
" - cleanup: added copyright notice to all source files as per GNU standards
- cleanup: changed "
--version
" output to conform to GNU standards - cleanup: replaced backticks with
$()
in all shell scripts that did not come from elsewhere, as backticks are deprecated and harder to read - cleanup: improved the output formatting of "
make test
" - cleanup: extended the "
make test
" mechanism to allow certain tests to be skipped on platforms that cannot support them - cleanup: skip the "pipe" test (for SIGPIPE) if GNU "
head
" is not available, so that "make test
" on stock OpenBSD 7.3 works - cleanup: added a lot more tests to "
make test
" - cleanup: replace all calls to
sprintf()
andsnprintf()
with a new wrapper functionpv_snprintf()
to improve security and compatibility - cleanup: replace all calls to
strcat()
with a wrapperpv_strlcat()
to improve security and compatibility - cleanup: replace all
write()
calls to the terminal with a wrapperpv_write_retry()
for consistency - cleanup: tidy up and fix compilation warning in "
--watchfd
" code - cleanup: rewrote all local shell scripts to pass analysis by ShellCheck
v1.7.0
Rollup of a lot of bugfixes and features that were pending.
- dropped: support for Red Hat Enterprise Linux and its derivatives has been dropped; removed the RPM spec file, and will no longer build binaries
- feature: the "
--size
" option now accepts "@filename
" to use the size of another file (pull request #57 supplied by Dave Beckett) - feature: the "
--watchfd
" option is now available on OS X (pull request #60 supplied by christoph-zededa) - feature: new "
--bits
" option to show bit count instead of byte count (adapted from pull request #63 supplied by Nick Black) - feature: new "
--average-rate-window
" option, to set the window over which the average rate is calculated, also used for ETA (modified from pull request #65 supplied by lemonsqueeze) - feature: the "
--watchfd
" option will now show relative filenames, if they are under the current directory (pull request #66 supplied by ikasty) - fix: correction to
pv_in_foreground()
to behave as its comment block says it should, when not on a terminal - corrects GH#19 "No output in Arch Linux initcpio after 1.6.6", GH#31 "No output written from inside zsh <() construct", GH#55 "pv Stopped Working in the Background" (pull request #64 supplied by Michael Weiß) - fix: workaround for OS X 11 behaviour in configure script regarding stat64 at compile time (pull request #57 supplied by Dave Beckett)
- fix: workaround for macOS equivalence of stat to stat64 - patches from Filippo Valsorda and Demitri Muna, correcting GH#33 "Fix compilation problems due to
stat64()
on Apple Silicon" - fix: add burst rate limit to transfer, so rate limits are not broken by bursty traffic (pull request #62 supplied by Volodymyr Bychkovyak)
- fix: corrected "
--force
" option so it will still output progress when not in the same process group as the owner of the terminal - corrects GH#23 "No output with "-f
" when run in background after 1.6.6" and helps to correct GH#31 "No output written from inside zsh <() construct" - fix: corrected elapsed time display to show as D:HH:MM:SS after 1 day, like the ETA does - corrects GH#16 "Show days in same format in ETA as in elapsed time"
- fix: corrected bug where percentages went down after 100% when in "
--numeric
" mode with a "--size
" that was too small - corrects GH#26 "Correct "-n
" behaviour when going past 100% of "-s
" size" - i18n: recoded Polish translation file to UTF-8
- i18n: removed inaccurate fuzzy translation matches
- docs: moved all open issues into GitHub and updated the TODO list
- docs: renamed README to README.md and altered it to Markdown format
- docs: moved contributors from the README to docs/ACKNOWLEDGEMENTS.md
- docs: moved TODO to TODO.md and altered it to Markdown format
- docs: moved NEWS to NEWS.md, converted it to UTF-8, and altered it to Markdown format
v1.6.20
v1.6.19
Release was delayed because of a backlog of patches which I kept thinking I would have time to merge in, but it kept not happening. So this is a rollup of the various bug fixes and cleanups which have been waiting to be released for a while, instead of waiting forever.
- fix: starting pv in the background no longer immediately stops unless the transfer is to/from the terminal (Andriy Gapon, Jonathan Elchison)
- fix: using -B, -A, or -T now switches on -C implicitly (Johannes Gerer, André Stapf)
- fix: AIX build fixes (Peter Korsgaard)
- i18n: updated German "--help" translations (Richard Fonfara)
- i18n: switched to UTF-8 encoding, added missing translations (de,fr,pt)
- docs: new "common switches" manual section (Jacek Wielemborek)
- docs: use placeholder instead of /dev/sda in the manual (Pranav Peshwe)
- docs: mention MacOS pipes and "-B 1024" in the manual (Jan Venekamp)
- docs: correct shell in autoconf/scripts/index.sh (Juan Picca)
- cleanup: various compiler warnings cleaned up