Merge bitcoindevkit/bdk#2317: ci: pin yoke-derive to 0.8.2 for MSRV
4dc5e5a4fc1fe6d14f6b5457a48596197f45de24 ci: pin yoke-derive to 0.8.2 for MSRV (志宇)
Pull request description:
### Description
The MSRV (1.85.0) CI job is failing. `yoke-derive` 0.8.3 (released 2026-09-15) calls `str::from_utf8` as a method on the `str` type. That form isn't available on Rust 1.85.0, and the crate doesn't declare a `rust-version`, so cargo doesn't avoid it:
```
error[E0599]: no function or associated item named `from_utf8` found for type `str` in the current scope
--> yoke-derive-0.8.3/src/lib.rs:202:32
|
202 | let underscores = str::from_utf8(&underscores).expect("_ is ASCII and thus UTF-8");
| ^^^^^^^^^ function or associated item not found in `str`
```
`yoke-derive` gets pulled in through `url` -> `idna` -> the `icu_*` crates -> `zerovec` -> `yoke`. This PR pins it to 0.8.2 in `ci/pin-msrv.sh`. Version 0.8.2 calls `core::str::from_utf8` instead, and `yoke` 0.8.3 accepts `yoke-derive ^0.8.2`.
Failing run: https://github.com/bitcoindevkit/bdk/actions/runs/
35182209052/job/
105076597730
### Notes to the reviewers
I couldn't build with 1.85.0 locally, so the MSRV CI run on this PR is the real test. I did check that `ci/pin-msrv.sh` runs cleanly from a fresh lockfile and ends up with `yoke-derive` 0.8.2. The last green `master` run (2026-09-12) was before 0.8.3 came out.
### Checklists
#### All Submissions:
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
ACKs for top commit:
tvpeter:
tACK
4dc5e5a4fc1fe6d14f6b5457a48596197f45de24
noahjoeris:
tACK
4dc5e5a4fc1fe6d14f6b5457a48596197f45de24
Tree-SHA512: 812f4cf719c9ed4fda07fc90d81149e1d05169d11cd1d785667801cb88479dbf4628c94ba5477048415e718a4fb09ce7060c35850bde1fc0673649c5e4f5ff59