Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

28.0.0 (2023-12-29)

Chore (BREAKING)

  • upgrade ratatui and crosstermion to latest versions.

Commit Statistics

  • 1 commit contributed to the release.
  • 21 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Upgrade ratatui and crosstermion to latest versions. (18686db)

27.0.0 (2023-12-07)

New Features

  • Change duration formatting to be more human readable. Note that this changes duration output from something like 69d10h40m to 69d 10h 40m.

Reverted (BREAKING)

  • All termion-related features are now removed and obsolete. After the most recent update, certion event-related features in crosstermion stopped working in the context of the GUI, so it's probably best to let it go.

    By now, crosstermion is also very much a more portable replacement.

Commit Statistics

  • 8 commits contributed to the release over the course of 44 calendar days.
  • 89 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

26.2.2 (2023-09-09)

This release relaxes trait-bounds of Count, Progress and NestedProgress to allow ?Sized as well.

Commit Statistics

  • 5 commits contributed to the release.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v26.2.2 (bb1eadf)
    • Prepare next release (414506d)
    • Merge pull request #24 from NobodyXu/fix/dyn (c905d5c)
    • Relax bound of Progress, Count impl for DynNestedProgressToNestedProgress (967ea46)
    • Fix use of DynNestedProgress as trait object (7eb69ac)

26.2.1 (2023-09-06)

Bug Fixes

  • Add missing forwardings for various methods. Not having these could lead to incorrect thoughput display.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v26.2.1 (f37161f)
    • Add missing forwardings for various methods. (53ea2b8)

26.2.0 (2023-09-05)

New Features

  • add BoxedProgress type that implements Progress. This makes working with boxed progress even more flexible.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v26.2.0 (8f26902)
    • Add BoxedProgress type that implements Progress. (b3cae19)

26.1.0 (2023-09-04)

New Features

  • add progress::AtomicStep to allow referring to it. Previously, only StepShared was available, which implies an Arc.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v26.1.0 (05bc923)
    • Add progress::AtomicStep to allow referring to it. (0705a73)

26.0.0 (2023-09-04)

This release is all about making dyn possible both for nested progress, as well as for ‘simple’ one (previously known as RawProgress). Switching to this release naturally makes it possible for users of Progress to also use dyn Progress, as this trait is now object safe (formerly RawProgress). If there are compile errors, the code now needs NestedProgress, instead of Progress, and possibly the import of the Count trait. Finally, it's recommended to review all usages of Progress as they can possibly be replaced with Count which provides the guarantee that only counting happens, and no change of the progress information itself.

New Features (BREAKING)

  • split Progress into various super-traits to allow most of them to be dyn-safe. Progress is now NestedProgress, RawProgress is now Progress, and there is a new Count trait for solely counting things.
  • Progress::counter() is now mandatory. This should simplify downstream code and we just accept that we are dealing with a threaded world. This also comes with performance improvements as increments are now 250% faster.

Commit Statistics

  • 9 commits contributed to the release.
  • 13 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v26.0.0 (6b94f28)
    • Merge branch ‘simplify’ (5e21df7)
    • Progress::counter() is now mandatory. (6c60835)
    • Prepare release (e1e282a)
    • Fixup nested dyn-traits (5e76abf)
    • Merge branch ‘feat/dyn-progress’ into simplify (c1590e4)
    • Split Progress into various super-traits to allow most of them to be dyn-safe. (6aba6e3)
    • Add benchmarks for dyn-traits (9d03124)
    • Refactor (54094b6)

25.0.2 (2023-08-22)

Chore

  • Adjusting changelogs prior to release of prodash v25.0.2

New Features

  • Add new trait DynProgress & type BoxedDynProgress

Commit Statistics

  • 4 commits contributed to the release over the course of 2 calendar days.
  • 37 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v25.0.2 (abcc61b)
    • Adjusting changelogs prior to release of prodash v25.0.2 (0574176)
    • Remove atty in favor of is-terminal (2bfe9ad)
    • Add new trait DynProgress & type BoxedDynProgress (24d0b2a)

25.0.1 (2023-07-16)

Bug Fixes

  • log progress now supports a shared counter, just like the tree-item implementation

Commit Statistics

  • 4 commits contributed to the release.
  • 60 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v25.0.1 (3ad8226)
    • Merge branch ‘log-fixes’ (a38d22c)
    • Upgrade criterion to the latest version, it compiles more quickly. (78272c0)
    • log progress now supports a shared counter, just like the tree-item implementation (17dd8f6)

25.0.0 (2023-05-16)

New Features

  • Introduce the object-safe RawProgress trait. It's automatically implemented for Progress and allows for more flexible use of progress particularly in leaf nodes. This is useful if a function needs to take multiple types of progress as it is called from different places in the same function.

    Without dyn-traits, it's not possible to make such call.

New Features (BREAKING)

  • Make messaging functions thread-safe by taking shared borrow and requring Sync. That way it‘s possible to share the RawProgress object across threads and emit messages, much like a logging system that’s more integrated with rendering.

Commit Statistics

  • 3 commits contributed to the release.
  • 5 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v25.0.0 (02fcb9b)
    • Make messaging functions thread-safe by taking shared borrow and requring Sync. (84d96c7)
    • Introduce the object-safe RawProgress trait. (8941f4b)

24.0.0 (2023-05-11)

Chore (BREAKING)

  • switch from tui to ratatui. The latter is a maintained fork.

Commit Statistics

  • 4 commits contributed to the release.
  • 60 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized

23.1.2 (2023-03-11)

Bug Fixes

  • line renderer now properly detects changes. Previously change-detection was implemented based on the assumption that the progress tree is copied entirely. Now, however, the interesting values are shared.

    The change-detection was adjusted to keep the state's hash of the most recent drawing, instead of doing everything in line, which saves time hashing as well.

Commit Statistics

  • 2 commits contributed to the release.
  • 9 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v23.1.2 (c15f8db)
    • Line renderer now properly detects changes. (7966f79)

23.1.1 (2023-03-02)

A maintenance release without user-facing changes.

Most notably, parking_lot was upgraded to the latest version.

Commit Statistics

  • 3 commits contributed to the release.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v23.1.1 (a91c52f)
    • Prepare changelog (1a4eb9b)
    • Upgrade dependencies, particularly parking_lot (7ae8a07)

23.1.0 (2023-02-28)

New Features

  • improve performance of progress::tree operations by more than 50%. This was done by implementing shared state in a simple Mutex protected hashmap which for typical programs with less contention is faster than using the dashmap crate.

    However, for those who know they need it, the previous implementation is still available in with the progress-tree-hp-hashmap feature toggle.

Commit Statistics

  • 4 commits contributed to the release.
  • 61 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v23.1.0 (45b4b7e)
    • No need for unsound-local-offset anymore. (c53ab9d)
    • Make fmt (490336f)
    • Improve performance of progress::tree operations by more than 50%. (6f966b4)

23.0.0 (2022-12-29)

New Features (BREAKING)

  • Implement Hash for Task to avoid redrawing if nothing changes with the Line renderer. That way, if everything stops due to a user prompt, the user‘s input won’t be clobbered continnuously.

Commit Statistics

  • 2 commits contributed to the release.
  • 23 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v23.0.0 (d527e4b)
    • Implement Hash for Task to avoid redrawing if nothing changes with the Line renderer. (a1db1b2)

22.1.0 (2022-12-06)

New Features

  • progress::Key now supports 6 levels of hierarchy instead of 4. That way it's less likely that surprises occour of more than necessary levels are added.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v22.1.0 (2ae17c5)
    • progress::Key now supports 6 levels of hierarchy instead of 4. (ea9aa58)

22.0.0 (2022-12-05)

Chore

  • switch to Rust edition 2021

Changed (BREAKING)

  • remove Tree and TreeOptions in favor of tree::Root and tree::root::Options. Previously it was confusing what a tree Root actually is due to the rename, and ambiguity isn't what we would want here.

New Features (BREAKING)

  • From<tree::root::Options> for tree::Root, tree::root::Options::create() returns tree::Root instead of Arc. That way we won‘t be forced to produce an Arc if it’s not needed.

Commit Statistics

  • 5 commits contributed to the release.
  • 11 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v22.0.0 (8b78fe9)
    • Switch to Rust edition 2021 (46aeffd)
    • Make fmt (6e90cb9)
    • From<tree::root::Options> for tree::Root, tree::root::Options::create() returns tree::Root instead of Arc. (edab373)
    • Remove Tree and TreeOptions in favor of tree::Root and tree::root::Options. (53cb09d)

21.1.0 (2022-11-23)

New Features

  • identify each progress item with Id using add_child_with_id(). An Id is four bytes like b“TREE” that are stable and identify progress items (as created by add_child(…) within a function call.

    Callers may use this knowledge to pick specific progress items for consumption, instead of trying to rely on identifying tasks by name which may change.

    The identifier can also be queried with Progress::id(), even though it could be prodash::progress::UNKNOWN if the progress item wasn't created with add_child_with_id().

Commit Statistics

  • 4 commits contributed to the release.
  • 37 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v21.1.0 (6327e15)
    • make fmt (5415acc)
    • Make it easy to format ‘use’es in the codebase. (5b8e54d)
    • Identify each progress item with Id using add_child_with_id(). (c332a6f)

21.0.0 (2022-10-17)

New Features

  • impl Progress for &mut T: where T: Progress. This makes it possible to hand borrowed progress implementations to functions that need progress reporting, making the usage of progress easier.

New Features (BREAKING)

  • remove Progress: 'static requirement. This requirement can be added where used and where needed, and originally snuck in because it was easier and Progress implementations typically are 'static as well.

    However, that requirement made it impossible to implement Progoress for &mut T where T: Progress.

Commit Statistics

  • 3 commits contributed to the release.
  • 27 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v21.0.0 (d7fcf5b)
    • impl Progress for &mut T: where T: Progress. (3347a02)
    • Remove Progress: 'static requirement. (300181b)

20.2.0 (2022-09-20)

New Features

  • Add Progress::set_max() to set the highgest expected progress value.

Bug Fixes

  • don‘t reset the shared counter value on init. It’s possible to re-initialize the progress, and when that's done it would detach the counter from previous instances that might have been observed by callers to counter(), which is surprising.

Commit Statistics

  • 4 commits contributed to the release.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v20.2.0 (f49f470)
    • Don't reset the shared counter value on init. (414bc71)
    • Add Progress::set_max() to set the highgest expected progress value. (4904065)
    • Make more explicit what is cloned (without altering actual behaviour) (b023efd)

20.1.1 (2022-09-20)

Bug Fixes

  • implement Progress::counter() for all utility types. This was forgotten previously as there was a default implementation right from the start.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v20.1.1 (d152701)
    • Implement Progress::counter() for all utility types. (a0e7da7)

20.1.0 (2022-09-20)

New Features

  • Progress::counter() returns a shared step counter. This is useful if multiple threads want to access the same progress, without the need for provide each their own progress and aggregating the result.

Commit Statistics

  • 4 commits contributed to the release.
  • 5 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized
    • Release prodash v20.1.0 (6591872)
    • Fix compile warnings for some configurations (fe0ac06)
    • Thanks clippy (deb7791)
    • Progress::counter() returns a shared step counter. (08be317)

20.0.1 (2022-09-15)

Bug Fixes

  • Allow builds to succeed on Windows by not registering SIGWINCH signal. Without said signal, the render line will not automatically resize anymore, which in theory can be compensated for by re-obtaining the terminal dimensions every now and then (currently not done).

Commit Statistics

  • 5 commits contributed to the release.
  • 2 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #12

Commit Details

  • #12
    • Allow builds to succeed on Windows by not registering SIGWINCH signal. (80a4850)
    • Only register SIGWINCH signal on unix (5de765b)
    • Adjust CI configuration to catch more cross-platform errors (b7e0f2c)
  • Uncategorized
    • Release prodash v20.0.1 (b98595b)
    • Do away with unsafe code by using safe wrappers instead. (447aa0f)

20.0.0 (2022-09-12)

New Features

  • line renderer adjusts when resizing the terminal.

Chore (BREAKING)

  • upgrade dependencies to tui 0.19 and crossterm 0.25

Commit Statistics

  • 3 commits contributed to the release.
  • 175 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v20.0.0 (54e0a6a)
    • Line renderer adjusts when resizing the terminal. (bab2ea0)
    • Upgrade dependencies to tui 0.19 and crossterm 0.25 (a3b2678)

19.0.1 (2022-03-20)

Bug Fixes

  • line renderer will clear previous lines if progress is lost Previously it would just exit its main loop and leave lines on screen.

Commit Statistics

  • 3 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v19.0.1 (a0c88b7)
    • Line renderer will clear previous lines if progress is lost (dbca35f)
    • Fix benchmark compilation (39bc237)

19.0.0 (2022-03-20)

New Features

  • Improve render-log performance greatly. Previously it would check the current time each time somebody wants to log on any logger, greatly reducing performance as it would block on the mutex rust-std uses internally.

    Now we use a single thread to provide information about whether or not we may log, whose lifetime is bound to all of the log instances it governs.

New Features (BREAKING)

  • Allow rendererers to respond to dropped progress roots Previously it needed extra effort to communicate that a the computation was done and the renderer should stop rendering progress.

    Now they only obtain a weak progress instance so it can drop if the computation is done, terminating it naturally and in time.

    Note that in case of the TUI, it would still be needed to respond to the GUI having shut down due to user request.

Commit Statistics

  • 4 commits contributed to the release over the course of 41 calendar days.
  • 41 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v19.0.0 (fda577e)
    • Improve render-log performance greatly. (cba841c)
    • Allow rendererers to respond to dropped progress roots (b6d5245)
    • Actually, the correct dashmap version is 5.1 (6bdb7e8)

18.0.2 (2022-02-07)

Chore

  • Upgrade dashmap to 5.0.1 (with security fix)

Commit Statistics

  • 2 commits contributed to the release.
  • 5 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v18.0.2 (69f4295)
    • Upgrade dashmap to 5.0.1 (with security fix) (e4f2ab8)

18.0.1 (2022-02-01)

Bug Fixes

Commit Statistics

  • 2 commits contributed to the release.
  • 9 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized

18.0.0 (2022-01-23)

New Features (BREAKING)

  • upgrade to tui 0.17

Commit Statistics

  • 3 commits contributed to the release.
  • 19 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

17.0.0 (2022-01-03)

New Features (BREAKING)

  • Add MessageLevel parameter to Progress::show_throughput_with(…, level) This allows to use message level for highlighting of certain throughputs and results.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v17.0.0 (9085aaa)
    • Add MessageLevel parameter to Progress::show_throughput_with(…, level) (46214a3)

16.1.3 (2022-01-03)

Bug Fixes

  • Progress::init(None, None) now resets the progress entirely

Commit Statistics

  • 2 commits contributed to the release.
  • 2 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v16.1.3 (6551d45)
    • Progress::init(None, None) now resets the progress entirely (2fe3eeb)

16.1.2 (2022-01-01)

Bug Fixes

  • reset the shared value on init to avoid keeping the previously set value.

Commit Statistics

  • 2 commits contributed to the release.
  • 4 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v16.1.2 (3f16e6e)
    • Reset the shared value on init to avoid keeping the previously set value. (aa70a27)

16.1.1 (2021-12-27)

Bug Fixes

  • correct signature of new ‘running()’ method

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v16.1.1 (f426c20)
    • Correct signature of new ‘running()’ method (ca5f544)

16.1.0 (2021-12-27)

New Features

  • Setting the progress value is now 9x faster This is accomplished at the cost of not autoamtically setting the progress to ‘running’ anymore when the progress is set.

Commit Statistics

  • 3 commits contributed to the release.
  • 8 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v16.1.0 (34ae001)
    • Setting the progress value is now 9x faster (3886754)
    • An experiment to show we don't want to rely on dashmap for this (4f527c1)

16.0.1 (2021-12-19)

Chore

  • upgrade dashmap to latest version

Commit Statistics

  • 6 commits contributed to the release over the course of 47 calendar days.
  • 109 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #8

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • #8
    • Run cargo changelog --write for an improved changelog (a1054e8)
  • Uncategorized
    • Release prodash v16.0.1 (9418df2)
    • Upgrade dashmap to latest version (e6f53d5)
    • Cleanup changelog (5aa6275)
    • Thanks clippy (c1258e2)
    • Looks like array syntax isn't supported anymore (bfbce01)

v16.0.0 (2021-08-31)

Improvements

  • Use time version 0.3 when the local-time feature is enabled

Breaking

  • rename cargo feature localtime to local-time
  • The local-time feature is not the default anymore, enable it using the RUSTFLAGS="--cfg unsound_local_offset" environment when building the binary.

Commit Statistics

  • 4 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release prodash v16.0.0 (fec0304)
    • Improve docs (71d66ec)
    • Upgrade to time 0.3 and opt in to unsound features for example binaries (unix only) (fb3e0b0)
    • Rename ‘localtime’ to ‘local-time’ (cargo feature)… (b6ee809)

v15.0.1 (2021-08-31)

  • crosstermion is optional for some renderers (again)

Commit Statistics

  • 2 commits contributed to the release.
  • 25 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized

v15.0.0 (2021-08-05)

  • Upgrade to TUI v0.16

Commit Statistics

  • 4 commits contributed to the release over the course of 32 calendar days.
  • 50 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized

v14.0.0 (2021-06-16)

  • Swap ctrlc crate with signal-hook which is a must in library crates. ctrlc is only for applications who can control the single handler that it installs entirely.

Commit Statistics

  • 3 commits contributed to the release.
  • 38 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 14.0.0 (a6492c6)
    • Prepare release (c2e3193)
    • Use signal-hook instead of ctrlc (a733267)

v13.1.1 (2021-05-08)

  • Fix compile error (and protect from that regression) if render-line-autoconfigure was enabled.

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 13.1.1 (d120f2f)
    • Fix compile issue, prep for patch release (584768a)

v13.1.0 (2021-05-08)

  • With the render-line-autoconfigure feature toggle, the new Options::default().auto_configure(…) method allows to adapt to the terminal/non-terminal autmatically.

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 13.1.0 (8aedcab)
    • Update changelog (ffd4a1f)
    • Add render-line-autoconfigure feature toggle (212ce36)

v13.0.1 (2021-05-08)

  • The line renderer won‘t try to hide the cursor if the output isn’t a terminal.

Commit Statistics

  • 6 commits contributed to the release over the course of 5 calendar days.
  • 5 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

v13.0.0 (2021-05-02)

  • Upgrade to TUI v0.15

Other

  • prep release
  • prepare release
  • Upgrade to tui 0.15

Commit Statistics

  • 13 commits contributed to the release over the course of 109 calendar days.
  • 110 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 13.0.0 (c0a97fa)
    • Prep release (e3665a2)
    • Upgrade to tui 0.15 (edd11be)
    • Prepare release (c91d410)
    • Upgrade to tui 0.15 (03d1c20)
    • Revert “Allow most recent version of ‘time’ crate” (ee8ab91)
    • Allow most recent version of ‘time’ crate (300aa7b)
    • Run actions on main (a2b3037)
    • Make it more obvious what prodash actually is (5b862d5)
    • Fix compile warning (d48f3b9)
    • Use new resolver (ad03a43)
    • Fix compile warnings (4cb8681)
    • Fix typo (75f311e)

v12.0.2 (2021-01-12)

Commit Statistics

  • 2 commits contributed to the release.
  • 3 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 12.0.2 (29e16a4)
    • Add all missing docs to prodash (473c560)

v12.0.1 (2021-01-08)

  • upgrade dependencies

Commit Statistics

  • 10 commits contributed to the release.
  • 4 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

  • Uncategorized
    • (cargo-release) version 12.0.1 (e93d001)
    • Prepare release (3e58d82)
    • Fix localtime support (a3298d5)
    • Fix time offset calculations which can (and do) indeed fail (fed01f7)
    • Remove previous executor/reactor in favor of async-executor (1bea3cb)
    • Use new spawn for simple example (9a8af0f)
    • Upgrade ‘rand’ (1c4930a)
    • Thanks clippy (644809a)
    • Upgrade dashmap and env_logger (cec8ab3)
    • Thanks clippy (32be130)

v12.0.0 (2021-01-04)

  • Upgrade to TUI v0.14

Commit Statistics

  • 2 commits contributed to the release.
  • 49 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

v11.0.0 (2020-11-15)

  • Upgrade to TUI v0.13 and crossterm v0.18

Commit Statistics

  • 10 commits contributed to the release over the course of 47 calendar days.
  • 59 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump major version (b2989fa)
    • Upgrade to tui v0.13 (808f7d5)
    • Crosstermion now uses tui v0.13 (7684a50)
    • Cargo clippy (725449b)
    • Update README.md (b485568)
    • Update README with accurate instructions on running example (d9288e9)
    • Ignore interrupts when reading inputs… (a3bf8be)
    • Update to crossterm 0.18, but… (b5aa292)
    • Update to tui 0.12 (a70e96d)
    • Upgrade to tui 0.12 (0606d46)

v10.0.2 (2020-09-17)

  • Remove futures-util dependency

Commit Statistics

  • 10 commits contributed to the release over the course of 3 calendar days.
  • 3 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 10.0.2 (6e84aef)
    • Changelog update (75258ea)
    • Remove dependency to futures-util (45b8dba)
    • Switch to release version of futures-lite (4fda4c0)
    • Switch to latest version of futures-lite to remove stream::select_all (53ff638)
    • Get rid of some more future-util functionality - just one more missing (0c82556)
    • (cargo-release) version 0.3.2 (e187a9d)
    • Crosstermion without futures-util! (d41352d)
    • (cargo-release) version 0.3.1 (0a6b6bc)
    • Upgrade futures-lite dependency (da021ea)

v10.0.1 (2020-09-13)

  • upgrade dependencies to latest versions

Commit Statistics

  • 5 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

v10.0.0 (2020-09-13)

Breaking

  • Enforce Send + 'static bounds for Progress trait.
    • This way it's clear that Progress is supposed to work in a threaded environment, which is the environment they are used in most often.
    • On the call site, this avoids having to specify these trait bounds explicitly.

Commit Statistics

  • 1 commit contributed to the release.
  • 27 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Progress with 'Send + ‘static’ bounds; bump major version (50a90ec)

v9.0.0 (2020-08-16)

Breaking

  • add set_name(…) and name() to Progress trait.

Commit Statistics

  • 1 commit contributed to the release.
  • 4 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Add ‘name’ and ‘set_name’ methods to trait (94c4390)

v8.0.1 (2020-08-11)

Add missing trailing paranthesis in throughput display

Commit Statistics

  • 1 commit contributed to the release.
  • 1 day passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Add missing parenthesis; bump patch level (b2af5b9)

v8.0.0 (2020-08-10)

New Features

  • Provide various Units for improved formatting of durations, steps, counts and bytes, and specify display of percentages.
  • Support for throughput display if enabled in line and tui renderer, and when opted in when creating units.
  • Turn ProgressStep type into usize to allow for a broader range of values. Specifically, this enables counting bytes read and written of files or streams bigger than 2^32-1
  • A new example program: units
  • Add methods to help determine key hierarchy, useful for writing custom renderers: Key::shares_parent_with(…),Key::adjecency(…)
  • Key::adjecency(…)

Breaking

  • In Progress::init(max, unit) , unit now is Option<Unit>, existing code can be transformed using progress.init(None, Some("label".into())).
  • movedtree::progress into progress and renamed Value into Task and Progress into Value
  • movedtree::messages into crates::messages
  • movedtree::key into crates::progress::key
  • moved tree::Throughput into crate::Throughput
  • removed deep_eq() method in Root tree
  • tui engine option redraw_only_on_state_change was removed without substitute
  • Move and rename
    • tree::ProgressStateprogress::State
    • tree::Valueprogress::Value
    • tree::ProgressProgress
  • Remove Hash implementation for all public types except for tree::Key
  • Move tui and line renderers into the render module
  • Rename log-renderer feature to progress-tree-log
  • Rename tui-renderer* into render-tui* and line-renderer* into render-line*

Other

  • Attempt to impl throughput in display… …which can‘t work because it’s actually never mutable due to the way drawing work: it operates on a snapshot, a copy, that is not written back.

    And even if it was, the type system statically concludes sync is needed as well for this to work.

    Long story short: No state changes are ever allowed with a system like this, and throughput needs to maintain just that.

    Throughput must be implemented in each renderer.

  • Try to manually implement/run a local executor

Commit Statistics

  • 91 commits contributed to the release over the course of 19 calendar days.
  • 19 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

  • Uncategorized
    • More precise throughput computation (360d3ee)
    • Remove throughput field which was effectively constant (52661ee)
    • ThroughputOnDrop utility (a4ea34c)
    • Provide a way to take out progress from a DropOrDiscard (for completeness) (2d57a54)
    • Make throughput printing more flexible, allowing to override value and unit (a80104c)
    • Format throughput utility with less arguments and using available Unit (0e84270)
    • Fix benchmarks (7c5be6b)
    • Make ‘Log’ more intuitive to reach (8cf7452)
    • Convenience functions for nicer use of render() (4b396f5)
    • Conform feature names for renderers (673d149)
    • Conform feature name (8ba1e96)
    • Thanks clipppy (72bfa47)
    • Log progress now works with units (37f1266)
    • First bare addition of log progress (from gitoxide) (006ba9d)
    • Feature toggle for dashmap backed tree (fa688c8)
    • Make tui renderer use Root trait (3da74b0)
    • Use Root trait in line renderer (a977c44)
    • Implement Root trait for tree::Root (ec5c673)
    • Allow general use of Throughput by moving it into the top-level (cdabdce)
    • Move tree::key into progress::key (d6f66b7)
    • Refactor (63fd65a)
    • First stab at sketching out the Root trait - it needs a key, however :D (08d30c6)
    • Upgrade init to support the Unit type (226a849)
    • Add Progress trait and implement it for tree::Item (93ffb60)
    • Rename Value -> Task and Progress -> Value (f021ed8)
    • Move tree::messages into crate::messages (4bce1d7)
    • Moved tree::progress::* back into crate::progress (cf7405c)
    • Prepare for generalizing the root interface to keep renderers general… (4e38c6b)
    • Move most progress related types back to tree, however… (e6f242e)
    • Move line and tui renderers into render module (31358a7)
    • Thanks clippy (7435f35)
    • Disable throughput for dashboard as it's not reqired (be39f49)
    • Remove Hash from types that don't need it (95e89ae)
    • Now it works! (2e91ed2)
    • First attempt to bring throughput to TUI (d0e3af3)
    • Refactor (9212de4)
    • Throttling throughput recomputation to 1s really does the trick (6a4ae4e)
    • First working example for throughput, but… (0ceebd4)
    • First dummy throughput impl does what it should, nice! (e2ffb04)
    • Possibly working impl of getting the throughput + reconcile (74315bf)
    • Integrate calls to (optional) throughput into line renderer (a1af8fc)
    • First sketch of Thoughput handler (2edeefc)
    • Refactor (80684b3)
    • Refactor (19e0901)
    • Refactor (0402040)
    • Refactor (b981d2e)
    • Make key adjecency helpers public (3b12ea2)
    • Thanks clippy (a99e791)
    • Refactor (c6068c5)
    • Refactor (983d2e5)
    • Refactor (0c537ab)
    • Basic display of timespans for throughputs (fd68710)
    • Refactor (40869a8)
    • Prepare to move throughput calculations into renderer (682dee2)
    • Attempt to impl throughput in display… (66800fd)
    • Pass elapsed time on in tui renderer (eb22417)
    • Pass elapsed time on in line renderer (33be555)
    • Allow providing an optional elapsed duration… (a4b4ab7)
    • First test for throughput - before major refactoring (963c933)
    • Remove unnecessary tui option: redraw_only_on_state_change (f78cf4f)
    • Prepare throughput display (3266fad)
    • Make Unit a struct, introduce new ‘Kind’ to capture dynamic and static strings of display value (b413111)
    • Prepare Mode to carry information about throughput handling (ea705ac)
    • Fix benches (a2d35fb)
    • Finish simple units example, showing all available units (de6addd)
    • First simple progress bar using bytes (e3bdbf1)
    • Frame for new example program (2f1cb12)
    • Finally run unit-tests as well (70d7ae2)
    • Refactor (6a18584)
    • Use new Unit type everywhere (539edde)
    • Support for nicer duration display (d500412)
    • Integrate humantime (f0f55bb)
    • Make range more compliant to aid consistent coloring (afb0c91)
    • A new range display mode, only good with an upper bound (b83d6bd)
    • Support for omitting the unit (f350079)
    • Using fmt::Write is so much better! (bf89a3d)
    • Trying to use byte-size shows that the trait interface isn't flexible enough (f233d43)
    • Allow splitting up generation of values and unit for more creative control… (0e15b97)
    • Percentage support (43c0980)
    • First small steps towards implementing unit and value display correctly (5bd90cc)
    • Refactor (716e774)
    • Refactor in preparation for another example application (6063c27)
    • Rough layout on how to get much more powerful unit and value rendering (90a9c2d)
    • First sketch for new Unit type and trait to display what we are interested in (129d09d)
    • Use ‘usize’ as ProgressStep, instead of u32 (79ae31f)
    • Line renderer: more compact progress bar (8071110)
    • Revert “FAIL: Try to manually implement/run a local executor” (f6fa7ab)
    • Revert “Another attempt of using a local executor: FAIL” (a3254a6)
    • Another attempt of using a local executor: FAIL (ee6275c)
    • Try to manually implement/run a local executor (64cfe9e)
    • Actually only a few lines are needed to drive multi-task (d19a1db)

v7.1.1 (2020-07-22)

  • dependency update: smol 0.2

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

v7.1.0 (2020-07-22)

  • Improved looks thanks to bold fonts

Commit Statistics

  • 5 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor version (aac8cb2)
    • Use bold characters for some highlights (56cf67e)
    • Upgrade to tui 0.10 (79afe12)
    • Crosstermion 0.3 with support for tui 0.10 (dcda91b)
    • Decouple prodash from local crosstermion for tui migration (1105cfd)

v7.0.4 (2020-07-21)

  • tree::Item
    • Add new methods inc_by(step) and inc() for convenience
  • line renderer
    • They now look clearer, as they changed from [===> ] to [===>------]

Commit Statistics

  • 7 commits contributed to the release over the course of 1 calendar day.
  • 9 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • (cargo-release) version 7.0.4 (45a8a00)
    • Improve line progress rendering (f694bb9)
    • Add convenience methods to tree::Item (3a36ce6)
    • Prioritize the tui engine for futures-lite (c17235c)
    • Attempt to switch to futures-lite, but a few things are missing (c8e52c2)
    • Remove unused dependency (85c1f6d)
    • Remove futures-util nearly completely - missing filter_map() extension for stream (6fc5846)

v7.0.3 (2020-07-11)

cleanup and code simplification in the line renderer.

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level (ffc58bb)
    • Crosstermion 0.2 with much less code and complexity (f3b24d0)
    • Greatly simplify line renderer engine code (f0eaf27)

v7.0.2 (2020-07-11)

  • render-line JoinHandle will
    • now send a signal to perform a render before shutting down to capture the final state
    • wait for the render thread to complete the aforementioned actions on drop. You can still override this behaviour through disconnect() or forget().
    • removed special code-paths that avoided bringing up another thread for ‘ticks’ at the expense of shutdown delay.

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level (9a7c2ef)
    • Various improvements to help integrating with the line renderer (3711394)

v7.0.1 (2020-07-10)

Prevent cursor movement if no progress bar is drawn.

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level (b1ca7fa)
    • Don't cause cursor movement when using ‘0’ as MoveUp value (d090c0c)
    • Add new asciicast (443702b)

v7.0.0 (2020-07-10)

Add new render-line, change feature flag names.

Other

  • first version of ‘slow’ event loop which actually won't respond quickly either :D
  • bump patch level

New Features

  • line There is a new line renderer as neat trade off between bare logs and full-blown tui. It will work best with ‘simple’ and not too dynamically changing progress trees. Activate it with the render-line + one of render-line-crossterm or render-line-termion feature flags.
  • Activate it with the render-line + one of render-line-crossterm or render-line-termion feature flags.

Breaking Changes

  • tui module
    • TuiOptions -> Options
    • render_with_input now takes the Write stream as argument, instead of defaulting to std::io::stdout()
  • Feature Flags
    • with-crossterm -> render-tui-crossterm
    • with-termion -> render-tui-termion

Commit Statistics

  • 81 commits contributed to the release over the course of 4 calendar days.
  • 4 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Minior cleanup (48879f3)
    • Dynamically resize and align progress bars - looks so much better now! (021dc5a)
    • Dynamically recompute dimensions of log messages (5cb7fea)
    • Pass entire terminal dimensions to line buffer… (03a859c)
    • Allow setting the terminal width using CLI in dashboard example (bfd1a98)
    • Always show log messages, but show progress only after initial delay. (7ec5530)
    • Initial progress messages should actually be shown despite initial delay (4d68060)
    • More fine-grained control over the amount of work displayed (9f4fa49)
    • Progress drawing now can be without color as well (f980a83)
    • Release notes (f1280a9)
    • Nobody needs ticks right now, and using the step for unbounded progress rocks… (298afe6)
    • Ascii-only unbounded progress (ab93db2)
    • Refactor (a4aa7e8)
    • Reverse direction of unbounded progress by reversing an iterator, nice! (380330d)
    • A first, but backward, version of unbounded progress (89fb23c)
    • A somewhat usable display of bounded progress (8ebde51)
    • Prepare nicer but non-unicode drawing to realize we really want to configure the width (54e1ea7)
    • Overdraw for log lines - works perfectly! (91ea381)
    • Make ‘hiding the cursor’ configurable (03a8a9e)
    • Fix ‘make check’ (a7bff83)
    • Refactor (3a1b6c5)
    • Refactor (fb91dde)
    • Show and hide the cursor if the ctrl+c is pressed (or SIG_TERM is sent) (ff98952)
    • Refactor (dcb24ea)
    • Use a vecdeque as it is just perfect for what we need to do here (8b7dbaa)
    • Basis for overdraw of log messages (7a4aecf)
    • Obtain terminal size from crossterm or termion, now the dashboard… (3484fed)
    • Support for termion version of the dashboard (a37cb2a)
    • Incorporate filtering into the line count logic - that works actually (e38e559)
    • Fix select issue, surprise. Crossbeam channels are certainly more robust (5be4885)
    • Make interval ticker actually work - looks like flume can't always select (af710d4)
    • Quite a failed attempt to move cursor back up for overdrawing… (04c686b)
    • First rough drawing logic without cursor movement (0134e0d)
    • Manually adjust fill length for correct results even with Chinese (4da38f2)
    • Try to align messages a bit more nicely, but… (2744e64)
    • Turn off timestamps by default (dd02770)
    • Draw time as well in line renderer (fa51fad)
    • Revert “Add time support to crosstermion - seems a bit out of place actually” (93397c7)
    • Make ‘time’ module available to be shared by multiple renderers (c31d1c5)
    • Add time support to crosstermion - seems a bit out of place actually (8e2bf7c)
    • Move conditional painting code into crosstermion - could be useful for dua as well (6d04514)
    • First sketch of conditional drawing of log messages (78f56c0)
    • Add a new ‘color’ module for crosstermion (272a852)
    • Fix division by zero when copying the entire message buffer (60f1bb8)
    • Cargo clippy (20f3144)
    • Add support for no-line-color flag; implement additional line renderer options (eda7fb3)
    • Make coloring configurable, following some informal specs (1e1a02a)
    • Integrate message copying into line renderer (79efb09)
    • Copying only new messages seems to work now (982dfee)
    • Refactor (3bb08f7)
    • Initial mostly working version of copying only new messages from the buffer. (d78472c)
    • Allow for a little more space when formatting :) (4bf4431)
    • First beginnings of testing copy_new(…) (917dd05)
    • Now actually fix the ‘copy_all(…)’ method for the message buffer :D (2bb088d)
    • Sketch for stateful message copying to copy only new ones. (90750c7)
    • Fix off-by-one error in messsage buffer copy handling (c6e1ece)
    • Refactor (ccc4297)
    • Refactor (ed338e0)
    • Flesh out join handle with complete and symmetric API (1bd4476)
    • Support for interruptable initial delay (c15af5e)
    • Dashboard can now bring up the line renderer (f20f002)
    • Don't assume quitting is requested on channel disconnect; allow detaching the handle (d050243)
    • Frame to allow using ‘line’ renderer in dashboard example (4566e46)
    • Make dashboard depend on line renderer (ea861a2)
    • Now we are talking: Selector functions shouldn't have side-effects, ‘wait()’ is exactly it (9ebbc16)
    • First version of ‘slow’ event loop which actually won't respond quickly either :D (a684188)
    • Sketch draw logic for draw loops that are fast enough (b4db64e)
    • Sketch initial interface for line renderer (1712221)
    • Move changelog information into its own file (5aa3034)
    • Prepare arrival of the mighty line-renderer feature :D (511389e)
    • Make external crates available as re-exports (0b8a763)
    • Notes about the tradeoffs in backend choice (a942e85)
    • Write down insights about coloring in terminals, in conjunction with crosstermion (c96abdb)
    • Bump patch level (c879dfa)
    • Fix description of crosstermion (8781c9f)
    • Fix precedence in terminal module, crossterm is winning over termion now (521dd23)
    • Bump patch level (1bc5c76)
    • Make sure conversions are always compiled (5a03628)
    • Fix flume features, bump to 0.1.2 (11d6665)
    • Bump patch level; add ‘input-thread-flume’ support (7fdbb72)
    • Fix Cargo.toml to allow ‘cargo test’ to work without specifying features (748ab4b)

v6.0.0 (2020-07-05)

Factor terminal input into the new crosstermion crate.

Due to this work, the default features changed, which is a breaking change for those who relied on it. Now when using the render-tui, one will also have to specify either the with-crossbeam or render-tui-termion feature.

Other

  • Add Key input transformation

Commit Statistics

  • 24 commits contributed to the release.
  • 2 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Allow choosing the backend for the dashboard example, but people also have to chose is now (4841a8e)
    • Release notes for v6.0 (403d5a0)
    • Fix crosstermion docs (71e1eca)
    • Make feature combinations for properly, but… (93a069a)
    • Cleanup; allow ‘input-thread’ and ‘input-async’ at the same time (93a30e0)
    • Cleaner input handling using ‘input-threaded’ and ‘input-async’ (3d11e90)
    • Support for async crossterm in crosstermion (1a61453)
    • Use stream trait instead of channel directly to abstract a little (78e810d)
    • Don't continue the loop if sending fails… (e93fe6e)
    • Switch from smol to futures-executor, it's probably cheaper for what we need (d7deeb7)
    • Cleanup, remove unused deps (050a821)
    • Fix prodash build after function renmae (3848635)
    • Docs for crosstermion (3429327)
    • Enforce testing termion on linux (0cce091)
    • Prodash now uses crosstermion (97ad454)
    • Bundle-features and feature documentation (b66c413)
    • Marry raw mode with the alternative terminal, not with the creating a new tui terminal. (f1c734f)
    • Functionality for Alternate screens (dcc92ab)
    • Initial terminal implementation, more generic, for tui crossterm (e7c07be)
    • Add everything required to build with stream support (2d60cc0)
    • Add input stream functions (21f4147)
    • Refactor (42b8374)
    • Add Key input transformation (bbf2651)
    • Initial version of crosstermium (25c8a98)

v5.0.0 (2020-07-03)

Support for windows by using Crossbeam by default. A first low-effort move to the latest version should be to set the dependency to default-features = false, features = ["render-tui", "render-tui-termion", "localtime", "log-renderer"] to get the same configuration as before.

To try crossbeam, use with-crossbeam instead of render-tui-termion.

If you have been using the event stream to send your own keys, swap termion::event::Key with prodash::tui::input::Key.

Commit Statistics

  • 16 commits contributed to the release.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Major release: windows support (656cb6a)
    • Make with-crossbeam the default for maximum compatibility (9b8be9e)
    • Fix makefile check; remove termion from dev dependenices (aa5827d)
    • Make runtime into compile time error, nice! (7fc5961)
    • Refactor; actually try compiling on windows (52f2592)
    • Refactor (72fe1bb)
    • Refactor (ababea5)
    • Fix crossterm input handling (8547c8b)
    • First crossterm input event loop, but looks like keys are not converted properly (9e74ada)
    • Implement crossterm buffer creation (alternate + raw) (eaf904b)
    • Fix accidental import (659065d)
    • And map crossterm modifiers on a best-effort basis (bafb189)
    • First stab as crossterm key event mapping (6650a36)
    • Document all tui-renderer toggles and test termion feature toggles (27ccdc1)
    • Allow graceful failure if no backend is chosen. (1f36d96)
    • Put all usage of termion behind a feature flag and unify Key input (3a1dc75)

v4.1.0 (2020-07-01)

Allow the TUI to automatically stop if there is no progress to display.

This way, it‘s easier to use prodash::tui for visualizing finite tasks, which originally it wasn’t intended for.

Previously, in order to achieve the same, one would have to initialize the TUI with an event stream and send the Event for shutting down once the task at hand is complete.

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor version (6755f32)
    • Allow the TUI to automatically stop if there is no progress to display (4fb6079)

v4.0.5 (2020-07-01)

Fix delayed reset of the terminal.

Previously even after the future was dropped, it seemed like the terminal wasn't reset and the user was required to explicitly flush stdout to make the changes appear. This is due to the flushing previously happening too early, that is, before the terminal was dropped which emits the respective terminal escape codes at this time.

Now the terminal instance is dropped explicitly right before emitting a flush. One might argue that the flush should happen in the terminal instance itself, but fixing that is out of scope.

Commit Statistics

  • 1 commit contributed to the release.
  • 1 day passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized

v4.0.4 (2020-06-29)

  • Simplify message() trait bounds

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Simplify traitbounds; bump patch level (be4240e)
    • (cargo-release) start next development iteration 4.0.4-alpha.0 (929225d)

v4.0.3 (2020-06-29)

  • Remove piper in favor of futures-channel (which was included anyway)

Commit Statistics

  • 4 commits contributed to the release over the course of 33 calendar days.
  • 42 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Remove async-channel in favor of (anyway imported) futures-channel (e4c2501)
    • Prepare next release (9879999)
    • Update dependencies (73c25c2)
    • Optimize include directive with ‘cargo diet’ (2978d2a)

v4.0.2 (2020-05-17)

  • Upgrade to latest TUI and TUI-react crates

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Upgrade tui-* crates; bump patch level (7b796d1)

v4.0.1 (2020-05-17)

  • Reduce theoretical direct dependencies by not using ‘futures’ crate directly

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level (bf4fa4f)
    • Reduce amount of dependencies by 5 (03970db)

v4.0.0 (2020-05-17)

Switch from futures executor to smol.

This actually simplifies some parts of the implementation, while fixing issues along futures not being dropped while they were on a thread pool. Now, for the example, no threadpool is used anymore.

Note that this also means that in order for each frame to be drawn, one would have to invoke smol::run in one thread to activate the reactor which processes the timeout/ticker. Alternatively, one would send Tick events through a channel to trigger a redraw manually.

Commit Statistics

  • 1 commit contributed to the release.
  • 12 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Replace futures-timer with smol; major version bump (ecb7dc8)

v3.6.3 (2020-05-05)

  • Fix out-of-bounds access (and panic) due to new and more precise progress bars

Commit Statistics

  • 2 commits contributed to the release.
  • 1 day passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level (2803e46)
    • A precaution to make out-of-bounds access impossible (205a0ef)

v3.6.2 (2020-05-03)

  • More horizontally precise progress bars; progress bars are now have lines between them vertically

Commit Statistics

  • 5 commits contributed to the release over the course of 21 calendar days.
  • 24 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level; fix crash due to integer underflow/overlow (af60c44)
    • More fine-grained progress bars, both horizontally and vertically (d6b7b3f)
    • Add clippy and fmt lints to actions (c56825c)
    • Bye bye travis, it was a good time! (d29fe5c)
    • Add github actions to compile and test (9efa70c)

v3.6.1 (2020-04-09)

  • Properly respond to state changes even when ‘redraw_only_on_state_change’ is enabled

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Patch bump; redraw also when the state changes, otherwise TUI feels laggy (93fce71)

v3.6.0 (2020-04-09)

  • A TUI option to only redraw if the progress actually changed. Useful if the change rate is lower than the frames per second.

Commit Statistics

  • 2 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor (f209f60)
    • Add capability to redraw only on state change (5fa836f)

v3.5.1 (2020-04-09)

  • Don't copy messages if the message pane is hidden, saving time

Commit Statistics

  • 1 commit contributed to the release.
  • 5 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch level; copy messages only if the message pane is shown (353763b)

v3.5.0 (2020-04-03)

  • Cleaner visuals for hierarchical progress items, these won't show lines if there are no direct children with progress

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor (39fbc16)
    • Don't show lines if these nodes are not actually children with progress (058b73a)
    • Fix badge (97df7da)

v3.4.1 (2020-04-02)

  • Enable localtime support by default

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor - enable localtime by default (662f186)
    • Enable localtime by default - pulling time in isn't all that bad (699beba)
    • Update asciinema video (0f07b68)

v3.4.0 (2020-04-02)

  • Even nicer tree rendering, along with screen space savings

Commit Statistics

  • 24 commits contributed to the release over the course of 2 calendar days.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor (bbdc625)
    • Better orphan display, with dots leading up to the node's level (4d69c34)
    • Use space much more efficiently in the tree view as well (3430a8d)
    • Omit line between tree on left and progress bars to safe space (a3e5fe5)
    • Oh my, that was sooooo worth it! (31bb906)
    • Looks pretty good already, now the tweaking (7f16472)
    • Make orphan nodes work (497fbce)
    • All tests green for the first time! (edf2024)
    • Maybe a tiny step closer, definitely better/fixed index handling (42b31da)
    • Before it all goes down the drain - only one thing to fix - let's checkpoint it (83a89ee)
    • I think the problem is that I try to squash a hiarchy level. Let's not do that (3c77eab)
    • Is this ever going to work? (8236d55)
    • A little closer, but needs way more tests :D (14876ee)
    • Refactor (8f6061f)
    • Better, but only works correctly for a single level - more nesting required Please enter the commit message for your changes. Lines starting (4083c4e)
    • Now we are actually closing in for this to work…OMG! (e9d268f)
    • A little better (15a2b02)
    • Add first tests for adjacency computation - it's not exactly working out of the box *:D (4e033b4)
    • Add everything needed to make use of the new system, and it's totally not working :D (40690b6)
    • This might even work…one day :D (4652654)
    • Getting there, slowly, need refactor (46d015c)
    • First sketch on getting an adjecency map by searching a sorted list of entries (0838165)
    • Draw progress lines without ellipsis; make clearer that this happens (678fbaa)
    • Improve tree drawing further (adc49c6)

v3.3.0 (2020-03-31)

  • Much nicer task tree visualization

Commit Statistics

  • 6 commits contributed to the release over the course of 1 calendar day.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor (cf9ddb8)
    • Much nicer display of trees, now also on the level of progress bars (706d658)
    • Refactor (536b4c8)
    • A nicer way to draw the progress - show the tree even in the progress bars (840bb3a)
    • Much better tree display, even though the code doing it is a bit wonky :D (833bb98)
    • Use all functionality that now is available in tui-react (f5b1ee1)

v3.2.0 (2020-03-28)

  • Application can control if the GUI will respond to interrupt requests

Commit Statistics

  • 2 commits contributed to the release.
  • 2 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump minor; dont' discard previous value of ‘interrupt requested’ (be1ce75)
    • Visualize the interrupt-requested state, while providing useful information (273a1a6)

v3.1.1 (2020-03-25)

  • Bugfix (really): Finally delayed column resizing works correctly.

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump patch - fix column sizing for good… (5029823)

v3.1.0 (2020-03-25)

  • Tree::halted(…) indicates interruptable tasks without progress. Tree::blocked(…) means non-interruptable without progress.

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Support for ‘halted’ state to indicate interruptible tasks; bump minor (b5ef271)

v3.0.2 (2020-03-25)

  • Bugfix: Allow column-width computation to recover from becoming 0

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Allow column width computation to recover from 0; bump patch (856b7ee)

v3.0.1 (2020-03-25)

  • Bugfix: Don't allow values of 0 for when to recompute task column widths

Other

  • assure we never try to do ‘x % 0’ :D

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Assure we never try to do ‘x % 0’ :D (82baf26)

v3.0.0 (2020-03-25)

  • New TUI option to delay computation of column width for stability with rapidly changing tasks

Commit Statistics

  • 4 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Bump version to 3.0.0 (bc46acc)
    • Allow to control column width recomputation (d4dc966)
    • Support to compute column size only every so many ticks… (98e0f63)
    • Example dashboard: Make sure ticker for context does not outpace FPS (c25217b)

v2.1.0 (2020-03-24)

  • Optional cargo feature “localtime” shows all times in the local timezone

Commit Statistics

  • 2 commits contributed to the release.
  • 1 day passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Add cargo feature ‘localtime’ to show all dates in localtime (a87f8cd)
    • Make chrono dependency available via re-exports (a5d4423)

v2.0.1 (2020-03-23)

  • fix integer underflow with graphemes that report width of 0

Commit Statistics

  • 2 commits contributed to the release over the course of 1 calendar day.
  • 15 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Fix integer underflow with graphemes of width 0 (d9808cd)
    • Transfer to new github location (6fa2e8d)

v2.0.0 (2020-03-07)

  • BREAKING: progress.blocked(eta) now takes a statically known reason for the blocked state progress.blocked(reason, eta). This is useful to provide more context.

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Reasons for block states; major version bump (74abaeb)

v1.2.0 (2020-03-07)

  • Support for eta messages in blocked unbounded tasks

Commit Statistics

  • 1 commit contributed to the release.
  • 4 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • ETA messages in blocked unbounded tasks (d42c0d5)

v1.1.6 (2020-03-02)

  • improve API symmetry by providing a Tree::name() to accompany Tree::set_name(…)

Commit Statistics

  • 2 commits contributed to the release over the course of 5 calendar days.
  • 8 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Improve API symmetry (759f1f4)
    • Put changelog into lib.rs, where it already was :) (dfc810b)

v1.1.5 (2020-02-23)

  • Flush stdout when the TUI stopped running. That way, the alternate/original screen will be shown right away.

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • V1.1.5 - flush stdout right away (8734668)

v1.1.4 (2020-02-23)

  • Don't pretend to use &str if in fact an owned string is required. This caused unnecessary clones for those who pass owned strings.

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

v1.1.3 (2020-02-23)

  • hide cursor or a nicer visual experience

Commit Statistics

  • 3 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Hide cursor, bump version (ecf5cc4)
    • Run the few doc tests we have (9b28cc0)
    • (cargo-release) start next development iteration 1.1.3-alpha.0 (cae0e02)

v1.1.2 (2020-02-22)

Commit Statistics

  • 5 commits contributed to the release.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized

v1.1.0

  • fix toggles - previously prodash, withoug tui, would always build humantime and unicode width
  • add support for logging as user interface

v0.7.0 (2021-05-02)

v0.6.0 (2021-01-04)

v0.5.0 (2020-11-15)

v0.4.0 (2020-09-28)

v0.3.2 (2020-09-14)

v0.3.1 (2020-09-13)

v0.3.0 (2020-07-22)

v0.2.0 (2020-07-11)

v0.1.4 (2020-07-06)

v0.1.3 (2020-07-06)

v0.1.2 (2020-07-06)

v0.1.1 (2020-07-05)