Skip to content

Releases: Byron/prodash

v25.0.0

16 May 19:00
02fcb9b
Compare
Choose a tag to compare

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

  • 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

view details
  • Uncategorized
    • Make messaging functions thread-safe by taking shared borrow and requring Sync. (84d96c7)
    • Introduce the object-safe RawProgress trait. (8941f4b)

v24.0.0

11 May 10:04
41ad0a4
Compare
Choose a tag to compare

Chore (BREAKING)

  • switch from tui to ratatui.
    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

view details
  • Uncategorized

v23.1.2

11 Mar 20:27
c15f8db
Compare
Choose a tag to compare

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

02 Mar 20:04
a91c52f
Compare
Choose a tag to compare

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

view details
  • Uncategorized
    • Prepare changelog (1a4eb9b)
    • Upgrade dependencies, particularly parking_lot (7ae8a07)

v23.1.0

28 Feb 19:58
45b4b7e
Compare
Choose a tag to compare

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

  • 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

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

v23.0.0

29 Dec 10:36
d527e4b
Compare
Choose a tag to compare

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

  • 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 for Task to avoid redrawing if nothing changes with the Line renderer. (a1db1b2)

v22.1.0

06 Dec 09:21
2ae17c5
Compare
Choose a tag to compare

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

05 Dec 07:47
8b78fe9
Compare
Choose a tag to compare

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

  • 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

view details
  • Uncategorized
    • 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)

v21.1.0

23 Nov 18:32
6327e15
Compare
Choose a tag to compare

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

  • 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

view details
  • Uncategorized
    • 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)

v21.0.0

17 Oct 09:03
d7fcf5b
Compare
Choose a tag to compare

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

  • 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

Commit Details

view details
  • Uncategorized
    • impl Progress for &mut T: where T: Progress. (3347a02)
    • remove Progress: 'static requirement. (300181b)