Commit Graph
88 Commits
Author SHA1 Message Date
renovate[bot] b62aed2edf chore(deps): Update Prek to v0.3.12 (#68)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.11` →
`0.3.12` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.12`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#0312)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.11...v0.3.12)

Released on 2026-05-05.

##### Highlights

`auto_update.cooldown_days` is now available in both the user-level
global
config (`~/.config/prek/prek.toml` on Linux and macOS, or
`$XDG_CONFIG_HOME/prek/prek.toml` when set; `%APPDATA%\prek\prek.toml`
on
Windows) and project config. Set a user default for `prek auto-update`,
then
override it per project when a repository needs a different update
cadence.

```toml
[auto_update]
cooldown_days = 7
```

##### Enhancements

- Add global auto-update cooldown config
([#&#8203;2041](https://redirect.github.com/j178/prek/pull/2041))
- Add project auto-update cooldown config
([#&#8203;2044](https://redirect.github.com/j178/prek/pull/2044))
- Support `language: dart`
([#&#8203;1146](https://redirect.github.com/j178/prek/pull/1146))

##### Bug fixes

- Pass commit message file to workspace hooks
([#&#8203;2043](https://redirect.github.com/j178/prek/pull/2043))
- Preserve non-UTF8 filenames from git
([#&#8203;2023](https://redirect.github.com/j178/prek/pull/2023))
- ruby: put resolved Ruby's bin dir on `$PATH` for `gem` invocations
([#&#8203;2021](https://redirect.github.com/j178/prek/pull/2021))

##### Documentation

- Update docs with the new logo and icon
([#&#8203;2025](https://redirect.github.com/j178/prek/pull/2025))
- Point schema docs to SchemaStore
([#&#8203;2039](https://redirect.github.com/j178/prek/pull/2039))

##### Contributors

- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;xiaoyanli-lyft](https://redirect.github.com/xiaoyanli-lyft)
- [@&#8203;Lutra-Fs](https://redirect.github.com/Lutra-Fs)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Every minute (`* * * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-05 08:55:55 +00:00
Ed Page 1e1d586ea6 chore(renovate): Fix the tag 2026-05-01 16:43:25 -05:00
Ed Page 4dd55b3886 chore: Iterate on the template (#65) 2026-05-01 15:22:36 -05:00
Ed Page cc53e46445 chore(ci): Track specific tags 2026-05-01 10:42:46 -05:00
renovate[bot] dd01d8b311 chore(deps): Update Prek to v0.3.11 (#64)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.10` →
`0.3.11` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.11`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#0311)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.10...v0.3.11)

Released on 2026-04-27.

##### Highlights

Hook entries now have an explicit `shell` option for shell snippets. Set
`shell: sh`, `bash`, `pwsh`, `powershell`, or `cmd` when an entry should
be
evaluated by that shell; leaving it unset keeps prek's direct argv
execution.

`prek auto-update` can now filter tag candidates before choosing an
update.
Both options take glob patterns: use `--include-tag` to only consider
matching
tag names, and `--exclude-tag` to skip matching tags such as moving tags
or
prereleases.

##### Enhancements

- Add `auto-update --exclude-repo <repo>` to skip repos
([#&#8203;1983](https://redirect.github.com/j178/prek/pull/1983))
- Add `auto-update --exit-code` to exit with non-zero on updates
([#&#8203;2002](https://redirect.github.com/j178/prek/pull/2002))
- Add `auto-update --include-tag <pattern>`/`--exclude-tag <pattern>` to
filter tags
([#&#8203;1984](https://redirect.github.com/j178/prek/pull/1984))
- Adds an explicit `shell` hook option for entries that should run as
shell source
([#&#8203;2004](https://redirect.github.com/j178/prek/pull/2004))
- Make `--hook-dir` optional for hook-impl
([#&#8203;1989](https://redirect.github.com/j178/prek/pull/1989))
- Skip shim warning when `--script-version` is missing
([#&#8203;1990](https://redirect.github.com/j178/prek/pull/1990))

##### Bug fixes

- Install Ruby executable in gem bin
([#&#8203;2017](https://redirect.github.com/j178/prek/pull/2017))
- Use dedicated Android npm package
([#&#8203;1982](https://redirect.github.com/j178/prek/pull/1982))
- Use stable repo keys without breaking cached clones
([#&#8203;1995](https://redirect.github.com/j178/prek/pull/1995))

##### Documentation

- Explain prek name
([#&#8203;1980](https://redirect.github.com/j178/prek/pull/1980))
- Clarify `pass_filenames` concurrency docs
([#&#8203;1999](https://redirect.github.com/j178/prek/pull/1999))
- Reorganize documentation references
([#&#8203;2005](https://redirect.github.com/j178/prek/pull/2005))
- Clarify hook author manifest env docs
([#&#8203;1991](https://redirect.github.com/j178/prek/pull/1991))
- docs: add Sentry to users list
([#&#8203;1981](https://redirect.github.com/j178/prek/pull/1981))

##### Contributors

- [@&#8203;j178](https://redirect.github.com/j178)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Every minute (`* * * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-27 05:15:50 +00:00
renovate[bot] ff00184746 chore(deps): Update Prek to v0.3.10 (#63)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.9` →
`0.3.10` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.10`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#0310)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.9...v0.3.10)

Released on 2026-04-21.

##### Enhancements

- Disallow rev for non-remote repos in schema
([#&#8203;1964](https://redirect.github.com/j178/prek/pull/1964))
- Hide up-to-date output in non-verbose mode
([#&#8203;1942](https://redirect.github.com/j178/prek/pull/1942))
- Improve merge conflict marker detection
([#&#8203;1937](https://redirect.github.com/j178/prek/pull/1937))
- Keep finished hooks visible
([#&#8203;1967](https://redirect.github.com/j178/prek/pull/1967))
- Preserve frozen comment spacing in auto-update
([#&#8203;1945](https://redirect.github.com/j178/prek/pull/1945))
- Reimplement `@j178/prek` npm package
([#&#8203;1973](https://redirect.github.com/j178/prek/pull/1973))

##### Bug fixes

- Prefer stable Rust toolchains
([#&#8203;1974](https://redirect.github.com/j178/prek/pull/1974))

##### Documentation

- Add `SKILL.md` for prek
([#&#8203;1950](https://redirect.github.com/j178/prek/pull/1950))
- Document `gh skill install j178/prek prek` to install prek skill for
agents ([#&#8203;1951](https://redirect.github.com/j178/prek/pull/1951))
- Improve compatibility and migration docs
([#&#8203;1940](https://redirect.github.com/j178/prek/pull/1940))

##### Other changes

- Sync latest identify tags
([#&#8203;1947](https://redirect.github.com/j178/prek/pull/1947))

##### Contributors

- [@&#8203;github-actions](https://redirect.github.com/github-actions)
- [@&#8203;renovate](https://redirect.github.com/renovate)
- [@&#8203;j178](https://redirect.github.com/j178)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Every minute (`* * * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 12:33:54 +00:00
Ed Page e36b072e45 chore(ci): Name every step
This is to provide better anchors for resolving conflicts
2026-04-16 16:15:56 -05:00
Ed Page 18b0c5ea44 chore(ci): Switch to versioned install action 2026-04-16 16:15:31 -05:00
renovate[bot] 18b5384201 chore(deps): Update Rust Stable to v1.95 (#61)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.94`
→ `1.95` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.95`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1950-2026-04-16)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.94.0...1.95.0)

\===========================

<a id="1.95-Language"></a>

## Language

- [Stabilize `if let` guards on match
arms](https://redirect.github.com/rust-lang/rust/pull/141295)
- [`irrefutable_let_patterns` lint no longer lints on let
chains](https://redirect.github.com/rust-lang/rust/pull/146832)
- [Support importing path-segment keywords with
renaming](https://redirect.github.com/rust-lang/rust/pull/146972)
- [Stabilize inline assembly for PowerPC and
PowerPC64](https://redirect.github.com/rust-lang/rust/pull/147996)
- [const-eval: be more consistent in the behavior of padding during
typed copies](https://redirect.github.com/rust-lang/rust/pull/148967)
- [Const blocks are no longer evaluated to determine if expressions
involving fallible operations can implicitly be
constant-promoted.](https://redirect.github.com/rust-lang/rust/pull/150557).
Expressions whose ability to implicitly be promoted would depend on the
result of a const block are no longer implicitly promoted.
- [Make operational semantics of pattern matching independent of crate
and module](https://redirect.github.com/rust-lang/rust/pull/150681)

<a id="1.95-Compiler"></a>

## Compiler

- [Stabilize `--remap-path-scope` for controlling the scoping of how
paths get remapped in the resulting
binary](https://redirect.github.com/rust-lang/rust/pull/147611)

<a id="1.95-Platform-Support"></a>

## Platform Support

- [Promote `powerpc64-unknown-linux-musl` to Tier 2 with host
tools](https://redirect.github.com/rust-lang/rust/pull/149962)
- [Promote `aarch64-apple-tvos` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021)
- [Promote `aarch64-apple-tvos-sim` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021)
- [Promote `aarch64-apple-watchos` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021)
- [Promote `aarch64-apple-watchos-sim` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021)
- [Promote `aarch64-apple-visionos` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021)
- [Promote `aarch64-apple-visionos-sim` to Tier
2](https://redirect.github.com/rust-lang/rust/pull/152021)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.95-Libraries"></a>

## Libraries

- [`thread::scope`: document how join interacts with TLS
destructors](https://redirect.github.com/rust-lang/rust/pull/149482)
- [Speed up `str::contains` on aarch64 targets with `neon` target
feature enabled by
default](https://redirect.github.com/rust-lang/rust/pull/152176)

<a id="1.95-Stabilized-APIs"></a>

## Stabilized APIs

- [`MaybeUninit<[T; N]>: From<[MaybeUninit<T>;
N]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-From%3CMaybeUninit%3C%5BT;+N%5D%3E%3E-for-%5BMaybeUninit%3CT%3E;+N%5D)
- [`MaybeUninit<[T; N]>: AsRef<[MaybeUninit<T>;
N]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-AsRef%3C%5BMaybeUninit%3CT%3E;+N%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E)
- [`MaybeUninit<[T; N]>:
AsRef<[MaybeUninit<T>]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-AsRef%3C%5BMaybeUninit%3CT%3E%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E)
- [`MaybeUninit<[T; N]>: AsMut<[MaybeUninit<T>;
N]>`](https://doc.rust-lang.org/beta/std/mem/union.MaybeUninit.html#impl-AsMut%3C%5BMaybeUninit%3CT%3E;+N%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E)
- [`MaybeUninit<[T; N]>:
AsMut<[MaybeUninit<T>]>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-AsMut%3C%5BMaybeUninit%3CT%3E%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E)
- [`[MaybeUninit<T>; N]: From<MaybeUninit<[T;
N]>>`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#impl-From%3C%5BMaybeUninit%3CT%3E;+N%5D%3E-for-MaybeUninit%3C%5BT;+N%5D%3E)
- [`Cell<[T; N]>: AsRef<[Cell<T>;
N]>`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#impl-AsRef%3C%5BCell%3CT%3E;+N%5D%3E-for-Cell%3C%5BT;+N%5D%3E)
- [`Cell<[T; N]>:
AsRef<[Cell<T>]>`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#impl-AsRef%3C%5BCell%3CT%3E%5D%3E-for-Cell%3C%5BT;+N%5D%3E)
- [`Cell<[T]>:
AsRef<[Cell<T>]>`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#impl-AsRef%3C%5BCell%3CT%3E%5D%3E-for-Cell%3C%5BT%5D%3E)
- [`bool:
TryFrom<{integer}>`](https://doc.rust-lang.org/stable/std/primitive.bool.html#impl-TryFrom%3Cu128%3E-for-bool)
-
[`AtomicPtr::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.update)
-
[`AtomicPtr::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.try_update)
-
[`AtomicBool::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicBool.html#method.update)
-
[`AtomicBool::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicBool.html#method.try_update)
-
[`AtomicIn::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicIsize.html#method.update)
-
[`AtomicIn::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicIsize.html#method.try_update)
-
[`AtomicUn::update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicUsize.html#method.update)
-
[`AtomicUn::try_update`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicUsize.html#method.try_update)
-
[`cfg_select!`](https://doc.rust-lang.org/stable/std/macro.cfg_select.html)
- [`mod
core::range`](https://doc.rust-lang.org/stable/core/range/index.html)
-
[`core::range::RangeInclusive`](https://doc.rust-lang.org/stable/core/range/struct.RangeInclusive.html)
-
[`core::range::RangeInclusiveIter`](https://doc.rust-lang.org/stable/core/range/struct.RangeInclusiveIter.html)
-
[`core::hint::cold_path`](https://doc.rust-lang.org/stable/core/hint/fn.cold_path.html)
- [`<*const
T>::as_ref_unchecked`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_ref_unchecked)
- [`<*mut
T>::as_ref_unchecked`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_ref_unchecked-1)
- [`<*mut
T>::as_mut_unchecked`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_mut_unchecked)

These previously stable APIs are now stable in const contexts:

-
[`fmt::from_fn`](https://doc.rust-lang.org/stable/std/fmt/fn.from_fn.html)
-
[`ControlFlow::is_break`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.is_break)
-
[`ControlFlow::is_continue`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.is_continue)

<a id="1.95-Cargo"></a>

## Cargo

- [docs(report): enhance man pages for `cargo report
*`](https://redirect.github.com/rust-lang/cargo/pull/16430/)<a
id="1.95-Rustdoc"></a>

## Rustdoc

- [In search results, rank unstable items
lower](https://redirect.github.com/rust-lang/rust/pull/149460)
- [Add new "hide deprecated items" setting in
rustdoc](https://redirect.github.com/rust-lang/rust/pull/151091) <a
id="1.95-Compatibility-Notes"></a>

## Compatibility Notes

- [Array coercions may now result in less inference constraints than
before](https://redirect.github.com/rust-lang/rust/pull/140283)
- Importing `$crate` without renaming, i.e. `use $crate::{self};`, is
now no longer permitted due to stricter error checking for `self`
imports.
- [const-eval: be more consistent in the behavior of padding during
typed copies.](https://redirect.github.com/rust-lang/rust/pull/148967)
In very rare cases, this may cause compilation errors due to bytes from
parts of a pointer ending up in the padding bytes of a `const` or
`static`.
- [A future-incompatibility warning lint
`ambiguous_glob_imported_traits` is now reported when using an
ambiguously glob imported
trait](https://redirect.github.com/rust-lang/rust/pull/149058)
- [Check lifetime bounds of types mentioning only type
parameters](https://redirect.github.com/rust-lang/rust/pull/149389)
- [Report more visibility-related ambiguous import
errors](https://redirect.github.com/rust-lang/rust/pull/149596)
- [Deprecate `Eq::assert_receiver_is_total_eq` and emit future
compatibility warnings on manual
impls](https://redirect.github.com/rust-lang/rust/pull/149978)
- [powerpc64: Use the ELF ABI version set in target spec instead of
guessing](https://redirect.github.com/rust-lang/rust/pull/150468) (fixes
the ELF ABI used by the OpenBSD target)
- Matching on a `#[non_exhaustive]` enum [now reads the discriminant,
even if the enum has only one
variant](https://redirect.github.com/rust-lang/rust/pull/150681). This
can cause closures to capture values that they previously wouldn't.
- `mut ref` and `mut ref mut` patterns, part of the unstable [Match
Ergonomics 2024
RFC](https://redirect.github.com/rust-lang/rust/issues/123076), were
accidentally allowed on stable within struct pattern field shorthand.
These patterns are now correctly feature-gated as unstable in this
position.
- [Add future-compatibility warning for derive helper attributes which
conflict with built-in
attributes](https://redirect.github.com/rust-lang/rust/pull/151152)
- [JSON target
specs](https://doc.rust-lang.org/rustc/targets/custom.html) have been
destabilized and now require `-Z unstable-options` to use. Previously,
they could not be used without the standard library, which has no stable
build mechanism. In preparation for the `build-std` project adding that
support, JSON target specs are being proactively gated to ensure they
remain unstable even if `build-std` is stabilized. Cargo now includes
the `-Z json-target-spec` CLI flag to automatically pass `-Z
unstable-options` to the compiler when needed. See
[#&#8203;150151](https://redirect.github.com/rust-lang/rust/pull/150151),
[#&#8203;151534](https://redirect.github.com/rust-lang/rust/pull/150151),
and
[rust-lang/cargo#16557](https://redirect.github.com/rust-lang/cargo/pull/16557).
- [The arguments of `#[feature]` attributes on invalid targets are now
checked](https://redirect.github.com/rust-lang/rust/issues/153764)

<a id="1.95-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they
represent
significant improvements to the performance or internals of rustc and
related
tools.

- [Update to LLVM
22](https://redirect.github.com/rust-lang/rust/pull/150722)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Every minute (`* * * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 21:11:49 +00:00
renovate[bot] 94c8ee6e54 chore(deps): Update Prek to v0.3.9 (#59)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.8` →
`0.3.9` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.9`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#039)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.8...v0.3.9)

Released on 2026-04-13.

##### Highlight

`prek auto-update` is now stricter about pinned revisions and more
useful in CI.
It now keeps `rev` and `# frozen:` comments in sync, can detect
[impostor commits](https://docs.zizmor.sh/audits/#impostor-commit) when
validating pinned SHAs,
and lets you use `prek auto-update --check` to fail on both available
updates and frozen-ref
mismatches without rewriting the config.

Examples:

```console
$ prek auto-update

# updates revs and repairs stale `# frozen:` comments

$ prek auto-update --freeze

# writes frozen SHAs with matching `# frozen: <tag>` comments

$ prek auto-update --check

# exits non-zero when updates are available, a `# frozen:` comment is stale,
# or a pinned SHA does not belong to the fetched upstream refs
```

##### Enhancements

- Check and sync frozen comments during auto-update
([#&#8203;1896](https://redirect.github.com/j178/prek/pull/1896))
- Handle impostor commits in auto-update
([#&#8203;1919](https://redirect.github.com/j178/prek/pull/1919))
- Add experimental `language: dotnet` support
([#&#8203;1871](https://redirect.github.com/j178/prek/pull/1871))
- Honor repo and worktree `core.hooksPath`
([#&#8203;1892](https://redirect.github.com/j178/prek/pull/1892))
- Add `prek run --no-fail-fast` to override config file
([#&#8203;1859](https://redirect.github.com/j178/prek/pull/1859))
- Add `forbid-new-submodules` as builtin hook
([#&#8203;1853](https://redirect.github.com/j178/prek/pull/1853))
- Clean stale patch files in `cache gc`
([#&#8203;1877](https://redirect.github.com/j178/prek/pull/1877))
- Display auto-update results by config entry
([#&#8203;1922](https://redirect.github.com/j178/prek/pull/1922))
- Restrict patch directory permissions
([#&#8203;1876](https://redirect.github.com/j178/prek/pull/1876))
- Show tag names in `auto-update --freeze` output
([#&#8203;1916](https://redirect.github.com/j178/prek/pull/1916))
- Use a bitset for hook stages
([#&#8203;1860](https://redirect.github.com/j178/prek/pull/1860))

##### Bug fixes

- Canonicalize CWD and GIT\_ROOT paths
([#&#8203;1878](https://redirect.github.com/j178/prek/pull/1878))
- Ensure quotes are added for non-string revisions in `auto-update`
([#&#8203;1936](https://redirect.github.com/j178/prek/pull/1936))

##### Documentation

- Update docs for case of hooks modifying files with a non-zero exit
code ([#&#8203;1879](https://redirect.github.com/j178/prek/pull/1879))

##### Contributors

- [@&#8203;RicardoVercetti](https://redirect.github.com/RicardoVercetti)
-
[@&#8203;nathanjmcdougall](https://redirect.github.com/nathanjmcdougall)
- [@&#8203;renovate](https://redirect.github.com/renovate)
- [@&#8203;sadjow](https://redirect.github.com/sadjow)
- [@&#8203;j178](https://redirect.github.com/j178)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - Every minute (`* * * * *`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-13 15:15:05 +00:00
William Woodruff 29448ed763 Use full-length tags for hash-pinned action references
Signed-off-by: William Woodruff <william@yossarian.net>
2026-04-06 11:30:07 -04:00
Ed Page ea3cbc8a33 chore(gh): Document why template updating needs credentials 2026-04-06 10:03:42 -05:00
Ed Page 15908a8431 chore(gh): Fix template updating
See rust-cli/anstyle#311
2026-04-06 10:01:05 -05:00
Ed Page d6f7c720f3 chore(pre): Always check zizmor (#57) 2026-04-01 11:40:38 -05:00
Ed Page 8ed1cfa1af chore(ci): Run audits more frequently 2026-04-01 11:39:07 -05:00
Ed Page 5ab175a097 chore(deps): Update j178/prek-action action to v2 (#56)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [j178/prek-action](https://redirect.github.com/j178/prek-action) |
action | major | `v1` → `v2` |

---

### Release Notes

<details>
<summary>j178/prek-action (j178/prek-action)</summary>

### [`v2`](https://redirect.github.com/j178/prek-action/compare/v1...v2)

[Compare
Source](https://redirect.github.com/j178/prek-action/compare/v1...v2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the
month" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-04-01 09:00:01 -05:00
renovate[bot] 1edb51e884 chore(deps): Update taiki-e/install-action digest to 4fea3cb 2026-04-01 05:28:42 +00:00
renovate[bot] 1601c98de4 chore(deps): Update j178/prek-action action to v2 2026-04-01 00:47:40 +00:00
Ed Page e4210b94ae chore(ci): Fix the audit display name 2026-03-27 16:16:29 -05:00
Ed Page 616ecc0ab0 chore(ci): Add a central audit job 2026-03-27 16:15:53 -05:00
Ed Page 509fb92da3 chore(ci): Shorten workflow name 2026-03-27 16:13:06 -05:00
Ed Page c00ccb718b chore(ci): Fix content 2026-03-27 16:11:55 -05:00
Ed Page e60a418c60 chore(ci): Adopt zizmor 2026-03-27 14:39:55 -05:00
Ed Page fb7a03078d chore(ci): Switch from cargo-audit to cargo-deny 2026-03-27 14:37:46 -05:00
Ed Page 3e98dbeebf chore(ci): Use env instead of templates 2026-03-27 14:34:38 -05:00
Ed Page 4af143d014 chore(ci): Don't persist git credentials by default 2026-03-27 14:34:37 -05:00
renovate[bot] f1f2452ceb chore(deps): Pin dependencies 2026-03-27 19:27:03 +00:00
renovate[bot] 80afe4dbff chore(deps): Update Prek to v0.3.8 (#52)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.6` →
`0.3.8` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.8`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#038)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.6...v0.3.8)

Released on 2026-03-23.

##### Enhancements

- Add experimental `language: deno` support
([#&#8203;1516](https://redirect.github.com/j178/prek/pull/1516))
- Add `pretty-format-json` as builtin hook
([#&#8203;915](https://redirect.github.com/j178/prek/pull/915))
- Add `check-vcs-permalinks` as builtin hook
([#&#8203;1842](https://redirect.github.com/j178/prek/pull/1842))
- Add `check-illegal-windows-names` as builtin hook
([#&#8203;1841](https://redirect.github.com/j178/prek/pull/1841))
- Add `check-shebang-scripts-are-executable` builtin hook
([#&#8203;1847](https://redirect.github.com/j178/prek/pull/1847))
- Add `destroyed-symlinks` builtin hook
([#&#8203;1851](https://redirect.github.com/j178/prek/pull/1851))
- Add `file-contents-sorter` as builtin hook
([#&#8203;1846](https://redirect.github.com/j178/prek/pull/1846))
- Add `--all` flag to `prek uninstall`
([#&#8203;1817](https://redirect.github.com/j178/prek/pull/1817))
- Improve file pattern parse errors
([#&#8203;1829](https://redirect.github.com/j178/prek/pull/1829))
- Validate `uv` binary after download
([#&#8203;1825](https://redirect.github.com/j178/prek/pull/1825))

##### Bug fixes

- Fix workspace-relative added file paths
([#&#8203;1852](https://redirect.github.com/j178/prek/pull/1852))
- Relax alias-anchor ratio check for check-yaml
([#&#8203;1839](https://redirect.github.com/j178/prek/pull/1839))

##### Contributors

- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)
- [@&#8203;mvanhorn](https://redirect.github.com/mvanhorn)
- [@&#8203;feliblo](https://redirect.github.com/feliblo)
- [@&#8203;Tiryoh](https://redirect.github.com/Tiryoh)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 10:01:47 +00:00
renovate[bot] dee0db54c1 chore(deps): Update Prek to v0.3.6 (#51)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.5` →
`0.3.6` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.6`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#036)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.5...v0.3.6)

Released on 2026-03-16.

##### Enhancements

- Allow selectors for hook ids containing colons
([#&#8203;1782](https://redirect.github.com/j178/prek/pull/1782))
- Rename `prek install-hooks` to `prek prepare-hooks` and `prek install
--install-hooks` to `prek install --prepare-hooks`
([#&#8203;1766](https://redirect.github.com/j178/prek/pull/1766))
- Retry auth-failed repo clones with terminal prompts enabled
([#&#8203;1761](https://redirect.github.com/j178/prek/pull/1761))

##### Performance

- Optimize `detect_private_key` by chunked reading and using
aho-corasick
([#&#8203;1791](https://redirect.github.com/j178/prek/pull/1791))
- Optimize `fix_byte_order_marker` by shifting file contents in place
([#&#8203;1790](https://redirect.github.com/j178/prek/pull/1790))

##### Bug fixes

- Align stage defaulting behavior with pre-commit
([#&#8203;1788](https://redirect.github.com/j178/prek/pull/1788))
- Make sure child output is drained in the PTY subprocess
([#&#8203;1768](https://redirect.github.com/j178/prek/pull/1768))
- fix(golang): use `GOTOOLCHAIN=local` when probing system go
([#&#8203;1797](https://redirect.github.com/j178/prek/pull/1797))

##### Documentation

- Disambiguate “hook” terminology by renaming "Git hooks" to "Git shims"
([#&#8203;1776](https://redirect.github.com/j178/prek/pull/1776))
- Document compatibility with pre-commit
([#&#8203;1767](https://redirect.github.com/j178/prek/pull/1767))
- Update configuration.md with TOML 1.1 notes
([#&#8203;1764](https://redirect.github.com/j178/prek/pull/1764))

##### Other changes

- Sync latest identify tags
([#&#8203;1798](https://redirect.github.com/j178/prek/pull/1798))

##### Contributors

- [@&#8203;github-actions](https://redirect.github.com/github-actions)
- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;pcastellazzi](https://redirect.github.com/pcastellazzi)
- [@&#8203;deadnews](https://redirect.github.com/deadnews)
-
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 10:39:52 +00:00
renovate[bot] 5762560415 chore(deps): Update Prek to v0.3.5 (#50)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.4` →
`0.3.5` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.5`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#035)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.4...v0.3.5)

Released on 2026-03-09.

##### Enhancements

- Add automatic Ruby download support using rv binaries
([#&#8203;1668](https://redirect.github.com/j178/prek/pull/1668))
- Adjust open file limit on process startup
([#&#8203;1705](https://redirect.github.com/j178/prek/pull/1705))
- Allow parallel gem retry
([#&#8203;1732](https://redirect.github.com/j178/prek/pull/1732))
- Enable system-proxy feature on reqwest
([#&#8203;1738](https://redirect.github.com/j178/prek/pull/1738))
- Expose `--git-dir` to force hook installation target
([#&#8203;1723](https://redirect.github.com/j178/prek/pull/1723))
- Pass `--quiet`, `--verbose`, and `--no-progress` through `prek
install` into generated hook scripts
([#&#8203;1753](https://redirect.github.com/j178/prek/pull/1753))
- Respect `core.sharedRepository` for hook permissions
([#&#8203;1755](https://redirect.github.com/j178/prek/pull/1755))
- Support legacy mode hook script
([#&#8203;1706](https://redirect.github.com/j178/prek/pull/1706))
- rust: support `cli:` git dependency 4th segment package disambiguation
([#&#8203;1747](https://redirect.github.com/j178/prek/pull/1747))

##### Bug fixes

- Fix Python `__main__.py` entry
([#&#8203;1741](https://redirect.github.com/j178/prek/pull/1741))
- python: strip `UV_SYSTEM_PYTHON` from `uv venv` and `pip install`
commands
([#&#8203;1756](https://redirect.github.com/j178/prek/pull/1756))

##### Other changes

- Sync latest identify tags
([#&#8203;1733](https://redirect.github.com/j178/prek/pull/1733))

##### Contributors

- [@&#8203;Dev-iL](https://redirect.github.com/Dev-iL)
- [@&#8203;tennox](https://redirect.github.com/tennox)
- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)
- [@&#8203;is-alnilam](https://redirect.github.com/is-alnilam)
- [@&#8203;github-actions](https://redirect.github.com/github-actions)
- [@&#8203;j178](https://redirect.github.com/j178)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 12:40:56 +00:00
renovate[bot] 476c955252 chore(deps): Update Rust Stable to v1.94 (#49)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.93`
→ `1.94` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.94`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1940-2026-03-05)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.93.0...1.94.0)

\==========================

<a id="1.94.0-Language"></a>

## Language

- [Impls and impl items inherit `dead_code` lint level of the
corresponding traits and trait
items](https://redirect.github.com/rust-lang/rust/pull/144113)
- [Stabilize additional 29 RISC-V target features including large
portions of the RVA22U64 / RVA23U64
profiles](https://redirect.github.com/rust-lang/rust/pull/145948)
- [Add warn-by-default `unused_visibilities` lint for visibility on
`const _`
declarations](https://redirect.github.com/rust-lang/rust/pull/147136)
- [Update to Unicode
17](https://redirect.github.com/rust-lang/rust/pull/148321)
- [Avoid incorrect lifetime errors for
closures](https://redirect.github.com/rust-lang/rust/pull/148329)

<a id="1.94.0-Platform-Support"></a>

## Platform Support

- [Add `riscv64im-unknown-none-elf` as a tier 3
target](https://redirect.github.com/rust-lang/rust/pull/148790)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.94.0-Libraries"></a>

## Libraries

- [Relax `T: Ord` bound for some `BinaryHeap<T>`
methods.](https://redirect.github.com/rust-lang/rust/pull/149408)

<a id="1.94.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`<[T]>::array_windows`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.array_windows)
-
[`<[T]>::element_offset`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.element_offset)
-
[`LazyCell::get`](https://doc.rust-lang.org/stable/std/cell/struct.LazyCell.html#method.get)
-
[`LazyCell::get_mut`](https://doc.rust-lang.org/stable/std/cell/struct.LazyCell.html#method.get_mut)
-
[`LazyCell::force_mut`](https://doc.rust-lang.org/stable/std/cell/struct.LazyCell.html#method.force_mut)
-
[`LazyLock::get`](https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html#method.get)
-
[`LazyLock::get_mut`](https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html#method.get_mut)
-
[`LazyLock::force_mut`](https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html#method.force_mut)
- [`impl TryFrom<char> for
usize`](https://doc.rust-lang.org/stable/std/convert/trait.TryFrom.html#impl-TryFrom%3Cchar%3E-for-usize)
-
[`std::iter::Peekable::next_if_map`](https://doc.rust-lang.org/stable/std/iter/struct.Peekable.html#method.next_if_map)
-
[`std::iter::Peekable::next_if_map_mut`](https://doc.rust-lang.org/stable/std/iter/struct.Peekable.html#method.next_if_map_mut)
- [x86 `avx512fp16`
intrinsics](https://redirect.github.com/rust-lang/rust/issues/127213)
  (excluding those that depend directly on the unstable `f16` type)
- [AArch64 NEON fp16
intrinsics](https://redirect.github.com/rust-lang/rust/issues/136306)
  (excluding those that depend directly on the unstable `f16` type)
-
[`f32::consts::EULER_GAMMA`](https://doc.rust-lang.org/stable/std/f32/consts/constant.EULER_GAMMA.html)
-
[`f64::consts::EULER_GAMMA`](https://doc.rust-lang.org/stable/std/f64/consts/constant.EULER_GAMMA.html)
-
[`f32::consts::GOLDEN_RATIO`](https://doc.rust-lang.org/stable/std/f32/consts/constant.GOLDEN_RATIO.html)
-
[`f64::consts::GOLDEN_RATIO`](https://doc.rust-lang.org/stable/std/f64/consts/constant.GOLDEN_RATIO.html)

These previously stable APIs are now stable in const contexts:

-
[`f32::mul_add`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.mul_add)
-
[`f64::mul_add`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.mul_add)

<a id="1.94.0-Cargo"></a>

## Cargo

- Stabilize the config include key. The top-level include config key
allows loading additional config files, enabling better organization,
sharing, and management of Cargo configurations across projects and
environments.
[docs](https://doc.rust-lang.org/nightly/cargo/reference/config.html#including-extra-configuration-files)
[#&#8203;16284](https://redirect.github.com/rust-lang/cargo/pull/16284)
- Stabilize the pubtime field in registry index. This records when a
crate version was published and enables time-based dependency resolution
in the future. Note that crates.io will gradually backfill existing
packages when a new version is published. Not all crates have pubtime
yet.
[#&#8203;16369](https://redirect.github.com/rust-lang/cargo/pull/16369)
[#&#8203;16372](https://redirect.github.com/rust-lang/cargo/pull/16372)
- Cargo now parses [TOML v1.1](https://toml.io/en/v1.1.0) for manifests
and configuration files. Note that using these features in Cargo.toml
will raise your development MSRV, but the published manifest remains
compatible with older parsers.
[#&#8203;16415](https://redirect.github.com/rust-lang/cargo/pull/16415)
- [Make `CARGO_BIN_EXE_<crate>` available at runtime
](https://redirect.github.com/rust-lang/cargo/pull/16421/)

<a id="1.94.0-Compatibility-Notes"></a>

## Compatibility Notes

- [Forbid freely casting lifetime bounds of
`dyn`-types](https://redirect.github.com/rust-lang/rust/pull/136776)
- [Make closure capturing have consistent and correct behaviour around
patterns](https://redirect.github.com/rust-lang/rust/pull/138961)
Some finer details of how precise closure captures get affected by
pattern matching have been changed. In some cases, this can cause a
non-move closure that was previously capturing an entire variable by
move, to now capture only part of that variable by move, and other parts
by borrow. This can cause the borrow checker to complain where it
previously didn't, or cause `Drop` to run at a different point in time.
- [Standard library macros are now imported via prelude, not via
injected
`#[macro_use]`](https://redirect.github.com/rust-lang/rust/pull/139493)
  This will raise an error if macros of the same name are glob imported.
For example if a crate defines their own `matches` macro and then glob
imports that,
it's now ambiguous whether the custom or standard library `matches` is
meant and
  an explicit import of the name is required to resolve the ambiguity.
One exception is `core::panic` and `std::panic`, if their import is
ambiguous
a new warning
([`ambiguous_panic_imports`](https://redirect.github.com/rust-lang/rust/issues/147319))
is raised.
This may raise a new warning
([`ambiguous_panic_imports`](https://redirect.github.com/rust-lang/rust/issues/147319))
on `#![no_std]` code glob importing the std crate.
Both `core::panic!` and `std::panic!` are then in scope and which is
used is ambiguous.
- [Don't strip shebang in expression-context
`include!(…)`s](https://redirect.github.com/rust-lang/rust/pull/146377)
This can cause previously working includes to no longer compile if they
included files which started with a shebang.
- [Ambiguous glob reexports are now also visible
cross-crate](https://redirect.github.com/rust-lang/rust/pull/147984)
This unifies behavior between local and cross-crate errors on these
exports, which may introduce new ambiguity errors.
- [Don't normalize where-clauses before checking
well-formedness](https://redirect.github.com/rust-lang/rust/pull/148477)
- [Introduce a future compatibility warning on codegen attributes on
body-free trait
methods](https://redirect.github.com/rust-lang/rust/pull/148756)
  These attributes currently have no effect in this position.
- [On Windows `std::time::SystemTime::checked_sub_duration` will return
`None` for times before the Windows epoch
(1/1/1601)](https://redirect.github.com/rust-lang/rust/pull/148825)
- [Lifetime identifiers such as `'a` are now NFC
normalized](https://redirect.github.com/rust-lang/rust/pull/149192).
- [Overhaul filename handling for cross-compiler
consistency](https://redirect.github.com/rust-lang/rust/pull/149709)
Any paths emitted by compiler now always respect the relative-ness of
the paths and `--remap-path-prefix` given originally.
One side-effect of this change is that paths emitted for local crates in
Cargo (path dependencies and workspace members) are no longer absolute
but relative when emitted as part of a diagnostic in a downstream crate.

<a id="1.94.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they
represent
significant improvements to the performance or internals of rustc and
related
tools.

- [Switch to `annotate-snippets` for error
emission](https://redirect.github.com/rust-lang/rust/pull/150032)
  This should preserve mostly the same outputs in rustc error messages.

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41Ni4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 20:10:25 +00:00
renovate[bot] 096034c719 chore(deps): Update Prek to v0.3.4 (#46)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | patch | `0.3.3` →
`0.3.4` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.4`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#034)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.3...v0.3.4)

Released on 2026-02-28.

##### Enhancements

- Allow `pass_filenames` to accept a positive integer
([#&#8203;1698](https://redirect.github.com/j178/prek/pull/1698))
- Install and compile gems in parallel
([#&#8203;1674](https://redirect.github.com/j178/prek/pull/1674))
- Sync identify file-type mappings with pre-commit identify
([#&#8203;1660](https://redirect.github.com/j178/prek/pull/1660))
- Use `--locked` for Rust `cargo install` commands
([#&#8203;1661](https://redirect.github.com/j178/prek/pull/1661))
- Add `PREK_MAX_CONCURRENCY` environment variable for configuring
maximum concurrency
([#&#8203;1697](https://redirect.github.com/j178/prek/pull/1697))
- Add `PREK_LOG_TRUNCATE_LIMIT` environment variable for configuring log
truncation
([#&#8203;1679](https://redirect.github.com/j178/prek/pull/1679))
- Add support for `python -m prek`
([#&#8203;1686](https://redirect.github.com/j178/prek/pull/1686))

##### Bug fixes

- Skip invalid Rust toolchains instead of failing
([#&#8203;1699](https://redirect.github.com/j178/prek/pull/1699))

##### Performance

- Bitset-based TagSet refactor: precompute tag masks and speed up hook
type filtering
([#&#8203;1665](https://redirect.github.com/j178/prek/pull/1665))

##### Documentation

- Document `winget install j178.Prek`
([#&#8203;1670](https://redirect.github.com/j178/prek/pull/1670))

##### Contributors

- [@&#8203;uplsh580](https://redirect.github.com/uplsh580)
- [@&#8203;Svecco](https://redirect.github.com/Svecco)
- [@&#8203;dbast](https://redirect.github.com/dbast)
- [@&#8203;drichardson](https://redirect.github.com/drichardson)
- [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis)
- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;is-alnilam](https://redirect.github.com/is-alnilam)
-
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-28 06:02:36 +00:00
renovate[bot] 8485f9d184 chore(deps): Update Prek to v0.3.3 (#45)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [prek](https://redirect.github.com/j178/prek) | minor | `0.2.27` →
`0.3.3` |

---

### Release Notes

<details>
<summary>j178/prek (prek)</summary>

###
[`v0.3.3`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#033)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.2...v0.3.3)

Released on 2026-02-15.

##### Enhancements

- Read Python version specifier from hook repo `pyproject.toml`
([#&#8203;1596](https://redirect.github.com/j178/prek/pull/1596))
- Add `#:schema` directives to generated prek.toml
([#&#8203;1597](https://redirect.github.com/j178/prek/pull/1597))
- Add `prek util list-builtins` command
([#&#8203;1600](https://redirect.github.com/j178/prek/pull/1600))
- Expand install source detection to `mise`, `uv tool`, `pipx`, and
`asdf` ([#&#8203;1605](https://redirect.github.com/j178/prek/pull/1605),
[#&#8203;1607](https://redirect.github.com/j178/prek/pull/1607))
- Add progress bar to `cache clean` and show removal summary
([#&#8203;1616](https://redirect.github.com/j178/prek/pull/1616))
- Make `yaml-to-toml` CONFIG argument optional
([#&#8203;1593](https://redirect.github.com/j178/prek/pull/1593))
- `prek uninstall` removes legacy scripts too
([#&#8203;1622](https://redirect.github.com/j178/prek/pull/1622))

##### Bug fixes

- Fix underflow when formatting summary output
([#&#8203;1626](https://redirect.github.com/j178/prek/pull/1626))
- Match `files/exclude` filter against relative path of nested project
([#&#8203;1624](https://redirect.github.com/j178/prek/pull/1624))
- Select `musllinux` wheel tag for uv on musl-based distros
([#&#8203;1628](https://redirect.github.com/j178/prek/pull/1628))

##### Documentation

- Clarify `prek list` description
([#&#8203;1604](https://redirect.github.com/j178/prek/pull/1604))

##### Contributors

- [@&#8203;ichoosetoaccept](https://redirect.github.com/ichoosetoaccept)
- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)
- [@&#8203;soraxas](https://redirect.github.com/soraxas)
- [@&#8203;9999years](https://redirect.github.com/9999years)
- [@&#8203;j178](https://redirect.github.com/j178)

###
[`v0.3.2`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#032)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.1...v0.3.2)

Released on 2026-02-06.

##### Highlights

- **`prek.toml` is here!**

You can now use `prek.toml` as an alternative to
`.pre-commit-config.yaml` for configuring prek. `prek.toml` mirrors the
structure of `.pre-commit-config.yaml`, but TOML is less error-prone.
Your existing `.pre-commit-config.yaml` will continue to work, but for
new users and new projects, `prek.toml` may make more sense. If you want
to switch, run `prek util yaml-to-toml` to convert YAML configs to
`prek.toml`. See [configuration docs](configuration.md) for details.

  For example, this config:

  ```yaml
  repos:
    - repo: https://github.com/pre-commit/pre-commit-hooks
      rev: v6.0.0
      hooks:
        - id: check-yaml
  ```

  Can be written as `prek.toml` like this:

  ```toml
  [[repos]]
  repo = "https://github.com/pre-commit/pre-commit-hooks"
  rev = "v6.0.0"
  hooks = [ { id = "check-yaml" } ]
  ```

- **`serde-yaml` has been replaced with `serde-saphyr`**

We replaced the long-deprecated `serde-yaml` crate with
[`serde-saphyr`](https://crates.io/crates/serde-saphyr) for YAML
parsing. It is written in safe Rust and has better error messages,
performance, and security. This lets us provide precise location
information for configuration parsing errors, which should make it
easier to fix config issues.

  For example, this invalid config:

  ```yaml
  repos:
    - repo: https://github.com/crate-ci/typos
      hooks:
        - id: typos
  ```

  Before:

  ```console
  $ prek run
  error: Failed to parse `.pre-commit-config.yaml`
    caused by: Invalid remote repo: missing field `rev`
  ```

  Now:

  ```console
  $ prek run
  error: Failed to parse `.pre-commit-config.yaml`
caused by: error: line 2 column 5: missing field `rev` at line 2, column
5
  --> <input>:2:5
    |
  1 | repos:
  2 |   - repo: https://github.com/crate-ci/typos
    |     ^ missing field `rev` at line 2, column 5
  3 |     hooks:
  4 |       - id: typos
    |
  ```

- **`prek util` subcommands**

We added a new `prek util` top-level command for miscellaneous utilities
that don't fit into other categories. The first two utilities are:

- `prek util identify`: shows the identification tags of files that prek
uses for file filtering, which can be useful for debugging and writing
`types/types_or/exclude_types` filters.
- `prek util yaml-to-toml`: converts `.pre-commit-config.yaml` to
`prek.toml`.

We also moved `prek init-template-dir` under `prek util` for better
organization. The old `prek init-template-dir` command is still
available (hidden) as an alias for backward compatibility.

##### Enhancements

- Add `prek util identify` subcommand
([#&#8203;1554](https://redirect.github.com/j178/prek/pull/1554))
- Add `prek util yaml-to-toml` to convert `.pre-commit-config.yaml` to
`prek.toml`
([#&#8203;1584](https://redirect.github.com/j178/prek/pull/1584))
- Detect install source for actionable upgrade hints
([#&#8203;1540](https://redirect.github.com/j178/prek/pull/1540))
- Detect prek installed by the standalone installer
([#&#8203;1545](https://redirect.github.com/j178/prek/pull/1545))
- Implement `serialize_yaml_scalar` using `serde-saphyr`
([#&#8203;1534](https://redirect.github.com/j178/prek/pull/1534))
- Improve max cli arguments length calculation
([#&#8203;1518](https://redirect.github.com/j178/prek/pull/1518))
- Move `identify` and `init-template-dir` under the `prek util`
top-level command
([#&#8203;1574](https://redirect.github.com/j178/prek/pull/1574))
- Replace serde-yaml with serde-saphyr (again)
([#&#8203;1520](https://redirect.github.com/j178/prek/pull/1520))
- Show precise location for config parsing error
([#&#8203;1530](https://redirect.github.com/j178/prek/pull/1530))
- Support `Julia` language
([#&#8203;1519](https://redirect.github.com/j178/prek/pull/1519))
- Support `prek.toml`
([#&#8203;1271](https://redirect.github.com/j178/prek/pull/1271))
- Added `PREK_QUIET` environment variable support
([#&#8203;1513](https://redirect.github.com/j178/prek/pull/1513))
- Remove upper bound constraint of uv version
([#&#8203;1588](https://redirect.github.com/j178/prek/pull/1588))

##### Bug fixes

- Do not make the child a session leader
([#&#8203;1586](https://redirect.github.com/j178/prek/pull/1586))
- Fix FilePattern schema to accept plain strings
([#&#8203;1564](https://redirect.github.com/j178/prek/pull/1564))
- Use semver fallback sort when tag timestamps are equal
([#&#8203;1579](https://redirect.github.com/j178/prek/pull/1579))

##### Documentation

- Add `OpenClaw` to the list of users
([#&#8203;1517](https://redirect.github.com/j178/prek/pull/1517))
- Add `cachix/devenv`, `apache/lucene`, `copper-project/copper-rs` as
projects using prek
([#&#8203;1531](https://redirect.github.com/j178/prek/pull/1531),
[#&#8203;1514](https://redirect.github.com/j178/prek/pull/1514),
[#&#8203;1569](https://redirect.github.com/j178/prek/pull/1569))
- Add document about authoring remote hooks
([#&#8203;1571](https://redirect.github.com/j178/prek/pull/1571))
- Add `llms.txt` generation for LLM-friendly documentation
([#&#8203;1553](https://redirect.github.com/j178/prek/pull/1553))
- Document using `--refresh` to pick up `.prekignore` changes
([#&#8203;1575](https://redirect.github.com/j178/prek/pull/1575))
- Fix PowerShell completion instruction syntax
([#&#8203;1568](https://redirect.github.com/j178/prek/pull/1568))
- Update quick start to use `prek.toml`
([#&#8203;1576](https://redirect.github.com/j178/prek/pull/1576))

##### Other changes

- Include `prek.toml` in run hint for config filename
([#&#8203;1578](https://redirect.github.com/j178/prek/pull/1578))

##### Contributors

- [@&#8203;fatelei](https://redirect.github.com/fatelei)
- [@&#8203;domenkozar](https://redirect.github.com/domenkozar)
- [@&#8203;makeecat](https://redirect.github.com/makeecat)
- [@&#8203;fllesser](https://redirect.github.com/fllesser)
- [@&#8203;j178](https://redirect.github.com/j178)
-
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)
- [@&#8203;oopscompiled](https://redirect.github.com/oopscompiled)
- [@&#8203;rmuir](https://redirect.github.com/rmuir)
- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)

###
[`v0.3.1`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#031)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.3.0...v0.3.1)

Released on 2026-01-31.

##### Enhancements

- Add `language: swift` support
([#&#8203;1463](https://redirect.github.com/j178/prek/pull/1463))
- Add `language: haskell` support
([#&#8203;1484](https://redirect.github.com/j178/prek/pull/1484))
- Extract go version constraint from `go.mod`
([#&#8203;1457](https://redirect.github.com/j178/prek/pull/1457))
- Warn when config file exists but fails to parse
([#&#8203;1487](https://redirect.github.com/j178/prek/pull/1487))
- Add GitHub artifact attestations to release and build-docker workflow
([#&#8203;1494](https://redirect.github.com/j178/prek/pull/1494),
[#&#8203;1497](https://redirect.github.com/j178/prek/pull/1497))
- Allow `GIT_CONFIG_PARAMETERS` for private repository authentication
([#&#8203;1472](https://redirect.github.com/j178/prek/pull/1472))
- Show progress bar when running builtin hooks
([#&#8203;1504](https://redirect.github.com/j178/prek/pull/1504))

##### Bug fixes

- Cap ARG\_MAX at `1<<19` for safety
([#&#8203;1506](https://redirect.github.com/j178/prek/pull/1506))
- Don't check Python executable path in health check
([#&#8203;1496](https://redirect.github.com/j178/prek/pull/1496))

##### Documentation

- Include `CocoIndex` as a project using prek
([#&#8203;1477](https://redirect.github.com/j178/prek/pull/1477))
- Add commands for artifact verification using GitHub Attestations
([#&#8203;1500](https://redirect.github.com/j178/prek/pull/1500))

##### Contributors

- [@&#8203;halms](https://redirect.github.com/halms)
- [@&#8203;Haleshot](https://redirect.github.com/Haleshot)
- [@&#8203;simono](https://redirect.github.com/simono)
- [@&#8203;tisonkun](https://redirect.github.com/tisonkun)
- [@&#8203;fllesser](https://redirect.github.com/fllesser)
- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)

###
[`v0.3.0`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#030)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.2.30...v0.3.0)

Released on 2026-01-22.

##### Highlights

- `prek cache gc` (also available via `prek gc` for pre-commit
compatibility) is finally here! You can now run `prek cache gc` to clean
up unused repos, hook envs and tool versions from prek cache.
- `language: bun` is now supported, making it possible to write and run
hooks with [Bun](https://bun.sh/).

##### Enhancements

- Implement `prek cache gc`
([#&#8203;1410](https://redirect.github.com/j178/prek/pull/1410))

- Bootstrap tracking configs from workspace cache
([#&#8203;1417](https://redirect.github.com/j178/prek/pull/1417))
- Show total size `prek cache gc` removed
([#&#8203;1418](https://redirect.github.com/j178/prek/pull/1418))
- Show accurate repo and hook details in `prek cache gc -v`
([#&#8203;1420](https://redirect.github.com/j178/prek/pull/1420))
- `prek cache gc` remove specific unused tool versions
([#&#8203;1422](https://redirect.github.com/j178/prek/pull/1422))
- Fix unused tool versions not removed in `prek cache gc`
([#&#8203;1436](https://redirect.github.com/j178/prek/pull/1436))

- Add `language: bun` support
([#&#8203;1411](https://redirect.github.com/j178/prek/pull/1411))

- Use `git ls-remote --tags` to list bun versions
([#&#8203;1439](https://redirect.github.com/j178/prek/pull/1439))

- Accept `--stage` as an alias for `--hook-stage` in `prek run`
([#&#8203;1398](https://redirect.github.com/j178/prek/pull/1398))

- Expand `~` tilde in `PREK_HOME`
([#&#8203;1431](https://redirect.github.com/j178/prek/pull/1431))

- Support refs to trees
([#&#8203;1449](https://redirect.github.com/j178/prek/pull/1449))

##### Bug fixes

- Avoid file lock warning for in-process contention
([#&#8203;1406](https://redirect.github.com/j178/prek/pull/1406))
- Resolve relative repo paths from config file directory
([#&#8203;1443](https://redirect.github.com/j178/prek/pull/1443))
- fix: use `split()` instead of `resolve(None)` for builtin hook
argument parsing
([#&#8203;1415](https://redirect.github.com/j178/prek/pull/1415))

##### Documentation

- Add `simple-icons` and `ast-grep` to the users of prek
([#&#8203;1403](https://redirect.github.com/j178/prek/pull/1403))
- Improve JSON schema for `repo` field
([#&#8203;1432](https://redirect.github.com/j178/prek/pull/1432))
- Improve JSON schema for builtin and meta hooks
([#&#8203;1427](https://redirect.github.com/j178/prek/pull/1427))
- Add pronunciation entry to FAQ
([#&#8203;1442](https://redirect.github.com/j178/prek/pull/1442))
- Add commitizen to the list of projects using prek
([#&#8203;1413](https://redirect.github.com/j178/prek/pull/1413))
- Move docs to zensical
([#&#8203;1421](https://redirect.github.com/j178/prek/pull/1421))

##### Other Changes

- Refactor config layout
([#&#8203;1407](https://redirect.github.com/j178/prek/pull/1407))

##### Contributors

- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)
- [@&#8203;KevinGimbel](https://redirect.github.com/KevinGimbel)
- [@&#8203;jtamagnan](https://redirect.github.com/jtamagnan)
-
[@&#8203;jmeickle-theaiinstitute](https://redirect.github.com/jmeickle-theaiinstitute)
- [@&#8203;YazdanRa](https://redirect.github.com/YazdanRa)
- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;mschoettle](https://redirect.github.com/mschoettle)
- [@&#8203;tisonkun](https://redirect.github.com/tisonkun)

###
[`v0.2.30`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#0230)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.2.29...v0.2.30)

Released on 2026-01-18.

##### Enhancements

- Build binaries using minimal-size profile
([#&#8203;1376](https://redirect.github.com/j178/prek/pull/1376))
- Check for duplicate keys in `check-json5` builtin hook
([#&#8203;1387](https://redirect.github.com/j178/prek/pull/1387))
- Preserve quoting style in `auto-update`
([#&#8203;1379](https://redirect.github.com/j178/prek/pull/1379))
- Show warning if file lock acquiring blocks for long time
([#&#8203;1353](https://redirect.github.com/j178/prek/pull/1353))
- Singleflight Python health checks with cached interpreter info
([#&#8203;1381](https://redirect.github.com/j178/prek/pull/1381))

##### Bug fixes

- Do not resolve entry for docker\_image
([#&#8203;1386](https://redirect.github.com/j178/prek/pull/1386))
- Fix command lookup on Windows
([#&#8203;1383](https://redirect.github.com/j178/prek/pull/1383))

##### Documentation

- Document language support details
([#&#8203;1380](https://redirect.github.com/j178/prek/pull/1380))
- Document that `check-json5` now rejects duplicate keys
([#&#8203;1391](https://redirect.github.com/j178/prek/pull/1391))

##### Contributors

- [@&#8203;j178](https://redirect.github.com/j178)

###
[`v0.2.29`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#0229)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.2.28...v0.2.29)

Released on 2026-01-16.

##### Highlights

`files` / `exclude` now support globs (including glob lists), making
config filters much easier to read and maintain than heavily-escaped
regex.

Before (regex):

```yaml
files: "^(src/.*\\.rs$|crates/[^/]+/src/.*\\.rs$)"
```

After (glob list):

```yaml
files:
  glob:
    - src/**/*.rs
    - crates/**/src/**/*.rs
```

##### Enhancements

- Add `check-json5` as builtin hooks
([#&#8203;1367](https://redirect.github.com/j178/prek/pull/1367))
- Add glob list support for file patterns (`files` and `exclude`)
([#&#8203;1197](https://redirect.github.com/j178/prek/pull/1197))

##### Bug fixes

- Fix missing commit hash from version info
([#&#8203;1352](https://redirect.github.com/j178/prek/pull/1352))
- Remove git env vars from `uv pip install` subprocess
([#&#8203;1355](https://redirect.github.com/j178/prek/pull/1355))
- Set `TERM=dumb` under PTY to prevent capability-probe hangs
([#&#8203;1363](https://redirect.github.com/j178/prek/pull/1363))

##### Documentation

- Add `home-assistant/core` to the users of prek
([#&#8203;1350](https://redirect.github.com/j178/prek/pull/1350))
- Document builtin hooks
([#&#8203;1370](https://redirect.github.com/j178/prek/pull/1370))
- Explain project configuration scope
([#&#8203;1373](https://redirect.github.com/j178/prek/pull/1373))

##### Contributors

- [@&#8203;Goldziher](https://redirect.github.com/Goldziher)
- [@&#8203;yihong0618](https://redirect.github.com/yihong0618)
- [@&#8203;j178](https://redirect.github.com/j178)
- [@&#8203;shaanmajid](https://redirect.github.com/shaanmajid)
- [@&#8203;ulgens](https://redirect.github.com/ulgens)

###
[`v0.2.28`](https://redirect.github.com/j178/prek/blob/HEAD/CHANGELOG.md#0228)

[Compare
Source](https://redirect.github.com/j178/prek/compare/v0.2.27...v0.2.28)

Released on 2026-01-13.

##### Enhancements

- Avoid running `git diff` for skipped hooks
([#&#8203;1335](https://redirect.github.com/j178/prek/pull/1335))
- More accurate command line length limit calculation
([#&#8203;1348](https://redirect.github.com/j178/prek/pull/1348))
- Raise platform command line length upper limit
([#&#8203;1347](https://redirect.github.com/j178/prek/pull/1347))
- Use `/bin/sh` in generated git hook scripts
([#&#8203;1333](https://redirect.github.com/j178/prek/pull/1333))

##### Bug fixes

- Avoid rewriting if config is up-to-date
([#&#8203;1346](https://redirect.github.com/j178/prek/pull/1346))

##### Documentation

- Add `ty` to the users of prek
([#&#8203;1342](https://redirect.github.com/j178/prek/pull/1342))
- Add `ruff` to the users of prek
([#&#8203;1334](https://redirect.github.com/j178/prek/pull/1334))
- Complete configuration document
([#&#8203;1338](https://redirect.github.com/j178/prek/pull/1338))
- Document UV environment variable inheritance in prek
([#&#8203;1339](https://redirect.github.com/j178/prek/pull/1339))

##### Contributors

-
[@&#8203;copilot-swe-agent](https://redirect.github.com/copilot-swe-agent)
- [@&#8203;MatthewMckee4](https://redirect.github.com/MatthewMckee4)
- [@&#8203;yihong0618](https://redirect.github.com/yihong0618)
- [@&#8203;j178](https://redirect.github.com/j178)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMi4wIiwidXBkYXRlZEluVmVyIjoiNDMuMjIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-18 16:45:48 +00:00
Ed Page e4f2b351a3 chore(ci): Update action 2026-01-26 16:45:18 -06:00
Ed Page 6d0d36b072 chore(ci): Clean up previous branch in case it was leaked 2026-01-26 12:34:16 -06:00
Ed Page 30b3b14bd6 chore(ci): Fix how rustfmt jobs run 2026-01-26 12:29:03 -06:00
renovate[bot] 24c5c995fa chore(deps): Update Rust Stable to v1.93 (#42)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.92`
→ `1.93` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.93`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1930-2026-01-22)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.92.0...1.93.0)

\==========================

<a id="1.93.0-Language"></a>

## Language

- [Stabilize several s390x `vector`-related target features and the
`is_s390x_feature_detected!`
macro](https://redirect.github.com/rust-lang/rust/pull/145656)
- [Stabilize declaration of C-style variadic functions for the `system`
ABI](https://redirect.github.com/rust-lang/rust/pull/145954)
- [Emit error when using some keyword as a `cfg`
predicate](https://redirect.github.com/rust-lang/rust/pull/146978)
- [Stabilize
`asm_cfg`](https://redirect.github.com/rust-lang/rust/pull/147736)
- [During const-evaluation, support copying pointers
byte-by-byte](https://redirect.github.com/rust-lang/rust/pull/148259)
- [LUB coercions now correctly handle function item types, and functions
with differing
safeties](https://redirect.github.com/rust-lang/rust/pull/148602)
- [Allow `const` items that contain mutable references to `static`
(which is *very* unsafe, but not *always*
UB)](https://redirect.github.com/rust-lang/rust/pull/148746)
- [Add warn-by-default `const_item_interior_mutations` lint to warn
against calls which mutate interior mutable `const`
items](https://redirect.github.com/rust-lang/rust/pull/148407)
- [Add warn-by-default `function_casts_as_integer`
lint](https://redirect.github.com/rust-lang/rust/pull/141470)

<a id="1.93.0-Compiler"></a>

## Compiler

- [Stabilize
`-Cjump-tables=bool`](https://redirect.github.com/rust-lang/rust/pull/145974).
The flag was previously called `-Zno-jump-tables`.

<a id="1.93.0-Platform-Support"></a>

## Platform Support

- [Promote `riscv64a23-unknown-linux-gnu` to Tier 2 (without host
tools)](https://redirect.github.com/rust-lang/rust/pull/148435)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.93.0-Libraries"></a>

## Libraries

- [Stop internally using `specialization` on the `Copy` trait as it is
unsound in the presence of lifetime dependent `Copy` implementations.
This may result in some performance regressions as some standard library
APIs may now call `Clone::clone` instead of performing bitwise
copies](https://redirect.github.com/rust-lang/rust/pull/135634)
- [Allow the global allocator to use thread-local storage and
`std::thread::current()`](https://redirect.github.com/rust-lang/rust/pull/144465)
- [Make `BTree::append` not update existing keys when appending an entry
which already
exists](https://redirect.github.com/rust-lang/rust/pull/145628)
- [Don't require `T: RefUnwindSafe` for `vec::IntoIter<T>:
UnwindSafe`](https://redirect.github.com/rust-lang/rust/pull/145665)

<a id="1.93.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`<[MaybeUninit<T>]>::assume_init_drop`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_drop)
-
[`<[MaybeUninit<T>]>::assume_init_ref`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_ref)
-
[`<[MaybeUninit<T>]>::assume_init_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_mut)
-
[`<[MaybeUninit<T>]>::write_copy_of_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.write_copy_of_slice)
-
[`<[MaybeUninit<T>]>::write_clone_of_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.write_clone_of_slice)
-
[`String::into_raw_parts`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_raw_parts)
-
[`Vec::into_raw_parts`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.into_raw_parts)
-
[`<iN>::unchecked_neg`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_neg)
-
[`<iN>::unchecked_shl`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_shl)
-
[`<iN>::unchecked_shr`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_shr)
-
[`<uN>::unchecked_shl`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unchecked_shl)
-
[`<uN>::unchecked_shr`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unchecked_shr)
-
[`<[T]>::as_array`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_array)
-
[`<[T]>::as_array_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_array)
- [`<*const
[T]>::as_array`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_array)
- [`<*mut
[T]>::as_array_mut`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_mut_array)
-
[`VecDeque::pop_front_if`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.pop_front_if)
-
[`VecDeque::pop_back_if`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.pop_back_if)
-
[`Duration::from_nanos_u128`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_nanos_u128)
-
[`char::MAX_LEN_UTF8`](https://doc.rust-lang.org/stable/std/primitive.char.html#associatedconstant.MAX_LEN_UTF8)
-
[`char::MAX_LEN_UTF16`](https://doc.rust-lang.org/stable/std/primitive.char.html#associatedconstant.MAX_LEN_UTF16)
-
[`std::fmt::from_fn`](https://doc.rust-lang.org/stable/std/fmt/fn.from_fn.html)
-
[`std::fmt::FromFn`](https://doc.rust-lang.org/stable/std/fmt/struct.FromFn.html)

<a id="1.93.0-Cargo"></a>

## Cargo

- [Enable CARGO\_CFG\_DEBUG\_ASSERTIONS in build scripts based on
profile](https://redirect.github.com/rust-lang/cargo/pull/16160/)
- [In `cargo tree`, support long forms for `--format`
variables](https://redirect.github.com/rust-lang/cargo/pull/16204/)
- [Add `--workspace` to `cargo
clean`](https://redirect.github.com/rust-lang/cargo/pull/16263/)

<a id="1.93.0-Rustdoc"></a>

## Rustdoc

- [Remove
`#![doc(document_private_items)]`](https://redirect.github.com/rust-lang/rust/pull/146495)
- [Include attribute and derive macros in search filters for
"macros"](https://redirect.github.com/rust-lang/rust/pull/148176)
- [Include extern crates in search filters for
`import`](https://redirect.github.com/rust-lang/rust/pull/148301)
- [Validate usage of crate-level doc
attributes](https://redirect.github.com/rust-lang/rust/pull/149197).
This means if any of `html_favicon_url`, `html_logo_url`,
`html_playground_url`, `issue_tracker_base_url`, or `html_no_source`
either has a missing value, an unexpected value, or a value of the wrong
type, rustdoc will emit the deny-by-default lint
`rustdoc::invalid_doc_attributes`.

<a id="1.93.0-Compatibility-Notes"></a>

## Compatibility Notes

- [Introduce `pin_v2` into the builtin attributes
namespace](https://redirect.github.com/rust-lang/rust/pull/139751)
- [Update bundled musl to
1.2.5](https://redirect.github.com/rust-lang/rust/pull/142682)
- [On Emscripten, the unwinding ABI used when compiling with
`panic=unwind` was changed from the JS exception handling ABI to the
wasm exception handling
ABI.](https://redirect.github.com/rust-lang/rust/pull/147224) If linking
C/C++ object files with Rust objects, `-fwasm-exceptions` must be passed
to the linker now. On nightly Rust, it is possible to get the old
behavior with `-Zwasm-emscripten-eh=false -Zbuild-std`, but it will be
removed in a future release.
- The `#[test]` attribute, used to define tests, was previously ignored
in various places where it had no meaning (e.g on trait methods or
types). Putting the `#[test]` attribute in these places is no longer
ignored, and will now result in an error; this may also result in errors
when generating rustdoc. [Error when `test` attribute is applied to
structs](https://redirect.github.com/rust-lang/rust/pull/147841)
- Cargo now sets the `CARGO_CFG_DEBUG_ASSERTIONS` environment variable
in more situations. This will cause crates depending on `static-init`
versions 1.0.1 to 1.0.3 to fail compilation with "failed to resolve: use
of unresolved module or unlinked crate `parking_lot`". See [the linked
issue](https://redirect.github.com/rust-lang/rust/issues/150646#issuecomment-3718964342)
for details.
- [User written types in the `offset_of!` macro are now checked to be
well formed.](https://redirect.github.com/rust-lang/rust/issues/150465/)
- `cargo publish` no longer emits `.crate` files as a final artifact for
user access when the `build.build-dir` config is unset
- [Upgrade the `deref_nullptr` lint from warn-by-default to
deny-by-default](https://redirect.github.com/rust-lang/rust/pull/148122)
- [Add future-incompatibility warning for `...` function parameters
without a pattern outside of `extern`
blocks](https://redirect.github.com/rust-lang/rust/pull/143619)
- [Introduce future-compatibility warning for `repr(C)` enums whose
discriminant values do not fit into a `c_int` or
`c_uint`](https://redirect.github.com/rust-lang/rust/pull/147017)
- [Introduce future-compatibility warning against ignoring `repr(C)`
types as part of
`repr(transparent)`](https://redirect.github.com/rust-lang/rust/pull/147185)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NS4xIiwidXBkYXRlZEluVmVyIjoiNDIuODUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 18:06:38 +00:00
Ed Page 98ba1ea02e chore(ci): Automatic update from template 2026-01-14 16:03:32 -06:00
Ed Page 5932b20e5c chore(ci): Pin the prek version 2026-01-14 16:03:22 -06:00
Ed Page 16faf2c10d chore(ci): Switch from pre-commit to prek 2026-01-14 16:03:17 -06:00
renovate[bot] f4efb92a38 chore(deps): Update Rust Stable to v1.92 (#36)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.91`
-> `1.92` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.92`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1920-2025-12-11)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.91.0...1.92.0)

\==========================

<a id="1.92.0-Language"></a>

## Language

- [Document `MaybeUninit` representation and
validity](https://redirect.github.com/rust-lang/rust/pull/140463)
- [Allow `&raw [mut | const]` for union field in safe
code](https://redirect.github.com/rust-lang/rust/pull/141469)
- [Prefer item bounds of associated types over where-bounds for
auto-traits and
`Sized`](https://redirect.github.com/rust-lang/rust/pull/144064)
- [Do not materialize `X` in `[X; 0]` when `X` is unsizing a
const](https://redirect.github.com/rust-lang/rust/pull/145277)
- [Support combining `#[track_caller]` and `#[no_mangle]` (requires
every declaration specifying `#[track_caller]` as
well)](https://redirect.github.com/rust-lang/rust/pull/145724)
- [Make never type lints `never_type_fallback_flowing_into_unsafe` and
`dependency_on_unit_never_type_fallback`
deny-by-default](https://redirect.github.com/rust-lang/rust/pull/146167)
- [Allow specifying multiple bounds for same associated item, except in
trait objects](https://redirect.github.com/rust-lang/rust/pull/146593)
- [Slightly strengthen higher-ranked region handling in
coherence](https://redirect.github.com/rust-lang/rust/pull/146725)
- [The `unused_must_use` lint no longer warns on `Result<(),
Uninhabited>` (for instance, `Result<(), !>`), or
`ControlFlow<Uninhabited,
()>`](https://redirect.github.com/rust-lang/rust/pull/147382). This
avoids having to check for an error that can never happen.

<a id="1.92.0-Compiler"></a>

## Compiler

- [Make `mips64el-unknown-linux-muslabi64` link
dynamically](https://redirect.github.com/rust-lang/rust/pull/146858)
- [Remove current code for embedding command-line args in
PDB](https://redirect.github.com/rust-lang/rust/pull/147022)
Command-line information is typically not needed by debugging tools, and
the removed code
was causing problems for incremental builds even on targets that don't
use PDB debuginfo.

<a id="1.92.0-Libraries"></a>

## Libraries

- [Specialize `Iterator::eq{_by}` for `TrustedLen`
iterators](https://redirect.github.com/rust-lang/rust/pull/137122)
- [Simplify `Extend` for
tuples](https://redirect.github.com/rust-lang/rust/pull/138799)
- [Added details to `Debug` for
`EncodeWide`](https://redirect.github.com/rust-lang/rust/pull/140153).
-
[`iter::Repeat::last`](https://redirect.github.com/rust-lang/rust/pull/147258)
and [`count`](https://redirect.github.com/rust-lang/rust/pull/146410)
will now panic, rather than looping infinitely.

<a id="1.92.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`NonZero<u{N}>::div_ceil`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.div_ceil)
-
[`Location::file_as_c_str`](https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file_as_c_str)
-
[`RwLockWriteGuard::downgrade`](https://doc.rust-lang.org/stable/std/sync/struct.RwLockWriteGuard.html#method.downgrade)
-
[`Box::new_zeroed`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.new_zeroed)
-
[`Box::new_zeroed_slice`](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#method.new_zeroed_slice)
-
[`Rc::new_zeroed`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_zeroed)
-
[`Rc::new_zeroed_slice`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_zeroed_slice)
-
[`Arc::new_zeroed`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_zeroed)
-
[`Arc::new_zeroed_slice`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_zeroed_slice)
-
[`btree_map::Entry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/btree_map/enum.Entry.html#method.insert_entry)
-
[`btree_map::VacantEntry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/btree_map/struct.VacantEntry.html#method.insert_entry)
- [`impl Extend<proc_macro::Group> for
proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CGroup%3E-for-TokenStream)
- [`impl Extend<proc_macro::Literal> for
proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CLiteral%3E-for-TokenStream)
- [`impl Extend<proc_macro::Punct> for
proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CPunct%3E-for-TokenStream)
- [`impl Extend<proc_macro::Ident> for
proc_macro::TokenStream`](https://doc.rust-lang.org/stable/proc_macro/struct.TokenStream.html#impl-Extend%3CIdent%3E-for-TokenStream)

These previously stable APIs are now stable in const contexts:

-
[`<[_]>::rotate_left`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.rotate_left)
-
[`<[_]>::rotate_right`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.rotate_right)

<a id="1.92.0-Cargo"></a>

## Cargo

- [Added a new
chapter](https://redirect.github.com/rust-lang/cargo/issues/16119) to
the Cargo book, ["Optimizing Build
Performance"](https://doc.rust-lang.org/stable/cargo/guide/build-performance.html).

<a id="1.92.0-Rustdoc"></a>

## Rustdoc

- [If a trait item appears in rustdoc search, hide the corresponding
impl items](https://redirect.github.com/rust-lang/rust/pull/145898).
Previously a search for "last" would show both `Iterator::last` as well
as impl methods like `std::vec::IntoIter::last`. Now these impl methods
will be hidden, freeing up space for inherent methods like
`BTreeSet::last`.
- [Relax rules for identifiers in
search](https://redirect.github.com/rust-lang/rust/pull/147860).
Previously you could only search for identifiers that were valid in rust
code, now searches only need to be valid as part of an identifier. For
example, you can now perform a search that starts with a digit.

<a id="1.92.0-Compatibility-Notes"></a>

## Compatibility Notes

- [Fix backtraces with `-C panic=abort` on Linux by generating unwind
tables by
default](https://redirect.github.com/rust-lang/rust/pull/143613). Build
with `-C force-unwind-tables=no` to keep omitting unwind tables.

* As part of the larger effort refactoring compiler built-in attributes
and their diagnostics, [the future-compatibility lint
`invalid_macro_export_arguments` is upgraded to deny-by-default and will
be reported in dependencies
too.](https://redirect.github.com/rust-lang/rust/pull/143857)
* [Update the minimum external LLVM to
20](https://redirect.github.com/rust-lang/rust/pull/145071)
* [Prevent downstream `impl DerefMut for
Pin<LocalType>`](https://redirect.github.com/rust-lang/rust/pull/145608)
* [Don't apply temporary lifetime extension rules to the arguments of
non-extended `pin!` and formatting
macros](https://redirect.github.com/rust-lang/rust/pull/145838)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Mi4yIiwidXBkYXRlZEluVmVyIjoiNDIuNDIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-11 18:44:55 +00:00
renovate[bot] 1d7f42967d chore(deps): Update actions/checkout action to v6 2025-12-01 01:30:04 +00:00
Ed Page b0881a6ba0 chore(ci): Give more control over where alt version jobs run 2025-11-13 10:57:21 -06:00
Ed Page ee2eef597d chore(ci): Ensure latest-deps jobs actually uses them 2025-11-13 10:46:26 -06:00
renovate[bot] 3628419d66 chore(deps): Update github/codeql-action action to v4 2025-11-01 01:29:04 +00:00
renovate[bot] 845f4264fd chore(deps): Update Rust Stable to v1.91 (#33)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.90`
-> `1.91` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.91`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1910-2025-10-30)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.90.0...1.91.0)

\==========================

<a id="1.91.0-Language"></a>

## Language

- [Lower pattern bindings in the order they're written and base drop
order on primary bindings'
order](https://redirect.github.com/rust-lang/rust/pull/143764)
- [Stabilize declaration of C-style variadic functions for `sysv64`,
`win64`, `efiapi`, and `aapcs`
ABIs](https://redirect.github.com/rust-lang/rust/pull/144066).
This brings these ABIs in line with the C ABI: variadic functions can be
declared in extern blocks but not defined.
- [Add `dangling_pointers_from_locals` lint to warn against dangling
pointers from local
variables](https://redirect.github.com/rust-lang/rust/pull/144322)
- [Upgrade `semicolon_in_expressions_from_macros` from warn to
deny](https://redirect.github.com/rust-lang/rust/pull/144369)
- [Stabilize LoongArch32 inline
assembly](https://redirect.github.com/rust-lang/rust/pull/144402)
- [Add warn-by-default `integer_to_ptr_transmutes` lint against
integer-to-pointer
transmutes](https://redirect.github.com/rust-lang/rust/pull/144531)
- [Stabilize `sse4a` and `tbm` target
features](https://redirect.github.com/rust-lang/rust/pull/144542)
- [Add `target_env = "macabi"` and `target_env = "sim"`
cfgs](https://redirect.github.com/rust-lang/rust/pull/139451) as
replacements for the `target_abi` cfgs with the same values.

<a id="1.91.0-Compiler"></a>

## Compiler

- [Don't warn on never-to-any `as` casts as
unreachable](https://redirect.github.com/rust-lang/rust/pull/144804)

<a id="1.91.0-Platform-Support"></a>

## Platform Support

- [Promote `aarch64-pc-windows-gnullvm` and `x86_64-pc-windows-gnullvm`
to Tier 2 with host
tools.](https://redirect.github.com/rust-lang/rust/pull/143031)
Note: llvm-tools and MSI installers are missing but will be added in
future releases.
- [Promote `aarch64-pc-windows-msvc` to Tier
1](https://redirect.github.com/rust-lang/rust/pull/145682)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.91.0-Libraries"></a>

## Libraries

- [Print thread ID in panic
message](https://redirect.github.com/rust-lang/rust/pull/115746)
- [Fix overly restrictive lifetime in `core::panic::Location::file`
return type](https://redirect.github.com/rust-lang/rust/pull/132087)
- [Guarantee parameter order for `_by()` variants of `min` / `max`/
`minmax` in
`std::cmp`](https://redirect.github.com/rust-lang/rust/pull/139357)
- [Document assumptions about `Clone` and `Eq`
traits](https://redirect.github.com/rust-lang/rust/pull/144330/)
- [`std::thread`: Return error if setting thread stack size
fails](https://redirect.github.com/rust-lang/rust/pull/144210)
  This used to panic within the standard library.

<a id="1.91.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`Path::file_prefix`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#method.file_prefix)
-
[`AtomicPtr::fetch_ptr_add`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_add)
-
[`AtomicPtr::fetch_ptr_sub`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_ptr_sub)
-
[`AtomicPtr::fetch_byte_add`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_add)
-
[`AtomicPtr::fetch_byte_sub`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_byte_sub)
-
[`AtomicPtr::fetch_or`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_or)
-
[`AtomicPtr::fetch_and`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_and)
-
[`AtomicPtr::fetch_xor`](https://doc.rust-lang.org/stable/std/sync/atomic/struct.AtomicPtr.html#method.fetch_xor)
-
[`{integer}::strict_add`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_add)
-
[`{integer}::strict_sub`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_sub)
-
[`{integer}::strict_mul`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_mul)
-
[`{integer}::strict_div`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_div)
-
[`{integer}::strict_div_euclid`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_div_euclid)
-
[`{integer}::strict_rem`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_rem)
-
[`{integer}::strict_rem_euclid`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_rem_euclid)
-
[`{integer}::strict_neg`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_neg)
-
[`{integer}::strict_shl`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_shl)
-
[`{integer}::strict_shr`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_shr)
-
[`{integer}::strict_pow`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_pow)
-
[`i{N}::strict_add_unsigned`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_add_unsigned)
-
[`i{N}::strict_sub_unsigned`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_sub_unsigned)
-
[`i{N}::strict_abs`](https://doc.rust-lang.org/stable/std/primitive.i32.html#method.strict_abs)
-
[`u{N}::strict_add_signed`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_add_signed)
-
[`u{N}::strict_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.u32.html#method.strict_sub_signed)
-
[`PanicHookInfo::payload_as_str`](https://doc.rust-lang.org/stable/std/panic/struct.PanicHookInfo.html#method.payload_as_str)
-
[`core::iter::chain`](https://doc.rust-lang.org/stable/core/iter/fn.chain.html)
-
[`u{N}::checked_signed_diff`](https://doc.rust-lang.org/stable/std/primitive.u16.html#method.checked_signed_diff)
-
[`core::array::repeat`](https://doc.rust-lang.org/stable/core/array/fn.repeat.html)
-
[`PathBuf::add_extension`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.add_extension)
-
[`PathBuf::with_added_extension`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.with_added_extension)
-
[`Duration::from_mins`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_mins)
-
[`Duration::from_hours`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_hours)
- [`impl PartialEq<str> for
PathBuf`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#impl-PartialEq%3Cstr%3E-for-PathBuf)
- [`impl PartialEq<String> for
PathBuf`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#impl-PartialEq%3CString%3E-for-PathBuf)
- [`impl PartialEq<str> for
Path`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#impl-PartialEq%3Cstr%3E-for-Path)
- [`impl PartialEq<String> for
Path`](https://doc.rust-lang.org/stable/std/path/struct.Path.html#impl-PartialEq%3CString%3E-for-Path)
- [`impl PartialEq<PathBuf> for
String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-PartialEq%3CPathBuf%3E-for-String)
- [`impl PartialEq<Path> for
String`](https://doc.rust-lang.org/stable/std/string/struct.String.html#impl-PartialEq%3CPath%3E-for-String)
- [`impl PartialEq<PathBuf> for
str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-PartialEq%3CPathBuf%3E-for-str)
- [`impl PartialEq<Path> for
str`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-PartialEq%3CPath%3E-for-str)
-
[`Ipv4Addr::from_octets`](https://doc.rust-lang.org/stable/std/net/struct.Ipv4Addr.html#method.from_octets)
-
[`Ipv6Addr::from_octets`](https://doc.rust-lang.org/stable/std/net/struct.Ipv6Addr.html#method.from_octets)
-
[`Ipv6Addr::from_segments`](https://doc.rust-lang.org/stable/std/net/struct.Ipv6Addr.html#method.from_segments)
- [`impl<T> Default for Pin<Box<T>> where Box<T>: Default, T:
?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CBox%3CT%3E%3E)
- [`impl<T> Default for Pin<Rc<T>> where Rc<T>: Default, T:
?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CRc%3CT%3E%3E)
- [`impl<T> Default for Pin<Arc<T>> where Arc<T>: Default, T:
?Sized`](https://doc.rust-lang.org/stable/std/default/trait.Default.html#impl-Default-for-Pin%3CArc%3CT%3E%3E)
-
[`Cell::as_array_of_cells`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.as_array_of_cells)
-
[`u{N}::carrying_add`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_add)
-
[`u{N}::borrowing_sub`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.borrowing_sub)
-
[`u{N}::carrying_mul`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_mul)
-
[`u{N}::carrying_mul_add`](https://doc.rust-lang.org/stable/std/primitive.u64.html#method.carrying_mul_add)
-
[`BTreeMap::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.extract_if)
-
[`BTreeSet::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html#method.extract_if)
- [`impl Debug for
windows::ffi::EncodeWide<'_>`](https://doc.rust-lang.org/stable/std/os/windows/ffi/struct.EncodeWide.html#impl-Debug-for-EncodeWide%3C'_%3E)
-
[`str::ceil_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.ceil_char_boundary)
-
[`str::floor_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.floor_char_boundary)
- [`impl Sum for
Saturating<u{N}>`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Sum-for-Saturating%3Cu32%3E)
- [`impl Sum<&Self> for
Saturating<u{N}>`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Sum%3C%26Saturating%3Cu32%3E%3E-for-Saturating%3Cu32%3E)
- [`impl Product for
Saturating<u{N}>`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Product-for-Saturating%3Cu32%3E)
- [`impl Product<&Self> for
Saturating<u{N}>`](https://doc.rust-lang.org/stable/std/num/struct.Saturating.html#impl-Product%3C%26Saturating%3Cu32%3E%3E-for-Saturating%3Cu32%3E)

These previously stable APIs are now stable in const contexts:

- [`<[T;
N]>::each_ref`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_ref)
- [`<[T;
N]>::each_mut`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.each_mut)
-
[`OsString::new`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.new)
-
[`PathBuf::new`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.new)
-
[`TypeId::of`](https://doc.rust-lang.org/stable/std/any/struct.TypeId.html#method.of)
-
[`ptr::with_exposed_provenance`](https://doc.rust-lang.org/stable/std/ptr/fn.with_exposed_provenance.html)
-
[`ptr::with_exposed_provenance_mut`](https://doc.rust-lang.org/stable/std/ptr/fn.with_exposed_provenance_mut.html)

<a id="1.91.0-Cargo"></a>

## Cargo

- 🎉 Stabilize `build.build-dir`.
This config sets the directory where intermediate build artifacts are
stored.
These artifacts are produced by Cargo and rustc during the build
process.
End users usually won't need to interact with them, and the layout
inside
`build-dir` is an implementation detail that may change without notice.
([config
doc](https://doc.rust-lang.org/stable/cargo/reference/config.html#buildbuild-dir))
([build cache
doc](https://doc.rust-lang.org/stable/cargo/reference/build-cache.html))
[#&#8203;15833](https://redirect.github.com/rust-lang/cargo/pull/15833)
[#&#8203;15840](https://redirect.github.com/rust-lang/cargo/pull/15840)
- The `--target` flag and the `build.target` configuration can now take
literal
`"host-tuple"` string, which will internally be substituted by the host
  machine's target triple.
[#&#8203;15838](https://redirect.github.com/rust-lang/cargo/pull/15838)
[#&#8203;16003](https://redirect.github.com/rust-lang/cargo/pull/16003)
[#&#8203;16032](https://redirect.github.com/rust-lang/cargo/pull/16032)

<a id="1.91.0-Rustdoc"></a>

## Rustdoc

- [In search results, rank doc aliases lower than non-alias items with
the same name](https://redirect.github.com/rust-lang/rust/pull/145100)
- [Raw pointers now work in type-based search like
references](https://redirect.github.com/rust-lang/rust/pull/145731).
This means you can now search for things like `*const u8 ->`, and
additionally functions that take or return raw pointers will now display
their signature properly in search results.

<a id="1.91.0-Compatibility-Notes"></a>

## Compatibility Notes

- [Always require coroutine captures to be
drop-live](https://redirect.github.com/rust-lang/rust/pull/144156)
- [Apple: Always pass SDK root when linking with `cc`, and pass it via
`SDKROOT` env
var](https://redirect.github.com/rust-lang/rust/pull/131477). This
should fix linking issues with `rustc` running inside Xcode. Libraries
in `/usr/local/lib` may no longer be linked automatically, if you
develop or use a crate that relies on this, you should explicitly set
`cargo::rustc-link-search=/usr/local/lib` in a `build.rs` script.
- [Relaxed bounds in associated type bound position like in
`TraitRef<AssocTy: ?Sized>` are now correctly
forbidden](https://redirect.github.com/rust-lang/rust/pull/135331)
- [Add unstable `#[sanitize(xyz = "on|off")]` built-in attribute that
shadows procedural macros with the same
name](https://redirect.github.com/rust-lang/rust/pull/142681)
- [Fix the drop checker being more permissive for bindings declared with
let-else](https://redirect.github.com/rust-lang/rust/pull/143028)
- [Be more strict when parsing attributes, erroring on many invalid
attributes](https://redirect.github.com/rust-lang/rust/pull/144689)
- [Error on invalid `#[should_panic]`
attributes](https://redirect.github.com/rust-lang/rust/pull/143808)
- [Error on invalid `#[link]`
attributes](https://redirect.github.com/rust-lang/rust/pull/143193)
- [Mark all deprecation lints in name resolution as deny-by-default and
also report in
dependencies](https://redirect.github.com/rust-lang/rust/pull/143929)
- The lint `semicolon_in_expressions_from_macros`, for `macro_rules!`
macros in expression position that expand to end in a semicolon (`;`),
is now deny-by-default. It was already warn-by-default, and a future
compatibility warning (FCW) that warned even in dependencies. This lint
will become a hard error in the future.
- [Trait impl modifiers (e.g., `unsafe`, `!`, `default`) in inherent
impls are no longer syntactically
valid](https://redirect.github.com/rust-lang/rust/pull/144386)
- [Start reporting future breakage for `ill_formed_attribute_input` in
dependencies](https://redirect.github.com/rust-lang/rust/pull/144544)
- [Restrict the scope of temporaries created by the macros `pin!`,
`format_args!`, `write!`, and `writeln!` in `if let` scrutinees in Rust
Edition 2024.](https://redirect.github.com/rust-lang/rust/pull/145342)
This applies [Rust Edition 2024's `if let` temporary scope
rules](https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html)
to these temporaries, which previously could live past the `if`
expression regardless of Edition.
- [Invalid numeric literal suffixes in tuple indexing, tuple struct
indexing, and struct field name positions are now correctly
rejected](https://redirect.github.com/rust-lang/rust/pull/145463)
- [Closures marked with the keyword `static` are now syntactically
invalid](https://redirect.github.com/rust-lang/rust/pull/145604)
- [Shebangs inside `--cfg` and `--check-cfg` arguments are no longer
allowed](https://redirect.github.com/rust-lang/rust/pull/146211)
- [Add future incompatibility lint for temporary lifetime shortening in
Rust 1.92](https://redirect.github.com/rust-lang/rust/pull/147056)

Cargo compatibility notes:

- `cargo publish` no longer keeps `.crate` tarballs as final build
artifacts
when `build.build-dir` is set. These tarballs were previously included
due to
  an oversight and are now treated as intermediate artifacts.
  To get `.crate` tarballs as final artifacts, use `cargo package`.
In a future version, this change will apply regardless of
`build.build-dir`.
[#&#8203;15910](https://redirect.github.com/rust-lang/cargo/pull/15910)
- Adjust Cargo messages to match rustc diagnostic style.
  This changes some of the terminal colors used by Cargo messages.
[#&#8203;15928](https://redirect.github.com/rust-lang/cargo/pull/15928)
- Tools and projects relying on the
[internal details of Cargo's
`build-dir`](https://doc.rust-lang.org/cargo/reference/build-cache.html)
  may not work for users changing their `build-dir` layout.
  For those doing so, we'd recommend proactively testing these cases
particularly as we are considering changing the default location of the
`build-dir` in the future

([cargo#16147](https://redirect.github.com/rust-lang/cargo/issues/16147)).
  If you can't migrate off of Cargo's internal details,
we'd like to learn more about your use case as we prepare to change the
layout of the `build-dir`

([cargo#15010](https://redirect.github.com/rust-lang/cargo/issues/15010)).

<a id="1.91.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they
represent
significant improvements to the performance or internals of rustc and
related
tools.

- [Update to LLVM
21](https://redirect.github.com/rust-lang/rust/pull/143684)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 01:17:02 +00:00
renovate[bot] 3513a5b182 chore(deps): Update actions/checkout action to v5 2025-10-01 14:50:23 +00:00
renovate[bot] 7a67ba563b chore(deps): Update actions/setup-python action to v6 2025-10-01 03:23:03 +00:00
renovate[bot] 676066ac62 chore(deps): Update Rust Stable to v1.90 (#30)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [STABLE](https://redirect.github.com/rust-lang/rust) | minor | `1.89`
-> `1.90` |

---

### Release Notes

<details>
<summary>rust-lang/rust (STABLE)</summary>

###
[`v1.90`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1900-2025-09-18)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.89.0...1.90.0)

\===========================

<a id="1.90-Language"></a>

## Language

- [Split up the `unknown_or_malformed_diagnostic_attributes`
lint](https://redirect.github.com/rust-lang/rust/pull/140717). This lint
has been split up into four finer-grained lints, with
`unknown_or_malformed_diagnostic_attributes` now being the lint group
that contains these lints:
  1. `unknown_diagnostic_attributes`: unknown to the current compiler
  2. `misplaced_diagnostic_attributes`: placed on the wrong item
3. `malformed_diagnostic_attributes`: malformed attribute syntax or
options
4. `malformed_diagnostic_format_literals`: malformed format string
literal
- [Allow constants whose final value has references to mutable/external
memory, but reject such constants as
patterns](https://redirect.github.com/rust-lang/rust/pull/140942)
- [Allow volatile access to non-Rust memory, including address
0](https://redirect.github.com/rust-lang/rust/pull/141260)

<a id="1.90-Compiler"></a>

## Compiler

- [Use `lld` by default on
`x86_64-unknown-linux-gnu`](https://redirect.github.com/rust-lang/rust/pull/140525).
- [Tier 3 `musl` targets now link dynamically by
default](https://redirect.github.com/rust-lang/rust/pull/144410).
Affected targets:
  - `mips64-unknown-linux-muslabi64`
  - `powerpc64-unknown-linux-musl`
  - `powerpc-unknown-linux-musl`
  - `powerpc-unknown-linux-muslspe`
  - `riscv32gc-unknown-linux-musl`
  - `s390x-unknown-linux-musl`
  - `thumbv7neon-unknown-linux-musleabihf`

<a id="1.90-Platform-Support"></a>

## Platform Support

- [Demote `x86_64-apple-darwin` to Tier 2 with host
tools](https://redirect.github.com/rust-lang/rust/pull/145252)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.90-Libraries"></a>

## Libraries

- [Stabilize
`u*::{checked,overflowing,saturating,wrapping}_sub_signed`](https://redirect.github.com/rust-lang/rust/issues/126043)
- [Allow comparisons between `CStr`, `CString`, and
`Cow<CStr>`](https://redirect.github.com/rust-lang/rust/pull/137268)
- [Remove some unsized tuple impls since unsized tuples can't be
constructed](https://redirect.github.com/rust-lang/rust/pull/138340)
- [Set `MSG_NOSIGNAL` for
`UnixStream`](https://redirect.github.com/rust-lang/rust/pull/140005)
- [`proc_macro::Ident::new` now supports
`$crate`.](https://redirect.github.com/rust-lang/rust/pull/141996)
- [Guarantee the pointer returned from `Thread::into_raw` has at least 8
bytes of
alignment](https://redirect.github.com/rust-lang/rust/pull/143859)

<a id="1.90-Stabilized-APIs"></a>

## Stabilized APIs

-
[`u{n}::checked_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.checked_sub_signed)
-
[`u{n}::overflowing_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.overflowing_sub_signed)
-
[`u{n}::saturating_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.saturating_sub_signed)
-
[`u{n}::wrapping_sub_signed`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.wrapping_sub_signed)
- [`impl Copy for
IntErrorKind`](https://doc.rust-lang.org/stable/std/num/enum.IntErrorKind.html#impl-Copy-for-IntErrorKind)
- [`impl Hash for
IntErrorKind`](https://doc.rust-lang.org/stable/std/num/enum.IntErrorKind.html#impl-Hash-for-IntErrorKind)
- [`impl PartialEq<&CStr> for
CStr`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#impl-PartialEq%3C%26CStr%3E-for-CStr)
- [`impl PartialEq<CString> for
CStr`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#impl-PartialEq%3CCString%3E-for-CStr)
- [`impl PartialEq<Cow<CStr>> for
CStr`](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#impl-PartialEq%3CCow%3C'_,+CStr%3E%3E-for-CStr)
- [`impl PartialEq<&CStr> for
CString`](https://doc.rust-lang.org/stable/std/ffi/struct.CString.html#impl-PartialEq%3C%26CStr%3E-for-CString)
- [`impl PartialEq<CStr> for
CString`](https://doc.rust-lang.org/stable/std/ffi/struct.CString.html#impl-PartialEq%3CCStr%3E-for-CString)
- [`impl PartialEq<Cow<CStr>> for
CString`](https://doc.rust-lang.org/stable/std/ffi/struct.CString.html#impl-PartialEq%3CCow%3C'_,+CStr%3E%3E-for-CString)
- [`impl PartialEq<&CStr> for
Cow<CStr>`](https://doc.rust-lang.org/stable/std/borrow/enum.Cow.html#impl-PartialEq%3C%26CStr%3E-for-Cow%3C'_,+CStr%3E)
- [`impl PartialEq<CStr> for
Cow<CStr>`](https://doc.rust-lang.org/stable/std/borrow/enum.Cow.html#impl-PartialEq%3CCStr%3E-for-Cow%3C'_,+CStr%3E)
- [`impl PartialEq<CString> for
Cow<CStr>`](https://doc.rust-lang.org/stable/std/borrow/enum.Cow.html#impl-PartialEq%3CCString%3E-for-Cow%3C'_,+CStr%3E)

These previously stable APIs are now stable in const contexts:

-
[`<[T]>::reverse`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.reverse)
-
[`f32::floor`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.floor)
-
[`f32::ceil`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.ceil)
-
[`f32::trunc`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.trunc)
-
[`f32::fract`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.fract)
-
[`f32::round`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round)
-
[`f32::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.round_ties_even)
-
[`f64::floor`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.floor)
-
[`f64::ceil`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.ceil)
-
[`f64::trunc`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.trunc)
-
[`f64::fract`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.fract)
-
[`f64::round`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round)
-
[`f64::round_ties_even`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.round_ties_even)

<a id="1.90-Cargo"></a>

## Cargo

- [Add `http.proxy-cainfo` config for proxy
certs](https://redirect.github.com/rust-lang/cargo/pull/15374/)
- [Use `gix` for `cargo
package`](https://redirect.github.com/rust-lang/cargo/pull/15534/)
- [feat(publish): Stabilize multi-package
publishing](https://redirect.github.com/rust-lang/cargo/pull/15636/)

<a id="1.90-Rustdoc"></a>

## Rustdoc

- [Add ways to collapse all impl
blocks](https://redirect.github.com/rust-lang/rust/pull/141663).
Previously the "Summary" button and "-" keyboard shortcut would never
collapse `impl` blocks, now they do when shift is held
- [Display unsafe attributes with `unsafe()`
wrappers](https://redirect.github.com/rust-lang/rust/pull/143662)

<a id="1.90-Compatibility-Notes"></a>

## Compatibility Notes

- [Use `lld` by default on
`x86_64-unknown-linux-gnu`](https://redirect.github.com/rust-lang/rust/pull/140525).
See also
<https://blog.rust-lang.org/2025/09/01/rust-lld-on-1.90.0-stable/>.
- [Make `core::iter::Fuse`'s `Default` impl construct `I::default()`
internally as promised in the docs instead of always being
empty](https://redirect.github.com/rust-lang/rust/pull/140985)
- [Set `MSG_NOSIGNAL` for
`UnixStream`](https://redirect.github.com/rust-lang/rust/pull/140005)
This may change program behavior but results in the same behavior as
other primitives (e.g., stdout, network sockets).
Programs relying on signals to terminate them should update handling of
sockets to handle errors on write by exiting.
- [On Unix `std::env::home_dir` will use the fallback if the `HOME`
environment variable is
empty](https://redirect.github.com/rust-lang/rust/pull/141840)
- We now [reject unsupported `extern "{abi}"`s consistently in all
positions](https://redirect.github.com/rust-lang/rust/pull/142134). This
primarily affects the use of implementing traits on an `extern "{abi}"`
function pointer, like `extern "stdcall" fn()`, on a platform that
doesn't support that, like aarch64-unknown-linux-gnu. Direct usage of
these unsupported ABI strings by declaring or defining functions was
already rejected, so this is only a change for consistency.
- [const-eval: error when initializing a static writes to that
static](https://redirect.github.com/rust-lang/rust/pull/143084)
- [Check that the `proc_macro_derive` macro has correct arguments when
applied to the crate
root](https://redirect.github.com/rust-lang/rust/pull/143607)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- 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/epage/_rust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 21:59:04 +00:00
Ed Page 5afd57342b chore(ci): Fix env variable syntax 2025-09-12 16:42:32 -05:00