UNRELEASED * The "`--watchfd`" option will now show relative filenames, if they are under the current directory (patch supplied by [ikasty](https://github.com/ikasty)) * 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