From 2f552829c66ef62bc5e24082997e9b6b2437baa7 Mon Sep 17 00:00:00 2001 From: chavic Date: Tue, 8 Sep 2026 18:55:30 +0200 Subject: [PATCH] Resolve dart wrapper deps with MSRV awareness The dart native-assets build resolves dependencies fresh on every run: no lockfile ships to pub.dev consumers and contrib/test.sh deletes native/Cargo.lock to match. With the old resolver a transitive dependency that raises its MSRV in a patch release breaks the build outright, as encoding_rs 0.8.40 (requires rustc 1.88) did on 2026-09-07 against the pinned 1.85.1 toolchain, failing dart CI on every branch and pub.dev installs alike. Declare rust-version and switch the wrapper workspace to resolver v3 (as the root workspace already does) so cargo falls back to MSRV-compatible versions instead: Adding encoding_rs v0.8.35 (available: v0.8.40, requires Rust 1.88) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_017MzBuv1zoMURfNEKKDka8d --- payjoin-ffi/dart/native/Cargo.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/payjoin-ffi/dart/native/Cargo.toml b/payjoin-ffi/dart/native/Cargo.toml index aef3310dd..cbaaf3354 100644 --- a/payjoin-ffi/dart/native/Cargo.toml +++ b/payjoin-ffi/dart/native/Cargo.toml @@ -1,10 +1,16 @@ [workspace] +# MSRV-aware dependency resolution: this build resolves fresh (no lockfile +# ships to pub.dev consumers), so prefer dependency versions compatible +# with rust-version instead of failing when a transitive dependency raises +# its MSRV in a patch release. +resolver = "3" [package] name = "payjoin-ffi-wrapper" description = "This is a simple wrapper crate which re-exports payjoin-ffi for publishing to pub.dev" version = "0.1.0" edition = "2021" +rust-version = "1.85" license = "MIT OR Apache-2.0" publish = false