- Revert the
terminal
API and keep an "happy" path to get size of a tty and be compatible with MirageOS (@art-w, @msprotz, #42, #43) - Use a
float
instead of aint
inflow_meter per-second
(@mbarbin, #23, #27)
- Be compatible with MirageOS and remove
ocaml_terminal_get_sigwinch
(@art-w, #38) - Clear all lines in
interject_with
(@Gbury, #30) - Add
Display.remove_line
(@mbarbin, #26) - Fix compilation for OCaml 5.2 (reported by @Gbury, fixed by @dinosaure, #40)
- Add
Display.{pause,resume}
(@Gbury, #37)
- Fix lower bounds on UTF-8 libraries (@craigfe, 42759d5)
- Fix removed functions in
mtime.2.0.0
(@patricoferris, #31) - Use actual printer width for elapsed segment (@lsdch, #28)
- Fix the count segment of
Progress.counter
(whenpp
is passed) to show the running total rather than the latest reported value. (#19; @CraigFe, report by @Ngoguey42) - Fix
Terminal
stubs on MacOS. (#13; @CraigFe, report by @Ngoguey42) - Fix package tests on Windows.
Progress
does not yet support the Windows and Cygwin terminals; this is tracked by #16. (#15; @emillon)
Major update of the API, including a number of new features:
- Rename the
Segment
module toLine
, and improve the set of primitives for progress bar construction significantly. This includes time-sensitive segments (e.gbytes_per_sec
,eta
) and padding segments (lpad
andrpad
). - Add
Progress.interject_with
for interleaving logging with rendering, and functions for usingProgress
withLogs
reporters. - Add support for adding lines to an ongoing rendering process via
Display
. - Improve the behaviour of the rendering core: handle terminal width changes / respond to user input etc. more cleanly.
- Add many more examples and general improvements to the documentation.
- Extract terminal-specific utilities to a new
Terminal
package.
Also contains a number of smaller fixes:
- Fix the display of minutes and seconds of
Progress.Units.seconds
andProgress_unix.counter
. (#6, @Ngoguey42) - Raise an exception when attempting to run separate render processes simultaneously. (#8, @CraigFe)
- Rename
Progress.with_display
toProgress.with_reporters
. (#3, @CraigFe) - Change the default display mode of progress bars to
ASCII
rather thanUTF8
. (#2, @CraigFe) - Change
Segment.box_dynamic
to take a function rather than a reference. (#1, @CraigFe) - Fix a bug causing multi-line layouts to occasionally not adapt to terminal size changes. (#1, @CraigFe)
Initial release.