Skip to content

fix(deps): update rust crate indicatif to 0.17.0

renovate requested to merge renovate/indicatif-0.x into main

This MR contains the following updates:

Package Type Update Change
indicatif dependencies minor 0.16.2 -> 0.17.0

Release Notes

console-rs/indicatif

v0.17.0

Compare Source

indicatif is one of the most popular terminal progress bar libraries in the Rust ecosystem. More than a year after the 0.16.0 release, we're happy to finally release 0.17. In the past year, the indicatif team has grown to two maintainers, since @​chris-laplante joined @​djc as a maintainer. We also now have a Discord channel.

Apart from many small API additions and fixes, particular effort has gone into reducing the overhead for reporting progress. To this end, we've removed some of the explicit rate limiting APIs in favor of a single refresh rate in the ProgressDrawTarget. We now set a rate limit by default (50ms) that should drastically reduce overhead for most applications while being more than enough for most terminal applications. Additionally, position updates are now synchronized by using atomic integer APIs instead of a mutex. In a basic test the simplest possible progress bar is about 95x faster on 0.17.0 compared to 0.16.2.

We've made many changes to the way MultiProgress collections work. You no longer need to explicitly join() the MultiProgress, there are more ways to insert new progress bars into the collection, and many correctness improvements have been made, in part to more effort having gone into testing the crate.

Additionally, we've reduced our dependency footprint, removing lazy_static and regex from our required dependencies.

Additions

Performance

  • Use atomics to track the current position (#​390 with follow up in #​404, #​406, #​414)
  • Faster template expansion (without the regex dependency; #​319)
  • Draw progress bars into draw states (#​361, with follow up in #​371)
  • Remove draw limiting from the progress bar state (#​380)
  • Simplify ProgressDrawTarget to reduce in-memory size (#​277, thanks to @​mibac138)

MultiProgress changes

Fixes

Non-functional improvements


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Merge request reports