Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump indicatif from 0.16.2 to 0.17.0 #1523

Merged
merged 2 commits into from
Aug 19, 2022
Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Aug 1, 2022

Bumps indicatif from 0.16.2 to 0.17.0.

Release notes

Sourced from indicatif's releases.

0.17.0

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

  • Run MultiProgress drawing on the main thread (#231 and #284, thanks to @​marienz and @​aj-bagwell)
  • Enable inserting progress bars at the end in MultiProgress (#326, thanks to @​omjadas)
  • Add insert_after()/insert_before() methods on MultiProgress (#331, with follow up in #424)
  • MultiProgress: add println() and suspend() methods (#351)
  • MultiProgress: prune zombie progress bars (#438, with follow up in #446)
  • Make is_hidden() work for MultiProgress (#430)
  • Allow vertical alignment in MultiProgress bars (#295, thanks to @​nlinker)

Fixes

  • Expand tabs to spaces to fix formatting (#150)
  • Enable 256 color support in template strings (#283, thanks to @​MoSal)
  • Fix potential panic for hidden draw targets (#286, thanks to @​matthiasbeyer)
  • ProgressFolder shouldn't finish progress bars on completion (#290, thanks to @​mibac138)

... (truncated)

Commits
  • 39ebd5f Add a Discord badge to the README
  • 7c96dcd Bump version to 0.17.0
  • 1d47e1d stateful progress tracking
  • 4cbdcbf Expand tabs => configurable number of spaces to fix #150 (#423)
  • 88d87d4 modify zombie handling code so it doesn't need to alloc
  • af5d925 add render tests for #426
  • 0f33289 MultiProgress: prune 'zombie' progress bars; fixes #426
  • f41eaa9 add InMemoryTerm::reset()
  • de9862b fix: first style of wide elements was ignored
  • 9cb25a7 add sanity check to ensure tests using Ticker acquire the global test lock
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Aug 1, 2022
@dependabot dependabot bot force-pushed the dependabot/cargo/indicatif-0.17.0 branch 4 times, most recently from bc2f995 to 0f1699e Compare August 4, 2022 04:18
@dependabot dependabot bot force-pushed the dependabot/cargo/indicatif-0.17.0 branch from 0f1699e to d42af9f Compare August 8, 2022 15:51
@smklein smklein self-requested a review August 17, 2022 17:06
@smklein smklein self-assigned this Aug 17, 2022
@smklein smklein removed their request for review August 17, 2022 17:06
@dependabot dependabot bot force-pushed the dependabot/cargo/indicatif-0.17.0 branch from d42af9f to d69ac89 Compare August 17, 2022 19:10
Bumps [indicatif](https://github.com/console-rs/indicatif) from 0.16.2 to 0.17.0.
- [Release notes](https://github.com/console-rs/indicatif/releases)
- [Commits](console-rs/indicatif@0.16.2...0.17.0)

---
updated-dependencies:
- dependency-name: indicatif
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/cargo/indicatif-0.17.0 branch from d69ac89 to e37bc8e Compare August 18, 2022 05:26
@smklein smklein enabled auto-merge (squash) August 19, 2022 14:44
@smklein smklein removed their assignment Aug 19, 2022
@smklein smklein merged commit 1335d61 into main Aug 19, 2022
@smklein smklein deleted the dependabot/cargo/indicatif-0.17.0 branch August 19, 2022 15:36
leftwo pushed a commit that referenced this pull request Nov 19, 2024
No Propolis changes other than to update Crucible

Crucible changes are:
Add debug/timeout to test_memory.sh (#1563)
Consolidate ack checking (#1561)
Rename for crutest: RegionInfo -> DiskInfo (#1562)
Fix dtrace system level scripts (#1560)
Remove `ackable_work`; ack immediately instead (#1552)
No more New jobs, no more New jobs column (#1559)
Remove delay-based backpressure in favor of explicit queue limits (#1515)
Only send flushes when Downstairs is idle; send Barrier otherwise (#1505)
Update Rust crate reqwest to v0.12.9 (#1536)
Update Rust crate omicron-zone-package to 0.11.1 (#1535)
Remove separate validation array (#1522)
Remove more unnecessary `DsState` variants (#1550)
Consolidate `DownstairsClient::reinitialize` (#1549)
Update Rust crate uuid to v1.11.0 (#1546)
Update Rust crate reedline to 0.36.0 (#1544)
Update Rust crate bytes to v1.8.0 (#1541)
Update Rust crate thiserror to v1.0.66 (#1539)
Update Rust crate serde_json to v1.0.132 (#1538)
Update Rust crate serde to v1.0.214 (#1537)
Remove transient states in `DsState` (#1526)
Update Rust crate libc to v0.2.161 (#1534)
Update Rust crate futures to v0.3.31 (#1532)
Update Rust crate clap to v4.5.20 (#1531)
Update Rust crate async-trait to 0.1.83 (#1530)
Update Rust crate anyhow to v1.0.92 (#1529)
Remove obsolete crutest perf test (#1528)
Update dependency rust to v1.82.0 (#1512)
Still more updates to support Volume layer activities. (#1508)
Remove remaining IOPS/bandwidth limiting code (#1525)
Add unit test for VersionMismatch (#1524)
Removing panic paths by only destructuring once (#1523)
Update actions/checkout digest to 11bd719 (#1518)
Switch to using `Duration` for times (#1520)
leftwo added a commit that referenced this pull request Nov 20, 2024
No Propolis changes other than to update Crucible

Crucible changes are:
Add debug/timeout to test_memory.sh (#1563)
Consolidate ack checking (#1561)
Rename for crutest: RegionInfo -> DiskInfo (#1562) Fix dtrace system
level scripts (#1560)
Remove `ackable_work`; ack immediately instead (#1552) No more New jobs,
no more New jobs column (#1559)
Remove delay-based backpressure in favor of explicit queue limits
(#1515) Only send flushes when Downstairs is idle; send Barrier
otherwise (#1505) Update Rust crate reqwest to v0.12.9 (#1536)
Update Rust crate omicron-zone-package to 0.11.1 (#1535) Remove separate
validation array (#1522)
Remove more unnecessary `DsState` variants (#1550) Consolidate
`DownstairsClient::reinitialize` (#1549) Update Rust crate uuid to
v1.11.0 (#1546)
Update Rust crate reedline to 0.36.0 (#1544)
Update Rust crate bytes to v1.8.0 (#1541)
Update Rust crate thiserror to v1.0.66 (#1539)
Update Rust crate serde_json to v1.0.132 (#1538)
Update Rust crate serde to v1.0.214 (#1537)
Remove transient states in `DsState` (#1526)
Update Rust crate libc to v0.2.161 (#1534)
Update Rust crate futures to v0.3.31 (#1532)
Update Rust crate clap to v4.5.20 (#1531)
Update Rust crate async-trait to 0.1.83 (#1530)
Update Rust crate anyhow to v1.0.92 (#1529)
Remove obsolete crutest perf test (#1528)
Update dependency rust to v1.82.0 (#1512)
Still more updates to support Volume layer activities. (#1508) Remove
remaining IOPS/bandwidth limiting code (#1525) Add unit test for
VersionMismatch (#1524)
Removing panic paths by only destructuring once (#1523) Update
actions/checkout digest to 11bd719 (#1518)
Switch to using `Duration` for times (#1520)

Co-authored-by: Alan Hanson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant