Skip to content

chore: adopt notalawyer 0.3 and bump MSRV to 1.88 - #229

Merged
sksat (sksat) merged 2 commits into
mainfrom
chore/notalawyer-0.3
Jun 15, 2026
Merged

chore: adopt notalawyer 0.3 and bump MSRV to 1.88#229
sksat (sksat) merged 2 commits into
mainfrom
chore/notalawyer-0.3

Conversation

@sksat

Copy link
Copy Markdown
Member

Why

notalawyer-build 0.2 shells out to the cargo-about binary and pipes its stdout into the NOTICE file. Since cargo-about 0.6.5 that path crashes whenever a PowerShell ancestor is detected (UTF-16 redirect guard), which broke the Windows kble-serialport.exe build the moment we tried to move past cargo-about 0.6.4 (#127). Root cause and fix discussion: arkedge/notalawyer#9.

notalawyer 0.3 rewrites the build half to call cargo-about as a library, so there is no subprocess and no PowerShell guard to trip. kble's build.rs files use the default notalawyer_build::build(), so no build-script changes are needed.

The MSRV consequence

cargo-about 0.9 (edition 2024, rust-version = 1.88) is now a build-dependency compiled under our toolchain, not an externally-installed binary. The prebuilt-binary decoupling we added in #226 no longer applies, so the workspace MSRV rises to 1.88. This supersedes the pending 1.86 bump (#227).

Changes

  • Cargo.toml: notalawyer{,-clap,-build} 0.2 → 0.3; rust-version 1.85 → 1.88. notalawyer-build uses default-features = false to drop fetch-clarify-license (ureq + rustls) — none of our about.toml files use [clarify.<crate>.git], so the build stays fully offline.
  • rust-toolchain: 1.85.0 → 1.88.0
  • */about.toml: ignore-build-dependencies = true. cargo-about now scans its own dependency tree (krates, rustls, ring, …) as build-deps; those are build-time tooling, not shipped in the kble binaries, so they're excluded from the license notice rather than added to accepted.
  • CI (rust.yml, release.yml): removed all five install cargo-about steps and the CARGO_ABOUT_VERSION env. The build script no longer needs the binary on PATH.

Verification

cargo check --workspace --all-targets --locked passes on cargo 1.88.0, with all five binary build scripts generating their NOTICE successfully.

Follow-ups

🤖 Generated with Claude Code

notalawyer-build 0.3 calls cargo-about as a library instead of spawning the
binary, which fixes the PowerShell-redirect crash on the Windows build
(arkedge/notalawyer#9). Because cargo-about 0.9 is now a build-dependency
compiled under our toolchain, the workspace MSRV rises to 1.88 (cargo-about
0.9 declares rustc 1.88).

- Cargo.toml: notalawyer{,-clap,-build} 0.2 -> 0.3; rust-version 1.85 -> 1.88.
  notalawyer-build uses default-features = false to drop fetch-clarify-license
  (ureq + rustls); no about.toml uses [clarify.*.git], so we stay offline.
- rust-toolchain: 1.85.0 -> 1.88.0
- about.toml: ignore-build-dependencies = true so cargo-about's own dependency
  tree (krates, rustls, ring, ...) isn't listed in the shipped license notice.
- CI: drop the cargo-about binary install steps and CARGO_ABOUT_VERSION env in
  rust.yml and release.yml; the build script no longer needs it on PATH.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sksat sksat (sksat) self-assigned this Jun 15, 2026
@sksat
sksat (sksat) enabled auto-merge June 15, 2026 16:14
@sksat
sksat (sksat) added this pull request to the merge queue Jun 15, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 15, 2026
The merge queue's merge_group run (and pushes to main) have no PR for
reviewdog's github-pr-review reporter to attach to. As soon as clippy emits any
output, reviewdog closes the pipe and cargo clippy dies with SIGPIPE (exit 141),
failing verify-crate -- which kicked #229 out of the queue even though every PR
check was green. Bumping to 1.88 surfaced new uninlined_format_args warnings,
which is what produced the output that triggered this. clippy is advisory here
(warnings never fail the build), so skip the step outside pull_request events.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sksat
sksat (sksat) enabled auto-merge June 15, 2026 17:31
@sksat
sksat (sksat) added this pull request to the merge queue Jun 15, 2026
Merged via the queue into main with commit 429f16e Jun 15, 2026
8 checks passed
@sksat
sksat (sksat) deleted the chore/notalawyer-0.3 branch June 15, 2026 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant