feat: Right align line numbers#144609
Conversation
|
|
|
This PR modifies cc @jieyouxu |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
@bors r+ rollup |
…rrors feat: Right align line numbers As part of my work on getting `annotate-snipptes` to be used as `rustc`'s renderer, I realized that `rustc` left-aligned line numbers, while `annotate-snippets` right-aligned them. This PR switches `rustc` to right-align the line numbers, matching `annotate-snippets`. In practice, this change isn't very noticeable in day-to-day output, as it only shows up when a diagnostic span contains line numbers with different lengths (9->10, 99->100, 999->1000, etc.). `rustc` ``` error[E0412]: cannot find type `F` in this scope --> $DIR/ui-testing-optout.rs:92:10 | 4 | type A = B; | ----------- similarly named type alias `A` defined here ... 92 | type E = F; | ^ help: a type alias with a similar name exists: `A` ``` `annotate-snippets` ``` error[E0412]: cannot find type `F` in this scope --> $DIR/ui-testing-optout.rs:92:10 | 4 | type A = B; | ----------- similarly named type alias `A` defined here ... 92 | type E = F; | ^ help: a type alias with a similar name exists: `A` ``` r? `@compiler-errors`
Rollup of 14 pull requests Successful merges: - #144022 (Implementation: `#[feature(sync_nonpoison)]`, `#[feature(nonpoison_mutex)]`) - #144167 (Document why `Range*<&T> as RangeBounds<T>` impls are not `T: ?Sized`, and give an alternative.) - #144407 (fix(debuginfo): disable overflow check for recursive non-enum types) - #144451 (fix: Reject upvar scrutinees for `loop_match`) - #144482 (Add explicit download methods to download module in bootstrap) - #144500 (thread name in stack overflow message) - #144511 (tidy: increase performance of auto extra checks feature) - #144586 (Update wasi-sdk to 27.0 in CI) - #144599 (bootstrap: enable tidy auto extra checks on tools profile) - #144600 (Ensure external paths passed via flags end up in rustdoc depinfo) - #144609 (feat: Right align line numbers) - #144623 (miri subtree update) - #144626 (cc dependencies: clarify comment) - #144627 (Add a test case for the issue #129882) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 13 pull requests Successful merges: - #144022 (Implementation: `#[feature(sync_nonpoison)]`, `#[feature(nonpoison_mutex)]`) - #144167 (Document why `Range*<&T> as RangeBounds<T>` impls are not `T: ?Sized`, and give an alternative.) - #144407 (fix(debuginfo): disable overflow check for recursive non-enum types) - #144451 (fix: Reject upvar scrutinees for `loop_match`) - #144482 (Add explicit download methods to download module in bootstrap) - #144500 (thread name in stack overflow message) - #144511 (tidy: increase performance of auto extra checks feature) - #144599 (bootstrap: enable tidy auto extra checks on tools profile) - #144600 (Ensure external paths passed via flags end up in rustdoc depinfo) - #144609 (feat: Right align line numbers) - #144623 (miri subtree update) - #144626 (cc dependencies: clarify comment) - #144627 (Add a test case for the issue #129882) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #144609 - Muscraft:right-align, r=compiler-errors feat: Right align line numbers As part of my work on getting `annotate-snipptes` to be used as `rustc`'s renderer, I realized that `rustc` left-aligned line numbers, while `annotate-snippets` right-aligned them. This PR switches `rustc` to right-align the line numbers, matching `annotate-snippets`. In practice, this change isn't very noticeable in day-to-day output, as it only shows up when a diagnostic span contains line numbers with different lengths (9->10, 99->100, 999->1000, etc.). `rustc` ``` error[E0412]: cannot find type `F` in this scope --> $DIR/ui-testing-optout.rs:92:10 | 4 | type A = B; | ----------- similarly named type alias `A` defined here ... 92 | type E = F; | ^ help: a type alias with a similar name exists: `A` ``` `annotate-snippets` ``` error[E0412]: cannot find type `F` in this scope --> $DIR/ui-testing-optout.rs:92:10 | 4 | type A = B; | ----------- similarly named type alias `A` defined here ... 92 | type E = F; | ^ help: a type alias with a similar name exists: `A` ``` r? ``@compiler-errors``
Rollup of 13 pull requests Successful merges: - rust-lang/rust#144022 (Implementation: `#[feature(sync_nonpoison)]`, `#[feature(nonpoison_mutex)]`) - rust-lang/rust#144167 (Document why `Range*<&T> as RangeBounds<T>` impls are not `T: ?Sized`, and give an alternative.) - rust-lang/rust#144407 (fix(debuginfo): disable overflow check for recursive non-enum types) - rust-lang/rust#144451 (fix: Reject upvar scrutinees for `loop_match`) - rust-lang/rust#144482 (Add explicit download methods to download module in bootstrap) - rust-lang/rust#144500 (thread name in stack overflow message) - rust-lang/rust#144511 (tidy: increase performance of auto extra checks feature) - rust-lang/rust#144599 (bootstrap: enable tidy auto extra checks on tools profile) - rust-lang/rust#144600 (Ensure external paths passed via flags end up in rustdoc depinfo) - rust-lang/rust#144609 (feat: Right align line numbers) - rust-lang/rust#144623 (miri subtree update) - rust-lang/rust#144626 (cc dependencies: clarify comment) - rust-lang/rust#144627 (Add a test case for the issue rust-lang/rust#129882) r? `@ghost` `@rustbot` modify labels: rollup
|
EDIT: Ah sorry I think this may have been an issue with an older version of trybuild's normalization combined with this PR, rather than this PR itself, my apologies. It looks fixed in trybuild 1.0.110. Original report below. Original reportI've noticed (I think after this change) on beta and nightly, the indentation of the I don't see any test cases covering this in the PR, perhaps it was overlooked? Example on NightlySee the third line here above the |
Problem: rust-lang/rust@aa97672 right aligned line numbers & this change was released in Rust 1.90. This causes our trybuild driven ui-tests to fail because the line number differs. Solution: Fix the line numbering in the test's stderr file & bump our min trybuild dependency to v1.0.107 because that is the first version that recognizes right aligned line numbers. Testing: Ran `cargo +1.90 test` and saw that it worked. Also tested specifying `trybuild = "=1.0.n" and saw that n=108 was the lowest working version. Ref: rust-lang/rust#144609 Ref: dtolnay/trybuild#308 Ref: dtolnay/trybuild#315
Problem: rust-lang/rust@aa97672 right aligned line numbers & this change was released in Rust 1.90. This causes our trybuild driven ui-tests to fail because the line number differs. Solution: Fix the line numbering in the test's stderr file & bump our min trybuild dependency to v1.0.108 because that is the first version that recognizes right aligned line numbers. Testing: Ran `cargo +1.90 test` and saw that it worked. Also tested specifying `trybuild = "=1.0.n" and saw that n=108 was the lowest working version. Ref: rust-lang/rust#144609 Ref: dtolnay/trybuild#308 Ref: dtolnay/trybuild#315
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [cargo-edit](https://redirect.github.com/killercup/cargo-edit) |
workspace.dependencies | minor | `0.12.3` → `0.13.0` | |
| [clap](https://redirect.github.com/clap-rs/clap) |
workspace.dependencies | minor | `4.5.40` → `4.6.0` | `4.6.1` |
| [clap_complete](https://redirect.github.com/clap-rs/clap) |
workspace.dependencies | minor | `4.5.54` → `4.6.0` | `4.6.2` (+1) |
| [indexmap](https://redirect.github.com/indexmap-rs/indexmap) |
workspace.dependencies | minor | `2.10.0` → `2.14.0` | |
| [indicatif](https://redirect.github.com/console-rs/indicatif) |
workspace.dependencies | minor | `0.17.12` → `0.18.0` | |
| [lalrpop](https://redirect.github.com/lalrpop/lalrpop) |
workspace.dependencies | patch | `0.23.0` → `0.23.1` | |
| [lalrpop-util](https://redirect.github.com/lalrpop/lalrpop) |
workspace.dependencies | patch | `0.23.0` → `0.23.1` | |
| [logos](https://logos.maciej.codes/)
([source](https://redirect.github.com/maciejhirsz/logos)) |
workspace.dependencies | patch | `0.16.0` → `0.16.1` | |
| [quote](https://redirect.github.com/dtolnay/quote) |
workspace.dependencies | patch | `1.0.40` → `1.0.45` | |
| [reqwest](https://redirect.github.com/seanmonstar/reqwest) |
workspace.dependencies | minor | `0.12.21` → `0.13.0` | |
|
[rustdoc-json](https://redirect.github.com/cargo-public-api/cargo-public-api/tree/main/rustdoc-json)
([source](https://redirect.github.com/cargo-public-api/cargo-public-api/tree/HEAD/rustdoc-json))
| workspace.dependencies | patch | `0.9.6` → `0.9.9` | |
| [sha3](https://redirect.github.com/RustCrypto/hashes) |
workspace.dependencies | minor | `0.10.8` → `0.11.0` | |
| [strum](https://redirect.github.com/Peternator7/strum) |
workspace.dependencies | minor | `0.27.2` → `0.28.0` | |
| [thiserror](https://redirect.github.com/dtolnay/thiserror) |
workspace.dependencies | patch | `2.0.12` → `2.0.18` | |
| [toml](https://redirect.github.com/toml-rs/toml) |
workspace.dependencies | minor | `0.8.20` → `0.9.0` | |
| [trybuild](https://redirect.github.com/dtolnay/trybuild) |
workspace.dependencies | patch | `1.0.105` → `1.0.116` | |
| [url](https://redirect.github.com/servo/rust-url) |
workspace.dependencies | patch | `2.5.4` → `2.5.8` | |
|
[wit-bindgen](https://redirect.github.com/bytecodealliance/wit-bindgen)
| workspace.dependencies | minor | `0.52.0` → `0.55.0` | `0.56.0` |
---
### Release Notes
<details>
<summary>killercup/cargo-edit (cargo-edit)</summary>
###
[`v0.13.9`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0139---2026-03-02)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.8...v0.13.9)
##### Fixes
- Report error when failing to update lockfile
###
[`v0.13.8`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0138---2025-11-11)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.7...v0.13.8)
##### Internal
- Dependency updates
###
[`v0.13.7`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0137---2025-08-08)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.6...v0.13.7)
##### Internal
- Dependency updates
###
[`v0.13.6`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0136---2025-05-27)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.5...v0.13.6)
##### Fixes
- *(upgrade)* Don't update git dependencies that were excluded
###
[`v0.13.5`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0135---2025-05-27)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.4...v0.13.5)
##### Fixes
- Add logging
###
[`v0.13.4`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0134---2025-05-13)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.3...v0.13.4)
##### Fixes
- Add logging
- Add `-n` as a short for `--dry-run`
###
[`v0.13.3`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0133---2025-05-01)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.2...v0.13.3)
##### Fixes
- *(upgrade)* Provide more context on registry errors
###
[`v0.13.2`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0132---2025-03-17)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.1...v0.13.2)
##### Fixes
- *(upgrade)* Don't silence network errors
###
[`v0.13.1`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0131---2025-01-23)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.13.0...v0.13.1)
##### Performance
- Changed compilation settings
###
[`v0.13.0`](https://redirect.github.com/killercup/cargo-edit/blob/HEAD/CHANGELOG.md#0130---2024-09-16)
[Compare
Source](https://redirect.github.com/killercup/cargo-edit/compare/v0.12.3...v0.13.0)
##### Breaking Changes
- *(upgrade)* Remove of `--offline` as we don't have local caching for
sparse registry
##### Fixes
- *(upgrade)* Switched from git to sparse registry for faster runs
</details>
<details>
<summary>clap-rs/clap (clap)</summary>
###
[`v4.6.0`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#460---2026-03-12)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.61...v4.6.0)
##### Compatibility
- Update MSRV to 1.85
###
[`v4.5.61`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4561---2026-03-12)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.60...v4.5.61)
##### Internal
- Update dependencies
###
[`v4.5.60`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4560---2026-02-19)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.59...v4.5.60)
##### Fixes
- *(help)* Quote empty default values, possible values
###
[`v4.5.59`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4559---2026-02-16)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.58...v4.5.59)
##### Fixes
- `Command::ignore_errors` no longer masks help/version on subcommands
###
[`v4.5.58`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4558---2026-02-11)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.57...v4.5.58)
###
[`v4.5.57`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4557---2026-02-03)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.56...v4.5.57)
##### Fixes
- Regression from 4.5.55 where having an argument with
`.value_terminator("--")` caused problems with an argument with
`.last(true)`
###
[`v4.5.56`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4556---2026-01-29)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.55...v4.5.56)
##### Fixes
- On conflict error, don't show conflicting arguments in the usage
###
[`v4.5.55`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4555---2026-01-27)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.54...v4.5.55)
##### Fixes
- Fix inconsistency in precedence between positionals with a
`value_terminator("--")` and escapes (`--`) where `./foo -- bar` means
the first arg is empty, rather than escaping future args
###
[`v4.5.54`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4554---2026-01-02)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.53...v4.5.54)
##### Fixes
- *(help)* Move `[default]` to its own paragraph when
`PossibleValue::help` is present in `--help`
###
[`v4.5.53`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4553---2025-11-19)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.52...v4.5.53)
##### Features
- Add `default_values_if`, `default_values_ifs`
###
[`v4.5.52`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4552---2025-11-17)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.51...v4.5.52)
##### Fixes
- Don't panic when `args_conflicts_with_subcommands` conflicts with an
`ArgGroup`
###
[`v4.5.51`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4551---2025-10-29)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.50...v4.5.51)
##### Fixes
- *(help)* Correctly calculate padding for short flags that take a value
- *(help)* Don't panic on short flags using `ArgAction::Count`
###
[`v4.5.50`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4550---2025-10-20)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.49...v4.5.50)
##### Features
- Accept `Cow` where `String` and `&str` are accepted
###
[`v4.5.49`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4549---2025-10-13)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.48...v4.5.49)
##### Fixes
- *(help)* Correctly wrap when ANSI escape codes are present
###
[`v4.5.48`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4548---2025-09-19)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.47...v4.5.48)
##### Documentation
- Add a new CLI Concepts document as another way of framing clap
- Expand the `typed_derive` cookbook entry
###
[`v4.5.47`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4547---2025-09-02)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.46...v4.5.47)
##### Features
- Added `impl FromArgMatches for ()`
- Added `impl Args for ()`
- Added `impl Subcommand for ()`
- Added `impl FromArgMatches for Infallible`
- Added `impl Subcommand for Infallible`
##### Fixes
- *(derive)* Update runtime error text to match `clap`
###
[`v4.5.46`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4546---2025-08-26)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.45...v4.5.46)
##### Features
- Expose `StyledStr::push_str`
###
[`v4.5.45`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4545---2025-08-12)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.44...v4.5.45)
##### Fixes
- *(unstable-v5)* `ValueEnum` variants now use the full doc comment, not
summary, for `PossibleValue::help`
###
[`v4.5.44`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4544---2025-08-11)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.43...v4.5.44)
##### Features
- Add `Command::mut_subcommands`
###
[`v4.5.43`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4543---2025-08-06)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.42...v4.5.43)
##### Fixes
- *(help)* In long help, list Possible Values before defaults, rather
than after, for a more consistent look
###
[`v4.5.42`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4542---2025-07-30)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.41...v4.5.42)
##### Fixes
- Include subcommand visible long aliases in `--help`
###
[`v4.5.41`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4541---2025-07-09)
[Compare
Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.40...v4.5.41)
##### Features
- Add `Styles::context` and `Styles::context_value` to customize the
styling of `[default: value]` like notes in the `--help`
</details>
<details>
<summary>indexmap-rs/indexmap (indexmap)</summary>
###
[`v2.14.0`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2140-2026-04-09)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.13.1...2.14.0)
- **MSRV**: Rust 1.85.0 or later is now required.
- Updated the `hashbrown` dependency to 0.17.
- Made more `map::Slice` methods `const`: `new_mut`, `first_mut`,
`last_mut`,
`split_at_mut`, `split_at_mut_checked`, `split_first_mut`,
`split_last_mut`
###
[`v2.13.1`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2131-2026-04-02)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.13.0...2.13.1)
- Made some `Slice` methods `const`:
-
`map::Slice::{first,last,split_at,split_at_checked,split_first,split_last}`
-
`set::Slice::{first,last,split_at,split_at_checked,split_first,split_last}`
###
[`v2.13.0`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2130-2026-01-07)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.12.1...2.13.0)
- Implemented `Clone` for `IntoKeys` and `IntoValues`.
- Added `map::Slice::split_at_checked` and `split_at_mut_checked`.
- Added `set::Slice::split_at_checked`.
###
[`v2.12.1`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2121-2025-11-20)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.12.0...2.12.1)
- Simplified a lot of internals using `hashbrown`'s new bucket API.
###
[`v2.12.0`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2120-2025-10-17)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.11.4...2.12.0)
- **MSRV**: Rust 1.82.0 or later is now required.
- Updated the `hashbrown` dependency to 0.16 alone.
- Error types now implement `core::error::Error`.
- Added `pop_if` methods to `IndexMap` and `IndexSet`, similar to the
method for `Vec` added in Rust 1.86.
###
[`v2.11.4`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2114-2025-09-18)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.11.3...2.11.4)
- Updated the `hashbrown` dependency to a range allowing 0.15 or 0.16.
###
[`v2.11.3`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2113-2025-09-15)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.11.2...2.11.3)
- Make the minimum `serde` version only apply when "serde" is enabled.
###
[`v2.11.2`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2112-2025-09-15)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.11.1...2.11.2)
- Switched the "serde" feature to depend on `serde_core`, improving
build
parallelism in cases where other dependents have enabled "serde/derive".
###
[`v2.11.1`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2111-2025-09-08)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.11.0...2.11.1)
- Added a `get_key_value_mut` method to `IndexMap`.
- Removed the unnecessary `Ord` bound on `insert_sorted_by` methods.
###
[`v2.11.0`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2110-2025-08-22)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.10.0...2.11.0)
- Added `insert_sorted_by` and `insert_sorted_by_key` methods to
`IndexMap`,
`IndexSet`, and `VacantEntry`, like customizable versions of
`insert_sorted`.
- Added `is_sorted`, `is_sorted_by`, and `is_sorted_by_key` methods to
`IndexMap` and `IndexSet`, as well as their `Slice` counterparts.
- Added `sort_by_key` and `sort_unstable_by_key` methods to `IndexMap`
and
`IndexSet`, as well as parallel counterparts.
- Added `replace_index` methods to `IndexMap`, `IndexSet`, and
`VacantEntry`
to replace the key (or set value) at a given index.
- Added optional `sval` serialization support.
</details>
<details>
<summary>console-rs/indicatif (indicatif)</summary>
###
[`v0.18.4`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.4)
[Compare
Source](https://redirect.github.com/console-rs/indicatif/compare/0.18.3...0.18.4)
#### What's Changed
- initial draft oft hold\_max with heuristic by
[@​djugei](https://redirect.github.com/djugei) in
[#​657](https://redirect.github.com/console-rs/indicatif/pull/657)
- Fix duration after finish by
[@​luolong](https://redirect.github.com/luolong) in
[#​748](https://redirect.github.com/console-rs/indicatif/pull/748)
- Add refresh rate warning for ProgressDrawTarget::term\_like() by
[@​djc](https://redirect.github.com/djc) in
[#​750](https://redirect.github.com/console-rs/indicatif/pull/750)
- Seeking heuristic tweaks by
[@​djc](https://redirect.github.com/djc) in
[#​751](https://redirect.github.com/console-rs/indicatif/pull/751)
- Expose the current tab width by
[@​alexisfontaine](https://redirect.github.com/alexisfontaine) in
[#​754](https://redirect.github.com/console-rs/indicatif/pull/754)
- Make WASM support optional via a feature flag by
[@​SvenFinn](https://redirect.github.com/SvenFinn) in
[#​761](https://redirect.github.com/console-rs/indicatif/pull/761)
- fix: respect NO\_COLOR and TERM=dumb environment variables by
[@​shaanmajid](https://redirect.github.com/shaanmajid) in
[#​764](https://redirect.github.com/console-rs/indicatif/pull/764)
###
[`v0.18.3`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.3)
[Compare
Source](https://redirect.github.com/console-rs/indicatif/compare/0.18.2...0.18.3)
#### What's Changed
- Add ProgressBar::set\_elapsed by
[@​sunshowers](https://redirect.github.com/sunshowers) in
[#​742](https://redirect.github.com/console-rs/indicatif/pull/742)
###
[`v0.18.2`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.2)
[Compare
Source](https://redirect.github.com/console-rs/indicatif/compare/0.18.1...0.18.2)
#### What's Changed
- Fix wide\_msg truncation with a colored message by
[@​glehmann](https://redirect.github.com/glehmann) in
[#​740](https://redirect.github.com/console-rs/indicatif/pull/740)
- style: tweak write\_ansi\_range() style by
[@​djc](https://redirect.github.com/djc) in
[#​741](https://redirect.github.com/console-rs/indicatif/pull/741)
###
[`v0.18.1`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.1)
[Compare
Source](https://redirect.github.com/console-rs/indicatif/compare/0.18.0...0.18.1)
#### What's Changed
- Do not render "current" char if no "current" char is configured by
[@​Finomnis](https://redirect.github.com/Finomnis) in
[#​719](https://redirect.github.com/console-rs/indicatif/pull/719)
- Update vt100 requirement from 0.15.1 to 0.16.1 by
[@​dependabot](https://redirect.github.com/dependabot)\[bot] in
[#​723](https://redirect.github.com/console-rs/indicatif/pull/723)
- Bump MSRV to 1.71 with versioned lockfile by
[@​djc](https://redirect.github.com/djc) in
[#​735](https://redirect.github.com/console-rs/indicatif/pull/735)
- Fix wide\_bar width computation with a multiline message by
[@​glehmann](https://redirect.github.com/glehmann) in
[#​738](https://redirect.github.com/console-rs/indicatif/pull/738)
###
[`v0.18.0`](https://redirect.github.com/console-rs/indicatif/releases/tag/0.18.0)
[Compare
Source](https://redirect.github.com/console-rs/indicatif/compare/0.17.12...0.18.0)
Unfortunately
[0.17.12](https://redirect.github.com/console-rs/indicatif/releases/0.17.12)
had to be yanked because the console upgrade was a semver-incompatible
change. Rerelease as 0.18.0 instead.
#### What's Changed
- Bump version to 0.18.0 by
[@​djc](https://redirect.github.com/djc) in
[#​715](https://redirect.github.com/console-rs/indicatif/pull/715)
</details>
<details>
<summary>lalrpop/lalrpop (lalrpop)</summary>
###
[`v0.23.1`](https://redirect.github.com/lalrpop/lalrpop/blob/HEAD/RELEASES.md#0231-2026-03-11)
[Compare
Source](https://redirect.github.com/lalrpop/lalrpop/compare/0.23.0...0.23.1)
##### Bigfixes
- Fix bug where windows paths were used based on target OS rather than
host OS,
breaking cross compile scenarios
</details>
<details>
<summary>maciejhirsz/logos (logos)</summary>
###
[`v0.16.1`](https://redirect.github.com/maciejhirsz/logos/releases/tag/v0.16.1):
- Fix `no_std` problem, clarify edge cases and docs
#### What's Changed
- Remove std usage in generated code by
[@​robot-rover](https://redirect.github.com/robot-rover) in
[#​521](https://redirect.github.com/maciejhirsz/logos/pull/521)
- Clarify greedy dot error message by
[@​robot-rover](https://redirect.github.com/robot-rover) in
[#​522](https://redirect.github.com/maciejhirsz/logos/pull/522)
- State machine codegen code example swap by
[@​Apanatshka](https://redirect.github.com/Apanatshka) in
[#​526](https://redirect.github.com/maciejhirsz/logos/pull/526)
- Clarify codegen performance characteristics by
[@​robot-rover](https://redirect.github.com/robot-rover) in
[#​527](https://redirect.github.com/maciejhirsz/logos/pull/527)
- chore: fix typos in comments by
[@​tisonkun](https://redirect.github.com/tisonkun) in
[#​528](https://redirect.github.com/maciejhirsz/logos/pull/528)
- chore: remove unused dependency by
[@​tisonkun](https://redirect.github.com/tisonkun) in
[#​529](https://redirect.github.com/maciejhirsz/logos/pull/529)
- Remove duplicate Logos import from doctests in tests/lib.rs by
[@​RoyPrinsGH](https://redirect.github.com/RoyPrinsGH) in
[#​523](https://redirect.github.com/maciejhirsz/logos/pull/523)
- test: use trybuild for compilation tests by
[@​tisonkun](https://redirect.github.com/tisonkun) in
[#​531](https://redirect.github.com/maciejhirsz/logos/pull/531)
- ci: coalesce styles by
[@​tisonkun](https://redirect.github.com/tisonkun) in
[#​533](https://redirect.github.com/maciejhirsz/logos/pull/533)
- Require `allow_greedy = true` on skips by
[@​robot-rover](https://redirect.github.com/robot-rover) in
[#​534](https://redirect.github.com/maciejhirsz/logos/pull/534)
- Fix typo in logos.md subpatterns section by
[@​ascopes](https://redirect.github.com/ascopes) in
[#​536](https://redirect.github.com/maciejhirsz/logos/pull/536)
- chore(version): release v0.16.1 by
[@​jeertmans](https://redirect.github.com/jeertmans) in
[#​538](https://redirect.github.com/maciejhirsz/logos/pull/538)
#### New Contributors
- [@​Apanatshka](https://redirect.github.com/Apanatshka) made
their first contribution in
[#​526](https://redirect.github.com/maciejhirsz/logos/pull/526)
- [@​tisonkun](https://redirect.github.com/tisonkun) made their
first contribution in
[#​528](https://redirect.github.com/maciejhirsz/logos/pull/528)
- [@​RoyPrinsGH](https://redirect.github.com/RoyPrinsGH) made
their first contribution in
[#​523](https://redirect.github.com/maciejhirsz/logos/pull/523)
- [@​ascopes](https://redirect.github.com/ascopes) made their
first contribution in
[#​536](https://redirect.github.com/maciejhirsz/logos/pull/536)
**Full Changelog**:
<https://github.com/maciejhirsz/logos/compare/v0.16...v0.16.1>
</details>
<details>
<summary>dtolnay/quote (quote)</summary>
###
[`v1.0.45`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.45)
[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.44...1.0.45)
- Add ToTokens impl for Arc\<T>
([#​326](https://redirect.github.com/dtolnay/quote/issues/326))
###
[`v1.0.44`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.44)
[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.43...1.0.44)
- Support raw lifetime syntax `'r#async`
([#​323](https://redirect.github.com/dtolnay/quote/issues/323))
###
[`v1.0.43`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.43)
[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.42...1.0.43)
- Disambiguate references to `stringify!` macro inside generated code
([#​316](https://redirect.github.com/dtolnay/quote/issues/316))
###
[`v1.0.42`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.42)
[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.41...1.0.42)
- Tweaks to improve build speed
([#​305](https://redirect.github.com/dtolnay/quote/issues/305),
[#​306](https://redirect.github.com/dtolnay/quote/issues/306),
[#​307](https://redirect.github.com/dtolnay/quote/issues/307),
[#​308](https://redirect.github.com/dtolnay/quote/issues/308),
thanks [@​dishmaker](https://redirect.github.com/dishmaker))
###
[`v1.0.41`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.41)
[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.40...1.0.41)
- Improve compile error when repetition contains no interpolated value
that is an iterator
([#​302](https://redirect.github.com/dtolnay/quote/issues/302))
</details>
<details>
<summary>seanmonstar/reqwest (reqwest)</summary>
###
[`v0.13.2`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0132)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.13.1...v0.13.2)
- Fix HTTP/2 and native-tls ALPN feature combinations.
- Fix HTTP/3 to send h3 ALPN.
- (wasm) fix `RequestBuilder::json()` from override previously set
content-type.
###
[`v0.13.1`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0131)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.13.0...v0.13.1)
- Fixes compiling with rustls on Android targets.
###
[`v0.13.0`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0130)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.28...v0.13.0)
- **Breaking changes**:
- `rustls` is now the default TLS backend, instead of `native-tls`.
- `rustls` crypto provider defaults to aws-lc instead of *ring*.
(`rustls-no-provider` exists if you want a different crypto provider)
- `rustls-tls` has been renamed to `rustls`.
- rustls roots features removed, `rustls-platform-verifier` is used by
default.
- To use different roots, call `tls_certs_only(your_roots)`.
- `native-tls` now includes ALPN. To disable, use `native-tls-no-alpn`.
- `query` and `form` are now crate features, disabled by default.
- Long-deprecated methods and crate features have been removed (such as
`trust-dns`, which was renamed `hickory-dns` a while ago).
- Many TLS-related methods renamed to improve autocompletion and
discovery, but previous name left in place with a "soft" deprecation.
(just documented, no warnings)
- For example, prefer `tls_backend_rustls()` over `use_rustls_tls()`.
#### v0.12.28
- Fix compiling on Windows if TLS and SOCKS features are not enabled.
#### v0.12.27
- Add `ClientBuilder::windows_named_pipe(name)` option that will force
all requests over that Windows Named Piper.
#### v0.12.26
- Fix sending `Accept-Encoding` header only with values configured with
reqwest, regardless of underlying tower-http config.
#### v0.12.25
- Add `Error::is_upgrade()` to determine if the error was from an HTTP
upgrade.
- Fix sending `Proxy-Authorization` if only username is configured.
- Fix sending `Proxy-Authorization` to HTTPS proxies when the target is
HTTP.
- Refactor internal decompression handling to use tower-http.
#### v0.12.24
- Refactor cookie handling to an internal middleware.
- Refactor internal random generator.
- Refactor base64 encoding to reduce a copy.
- Documentation updates.
#### v0.12.23
- Add `ClientBuilder::unix_socket(path)` option that will force all
requests over that Unix Domain Socket.
- Add `ClientBuilder::retry(policy)` and `reqwest::retry::Builder` to
configure automatic retries.
- Add `ClientBuilder::dns_resolver2()` with more ergonomic argument
bounds, allowing more resolver implementations.
- Add `http3_*` options to `blocking::ClientBuilder`.
- Fix default TCP timeout values to enabled and faster.
- Fix SOCKS proxies to default to port 1080
- (wasm) Add cache methods to `RequestBuilder`.
#### v0.12.22
- Fix socks proxies when resolving IPv6 destinations.
#### v0.12.21
- Fix socks proxy to use `socks4a://` instead of `socks4h://`.
- Fix `Error::is_timeout()` to check for hyper and IO timeouts too.
- Fix request `Error` to again include URLs when possible.
- Fix socks connect error to include more context.
- (wasm) implement `Default` for `Body`.
#### v0.12.20
- Add `ClientBuilder::tcp_user_timeout(Duration)` option to set
`TCP_USER_TIMEOUT`.
- Fix proxy headers only using the first matched proxy.
- (wasm) Fix re-adding `Error::is_status()`.
#### v0.12.19
- Fix redirect that changes the method to GET should remove payload
headers.
- Fix redirect to only check the next scheme if the policy action is to
follow.
- (wasm) Fix compilation error if `cookies` feature is enabled (by the
way, it's a noop feature in wasm).
#### v0.12.18
- Fix compilation when `socks` enabled without TLS.
#### v0.12.17
- Fix compilation on macOS.
#### v0.12.16
- Add `ClientBuilder::http3_congestion_bbr()` to enable BBR congestion
control.
- Add `ClientBuilder::http3_send_grease()` to configure whether to send
use QUIC grease.
- Add `ClientBuilder::http3_max_field_section_size()` to configure the
maximum response headers.
- Add `ClientBuilder::tcp_keepalive_interval()` to configure TCP probe
interval.
- Add `ClientBuilder::tcp_keepalive_retries()` to configure TCP probe
count.
- Add `Proxy::headers()` to add extra headers that should be sent to a
proxy.
- Fix `redirect::Policy::limit()` which had an off-by-1 error, allowing
1 more redirect than specified.
- Fix HTTP/3 to support streaming request bodies.
- (wasm) Fix null bodies when calling `Response::bytes_stream()`.
#### v0.12.15
- Fix Windows to support both `ProxyOverride` and `NO_PROXY`.
- Fix http3 to support streaming response bodies.
- Fix http3 dependency from public API misuse.
#### v0.12.14
- Fix missing `fetch_mode_no_cors()`, marking as deprecated when not on
WASM.
#### v0.12.13
- Add `Form::into_reader()` for blocking `multipart` forms.
- Add `Form::into_stream()` for async `multipart` forms.
- Add support for SOCKS4a proxies.
- Fix decoding responses with multiple zstd frames.
- Fix `RequestBuilder::form()` from overwriting a previously set
`Content-Type` header, like the other builder methods.
- Fix cloning of request timeout in `blocking::Request`.
- Fix http3 synchronization of connection creation, reducing unneccesary
extra connections.
- Fix Windows system proxy to use `ProxyOverride` as a `NO_PROXY` value.
- Fix blocking read to correctly reserve and zero read buffer.
- (wasm) Add support for request timeouts.
- (wasm) Fix `Error::is_timeout()` to return true when from a request
timeout.
#### v0.12.12
- (wasm) Fix compilation by not compiler `tokio/time` on WASM.
#### v0.12.11
- Fix decompression returning an error when HTTP/2 ends with an empty
data frame.
#### v0.12.10
- Add `ClientBuilder::connector_layer()` to allow customizing the
connector stack.
- Add `ClientBuilder::http2_max_header_list_size()` option.
- Fix propagating body size hint (`content-length`) information when
wrapping bodies.
- Fix decompression of chunked bodies so the connections can be reused
more often.
#### v0.12.9
- Add `tls::CertificateRevocationLists` support.
- Add crate features to enable webpki roots without selecting a rustls
provider.
- Fix `connection_verbose()` to output read logs.
- Fix `multipart::Part::file()` to automatically include content-length.
- Fix proxy to internally no longer cache system proxy settings.
#### v0.12.8
- Add support for SOCKS4 proxies.
- Add `multipart::Form::file()` method for adding files easily.
- Add `Body::wrap()` to wrap any `http_body::Body` type.
- Fix the pool configuration to use a timer to remove expired
connections.
#### v0.12.7
- Revert adding `impl Service<http::Request<_>>` for `Client`.
#### v0.12.6
- Add support for `danger_accept_invalid_hostnames` for `rustls`.
- Add `impl Service<http::Request<Body>>` for `Client` and `&'_ Client`.
- Add support for `!Sync` bodies in `Body::wrap_stream()`.
- Enable happy eyeballs when `hickory-dns` is used.
- Fix `Proxy` so that `HTTP(S)_PROXY` values take precedence over
`ALL_PROXY`.
- Fix `blocking::RequestBuilder::header()` from unsetting `sensitive` on
passed header values.
#### v0.12.5
- Add `blocking::ClientBuilder::dns_resolver()` method to change DNS
resolver in blocking client.
- Add `http3` feature back, still requiring `reqwest_unstable`.
- Add `rustls-tls-no-provider` Cargo feature to use rustls without a
crypto provider.
- Fix `Accept-Encoding` header combinations.
- Fix http3 resolving IPv6 addresses.
- Internal: upgrade to rustls 0.23.
#### v0.12.4
- Add `zstd` support, enabled with `zstd` Cargo feature.
- Add `ClientBuilder::read_timeout(Duration)`, which applies the
duration for each read operation. The timeout resets after a successful
read.
#### v0.12.3
- Add `FromStr` for `dns::Name`.
- Add `ClientBuilder::built_in_webpki_certs(bool)` to enable them
separately.
- Add `ClientBuilder::built_in_native_certs(bool)` to enable them
separately.
- Fix sending `content-length: 0` for GET requests.
- Fix response body `content_length()` to return value when timeout is
configured.
- Fix `ClientBuilder::resolve()` to use lowercase domain names.
#### v0.12.2
- Fix missing ALPN when connecting to socks5 proxy with rustls.
- Fix TLS version limits with rustls.
- Fix not detected ALPN h2 from server with native-tls.
#### v0.12.1
- Fix `ClientBuilder::interface()` when no TLS is enabled.
- Fix `TlsInfo::peer_certificate()` being truncated with rustls.
- Fix panic if `http2` feature disabled but TLS negotiated h2 in ALPN.
- Fix `Display` for `Error` to not include its source error.
###
[`v0.12.28`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01228)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.27...v0.12.28)
- Fix compiling on Windows if TLS and SOCKS features are not enabled.
###
[`v0.12.27`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01227)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.26...v0.12.27)
- Add `ClientBuilder::windows_named_pipe(name)` option that will force
all requests over that Windows Named Piper.
###
[`v0.12.26`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01226)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.25...v0.12.26)
- Fix sending `Accept-Encoding` header only with values configured with
reqwest, regardless of underlying tower-http config.
###
[`v0.12.25`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01225)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.24...v0.12.25)
- Add `Error::is_upgrade()` to determine if the error was from an HTTP
upgrade.
- Fix sending `Proxy-Authorization` if only username is configured.
- Fix sending `Proxy-Authorization` to HTTPS proxies when the target is
HTTP.
- Refactor internal decompression handling to use tower-http.
###
[`v0.12.24`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01224)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)
- Refactor cookie handling to an internal middleware.
- Refactor internal random generator.
- Refactor base64 encoding to reduce a copy.
- Documentation updates.
###
[`v0.12.23`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01223)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.22...v0.12.23)
- Add `ClientBuilder::unix_socket(path)` option that will force all
requests over that Unix Domain Socket.
- Add `ClientBuilder::retry(policy)` and `reqwest::retry::Builder` to
configure automatic retries.
- Add `ClientBuilder::dns_resolver2()` with more ergonomic argument
bounds, allowing more resolver implementations.
- Add `http3_*` options to `blocking::ClientBuilder`.
- Fix default TCP timeout values to enabled and faster.
- Fix SOCKS proxies to default to port 1080
- (wasm) Add cache methods to `RequestBuilder`.
###
[`v0.12.22`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v01222)
[Compare
Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.21...v0.12.22)
- Fix socks proxies when resolving IPv6 destinations.
</details>
<details>
<summary>cargo-public-api/cargo-public-api (rustdoc-json)</summary>
###
[`v0.9.9`](https://redirect.github.com/cargo-public-api/cargo-public-api/blob/HEAD/rustdoc-json/CHANGELOG.md#v099)
[Compare
Source](https://redirect.github.com/cargo-public-api/cargo-public-api/compare/rustdoc-json-v0.9.8...rustdoc-json-v0.9.9)
- Bump deps. Most notably `cargo-manifest` from `0.19.x` to `0.20.x` and
`toml` from `0.8.x` to `1.x.y`.
###
[`v0.9.8`](https://redirect.github.com/cargo-public-api/cargo-public-api/blob/HEAD/rustdoc-json/CHANGELOG.md#v098)
[Compare
Source](https://redirect.github.com/cargo-public-api/cargo-public-api/compare/rustdoc-json-v0.9.7...rustdoc-json-v0.9.8)
- Add `rustdoc_json::Builder::env()` which simply forwards to underlying
`Command::env()`.
###
[`v0.9.7`](https://redirect.github.com/cargo-public-api/cargo-public-api/blob/HEAD/rustdoc-json/CHANGELOG.md#v097)
[Compare
Source](https://redirect.github.com/cargo-public-api/cargo-public-api/compare/rustdoc-json-v0.9.6...rustdoc-json-v0.9.7)
- Bump `cargo_metadata` from `0.19.2` to `0.21.0`.
</details>
<details>
<summary>RustCrypto/hashes (sha3)</summary>
###
[`v0.11.0`](https://redirect.github.com/RustCrypto/hashes/compare/sha2-v0.10.9...sha2-v0.11.0)
</details>
<details>
<summary>Peternator7/strum (strum)</summary>
###
[`v0.28.0`](https://redirect.github.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0280)
[Compare
Source](https://redirect.github.com/Peternator7/strum/compare/v0.27.2...v0.28.0)
- [#​461](https://redirect.github.com/Peternator7/strum/pull/461):
Allow any kind of passthrough attributes on `EnumDiscriminants`.
- Previously only list-style attributes (e.g.
`#[strum_discriminants(derive(...))]`) were supported. Now path-only
(e.g. `#[strum_discriminants(non_exhaustive)]`) and name/value (e.g.
`#[strum_discriminants(doc = "foo")]`)
attributes are also supported.
- [#​462](https://redirect.github.com/Peternator7/strum/pull/462):
Add missing `#[automatically_derived]` to generated impls not
covered by
[#​444](https://redirect.github.com/Peternator7/strum/pull/444).
- [#​466](https://redirect.github.com/Peternator7/strum/pull/466):
Bump MSRV to 1.71, required to keep up with updated `syn` and
`windows-sys` dependencies. This is a breaking change if you're on an
old version of rust.
- [#​469](https://redirect.github.com/Peternator7/strum/pull/469):
Use absolute paths in generated proc macro code to avoid
potential name conflicts.
- [#​465](https://redirect.github.com/Peternator7/strum/pull/465):
Upgrade `phf` dependency to v0.13.
- [#​473](https://redirect.github.com/Peternator7/strum/pull/473):
Fix `cargo fmt` / `clippy` issues and add GitHub Actions CI.
- [#​477](https://redirect.github.com/Peternator7/strum/pull/477):
`strum::ParseError` now implements `core::fmt::Display` instead
`std::fmt::Display` to make it `#[no_std]` compatible. Note the `Error`
trait wasn't available in core until `1.81`
so `strum::ParseError` still only implements that in std.
- [#​476](https://redirect.github.com/Peternator7/strum/pull/476):
**Breaking Change** - `EnumString` now implements `From<&str>`
(infallible) instead of `TryFrom<&str>` when the enum has a
`#[strum(default)]` variant. This more accurately
reflects that parsing cannot fail in that case. If you need the old
`TryFrom` behavior, you can opt back in using
`parse_error_ty` and `parse_error_fn`:
```rust
#[derive(EnumString)]
#[strum(parse_error_ty = strum::ParseError, parse_error_fn =
make_error)]
pub enum Color {
Red,
#[strum(default)]
Other(String),
}
fn make_error(x: &str) -> strum::ParseError {
strum::ParseError::VariantNotFound
}
```
- [#​431](https://redirect.github.com/Peternator7/strum/pull/431):
Fix bug where `EnumString` ignored the `parse_err_ty`
attribute when the enum had a `#[strum(default)]` variant.
- [#​474](https://redirect.github.com/Peternator7/strum/pull/474):
EnumDiscriminants will now copy `default` over from the
original enum to the Discriminant enum.
```rust
#[derive(Debug, Default, EnumDiscriminants)]
#[strum_discriminants(derive(Default))] // <- Remove this in 0.28.
enum MyEnum {
#[default] // <- Will be the #[default] on the MyEnumDiscriminant
#[strum_discriminants(default)] // <- Remove this in 0.28
Variant0,
Variant1 { a: NonDefault },
}
```
</details>
<details>
<summary>dtolnay/thiserror (thiserror)</summary>
###
[`v2.0.18`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.18)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.17...2.0.18)
- Make compatible with project-level `needless_lifetimes = "forbid"`
([#​443](https://redirect.github.com/dtolnay/thiserror/issues/443),
thanks
[@​LucaCappelletti94](https://redirect.github.com/LucaCappelletti94))
###
[`v2.0.17`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.17)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.16...2.0.17)
- Use differently named \_\_private module per patch release
([#​434](https://redirect.github.com/dtolnay/thiserror/issues/434))
###
[`v2.0.16`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.16)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.15...2.0.16)
- Add to "no-std" crates.io category
([#​429](https://redirect.github.com/dtolnay/thiserror/issues/429))
###
[`v2.0.15`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.15)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.14...2.0.15)
- Prevent `Error::provide` API becoming unavailable from a future new
compiler lint
([#​427](https://redirect.github.com/dtolnay/thiserror/issues/427))
###
[`v2.0.14`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.14)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.13...2.0.14)
- Allow build-script cleanup failure with NFSv3 output directory to be
non-fatal
([#​426](https://redirect.github.com/dtolnay/thiserror/issues/426))
###
[`v2.0.13`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.13)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.12...2.0.13)
- Documentation improvements
</details>
<details>
<summary>toml-rs/toml (toml)</summary>
###
[`v0.9.12`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.11...toml-v0.9.12)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.11...toml-v0.9.12)
###
[`v0.9.11`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.10...toml-v0.9.11)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.10...toml-v0.9.11)
###
[`v0.9.10`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.9...toml-v0.9.10)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.9...toml-v0.9.10)
###
[`v0.9.9`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.8...toml-v0.9.9)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.8...toml-v0.9.9)
###
[`v0.9.8`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.7...toml-v0.9.8)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.7...toml-v0.9.8)
###
[`v0.9.7`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.6...toml-v0.9.7)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.6...toml-v0.9.7)
###
[`v0.9.6`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.5...toml-v0.9.6)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.5...toml-v0.9.6)
###
[`v0.9.5`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.4...toml-v0.9.5)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.4...toml-v0.9.5)
###
[`v0.9.4`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.3...toml-v0.9.4)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.3...toml-v0.9.4)
###
[`v0.9.3`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.2...toml-v0.9.3)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.2...toml-v0.9.3)
###
[`v0.9.2`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.1...toml-v0.9.2)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.1...toml-v0.9.2)
###
[`v0.9.1`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.0...toml-v0.9.1)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.9.0...toml-v0.9.1)
###
[`v0.9.0`](https://redirect.github.com/toml-rs/toml/compare/toml-v0.8.23...toml-v0.9.0)
[Compare
Source](https://redirect.github.com/toml-rs/toml/compare/toml-v0.8.23...toml-v0.9.0)
</details>
<details>
<summary>dtolnay/trybuild (trybuild)</summary>
###
[`v1.0.116`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.116)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.115...1.0.116)
- Update `toml` dependency to v1
###
[`v1.0.115`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.115)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.114...1.0.115)
- Normalize diagnostic width
([#​325](https://redirect.github.com/dtolnay/trybuild/issues/325),
thanks [@​davidhewitt](https://redirect.github.com/davidhewitt))
###
[`v1.0.114`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.114)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.113...1.0.114)
- Normalize indentation of rustc suggestion lines
([#​319](https://redirect.github.com/dtolnay/trybuild/issues/319))
###
[`v1.0.113`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.113)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.112...1.0.113)
- Update `target-triple` dependency to v1
###
[`v1.0.112`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.112)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.111...1.0.112)
- Normalize indentation of consteval notes
([#​318](https://redirect.github.com/dtolnay/trybuild/issues/318))
###
[`v1.0.111`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.111)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.110...1.0.111)
- Normalize dependency crate's version in filepaths
([#​316](https://redirect.github.com/dtolnay/trybuild/issues/316))
###
[`v1.0.110`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.110)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.109...1.0.110)
- Fix permissions\_set\_readonly\_false warning
([#​312](https://redirect.github.com/dtolnay/trybuild/issues/312))
###
[`v1.0.109`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.109)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.108...1.0.109)
- Support read-only Cargo.lock files
([#​310](https://redirect.github.com/dtolnay/trybuild/issues/310),
thanks
[@​MingweiSamuel](https://redirect.github.com/MingweiSamuel))
###
[`v1.0.108`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.108)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.107...1.0.108)
- More right-aligned line number fixes
([#​309](https://redirect.github.com/dtolnay/trybuild/issues/309))
###
[`v1.0.107`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.107)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.106...1.0.107)
- Recognize right aligned line numbers
([#​308](https://redirect.github.com/dtolnay/trybuild/issues/308),
[rust-lang/rust#144609](https://redirect.github.com/rust-lang/rust/pull/144609))
###
[`v1.0.106`](https://redirect.github.com/dtolnay/trybuild/releases/tag/1.0.106)
[Compare
Source](https://redirect.github.com/dtolnay/trybuild/compare/1.0.105...1.0.106)
- Update `toml` dependency to 0.9
([#​306](https://redirect.github.com/dtolnay/trybuild/issues/306))
</details>
<details>
<summary>servo/rust-url (url)</summary>
###
[`v2.5.8`](https://redirect.github.com/servo/rust-url/compare/v2.5.7...v2.5.8)
[Compare
Source](https://redirect.github.com/servo/rust-url/compare/v2.5.7...v2.5.8)
###
[`v2.5.7`](https://redirect.github.com/servo/rust-url/releases/tag/v2.5.7)
#### What's Changed
##### v.2.5.6
- Bump versions by
[@​valenting](https://redirect.github.com/valenting) in
[#​1062](https://redirect.github.com/servo/rust-url/pull/1062)
- version bump to 2.5.6 by
[@​edgul](https://redirect.github.com/edgul) in
[#​1065](https://redirect.github.com/servo/rust-url/pull/1065)
- Use no-std instead of no\_std in Cargo.toml by
[@​valenting](https://redirect.github.com/valenting) in
[#​1064](https://redirect.github.com/servo/rust-url/pull/1064)
- fix: add Serde std feature if needed by
[@​reneca](https://redirect.github.com/reneca) in
[#​1068](https://redirect.github.com/servo/rust-url/pull/1068)
##### v.2.5.7
- make serde std feature use optional syntax by
[@​klensy](https://redirect.github.com/klensy) in
[#​1071](https://redirect.github.com/servo/rust-url/pull/1071)
#### New Contributors
- [@​reneca](https://redirect.github.com/reneca) made their first
contribution in
[#​1068](https://redirect.github.com/servo/rust-url/pull/1068)
**Full Changelog**:
<https://github.com/servo/rust-url/compare/v2.5.5...v2.5.7>
###
[`v2.5.5`](https://redirect.github.com/servo/rust-url/releases/tag/v2.5.5)
[Compare
Source](https://redirect.github.com/servo/rust-url/compare/v2.5.4...v2.5.5)
#### What's Changed
- ci: downgrade crates when building for Rust 1.67.0 by
[@​mxinden](https://redirect.github.com/mxinden) in
[#​1003](https://redirect.github.com/servo/rust-url/pull/1003)
- ci: run unit tests with sanitizers by
[@​mxinden](https://redirect.github.com/mxinden) in
[#​1002](https://redirect.github.com/servo/rust-url/pull/1002)
- fix small typo by [@​hkBst](https://redirect.github.com/hkBst)
in [#​1011](https://redirect.github.com/servo/rust-url/pull/1011)
- chore: fix clippy errors on main by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1019](https://redirect.github.com/servo/rust-url/pull/1019)
- perf: remove heap allocation in parse\_query by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1020](https://redirect.github.com/servo/rust-url/pull/1020)
- perf: slightly improve parsing a port by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1022](https://redirect.github.com/servo/rust-url/pull/1022)
- perf: improve to\_file\_path() by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1018](https://redirect.github.com/servo/rust-url/pull/1018)
- perf: make parse\_scheme slightly faster by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1025](https://redirect.github.com/servo/rust-url/pull/1025)
- update LICENSE-MIT by
[@​wmjae](https://redirect.github.com/wmjae) in
[#​1029](https://redirect.github.com/servo/rust-url/pull/1029)
- perf: url encode path segments in longer string slices by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1026](https://redirect.github.com/servo/rust-url/pull/1026)
- Disable the default features on serde by
[@​rilipco](https://redirect.github.com/rilipco) in
[#​1033](https://redirect.github.com/servo/rust-url/pull/1033)
- docs: base url relative join by
[@​tisonkun](https://redirect.github.com/tisonkun) in
[#​1013](https://redirect.github.com/servo/rust-url/pull/1013)
- perf: remove heap allocation in parse\_host by
[@​dsherret](https://redirect.github.com/dsherret) in
[#​1021](https://redirect.github.com/servo/rust-url/pull/1021)
- Update tests to Unicode 16.0 by
[@​hsivonen](https://redirect.github.com/hsivonen) in
[#​1045](https://redirect.github.com/servo/rust-url/pull/1045)
- Add some some basic functions to `Mime` by
[@​mrobinson](https://redirect.github.com/mrobinson) in
[#​1047](https://redirect.github.com/servo/rust-url/pull/1047)
- ran `cargo clippy --fix -- -Wclippy::use_self` by
[@​mrobinson](https://redirect.github.com/mrobinson) in
[#​1048](https://redirect.github.com/servo/rust-url/pull/1048)
- Fix MSRV and clippy CI by
[@​Manishearth](https://redirect.github.com/Manishearth) in
[#​1058](https://redirect.github.com/servo/rust-url/pull/1058)
- Update `Url::domain` docs to show that it includes subdomain by
[@​supercoolspy](https://redirect.github.com/supercoolspy) in
[#​1057](https://redirect.github.com/servo/rust-url/pull/1057)
- set\_hostname should error when encountering colon ':' by
[@​edgul](https://redirect.github.com/edgul) in
[#​1060](https://redirect.github.com/servo/rust-url/pull/1060)
- version bump to 2.5.5 by
[@​edgul](https://redirect.github.com/edgul) in
[#​1061](https://redirect.github.com/servo/rust-url/pull/1061)
#### New Contributors
- [@​mxinden](https://redirect.github.com/mxinden) made their
first contribution in
[#​1003](https://redirect.github.com/servo/rust-url/pull/1003)
- [@​hkBst](https://redirect.github.com/hkBst) made their first
contribution in
[#​1011](https://redirect.github.com/servo/rust-url/pull/1011)
- [@​wmjae](https://redirect.github.com/wmjae) made their first
contribution in
[#​1029](https://redirect.github.com/servo/rust-url/pull/1029)
- [@​rilipco](https://redirect.github.com/rilipco) made their
first contribution in
[#​1033](https://redirect.github.com/servo/rust-url/pull/1033)
- [@​tisonkun](https://redirect.github.com/tisonkun) made their
first contribution in
[#​1013](https://redirect.github.com/servo/rust-url/pull/1013)
- [@​supercoolspy](https://redirect.github.com/supercoolspy) made
their first contribution in
[#​1057](https://redirect.github.com/servo/rust-url/pull/1057)
**Full Changelog**:
<https://github.com/servo/rust-url/compare/v2.5.4...v2.5.5>
</details>
<details>
<summary>bytecodealliance/wit-bindgen (wit-bindgen)</summary>
###
[`v0.55.0`](https://redirect.github.com/bytecodealliance/wit-bindgen/releases/tag/v0.55.0)
[Compare
Source](https://redirect.github.com/bytecodealliance/wit-bindgen/compare/v0.54.0...v0.55.0)
#### What's Changed
- \[rust] bindgen path supports env!() macro by
[@​kvcache](https://redirect.github.com/kvcache) in
[#​1569](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1569)
- add `--export-pkg-name` to Go options by
[@​dicej](https://redirect.github.com/dicej) in
[#​1572](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1572)
- add `--include-versions` option to Go generator by
[@​dicej](https://redirect.github.com/dicej) in
[#​1574](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1574)
- Adapter to impl futures::Stream by
[@​fibonacci1729](https://redirect.github.com/fibonacci1729) in
[#​1575](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1575)
- Update wasm-tools deps and wac by
[@​ricochet](https://redirect.github.com/ricochet) in
[#​1578](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1578)
- Release wit-bindgen 0.55.0 by
[@​github-actions](https://redirect.github.com/github-actions)\[bot]
in
[#​1579](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1579)
#### New Contributors
- [@​kvcache](https://redirect.github.com/kvcache) made their
first contribution in
[#​1569](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1569)
**Full Changelog**:
<https://github.com/bytecodealliance/wit-bindgen/compare/v0.54.0...v0.55.0>
###
[`v0.54.0`](https://redirect.github.com/bytecodealliance/wit-bindgen/releases/tag/v0.54.0)
[Compare
Source](https://redirect.github.com/bytecodealliance/wit-bindgen/compare/v0.53.1...v0.54.0)
#### What's Changed
- fix: support named fixed-length list types in code generation by
[@​sumleo](https://redirect.github.com/sumleo) in
[#​1537](https://redirect.github.com/bytecodealliance/wit-bindgen/pull/1537)
- fix(rust): no entry found for key by [@​ricochet](https://red
</details>
---
### Configuration
📅 **Schedule**: (in timezone UTC)
- Branch creation
- "before 9am on Monday"
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/NomicFoundation/slang).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bas van Gijzel <bas@nomic.foundation>
As part of my work on getting
annotate-snipptesto be used asrustc's renderer, I realized thatrustcleft-aligned line numbers, whileannotate-snippetsright-aligned them. This PR switchesrustcto right-align the line numbers, matchingannotate-snippets. In practice, this change isn't very noticeable in day-to-day output, as it only shows up when a diagnostic span contains line numbers with different lengths (9->10, 99->100, 999->1000, etc.).rustcannotate-snippetsr? @compiler-errors