diff --git a/README.md b/README.md index 1421a92..065947f 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ Documentation A manual page is included in this distribution. See "`man ./doc/quickref.1`", or "`man pv`" after installation. +Changes are listed in "[doc/NEWS.md](./doc/NEWS.md)". The to-do list is "[doc/TODO.md](./doc/TODO.md)". + Compilation ----------- @@ -38,7 +40,7 @@ TODOs marked in the code. Author and acknowledgements --------------------------- -This package is copyright 2022 Andrew Wood, and is being distributed under +This package is copyright 2023 Andrew Wood, and is being distributed under the terms of the Artistic License 2.0. For more details of this license, see the file "[doc/COPYING](./doc/COPYING)". diff --git a/doc/NEWS b/doc/NEWS deleted file mode 100644 index 95980ec..0000000 --- a/doc/NEWS +++ /dev/null @@ -1,346 +0,0 @@ -UNRELEASED - - support for Red Hat Enterprise Linux and its derivatives has been - dropped; removed the RPM spec file, and will no longer build binaries - - 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 - -1.6.20 - 12 September 2021 - - fix: add missing stddef.h include to number.c (Sam James) - -1.6.19 - 5 September 2021 - - 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 - - Full changelog is below: - - (r181) added common switches section to manual (Jacek Wielemborek) - - (r184) use placeholder instead of /dev/sda in the manual (Pranav Peshwe) - - (r185) replace ash with sh in autoconf/scripts/index.sh (Juan Picca) - - (r185) added note to manual about "-B 1024" in MacOS pipes (Jan Venekamp) - - (r185) fix AIX config check when the CWD contains "yes" (Peter Korsgaard) - - (r189) (#1556) updated German "--help" translations (Richard Fonfara) - - (r189) updated missing German translations and changed to UTF-8 encoding - - (r191) updated missing French translations and changed to UTF-8 encoding - - (r193) updated missing Portuguese translations, changed to UTF-8 encoding - - (r196) (#1563) using -B, -A, or -T now switches on -C implicitly - (Johannes Gerer, André Stapf) - - (r199) fixed numerous compiler warnings in newer GCC versions - - (r200,205) fixed bug where "pv /dev/zero >/dev/null &" stopped - immediately (Jonathan Elchison, Andriy Gapon) - - (r203,205) marked unused arguments with GCC unused attribute, started - using boolean data type for flags, corrected more compiler warnings - -1.6.6 - 30 June 2017 - - (r161) use %llu instead of %Lu for better compatibility (Eric A. Borisch) - - (r162) (#1532) fix target buffer size (-B) being ignored (AndCycle, Ilya - Basin, Antoine Beaupré) - - (r164) cap read/write sizes, and check elapsed time during read/write - cycles, to avoid display hangs with large buffers or slow media; also - remove select() call from repeated_write function as it slows the - transfer down and the wrapping alarm() means it is unnecessary - - (r169) (#1477) use alternate form for transfer counter, such that 13GB - is shown as 13.0GB so it's the same width as 13.1GB (André Stapf) - - (r171) cleanup: units corrections in man page, of the form kb -> KiB - - (r175) report error in "-d" if process fd directory is unreadable, or if - process disappears before we start the main loop (Jacek Wielemborek) - -1.6.0 - 15 March 2015 - - fix lstat64 support when unavailable - separate patches supplied by - Ganael Laplanche and Peter Korsgaard - - (#1506) new option "-D" / "--delay-start" to only show bar after N - seconds (Damon Harper) - - new option "--fineta" / "-I" to show ETA as time of day rather than time - remaining - patch supplied by Erkki Seppälä (r147) - - (#1509) change ETA (--eta / -e) so that days are given if the hours - remaining are 24 or more (Jacek Wielemborek) - - (#1499) repeat read and write attempts on partial buffer fill/empty to - work around post-signal transfer rate drop reported by Ralf Ramsauer - - (#1507) do not try to calculate total size in line mode, due to bug - reported by Jacek Wielemborek and Michiel Van Herwegen - - cleanup: removed defunct RATS comments and unnecessary copyright notices - - clean up displayed lines when using --watchfd PID, when PID exits - - output errors on a new line to avoid overwriting transfer bar - -1.5.7 - 26 August 2014 - - show KiB instead of incorrect kiB (Debian bug #706175) - - (#1284) do not gzip man page, for non-Linux OSes (Bob Friesenhahn) - - work around "awk" bug in tests/016-numeric-timer in decimal "," locales - - fix "make rpm" and "make srpm", extend "make release" to sign releases - -1.5.3 - 4 May 2014 - - remove SPLICE_F_NONBLOCK to fix problem with slow splice() (Jan Seda) - -1.5.2 - 10 February 2014 - - allow "--watchfd" to look at block devices - - let "--watchfd PID:FD" work with "--size N" - - moved contributors out of the manual as the list was too long - (NB everyone is still listed in the README and always will be) - -1.5.1 - 23 January 2014 - - new option "--watchfd" - suggested by Jacek Wielemborek and "fdwatch" - - use non-block flag with splice() - - new display option "--buffer-percent", suggested by Kim Krecht - - new display option "--last-written", suggested by Kim Krecht - - new transfer option "--no-splice" - - fix for minor bug which dropped display elements after one empty one - - fix for single fd leak on exit (Cristian Ciupitu) - -1.4.12 - 5 August 2013 - - new option "--null" - patch supplied by Zing Shishak - - AIX build fix (add "-lc128") - with help from Pawel Piatek - - AIX "-c" fixes - with help from Pawel Piatek - - SCO build fix (po2table.sh) - reported by Wouter Pronk - - test scripts fix for older distributions - patch from Bryan Dongray - - fix for splice() not using stdin - patch from Zev Weiss - -1.4.6 - 22 January 2013 - - added patch from Pawel Piatek to omit O_NOFOLLOW in AIX - -1.4.5 - 10 January 2013 - - updated manual page to show known problem with "-R" on Cygwin - -1.4.4 - 11 December 2012 - - added debugging, see `pv -h' when configure run with "--enable-debugging" - - rewrote cursor positioning code used when IPC is unavailable (Cygwin) - - fixed cursor positioning cursor read answerback problem (Cygwin/Solaris) - - fixed bug causing crash when progress displayed with too-small terminal - -1.4.0 - 6 December 2012 - - new option "--skip-errors" commissioned by Jim Salter - - if stdout is a block device, and we don't know the total size, use the - size of that block device as the total (Peter Samuelson) - - new option "--stop-at-size" to stop after "--size" bytes - - report correct filename on read errors - - fix use-after-free bug in remote PID cleanup code - - refactored large chunks of code to make it more readable and to replace - most static variables with a state structure - -1.3.9 - 5 November 2012 - - allow "--format" parameters to be sent with "--remote" - - configure option "--disable-ipc" - - added tests for --numeric with --timer and --bytes - - added tests for --remote - -1.3.8 - 29 October 2012 - - new "--pidfile" option to save process ID to a file - - integrated patch for --numeric with --timer and --bytes (Sami Liedes) - - removed signalling from --remote to prevent accidental process kills - - new "--format" option (originally Vladimir Pal / Vladimir Ermakov) - -1.3.4 - 27 June 2012 - - new "--disable-splice" configure script option - - fixed line mode size count with multiple files (Moritz Barsnick) - - fixes for AIX core dumps (Pawel Piatek) - -1.3.1 - 9 June 2012 - - do not use splice() if the write buffer is not empty (Thomas Rachel) - - added test 15 (pipe transfers), and new test script - -1.3.0 - 5 June 2012 - - added Tiger build patch from Olle Jonsson - - fix 1024-boundary display garble (Debian bug #586763) - - use splice(2) where available (Debian bug #601683) - - added known bugs section of the manual page - - fixed average rate test, 12 (Andrew Macheret) - - use IEEE1541 units (Thomas Rachel) - - bug with rate limit under 10 fixed (Henry Precheur) - - speed up PV line mode (patch: Guillaume Marcais) - - remove LD=ld from vars.mk to fix cross-compilation (paintitgray/PV#1291) - -1.2.0 - 14 December 2010 - - integrated improved SI prefixes and --average-rate (Henry Gebhardt) - - return nonzero if exiting due to SIGTERM (Martin Baum) - - patch from Phil Rutschman to restore terminal properly on exit - - fix i18n especially for --help (Sebastian Kayser) - - refactored pv_display - - we now have a coherent, documented, exit status - - modified pipe test and new cksum test from Sebastian Kayser - - default CFLAGS to just "-O" for non-GCC (Kjetil Torgrim Homme) - - LFS compile fix for OS X 10.4 (Alexandre de Verteuil) - - remove DESTDIR / suffix (Sam Nelson, Daniel Pape) - - fixed potential NULL deref in transfer (Elias Pipping / LLVM/Clang) - -1.1.4 - 6 March 2008 - - patch from Elias Pipping correcting compilation failure on Darwin 9 - - patch from Patrick Collison correcting similar problems on OS X - - trap SIGINT/SIGHUP/SIGTERM so we clean up IPCs on exit (Laszlo Ersek) - - abort if numeric option, eg -L, has non-numeric value (Boris Lohner) - -1.1.0 - 30 August 2007 - - new option --remote (-R) to control an already-running process - - new option --line-mode (-l) to count lines instead of bytes - - fix for "-L" to be less resource intensive - - fix for input/output equivalence check on Mac OS X - - fix for size calculation in pipelines on Mac OS X - - fixed "make uninstall" - - removed /debian directory at request of new Debian maintainer - -1.0.1 - 4 August 2007 - - licensing change from Artistic to Artistic 2.0 - - removed the "-l" / "--license" option - -1.0.0 - 2 August 2007 - - act more like "cat" - just skip unreadable files, don't abort - - removed text version of manual page, and obsolete Info file generation - - code cleanup and separation of PV internals from CLI front-end - -0.9.9 - 5 February 2007 - - new option --buffer-size (-B) suggested by Mark Tomich - - build fix: HP/UX largefile compile fix from Timo Savinen - - maintain better buffer filling during transfers - - workaround: pv /dev/zero | dd bs=1M count=1k bug (reported by Gert Menke) - - dropped support for the Texinfo manual - -0.9.6 - 27 February 2006 - - bugfix: key_t incompatibility with Cygwin - - bugfix: interval (-i) parameter parses numbers after decimal point - - build fix: use static NLS if msgfmt is unavailable - - on the final update, blank out the now-zero ETA - -0.9.2 - 1 September 2005 - - Daniel Roethlisberger patch: use lockfiles if terminal locking fails - -0.9.1 - 16 June 2005 - - minor RPM spec file fix for Fedora Core 4 - -0.9.0 - 15 November 2004 - - minor NLS bugfix - -0.8.9 - 6 November 2004 - - decimal values now accepted for rate and size, eg "-L 1.23M" - - code cleanup - - developers: "make help" now lists Makefile targets - -0.8.6 - 29 June 2004 - - use uu_lock() for terminal locking on FreeBSD - -0.8.5 - 2 May 2004 - - cursor positioning (-c) reliability improved on systems with IPC - - minor fix: made test 005 more reliable - - new option --height (-H) - -0.8.2 - 24 April 2004 - - allow k,m,g,t suffixes on numbers - - added "srpm" and "release" Makefile targets - -0.8.1 - 19 April 2004 - - bugfix in cursor positioning (-c) - -0.8.0 - 12 February 2004 - - replaced GNU getopt with my library code - - replaced GNU gettext with my very minimal replacement - - use DESTDIR instead of RPM_BUILD_ROOT for optional installation prefix - - looked for flaws using RATS, cleaned up code - -0.7.0 - 8 February 2004 - - display buffer management fixes (thanks Cédric Delfosse) - - replaced --enable-debug with --enable-debugging and --enable-profiling - -0.6.4 - 14 January 2004 - - fixed minor bug in RPM installation - - bugfix in "make index" (only of interest to developers) - -0.6.3 - 22 December 2003 - - fixed transient bug that reported "resource unavailable" occasionally - -0.6.2 - 6 August 2003 - - block devices now have their size read correctly, so pv /dev/hda1 works - - minor code cleanups (mainly removal of CVS "Id" tags) - -0.6.0 - 3 August 2003 - - doing ^Z then "bg" then "fg" now continues displaying - -0.5.9 - 23 July 2003 - - fix for test 007 when not in C locale - - fix for build process to use CPPFLAGS - - fix for build process to use correct i18n libraries - - fix for build process - more portable sed in dependency generator - - fix for install process - remember to mkinstalldirs before installing - - fixes for building on Mac OS X - -0.5.3 - 4 May 2003 - - added Polish translation thanks to Bartosz Feñski - and Krystian Zubel - - moved doc/debian to ./debian at insistence of common sense - - minor Solaris 8 compatibility fixes - - seems to compile and test OK on Mac OS X - -0.5.0 - 15 April 2003 - - added French translation thanks to Stéphane Lacasse - - - added German translation thanks to Marcos Kreinacke - - - switched LGPL reference from "Library" to "Lesser" - -0.4.9 - 18 February 2003 - - support for >2GB files added where available (Debian bug #180986) - - added doc/debian dir (from Cédric Delfosse) - - added "make rpm" and "make deb" targets to build RPM and Debian packages - - added a "make pv-static" rule to build a statically linked version - -0.4.5 - 13 December 2002 - - added Portuguese (Brazilian) translation thanks to Eduardo Aguiar - -0.4.4 - 7 December 2002 - - pause/resume support - don't count time while stopped - - stop output when resumed in the background - - terminal size change support - - bugfix: <=> indicator no longer sticks at right hand edge - -0.4.0 - 27 November 2002 - - allow decimal interval values, eg 0.1, 0.5, etc - - some simple tests added (`make check') - - smoother throughput limiting (--rate-limit), now done in 0.1sec chunks - - bounds-check interval values (-i) - max update interval now 10 minutes - - more reliable non-blocking output to keep display updated - - no longer rely on atoll() - - don't output final blank line if --numeric - - use fcntl() instead of flock() for Solaris compatibility - -0.3.0 - 25 November 2002 - - handle broken output pipe gracefully - - continue updating display even when output pipe is blocking - -0.2.6 - 21 October 2002 - - we now ignore EINTR on select() - - variable-size buffer (still need to add code to change size) - - added (tentative) support for internationalisation - - removed superfluous --no-progress, etc options - - optimised transfer by using bigger buffers, based on st_blksize - - added --wait option to wait until transfer begins before showing progress - - added --rate-limit option to limit rate to a maximum throughput - - added --quiet option (no output at all) to be used with --rate-limit - -0.2.5 - 23 July 2002 - - added [FILE]... arguments, like `cat' - - function separation in code - - some bug fixes related to numeric overflow - -0.2.3 - 19 July 2002 - - Texinfo manual written, man page updated - - byte counter added - -0.2.0 - 18 July 2002 - - ETA counter added - - screen width estimation added - - progress bar added - -0.1.0 - 17 July 2002 - - main loop created - - rate counter added - - elapsed time counter added - - percentage calculation added - -0.0.1 - 16 July 2002 - - package created - - first draft of man page written diff --git a/doc/NEWS.md b/doc/NEWS.md new file mode 100644 index 0000000..0c27379 --- /dev/null +++ b/doc/NEWS.md @@ -0,0 +1,324 @@ +UNRELEASED + * support for Red Hat Enterprise Linux and its derivatives has been dropped; removed the RPM spec file, and will no longer build binaries + * 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 + +1.6.20 - 12 September 2021 + * fix: add missing stddef.h include to number.c (Sam James) + +1.6.19 - 5 September 2021 + * 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 + + Full changelog is below: + * (r181) added common switches section to manual (Jacek Wielemborek) + * (r184) use placeholder instead of /dev/sda in the manual (Pranav Peshwe) + * (r185) replace ash with sh in autoconf/scripts/index.sh (Juan Picca) + * (r185) added note to manual about "-B 1024" in MacOS pipes (Jan Venekamp) + * (r185) fix AIX config check when the CWD contains "yes" (Peter Korsgaard) + * (r189) (#1556) updated German "--help" translations (Richard Fonfara) + * (r189) updated missing German translations and changed to UTF-8 encoding + * (r191) updated missing French translations and changed to UTF-8 encoding + * (r193) updated missing Portuguese translations, changed to UTF-8 encoding + * (r196) (#1563) using -B, -A, or -T now switches on -C implicitly (Johannes Gerer, André Stapf) + * (r199) fixed numerous compiler warnings in newer GCC versions + * (r200,205) fixed bug where "pv /dev/zero >/dev/null &" stopped immediately (Jonathan Elchison, Andriy Gapon) + * (r203,205) marked unused arguments with GCC unused attribute, started using boolean data type for flags, corrected more compiler warnings + +1.6.6 - 30 June 2017 + * (r161) use %llu instead of %Lu for better compatibility (Eric A. Borisch) + * (r162) (#1532) fix target buffer size (-B) being ignored (AndCycle, Ilya Basin, Antoine Beaupré) + * (r164) cap read/write sizes, and check elapsed time during read/write cycles, to avoid display hangs with large buffers or slow media; also remove select() call from repeated_write function as it slows the transfer down and the wrapping alarm() means it is unnecessary + * (r169) (#1477) use alternate form for transfer counter, such that 13GB is shown as 13.0GB so it's the same width as 13.1GB (André Stapf) + * (r171) cleanup: units corrections in man page, of the form kb -> KiB + * (r175) report error in "-d" if process fd directory is unreadable, or if process disappears before we start the main loop (Jacek Wielemborek) + +1.6.0 - 15 March 2015 + * fix lstat64 support when unavailable - separate patches supplied by Ganael Laplanche and Peter Korsgaard + * (#1506) new option "-D" / "--delay-start" to only show bar after N seconds (Damon Harper) + * new option "--fineta" / "-I" to show ETA as time of day rather than time remaining - patch supplied by Erkki Seppälä (r147) + * (#1509) change ETA (--eta / -e) so that days are given if the hours remaining are 24 or more (Jacek Wielemborek) + * (#1499) repeat read and write attempts on partial buffer fill/empty to work around post-signal transfer rate drop reported by Ralf Ramsauer + * (#1507) do not try to calculate total size in line mode, due to bug reported by Jacek Wielemborek and Michiel Van Herwegen + * cleanup: removed defunct RATS comments and unnecessary copyright notices + * clean up displayed lines when using --watchfd PID, when PID exits + * output errors on a new line to avoid overwriting transfer bar + +1.5.7 - 26 August 2014 + * show KiB instead of incorrect kiB (Debian bug #706175) + * (#1284) do not gzip man page, for non-Linux OSes (Bob Friesenhahn) + * work around "awk" bug in tests/016-numeric-timer in decimal "," locales + * fix "make rpm" and "make srpm", extend "make release" to sign releases + +1.5.3 - 4 May 2014 + * remove SPLICE_F_NONBLOCK to fix problem with slow splice() (Jan Seda) + +1.5.2 - 10 February 2014 + * allow "--watchfd" to look at block devices + * let "--watchfd PID:FD" work with "--size N" + * moved contributors out of the manual as the list was too long (NB everyone is still listed in the README and always will be) + +1.5.1 - 23 January 2014 + * new option "--watchfd" - suggested by Jacek Wielemborek and "fdwatch" + * use non-block flag with splice() + * new display option "--buffer-percent", suggested by Kim Krecht + * new display option "--last-written", suggested by Kim Krecht + * new transfer option "--no-splice" + * fix for minor bug which dropped display elements after one empty one + * fix for single fd leak on exit (Cristian Ciupitu) + +1.4.12 - 5 August 2013 + * new option "--null" - patch supplied by Zing Shishak + * AIX build fix (add "-lc128") - with help from Pawel Piatek + * AIX "-c" fixes - with help from Pawel Piatek + * SCO build fix (po2table.sh) - reported by Wouter Pronk + * test scripts fix for older distributions - patch from Bryan Dongray + * fix for splice() not using stdin - patch from Zev Weiss + +1.4.6 - 22 January 2013 + * added patch from Pawel Piatek to omit O_NOFOLLOW in AIX + +1.4.5 - 10 January 2013 + * updated manual page to show known problem with "-R" on Cygwin + +1.4.4 - 11 December 2012 + * added debugging, see `pv -h' when configure run with "--enable-debugging" + * rewrote cursor positioning code used when IPC is unavailable (Cygwin) + * fixed cursor positioning cursor read answerback problem (Cygwin/Solaris) + * fixed bug causing crash when progress displayed with too-small terminal + +1.4.0 - 6 December 2012 + * new option "--skip-errors" commissioned by Jim Salter + * if stdout is a block device, and we don't know the total size, use the size of that block device as the total (Peter Samuelson) + * new option "--stop-at-size" to stop after "--size" bytes + * report correct filename on read errors + * fix use-after-free bug in remote PID cleanup code + * refactored large chunks of code to make it more readable and to replace most static variables with a state structure + +1.3.9 - 5 November 2012 + * allow "--format" parameters to be sent with "--remote" + * configure option "--disable-ipc" + * added tests for --numeric with --timer and --bytes + * added tests for --remote + +1.3.8 - 29 October 2012 + * new "--pidfile" option to save process ID to a file + * integrated patch for --numeric with --timer and --bytes (Sami Liedes) + * removed signalling from --remote to prevent accidental process kills + * new "--format" option (originally Vladimir Pal / Vladimir Ermakov) + +1.3.4 - 27 June 2012 + * new "--disable-splice" configure script option + * fixed line mode size count with multiple files (Moritz Barsnick) + * fixes for AIX core dumps (Pawel Piatek) + +1.3.1 - 9 June 2012 + * do not use splice() if the write buffer is not empty (Thomas Rachel) + * added test 15 (pipe transfers), and new test script + +1.3.0 - 5 June 2012 + * added Tiger build patch from Olle Jonsson + * fix 1024-boundary display garble (Debian bug #586763) + * use splice(2) where available (Debian bug #601683) + * added known bugs section of the manual page + * fixed average rate test, 12 (Andrew Macheret) + * use IEEE1541 units (Thomas Rachel) + * bug with rate limit under 10 fixed (Henry Precheur) + * speed up PV line mode (patch: Guillaume Marcais) + * remove LD=ld from vars.mk to fix cross-compilation (paintitgray/PV#1291) + +1.2.0 - 14 December 2010 + * integrated improved SI prefixes and --average-rate (Henry Gebhardt) + * return nonzero if exiting due to SIGTERM (Martin Baum) + * patch from Phil Rutschman to restore terminal properly on exit + * fix i18n especially for --help (Sebastian Kayser) + * refactored pv_display + * we now have a coherent, documented, exit status + * modified pipe test and new cksum test from Sebastian Kayser + * default CFLAGS to just "-O" for non-GCC (Kjetil Torgrim Homme) + * LFS compile fix for OS X 10.4 (Alexandre de Verteuil) + * remove DESTDIR / suffix (Sam Nelson, Daniel Pape) + * fixed potential NULL deref in transfer (Elias Pipping / LLVM/Clang) + +1.1.4 - 6 March 2008 + * patch from Elias Pipping correcting compilation failure on Darwin 9 + * patch from Patrick Collison correcting similar problems on OS X + * trap SIGINT/SIGHUP/SIGTERM so we clean up IPCs on exit (Laszlo Ersek) + * abort if numeric option, eg -L, has non-numeric value (Boris Lohner) + +1.1.0 - 30 August 2007 + * new option --remote (-R) to control an already-running process + * new option --line-mode (-l) to count lines instead of bytes + * fix for "-L" to be less resource intensive + * fix for input/output equivalence check on Mac OS X + * fix for size calculation in pipelines on Mac OS X + * fixed "make uninstall" + * removed /debian directory at request of new Debian maintainer + +1.0.1 - 4 August 2007 + * licensing change from Artistic to Artistic 2.0 + * removed the "-l" / "--license" option + +1.0.0 - 2 August 2007 + * act more like "cat" - just skip unreadable files, don't abort + * removed text version of manual page, and obsolete Info file generation + * code cleanup and separation of PV internals from CLI front-end + +0.9.9 - 5 February 2007 + * new option --buffer-size (-B) suggested by Mark Tomich + * build fix: HP/UX largefile compile fix from Timo Savinen + * maintain better buffer filling during transfers + * workaround: pv /dev/zero | dd bs=1M count=1k bug (reported by Gert Menke) + * dropped support for the Texinfo manual + +0.9.6 - 27 February 2006 + * bugfix: key_t incompatibility with Cygwin + * bugfix: interval (-i) parameter parses numbers after decimal point + * build fix: use static NLS if msgfmt is unavailable + * on the final update, blank out the now-zero ETA + +0.9.2 - 1 September 2005 + * Daniel Roethlisberger patch: use lockfiles if terminal locking fails + +0.9.1 - 16 June 2005 + * minor RPM spec file fix for Fedora Core 4 + +0.9.0 - 15 November 2004 + * minor NLS bugfix + +0.8.9 - 6 November 2004 + * decimal values now accepted for rate and size, eg "-L 1.23M" + * code cleanup + * developers: "make help" now lists Makefile targets + +0.8.6 - 29 June 2004 + * use uu_lock() for terminal locking on FreeBSD + +0.8.5 - 2 May 2004 + * cursor positioning (-c) reliability improved on systems with IPC + * minor fix: made test 005 more reliable + * new option --height (-H) + +0.8.2 - 24 April 2004 + * allow k,m,g,t suffixes on numbers + * added "srpm" and "release" Makefile targets + +0.8.1 - 19 April 2004 + * bugfix in cursor positioning (-c) + +0.8.0 - 12 February 2004 + * replaced GNU getopt with my library code + * replaced GNU gettext with my very minimal replacement + * use DESTDIR instead of RPM_BUILD_ROOT for optional installation prefix + * looked for flaws using RATS, cleaned up code + +0.7.0 - 8 February 2004 + * display buffer management fixes (thanks Cédric Delfosse) + * replaced --enable-debug with --enable-debugging and --enable-profiling + +0.6.4 - 14 January 2004 + * fixed minor bug in RPM installation + * bugfix in "make index" (only of interest to developers) + +0.6.3 - 22 December 2003 + * fixed transient bug that reported "resource unavailable" occasionally + +0.6.2 - 6 August 2003 + * block devices now have their size read correctly, so pv /dev/hda1 works + * minor code cleanups (mainly removal of CVS "Id" tags) + +0.6.0 - 3 August 2003 + * doing ^Z then "bg" then "fg" now continues displaying + +0.5.9 - 23 July 2003 + * fix for test 007 when not in C locale + * fix for build process to use CPPFLAGS + * fix for build process to use correct i18n libraries + * fix for build process - more portable sed in dependency generator + * fix for install process - remember to mkinstalldirs before installing + * fixes for building on Mac OS X + +0.5.3 - 4 May 2003 + * added Polish translation thanks to Bartosz FeÅ„ski and Krystian Zubel + * moved doc/debian to ./debian at insistence of common sense + * minor Solaris 8 compatibility fixes + * seems to compile and test OK on Mac OS X + +0.5.0 - 15 April 2003 + * added French translation thanks to Stéphane Lacasse + * added German translation thanks to Marcos Kreinacke + * switched LGPL reference from "Library" to "Lesser" + +0.4.9 - 18 February 2003 + * support for >2GB files added where available (Debian bug #180986) + * added doc/debian dir (from Cédric Delfosse) + * added "make rpm" and "make deb" targets to build RPM and Debian packages + * added a "make pv-static" rule to build a statically linked version + +0.4.5 - 13 December 2002 + * added Portuguese (Brazilian) translation thanks to Eduardo Aguiar + +0.4.4 - 7 December 2002 + * pause/resume support - don't count time while stopped + * stop output when resumed in the background + * terminal size change support + * bugfix: <=> indicator no longer sticks at right hand edge + +0.4.0 - 27 November 2002 + * allow decimal interval values, eg 0.1, 0.5, etc + * some simple tests added (`make check') + * smoother throughput limiting (--rate-limit), now done in 0.1sec chunks + * bounds-check interval values (-i) - max update interval now 10 minutes + * more reliable non-blocking output to keep display updated + * no longer rely on atoll() + * don't output final blank line if --numeric + * use fcntl() instead of flock() for Solaris compatibility + +0.3.0 - 25 November 2002 + * handle broken output pipe gracefully + * continue updating display even when output pipe is blocking + +0.2.6 - 21 October 2002 + * we now ignore EINTR on select() + * variable-size buffer (still need to add code to change size) + * added (tentative) support for internationalisation + * removed superfluous --no-progress, etc options + * optimised transfer by using bigger buffers, based on st_blksize + * added --wait option to wait until transfer begins before showing progress + * added --rate-limit option to limit rate to a maximum throughput + * added --quiet option (no output at all) to be used with --rate-limit + +0.2.5 - 23 July 2002 + * added [FILE]... arguments, like `cat' + * function separation in code + * some bug fixes related to numeric overflow + +0.2.3 - 19 July 2002 + * Texinfo manual written, man page updated + * byte counter added + +0.2.0 - 18 July 2002 + * ETA counter added + * screen width estimation added + * progress bar added + +0.1.0 - 17 July 2002 + * main loop created + * rate counter added + * elapsed time counter added + * percentage calculation added + +0.0.1 - 16 July 2002 + * package created + * first draft of man page written diff --git a/doc/TODO b/doc/TODO deleted file mode 100644 index 70e2fa3..0000000 --- a/doc/TODO +++ /dev/null @@ -1,55 +0,0 @@ -Things still to do. (GH#n) indicates the Github issue tracker number. - -Bugs: - - - (GH#5) Transfer IPC leadership on exit of leader - - (GH#13) Use clock_gettime() in ETA calculation to cope with machine suspend/resume (Mateju Miroslav) - - (GH#16) Show days in same format in ETA as in elapsed time - - (GH#18) No output in Cygwin from 1.6.19 onwards (Jacek M. Holeczek) - - (GH#19) No output in Arch Linux initcpio after 1.6.6 (lacsaP) - - (GH#20) Terminal state is not restored correctly in all cases (VA) - - (GH#23) No output with -f when run in background after 1.6.6 (gray) - - (GH#24) Race condition with multiple "pv -c" leaves terminal state inconsistent (Lars Ellenberg, Viktor Ashirov) - - (GH#26) Correct "-n" behaviour when going past 100% of "-s" size (Marcel) - - (GH#27) Rate limit downgrade can take a long time to take effect (Stephen Kitt) - - (GH#31) No output written from inside zsh <() construct (Frederik Eaton - Dec 2015) - - (GH#32) Apply rate limits instantaneously, not averaged over the whole transfer (Jered Floyd - Dec 2018) - - (GH#33) Fix compilation problems due to stat64() on Apple Silicon (Filippo Valsorda - Jan 2021) - - (GH#34) Continue timer even if input or output is blocking (Martin Probst - Jun 2017) - -Feature requests: - - - (GH#3) Option (-x?) to use xterm title line for status (Joachim Haga) - - (GH#4) Option for process title (Martin Sarsale) as "pv - name:FooProcess -xyz - transferred: 1.3GB - 500KB/s - running: 10:15:30s" - - (GH#6) Look at effect of O_SYNC or fsync on performance; update counters during buffer flush ( - - (GH#9) Option to switch rate to per minute if really slow - - (GH#10) Add watchfd tests - - (GH#11) Option "--progress-from FILE", read last number and use it as bytes read (Jacek Wielemborek) - - (GH#12) Allow multiple -d options (Linus Heckemann for multiple PID:FD; Jacek Wielemborek) - - (GH#14) Momentary ETA option (Luc Gommans) - - (GH#15) Use Unicode for more granular progress bar (Alexander Petrossian) - - (GH#17) Allow -r with -l and -n to output lines/sec (Roland Kletzing) - - (GH#21) Options to change the units in the rate display (Jeffrey Paul, John W. O'Brien, David Henderson) - - (GH#22) Options to skip input and seek on output (Jason A. Pfeil, Feb 2022) - - (GH#25) Normalise progress to 100% on overrun (Andrej Gantvorg) - - (GH#28) Calculate ETA based on current average rate instead of global average (Matt, Christoph Biedl) - - (GH#29) Option to enable O_DIRECT (Romain Kang, Jacek Wielemborek) - - (GH#30) Option for dynamic interval to improve ETA predictions for long-running transfers (Christoph Biedl) - - (GH#35) Allow decimal values for -s, -L, -B (Thomas Watson - Aug 2020) - - (GH#36) Ignore SIGWINCH (window size change) if -w / -H provided - - (GH#37) Allow -E to take a block size argument so errors cause a skip to the next block (Anthony DeRobertis - Oct 2016) - - (GH#38) Reset ETA on SIGUSR1 (Jacek Wielemborek - Jan 2019) - - (GH#39) Use posix_fadvise() like cat(1) does (Jacek Wielemborek - Oct 2015) - - (GH#40) Permit -c with -d PID:FD, reject -N with -d PID (Norman Rasmussen - Nov 2020) - - (GH#41) Improve how backwards-moving reads are shown in --watchfd (Ryan Cooley - Dec 2017) - - (GH#42) Option to discard stdin so nothing is written to stdout (André Stapf - Apr 2017) - - (GH#43) Differentiate between "--eta" and "--fineta" in display (André Stapf - Apr 2017) - - (GH#44) Specify size for "-s" by pointing to a filename to use the size of - - (GH#45) Option --sparse (with block size option) to write sparse output (Andriy Galetski - Apr 2019) - - (GH#46) Option to show speed gauge (% max speed) if progress not known (Ryan Cooley - Jun 2019) - - (GH#47) Analyse splice and buffer usage to improve performance - - (GH#48) Option to show multiple files with individual sizes and a cumulative total (Zach Riggle - Jul 2021) - - (GH#49) Option to provide stats for avg/min/max/stddev throughput (Venky.N.Iyer) - - (GH#50) Allow pv to report on a whole pipeline at once (Will Entriken - Feb 2011) - -Any assistance would be appreciated. diff --git a/doc/TODO.md b/doc/TODO.md new file mode 100644 index 0000000..3ae471f --- /dev/null +++ b/doc/TODO.md @@ -0,0 +1,57 @@ +Things still to do. (GH#n) indicates the Github issue tracker number. + +Bugs +---- + + * (GH#5) Transfer IPC leadership on exit of leader + * (GH#13) Use `clock_gettime()` in ETA calculation to cope with machine suspend/resume (Mateju Miroslav) + * (GH#16) Show days in same format in ETA as in elapsed time + * (GH#18) No output in Cygwin from 1.6.19 onwards (Jacek M. Holeczek) + * (GH#19) No output in Arch Linux initcpio after 1.6.6 (lacsaP) + * (GH#20) Terminal state is not restored correctly in all cases (VA) + * (GH#23) No output with "`-f`" when run in background after 1.6.6 (gray) + * (GH#24) Race condition with multiple "`pv -c`" leaves terminal state inconsistent (Lars Ellenberg, Viktor Ashirov) + * (GH#26) Correct "`-n`" behaviour when going past 100% of "`-s`" size (Marcel) + * (GH#27) Rate limit downgrade can take a long time to take effect (Stephen Kitt) + * (GH#31) No output written from inside zsh `<()` construct (Frederik Eaton - Dec 2015) + * (GH#32) Apply rate limits instantaneously, not averaged over the whole transfer (Jered Floyd - Dec 2018) + * (GH#33) Fix compilation problems due to `stat64()` on Apple Silicon (Filippo Valsorda - Jan 2021) + * (GH#34) Continue timer even if input or output is blocking (Martin Probst - Jun 2017) + +Feature requests +---------------- + + * (GH#3) Option (-x?) to use xterm title line for status (Joachim Haga) + * (GH#4) Option for process title (Martin Sarsale) as "`pv - name:FooProcess -xyz - transferred: 1.3GB - 500KB/s - running: 10:15:30s`" + * (GH#6) Look at effect of `O_SYNC` or `fsync` on performance; update counters during buffer flush + * (GH#9) Option to switch rate to per minute if really slow + * (GH#10) Add watchfd tests + * (GH#11) Option "`--progress-from FILE`", read last number and use it as bytes read (Jacek Wielemborek) + * (GH#12) Allow multiple "`-d`" options (Linus Heckemann for multiple PID:FD; Jacek Wielemborek) + * (GH#14) Momentary ETA option (Luc Gommans) + * (GH#15) Use Unicode for more granular progress bar (Alexander Petrossian) + * (GH#17) Allow "`-r`" with "`-l`" and "`-n`" to output lines/sec (Roland Kletzing) + * (GH#21) Options to change the units in the rate display (Jeffrey Paul, John W. O'Brien, David Henderson) + * (GH#22) Options to skip input and seek on output (Jason A. Pfeil, Feb 2022) + * (GH#25) Normalise progress to 100% on overrun (Andrej Gantvorg) + * (GH#28) Calculate ETA based on current average rate instead of global average (Matt, Christoph Biedl) + * (GH#29) Option to enable O_DIRECT (Romain Kang, Jacek Wielemborek) + * (GH#30) Option for dynamic interval to improve ETA predictions for long-running transfers (Christoph Biedl) + * (GH#35) Allow decimal values for "`-s`", "`-L`", "`-B`" (Thomas Watson - Aug 2020) + * (GH#36) Ignore SIGWINCH (window size change) if "`-w`" / "`-H`" provided + * (GH#37) Allow "`-E`" to take a block size argument so errors cause a skip to the next block (Anthony DeRobertis - Oct 2016) + * (GH#38) Reset ETA on `SIGUSR1` (Jacek Wielemborek - Jan 2019) + * (GH#39) Use `posix_fadvise()` like `cat`(1) does (Jacek Wielemborek - Oct 2015) + * (GH#40) Permit "`-c`" with "`-d PID:FD`", reject "`-N`" with "`-d PID`" (Norman Rasmussen - Nov 2020) + * (GH#41) Improve how backwards-moving reads are shown in "`--watchfd`" (Ryan Cooley - Dec 2017) + * (GH#42) Option to discard stdin so nothing is written to stdout (André Stapf - Apr 2017) + * (GH#43) Differentiate between "`--eta`" and "`--fineta`" in display (André Stapf - Apr 2017) + * (GH#44) Specify size for "`-s`" by pointing to a filename to use the size of + * (GH#45) Option "`--sparse`" (with block size option) to write sparse output (Andriy Galetski - Apr 2019) + * (GH#46) Option to show speed gauge (% max speed) if progress not known (Ryan Cooley - Jun 2019) + * (GH#47) Analyse splice and buffer usage to improve performance + * (GH#48) Option to show multiple files with individual sizes and a cumulative total (Zach Riggle - Jul 2021) + * (GH#49) Option to provide stats for avg/min/max/stddev throughput (Venky.N.Iyer) + * (GH#50) Allow pv to report on a whole pipeline at once (Will Entriken - Feb 2011) + +Any assistance would be appreciated.