Adjusted Markdown formatting.

This commit is contained in:
Andrew Wood
2024-10-05 20:52:15 +01:00
parent 0994dd4070
commit c4cf410a59
+163 -163
View File
@@ -1,97 +1,97 @@
### UNRELEASED
* feature: new "`--store-and-forward`" option to read input to a file first, then write it to the output ([#100](https://codeberg.org/a-j-wood/pv/issues/100))
* feature: new "`--stats`" option to show transfer stats at the end, like "`ping`" ([#49](https://codeberg.org/a-j-wood/pv/issues/49))
* feature: "`--rate`" can now be used with "`--numeric`" ([#17](https://codeberg.org/a-j-wood/pv/issues/17))
* feature: "`--gauge`" with "`--progress`" to show rate gauge when size is unknown ([#46](https://codeberg.org/a-j-wood/pv/issues/46))
* i18n: complete set of German translations supplied by Hartmut Goebel ([#98](https://codeberg.org/a-j-wood/pv/pulls/98))
* fix: resume stopped pipelines when running in the background (part of [#56](https://codeberg.org/a-j-wood/pv/issues/56))
* fix: prefix completion time ("`--fineta`") with *FIN* rather than *ETA* ([#43](https://codeberg.org/a-j-wood/pv/issues/43))
* fix: surround average rate ("`--average-rate`") with brackets rather than square brackets
* fix: correct a memory leak in "`--watchfd PID`"
* fix: make "`--direct-io`" work correctly with "`--output`" instead of assuming stdout
* fix: call `posix_fadvise()` on every input, not just the first one
* fix: write UTC timestamps in debugging mode to avoid lockups in signal handlers
* security: added a signed "`MANIFEST`" file to releases
* cleanup: removed TODO.md, since it's just an outdated copy of the issue tracker
* cleanup: re-ordered structure members to reduce padding
* cleanup: improved readability of SIGTTOU handling code
* cleanup: refactored to separate display, transfer, and calculation more cleanly
* cleanup: instead of moving stderr when backgrounded, set a suspend-output flag
* *feature:* new **--store-and-forward** option to read input to a file first, then write it to the output ([#100](https://codeberg.org/a-j-wood/pv/issues/100))
* *feature:* new **--stats** option to show transfer stats at the end, like "`ping`" ([#49](https://codeberg.org/a-j-wood/pv/issues/49))
* *feature:* **--rate** can now be used with **--numeric** ([#17](https://codeberg.org/a-j-wood/pv/issues/17))
* *feature:* **--gauge** with **--progress** to show rate gauge when size is unknown ([#46](https://codeberg.org/a-j-wood/pv/issues/46))
* *i18n:* comprehensive German translations update from Hartmut Goebel ([#98](https://codeberg.org/a-j-wood/pv/pulls/98))
* *fix:* resume stopped pipelines when running in the background (part of [#56](https://codeberg.org/a-j-wood/pv/issues/56))
* *fix:* prefix completion time (**--fineta**) with *FIN* rather than *ETA* ([#43](https://codeberg.org/a-j-wood/pv/issues/43))
* *fix:* surround average rate (**--average-rate**) with brackets rather than square brackets
* *fix:* correct a memory leak in **--watchfd PID**
* *fix:* make **--direct-io** work correctly with **--output** instead of assuming stdout
* *fix:* call `posix_fadvise()` on every input, not just the first one
* *fix:* write UTC timestamps in debugging mode to avoid lockups in signal handlers
* *security:* added a signed *MANIFEST* file to releases
* *cleanup:* removed TODO.md, since it's just an outdated copy of the issue tracker
* *cleanup:* re-ordered structure members to reduce padding
* *cleanup:* improved readability of *SIGTTOU* handling code
* *cleanup:* refactored to separate display, transfer, and calculation more cleanly
* *cleanup:* instead of moving stderr when backgrounded, set a suspend-output flag
### 1.8.14 - 7 September 2024
* fix: correct double-free on exit when using "`--watchfd`" ([#96](https://codeberg.org/a-j-wood/pv/issues/96)) reported by [jettero](https://codeberg.org/jettero)
* *fix:* correct double-free on exit when using **--watchfd** ([#96](https://codeberg.org/a-j-wood/pv/issues/96)) reported by [jettero](https://codeberg.org/jettero)
### 1.8.13 - 18 August 2024
* feature: when using "`--size @FILE`", _FILE_ can be a block device, and its size will be used (pull request [#94](https://codeberg.org/a-j-wood/pv/pulls/94)) supplied by [alexanderperlis](https://codeberg.org/alexanderperlis)
* *feature:* when using **--size @FILE**, *FILE* can be a block device, and its size will be used (pull request [#94](https://codeberg.org/a-j-wood/pv/pulls/94)) supplied by [alexanderperlis](https://codeberg.org/alexanderperlis)
### 1.8.12 - 18 July 2024
* fix: correct the detection of output block device size that was broken in 1.8.10 ([#91](https://codeberg.org/a-j-wood/pv/issues/91))
* fix: do not treat a zero/interrupted write as an end of file (pull requests [#92](https://codeberg.org/a-j-wood/pv/pulls/92) and [#93](https://codeberg.org/a-j-wood/pv/pulls/93))
* *fix:* correct the detection of output block device size that was broken in 1.8.10 ([#91](https://codeberg.org/a-j-wood/pv/issues/91))
* *fix:* do not treat a zero/interrupted write as an end of file (pull requests [#92](https://codeberg.org/a-j-wood/pv/pulls/92) and [#93](https://codeberg.org/a-j-wood/pv/pulls/93))
### 1.8.10 - 15 June 2024
* feature: new "`--output`" option to write to a file instead of standard output (pull request [#90](https://codeberg.org/a-j-wood/pv/pulls/90)) supplied by [xmort](https://codeberg.org/xmort)
* *feature:* new **--output** option to write to a file instead of standard output (pull request [#90](https://codeberg.org/a-j-wood/pv/pulls/90)) supplied by [xmort](https://codeberg.org/xmort)
### 1.8.9 - 21 April 2024
* feature: new "`--si`" option to display and interpret size suffixes in multiples of 1000 rather than 1024 (pull request [#85](https://codeberg.org/a-j-wood/pv/pulls/85)) supplied by [kevinruddy](https://codeberg.org/kevinruddy)
* fix: continue producing progress output when the output is blocking writes ([#34](https://codeberg.org/a-j-wood/pv/issues/34), [#86](https://codeberg.org/a-j-wood/pv/issues/86), [#87](https://codeberg.org/a-j-wood/pv/issues/87))
* fix: honour the _TMPDIR_ / _TMP_ environment variables again, rather than hard-coding "`/tmp`", when using a terminal lock file (originally removed in 1.8.0) ([#88](https://codeberg.org/a-j-wood/pv/issues/88))
* i18n: corrections and missing strings added to French translations (pull request [#83](https://codeberg.org/a-j-wood/pv/pulls/83)) supplied by [Thomas Bertels](https://codeberg.org/tbertels)
* *feature:* new **--si** option to display and interpret size suffixes in multiples of 1000 rather than 1024 (pull request [#85](https://codeberg.org/a-j-wood/pv/pulls/85)) supplied by [kevinruddy](https://codeberg.org/kevinruddy)
* *fix:* continue producing progress output when the output is blocking writes ([#34](https://codeberg.org/a-j-wood/pv/issues/34), [#86](https://codeberg.org/a-j-wood/pv/issues/86), [#87](https://codeberg.org/a-j-wood/pv/issues/87))
* *fix:* honour the *TMPDIR* / *TMP* environment variables again, rather than hard-coding "`/tmp`", when using a terminal lock file (originally removed in 1.8.0) ([#88](https://codeberg.org/a-j-wood/pv/issues/88))
* *i18n:* corrections and missing strings added to French translations (pull request [#83](https://codeberg.org/a-j-wood/pv/pulls/83)) supplied by [Thomas Bertels](https://codeberg.org/tbertels)
### 1.8.5 - 19 November 2023
* fix: corrected percentage formatting so it doesn't jump from 2 to 3 characters wide at 100% ([#80](https://codeberg.org/a-j-wood/pv/issues/80))
* fix: replaced "`--remote`" mechanism, using a temporary file instead of SysV IPC, so it can work reliably even when there are multiple PV instances
* fix: corrected compilation failure when without IPC support
* security: addressed all issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see "`make analyse`") ([#77](https://codeberg.org/a-j-wood/pv/issues/77))
* cleanup: compilation warnings fixed on non-IPC and MacOS systems
* *fix:* corrected percentage formatting so it doesn't jump from 2 to 3 characters wide at 100% ([#80](https://codeberg.org/a-j-wood/pv/issues/80))
* *fix:* replaced **--remote** mechanism, using a temporary file instead of SysV IPC, so it can work reliably even when there are multiple PV instances
* *fix:* corrected compilation failure when without IPC support
* *security:* addressed all issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see "`make analyse`") ([#77](https://codeberg.org/a-j-wood/pv/issues/77))
* *cleanup:* compilation warnings fixed on non-IPC and MacOS systems
### 1.8.0 - 24 September 2023
#### Features
* feature: new "`--discard`" option to discard input as if writing to */dev/null* ([#42](https://codeberg.org/a-j-wood/pv/issues/42))
* feature: new "`--error-skip-block`" option to make "`--skip-errors`" skip whole blocks ([#37](https://codeberg.org/a-j-wood/pv/issues/37))
* feature: use `posix_fadvise()` like `cat`(1) does, to improve efficiency ([#39](https://codeberg.org/a-j-wood/pv/issues/39))
* feature: new "`--enable-static`" option to "`configure`" for static builds ([#75](https://codeberg.org/a-j-wood/pv/pull/75))
* *feature:* new **--discard** option to discard input as if writing to */dev/null* ([#42](https://codeberg.org/a-j-wood/pv/issues/42))
* *feature:* new **--error-skip-block** option to make **--skip-errors** skip whole blocks ([#37](https://codeberg.org/a-j-wood/pv/issues/37))
* *feature:* use `posix_fadvise()` like `cat`(1) does, to improve efficiency ([#39](https://codeberg.org/a-j-wood/pv/issues/39))
* *feature:* new **--enable-static** option to "`configure`" for static builds ([#75](https://codeberg.org/a-j-wood/pv/pull/75))
#### Security
* security: with "`--pidfile`", write to a temporary file and rename it into place, to improve security
* security: keep self-contained copies of name and format string in PV internal state for memory safety
* security: ignore _TMP_ / _TMPDIR_ environment variables when using a terminal lock file
* *security:* with **--pidfile**, write to a temporary file and rename it into place, to improve security
* *security:* keep self-contained copies of name and format string in PV internal state for memory safety
* *security:* ignore *TMP* / *TMPDIR* environment variables when using a terminal lock file
#### Fixes
* fix: only report errors about missing files when starting to transfer from them, not while calculating size, and behave more like `cat`(1) by skipping them and moving on
* fix: auto-calculate total line count with "`--line-mode`" when all inputs are regular files
* fix: use `clock_gettime()` in ETA calculation to cope with machine suspend/resume ([#13](https://codeberg.org/a-j-wood/pv/issues/13))
* fix: if "`--width`" or "`--height`" were provided, do not change them when the window size changes ([#36](https://codeberg.org/a-j-wood/pv/issues/36))
* fix: when a file descriptor position in "`--watchfd`" moves backwards, show the rate using the correct prefix ([#41](https://codeberg.org/a-j-wood/pv/issues/41))
* fix: rewrite terminal state save/restore so state is not intermittently garbled on exit when using "`--cursor`" ([#20](https://codeberg.org/a-j-wood/pv/issues/20)), ([#24](https://codeberg.org/a-j-wood/pv/issues/24))
* *fix:* only report errors about missing files when starting to transfer from them, not while calculating size, and behave more like `cat`(1) by skipping them and moving on
* *fix:* auto-calculate total line count with **--line-mode** when all inputs are regular files
* *fix:* use `clock_gettime()` in ETA calculation to cope with machine suspend/resume ([#13](https://codeberg.org/a-j-wood/pv/issues/13))
* *fix:* if **--width** or **--height** were provided, do not change them when the window size changes ([#36](https://codeberg.org/a-j-wood/pv/issues/36))
* *fix:* when a file descriptor position in **--watchfd** moves backwards, show the rate using the correct prefix ([#41](https://codeberg.org/a-j-wood/pv/issues/41))
* *fix:* rewrite terminal state save/restore so state is not intermittently garbled on exit when using **--cursor** ([#20](https://codeberg.org/a-j-wood/pv/issues/20)), ([#24](https://codeberg.org/a-j-wood/pv/issues/24))
#### Cleanups
* cleanup: addressed many potential issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see new target "`make analyse`")
* cleanup: switched the build system to GNU Automake
* cleanup: replaced the test harness with the one native to GNU Automake
* cleanup: added a test for terminal width detection to "`make check`"
* cleanup: added a test to "`make check`" to ensure that "`make install`" installs everything expected
* cleanup: replaced *AC_HEADER_TIOCGWINSZ* with *AC_CHECK_HEADERS(sys/ioctl.h)* for better MacOS compatibility ([#74](https://codeberg.org/a-j-wood/pv/issues/74))
* cleanup: with "`--sync`", call `fsync()` instead of `fdatasync()` on incapable systems ([#73](https://codeberg.org/a-j-wood/pv/issues/73))
* cleanup: the manual is now a static file instead of needing to be built with "`configure`"
* *cleanup:* addressed many potential issues highlighted by the software auditing tools "`splint`" and "`flawfinder`" (see new target "`make analyse`")
* *cleanup:* switched the build system to GNU Automake
* *cleanup:* replaced the test harness with the one native to GNU Automake
* *cleanup:* added a test for terminal width detection to "`make check`"
* *cleanup:* added a test to "`make check`" to ensure that "`make install`" installs everything expected
* *cleanup:* replaced *AC_HEADER_TIOCGWINSZ* with *AC_CHECK_HEADERS(sys/ioctl.h)* for better MacOS compatibility ([#74](https://codeberg.org/a-j-wood/pv/issues/74))
* *cleanup:* with **--sync**, call `fsync()` instead of `fdatasync()` on incapable systems ([#73](https://codeberg.org/a-j-wood/pv/issues/73))
* *cleanup:* the manual is now a static file instead of needing to be built with "`configure`"
#### Dropped items
* dropped: dropped support for "`--enable-static-nls`"
* dropped: removed the Linux Software Map file, as the LSM project appears to be long dead
* dropped: will no longer publish to SourceForge as it has a chequered history and is unnecessary
* dropped: removed project from GitHub and moved to Codeberg - see "[Give Up GitHub](https://giveupgithub.org/)"
* *dropped:* dropped support for **--enable-static-nls**
* *dropped:* removed the Linux Software Map file, as the LSM project appears to be long dead
* *dropped:* will no longer publish to SourceForge as it has a chequered history and is unnecessary
* *dropped:* removed project from GitHub and moved to Codeberg - see "[Give Up GitHub](https://giveupgithub.org/)"
#### Other items
@@ -99,89 +99,89 @@
### 1.7.24 - 30 July 2023
* fix: correct terminal size detection, broken in 1.7.17 by the configuration script rewrite ([#72](https://codeberg.org/a-j-wood/pv/issues/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
* *fix:* correct terminal size detection, broken in 1.7.17 by the configuration script rewrite ([#72](https://codeberg.org/a-j-wood/pv/issues/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
### 1.7.18 - 28 July 2023
* fix: language file installation had been broken by the configuration script rewrite
* *fix:* language file installation had been broken by the configuration script rewrite
### 1.7.17 - 27 July 2023
* feature: new "`--sync`" option to flush cache to disk after every write (related to [#6](https://codeberg.org/a-j-wood/pv/issues/6), to improve accuracy when writing to slow disks)
* feature: new "`--direct-io`" option to bypass cache - implements [#29 "Option to enable *O_DIRECT*"](https://codeberg.org/a-j-wood/pv/issues/29) - 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()` and `snprintf()` with a new wrapper function `pv_snprintf()` to improve security and compatibility
* cleanup: replace all calls to `strcat()` with a wrapper `pv_strlcat()` to improve security and compatibility
* cleanup: replace all `write()` calls to the terminal with a wrapper `pv_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](https://www.shellcheck.net)
* *feature:* new **--sync** option to flush cache to disk after every write (related to [#6](https://codeberg.org/a-j-wood/pv/issues/6), to improve accuracy when writing to slow disks)
* *feature:* new **--direct-io** option to bypass cache - implements [#29 "Option to enable O_DIRECT"](https://codeberg.org/a-j-wood/pv/issues/29) - 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()` and `snprintf()` with a new wrapper function `pv_snprintf()` to improve security and compatibility
* *cleanup:* replace all calls to `strcat()` with a wrapper `pv_strlcat()` to improve security and compatibility
* *cleanup:* replace all `write()` calls to the terminal with a wrapper `pv_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](https://www.shellcheck.net)
### 1.7.0 - 17 July 2023
* 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](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
* feature: the "`--watchfd`" option is now available on OS X (pull request [#60](https://codeberg.org/a-j-wood/pv/pull/60) supplied by [christoph-zededa](https://github.com/christoph-zededa))
* feature: new "`--bits`" option to show bit count instead of byte count (adapted from pull request [#63](https://codeberg.org/a-j-wood/pv/pull/63) supplied by [Nick Black](https://nick-black.com))
* 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](https://codeberg.org/a-j-wood/pv/pull/65) supplied by [lemonsqueeze](https://github.com/lemonsqueeze))
* feature: the "`--watchfd`" option will now show relative filenames, if they are under the current directory (pull request [#66](https://codeberg.org/a-j-wood/pv/pull/66) supplied by [ikasty](https://github.com/ikasty))
* fix: correction to `pv_in_foreground()` to behave as its comment block says it should, when not on a terminal - corrects [#19 "No output in Arch Linux initcpio after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/19), [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31), [#55 "pv Stopped Working in the Background"](https://codeberg.org/a-j-wood/pv/issues/55) (pull request [#64](https://codeberg.org/a-j-wood/pv/pull/64) supplied by [Michael Weiß](https://github.com/quitschbo))
* fix: workaround for OS X 11 behaviour in configure script regarding stat64 at compile time (pull request [#57](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
* fix: workaround for macOS equivalence of stat to stat64 - patches from [Filippo Valsorda](https://github.com/FiloSottile) and [Demitri Muna](https://github.com/demitri), correcting [#33 "Fix compilation problems due to `stat64()` on Apple Silicon"](https://codeberg.org/a-j-wood/pv/issues/33)
* fix: add burst rate limit to transfer, so rate limits are not broken by bursty traffic (pull request [#62](https://codeberg.org/a-j-wood/pv/pull/62) supplied by [Volodymyr Bychkovyak](https://github.com/vbychkoviak))
* fix: corrected "`--force`" option so it will still output progress when not in the same process group as the owner of the terminal - corrects [#23 "No output with "`-f`" when run in background after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/23) and helps to correct [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31)
* fix: corrected elapsed time display to show as D:HH:MM:SS after 1 day, like the ETA does - corrects [#16 "Show days in same format in ETA as in elapsed time"](https://codeberg.org/a-j-wood/pv/issues/16)
* fix: corrected bug where percentages went down after 100% when in "`--numeric`" mode with a "`--size`" that was too small - corrects [#26 "Correct "`-n`" behaviour when going past 100% of "`-s`" size"](https://codeberg.org/a-j-wood/pv/issues/26)
* 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
* *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](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
* *feature:* the **--watchfd** option is now available on OS X (pull request [#60](https://codeberg.org/a-j-wood/pv/pull/60) supplied by [christoph-zededa](https://github.com/christoph-zededa))
* *feature:* new **--bits** option to show bit count instead of byte count (adapted from pull request [#63](https://codeberg.org/a-j-wood/pv/pull/63) supplied by [Nick Black](https://nick-black.com))
* *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](https://codeberg.org/a-j-wood/pv/pull/65) supplied by [lemonsqueeze](https://github.com/lemonsqueeze))
* *feature:* the **--watchfd** option will now show relative filenames, if they are under the current directory (pull request [#66](https://codeberg.org/a-j-wood/pv/pull/66) supplied by [ikasty](https://github.com/ikasty))
* *fix:* correction to `pv_in_foreground()` to behave as its comment block says it should, when not on a terminal - corrects [#19 "No output in Arch Linux initcpio after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/19), [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31), [#55 "pv Stopped Working in the Background"](https://codeberg.org/a-j-wood/pv/issues/55) (pull request [#64](https://codeberg.org/a-j-wood/pv/pull/64) supplied by [Michael Weiß](https://github.com/quitschbo))
* *fix:* workaround for OS X 11 behaviour in configure script regarding stat64 at compile time (pull request [#57](https://codeberg.org/a-j-wood/pv/pull/57) supplied by [Dave Beckett](https://github.com/dajobe))
* *fix:* workaround for macOS equivalence of stat to stat64 - patches from [Filippo Valsorda](https://github.com/FiloSottile) and [Demitri Muna](https://github.com/demitri), correcting [#33 "Fix compilation problems due to `stat64()` on Apple Silicon"](https://codeberg.org/a-j-wood/pv/issues/33)
* *fix:* add burst rate limit to transfer, so rate limits are not broken by bursty traffic (pull request [#62](https://codeberg.org/a-j-wood/pv/pull/62) supplied by [Volodymyr Bychkovyak](https://github.com/vbychkoviak))
* *fix:* corrected **--force** option so it will still output progress when not in the same process group as the owner of the terminal - corrects [#23 "No output with "-f" when run in background after 1.6.6"](https://codeberg.org/a-j-wood/pv/issues/23) and helps to correct [#31 "No output written from inside zsh <() construct"](https://codeberg.org/a-j-wood/pv/issues/31)
* *fix:* corrected elapsed time display to show as D:HH:MM:SS after 1 day, like the ETA does - corrects [#16 "Show days in same format in ETA as in elapsed time"](https://codeberg.org/a-j-wood/pv/issues/16)
* *fix:* corrected bug where percentages went down after 100% when in **--numeric** mode with a **--size** that was too small - corrects [#26 "Correct "-n" behaviour when going past 100% of "-s" size"](https://codeberg.org/a-j-wood/pv/issues/26)
* *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
### 1.6.20 - 12 September 2021
* fix: add missing `stddef.h` include to `number.c` (Sam James)
* *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
* *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) 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) (#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)
* (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
@@ -189,22 +189,22 @@ Full changelog is below:
### 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é)
* (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)
* (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)
* (#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
* 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
@@ -220,25 +220,25 @@ Full changelog is below:
### 1.5.2 - 10 February 2014
* allow "`--watchfd`" to look at block devices
* let "`--watchfd PID:FD`" work with "`--size N`"
* 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"
* 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`"
* 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
* 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
* 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
@@ -249,41 +249,41 @@ Full changelog is below:
### 1.4.5 - 10 January 2013
* updated manual page to show known problem with "`-R`" on Cygwin
* updated manual page to show known problem with **-R** on Cygwin
### 1.4.4 - 11 December 2012
* added debugging, see "`pv -h`" when `configure` is run with "`--enable-debugging`"
* added debugging, see "`pv -h`" when `configure` is 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
* 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
* 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`"
* 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)
* 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
* new **--disable-splice** configure script option
* fixed line mode size count with multiple files (Moritz Barsnick)
* fixes for AIX core dumps (Pawel Piatek)
@@ -306,10 +306,10 @@ Full changelog is below:
### 1.2.0 - 14 December 2010
* integrated improved SI prefixes and "`--average-rate`" (Henry Gebhardt)
* 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)
* 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
@@ -323,13 +323,13 @@ Full changelog is below:
* 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)
* 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
* 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`"
@@ -338,7 +338,7 @@ Full changelog is below:
### 1.0.1 - 4 August 2007
* licensing change from Artistic to Artistic 2.0
* removed the "`-l`" / "`--license`" option
* removed the **-l** / **--license** option
### 1.0.0 - 2 August 2007
@@ -348,7 +348,7 @@ Full changelog is below:
### 0.9.9 - 5 February 2007
* new option "`--buffer-size`" ("`-B`") suggested by Mark Tomich
* 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)
@@ -357,7 +357,7 @@ Full changelog is below:
### 0.9.6 - 27 February 2006
* bugfix: `key_t` incompatibility with Cygwin
* bugfix: interval ("`-i`") parameter parses numbers after decimal point
* 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
@@ -375,7 +375,7 @@ Full changelog is below:
### 0.8.9 - 6 November 2004
* decimal values now accepted for rate and size, eg "`-L 1.23M`"
* decimal values now accepted for rate and size, eg **-L 1.23M**
* code cleanup
* developers: "`make help`" now lists Makefile targets
@@ -385,9 +385,9 @@ Full changelog is below:
### 0.8.5 - 2 May 2004
* cursor positioning ("`-c`") reliability improved on systems with IPC
* cursor positioning (**-c**) reliability improved on systems with IPC
* minor fix: made test 005 more reliable
* new option "`--height`" ("`-H`")
* new option **--height** (**-H**)
### 0.8.2 - 24 April 2004
@@ -396,7 +396,7 @@ Full changelog is below:
### 0.8.1 - 19 April 2004
* bugfix in cursor positioning ("`-c`")
* bugfix in cursor positioning (**-c**)
### 0.8.0 - 12 February 2004
@@ -408,7 +408,7 @@ Full changelog is below:
### 0.7.0 - 8 February 2004
* display buffer management fixes (thanks Cédric Delfosse)
* replaced "`--enable-debug`" with "`--enable-debugging`" and "`--enable-profiling`"
* replaced **--enable-debug** with **--enable-debugging** and **--enable-profiling**
### 0.6.4 - 14 January 2004
@@ -472,11 +472,11 @@ Full changelog is below:
* 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
* 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`"
* don't output final blank line if **--numeric**
* use `fcntl()` instead of `flock()` for Solaris compatibility
### 0.3.0 - 25 November 2002
@@ -489,11 +489,11 @@ Full changelog is below:
* 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
* 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`"
* 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