Releases: Byron/prodash
v25.0.0
New Features
-
Introduce the object-safe
RawProgress
trait.
It's automatically implemented forProgress
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 theRawProgress
object across threads and emit messages,
much like a logging system that's more integrated with rendering.
Commit Statistics
- 2 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
v24.0.0
Chore (BREAKING)
- switch from
tui
toratatui
.
The latter is a maintained fork.
Commit Statistics
- 3 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
v23.1.2
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
- 1 commit 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
view details
- Uncategorized
- Line renderer now properly detects changes. (7966f79)
v23.1.1
A maintenance release without user-facing changes.
Most notably, parking_lot
was upgraded to the latest version.
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
v23.1.0
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 thedashmap
crate.However, for those who know they need it, the previous implementation is still available
in with theprogress-tree-hp-hashmap
feature toggle.
Commit Statistics
- 3 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
v23.0.0
New Features (BREAKING)
- Implement
Hash
forTask
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
- 1 commit 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
view details
- Uncategorized
- Implement
Hash
forTask
to avoid redrawing if nothing changes with the Line renderer. (a1db1b2)
- Implement
v22.1.0
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
- 1 commit 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
view details
- Uncategorized
progress::Key
now supports 6 levels of hierarchy instead of 4. (ea9aa58)
v22.0.0
Chore
- switch to Rust edition 2021
Changed (BREAKING)
- remove
Tree
andTreeOptions
in favor oftree::Root
andtree::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()
returnstree::Root
instead ofArc
.
That way we won't be forced to produce anArc
if it's not needed.
Commit Statistics
- 4 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
v21.1.0
New Features
-
identify each progress item with
Id
usingadd_child_with_id()
.
AnId
is four bytes like b"TREE" that are stable and
identify progress items (as created byadd_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 beprodash::progress::UNKNOWN
if the progress
item wasn't created withadd_child_with_id()
.
Commit Statistics
- 3 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
v21.0.0
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 andProgress
implementations
typically are'static
as well.However, that requirement made it impossible to implement
Progoress
for&mut T where T: Progress
.
Commit Statistics
- 2 commits contributed to the release.
- 27 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' where seen in commit messages