From 9c107f20a1dfb49b080af83a7683f28ffdbc1b5c Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Mon, 8 Jun 2026 17:27:31 -0700 Subject: [PATCH 1/3] Fix unic RustSec advisory via patched piet Patch piet to the upstream commit that replaces the unmaintained unic-bidi dependency with icu_properties. Bump Rust toolchain references to 1.92 because the upstream piet fix requires it, and refresh Cargo.lock so the unic advisory crates are removed.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: James Sturtevant --- .github/workflows/CargoAudit.yml | 2 +- .github/workflows/CargoPublish.yml | 2 +- .github/workflows/Coverage.yml | 2 +- .github/workflows/CreateDevcontainerImage.yml | 2 +- .github/workflows/CreateRelease.yml | 6 +- .github/workflows/PrimeCaches.yml | 2 +- .github/workflows/RustNightly.yml | 2 +- .github/workflows/copilot-setup-steps.yml | 2 +- .github/workflows/dep_benchmarks.yml | 2 +- .github/workflows/dep_build_guests.yml | 2 +- .github/workflows/dep_build_test.yml | 2 +- .github/workflows/dep_code_checks.yml | 4 +- .github/workflows/dep_fuzzing.yml | 2 +- .github/workflows/dep_run_examples.yml | 2 +- .github/workflows/dep_update_guest_locks.yml | 2 +- Cargo.lock | 62 +------------------ Cargo.toml | 7 ++- rust-toolchain.toml | 2 +- 18 files changed, 27 insertions(+), 80 deletions(-) diff --git a/.github/workflows/CargoAudit.yml b/.github/workflows/CargoAudit.yml index eedae25b1..b363ece88 100644 --- a/.github/workflows/CargoAudit.yml +++ b/.github/workflows/CargoAudit.yml @@ -19,7 +19,7 @@ jobs: # TODO: Once the runner image is updated to include the necessary tools (without downloading), we can switch to the common workflow. - uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1 with: - toolchain: "1.89" + toolchain: "1.92" - uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0 with: diff --git a/.github/workflows/CargoPublish.yml b/.github/workflows/CargoPublish.yml index a9d2ff7bc..a203fd2e0 100644 --- a/.github/workflows/CargoPublish.yml +++ b/.github/workflows/CargoPublish.yml @@ -35,7 +35,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" - name: Check crate versions shell: bash diff --git a/.github/workflows/Coverage.yml b/.github/workflows/Coverage.yml index 42968deee..de26f0f59 100644 --- a/.github/workflows/Coverage.yml +++ b/.github/workflows/Coverage.yml @@ -39,7 +39,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/CreateDevcontainerImage.yml b/.github/workflows/CreateDevcontainerImage.yml index c886ca670..ff0972d3e 100644 --- a/.github/workflows/CreateDevcontainerImage.yml +++ b/.github/workflows/CreateDevcontainerImage.yml @@ -16,7 +16,7 @@ env: USER: vscode GROUP: vscode LLVM_VERSION: 18 - RUST_TOOLCHAIN_DEFAULT: 1.89 + RUST_TOOLCHAIN_DEFAULT: 1.92 RUST_TOOLCHAIN_FILE: rust-toolchain.toml # There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. diff --git a/.github/workflows/CreateRelease.yml b/.github/workflows/CreateRelease.yml index faa095af7..3502774cc 100644 --- a/.github/workflows/CreateRelease.yml +++ b/.github/workflows/CreateRelease.yml @@ -32,7 +32,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -53,7 +53,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -123,7 +123,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/PrimeCaches.yml b/.github/workflows/PrimeCaches.yml index e9261312f..2fd47db5b 100644 --- a/.github/workflows/PrimeCaches.yml +++ b/.github/workflows/PrimeCaches.yml @@ -81,7 +81,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/RustNightly.yml b/.github/workflows/RustNightly.yml index 5244f6aa7..46bc99ee7 100644 --- a/.github/workflows/RustNightly.yml +++ b/.github/workflows/RustNightly.yml @@ -46,7 +46,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 4791a1574..90b4cddac 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -31,6 +31,6 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_benchmarks.yml b/.github/workflows/dep_benchmarks.yml index ed84b515c..575ecb2bc 100644 --- a/.github/workflows/dep_benchmarks.yml +++ b/.github/workflows/dep_benchmarks.yml @@ -85,7 +85,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_build_guests.yml b/.github/workflows/dep_build_guests.yml index 6ad19f0bf..8147419da 100644 --- a/.github/workflows/dep_build_guests.yml +++ b/.github/workflows/dep_build_guests.yml @@ -35,7 +35,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_build_test.yml b/.github/workflows/dep_build_test.yml index ea5dc6977..bddc5bfee 100644 --- a/.github/workflows/dep_build_test.yml +++ b/.github/workflows/dep_build_test.yml @@ -52,7 +52,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_code_checks.yml b/.github/workflows/dep_code_checks.yml index 4b20025b5..775866a79 100644 --- a/.github/workflows/dep_code_checks.yml +++ b/.github/workflows/dep_code_checks.yml @@ -32,7 +32,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -104,7 +104,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_fuzzing.yml b/.github/workflows/dep_fuzzing.yml index d54474932..db6c7a454 100644 --- a/.github/workflows/dep_fuzzing.yml +++ b/.github/workflows/dep_fuzzing.yml @@ -33,7 +33,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_run_examples.yml b/.github/workflows/dep_run_examples.yml index 83cb507c7..9fdcd25a0 100644 --- a/.github/workflows/dep_run_examples.yml +++ b/.github/workflows/dep_run_examples.yml @@ -52,7 +52,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_update_guest_locks.yml b/.github/workflows/dep_update_guest_locks.yml index 8ba186383..9938431fc 100644 --- a/.github/workflows/dep_update_guest_locks.yml +++ b/.github/workflows/dep_update_guest_locks.yml @@ -47,7 +47,7 @@ jobs: - name: Setup Rust toolchain uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.89" + rust-toolchain: "1.92" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.lock b/Cargo.lock index d86f0fbcb..e31147b9c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2133,12 +2133,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - [[package]] name = "memchr" version = "2.8.0" @@ -2559,11 +2553,10 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "piet" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31867aac026f5706ca679ee13e0089fe85be00646ff1de73dd5ca6a15ddb48e1" +source = "git+https://github.com/linebender/piet?rev=618083f8a6671c7ab8c198724487348d2ccf9a8f#618083f8a6671c7ab8c198724487348d2ccf9a8f" dependencies = [ + "icu_properties", "kurbo", - "unic-bidi", ] [[package]] @@ -3915,57 +3908,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unic-bidi" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1356b759fb6a82050666f11dce4b6fe3571781f1449f3ef78074e408d468ec09" -dependencies = [ - "matches", - "unic-ucd-bidi", -] - -[[package]] -name = "unic-char-property" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" -dependencies = [ - "unic-char-range", -] - -[[package]] -name = "unic-char-range" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" - -[[package]] -name = "unic-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" - -[[package]] -name = "unic-ucd-bidi" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d568b51222484e1f8209ce48caa6b430bf352962b877d592c29ab31fb53d8c" -dependencies = [ - "unic-char-property", - "unic-char-range", - "unic-ucd-version", -] - -[[package]] -name = "unic-ucd-version" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" -dependencies = [ - "unic-common", -] - [[package]] name = "unicode-ident" version = "1.0.23" diff --git a/Cargo.toml b/Cargo.toml index e9b69f40d..5a9046b02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ exclude = [ [workspace.package] version = "0.15.0" edition = "2024" -rust-version = "1.89" +rust-version = "1.92" license = "Apache-2.0" homepage = "https://github.com/hyperlight-dev/hyperlight" repository = "https://github.com/hyperlight-dev/hyperlight" @@ -47,6 +47,11 @@ hyperlight-libc = { path = "src/hyperlight_libc", version = "0.15.0", default-fe hyperlight-component-util = { path = "src/hyperlight_component_util", version = "0.15.0", default-features = false } hyperlight-component-macro = { path = "src/hyperlight_component_macro", version = "0.15.0", default-features = false } +[patch.crates-io] +# Fixes #1490, #1494, and #1495 by using upstream piet commit 618083f, +# which replaces the unmaintained unic-bidi dependency with icu_properties. +piet = { git = "https://github.com/linebender/piet", rev = "618083f8a6671c7ab8c198724487348d2ccf9a8f" } + [workspace.lints.rust] unsafe_op_in_unsafe_fn = "deny" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index aec2748e0..b2632df37 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.89" +channel = "1.92" # Target used for guest binaries. This is an additive list of targets in addition to host platform. # Will install the target if not already installed when building guest binaries. targets = ["x86_64-unknown-none", "x86_64-unknown-linux-musl"] From 5ce44adb6d80a11c97c93d3ce8c120084eb24a45 Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Mon, 8 Jun 2026 17:45:55 -0700 Subject: [PATCH 2/3] Keep core MSRV at Rust 1.89 Restore the workspace and CI toolchains to Rust 1.89 while leaving the patched piet dependency scoped to trace_dump. Document trace_dump's Rust 1.92 requirement locally. Signed-off-by: James Sturtevant Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/CargoAudit.yml | 2 +- .github/workflows/CargoPublish.yml | 2 +- .github/workflows/Coverage.yml | 2 +- .github/workflows/CreateDevcontainerImage.yml | 2 +- .github/workflows/CreateRelease.yml | 6 +++--- .github/workflows/PrimeCaches.yml | 2 +- .github/workflows/RustNightly.yml | 2 +- .github/workflows/copilot-setup-steps.yml | 2 +- .github/workflows/dep_benchmarks.yml | 2 +- .github/workflows/dep_build_guests.yml | 2 +- .github/workflows/dep_build_test.yml | 2 +- .github/workflows/dep_code_checks.yml | 4 ++-- .github/workflows/dep_fuzzing.yml | 2 +- .github/workflows/dep_run_examples.yml | 2 +- .github/workflows/dep_update_guest_locks.yml | 2 +- Cargo.toml | 2 +- rust-toolchain.toml | 2 +- src/trace_dump/Cargo.toml | 1 + 18 files changed, 21 insertions(+), 20 deletions(-) diff --git a/.github/workflows/CargoAudit.yml b/.github/workflows/CargoAudit.yml index b363ece88..eedae25b1 100644 --- a/.github/workflows/CargoAudit.yml +++ b/.github/workflows/CargoAudit.yml @@ -19,7 +19,7 @@ jobs: # TODO: Once the runner image is updated to include the necessary tools (without downloading), we can switch to the common workflow. - uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1 with: - toolchain: "1.92" + toolchain: "1.89" - uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0 with: diff --git a/.github/workflows/CargoPublish.yml b/.github/workflows/CargoPublish.yml index a203fd2e0..a9d2ff7bc 100644 --- a/.github/workflows/CargoPublish.yml +++ b/.github/workflows/CargoPublish.yml @@ -35,7 +35,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" - name: Check crate versions shell: bash diff --git a/.github/workflows/Coverage.yml b/.github/workflows/Coverage.yml index de26f0f59..42968deee 100644 --- a/.github/workflows/Coverage.yml +++ b/.github/workflows/Coverage.yml @@ -39,7 +39,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/CreateDevcontainerImage.yml b/.github/workflows/CreateDevcontainerImage.yml index ff0972d3e..c886ca670 100644 --- a/.github/workflows/CreateDevcontainerImage.yml +++ b/.github/workflows/CreateDevcontainerImage.yml @@ -16,7 +16,7 @@ env: USER: vscode GROUP: vscode LLVM_VERSION: 18 - RUST_TOOLCHAIN_DEFAULT: 1.92 + RUST_TOOLCHAIN_DEFAULT: 1.89 RUST_TOOLCHAIN_FILE: rust-toolchain.toml # There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. diff --git a/.github/workflows/CreateRelease.yml b/.github/workflows/CreateRelease.yml index 3502774cc..faa095af7 100644 --- a/.github/workflows/CreateRelease.yml +++ b/.github/workflows/CreateRelease.yml @@ -32,7 +32,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -53,7 +53,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -123,7 +123,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/PrimeCaches.yml b/.github/workflows/PrimeCaches.yml index 2fd47db5b..e9261312f 100644 --- a/.github/workflows/PrimeCaches.yml +++ b/.github/workflows/PrimeCaches.yml @@ -81,7 +81,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/RustNightly.yml b/.github/workflows/RustNightly.yml index 46bc99ee7..5244f6aa7 100644 --- a/.github/workflows/RustNightly.yml +++ b/.github/workflows/RustNightly.yml @@ -46,7 +46,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 90b4cddac..4791a1574 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -31,6 +31,6 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_benchmarks.yml b/.github/workflows/dep_benchmarks.yml index 575ecb2bc..ed84b515c 100644 --- a/.github/workflows/dep_benchmarks.yml +++ b/.github/workflows/dep_benchmarks.yml @@ -85,7 +85,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_build_guests.yml b/.github/workflows/dep_build_guests.yml index 8147419da..6ad19f0bf 100644 --- a/.github/workflows/dep_build_guests.yml +++ b/.github/workflows/dep_build_guests.yml @@ -35,7 +35,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_build_test.yml b/.github/workflows/dep_build_test.yml index bddc5bfee..ea5dc6977 100644 --- a/.github/workflows/dep_build_test.yml +++ b/.github/workflows/dep_build_test.yml @@ -52,7 +52,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_code_checks.yml b/.github/workflows/dep_code_checks.yml index 775866a79..4b20025b5 100644 --- a/.github/workflows/dep_code_checks.yml +++ b/.github/workflows/dep_code_checks.yml @@ -32,7 +32,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -104,7 +104,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_fuzzing.yml b/.github/workflows/dep_fuzzing.yml index db6c7a454..d54474932 100644 --- a/.github/workflows/dep_fuzzing.yml +++ b/.github/workflows/dep_fuzzing.yml @@ -33,7 +33,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_run_examples.yml b/.github/workflows/dep_run_examples.yml index 9fdcd25a0..83cb507c7 100644 --- a/.github/workflows/dep_run_examples.yml +++ b/.github/workflows/dep_run_examples.yml @@ -52,7 +52,7 @@ jobs: - uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/dep_update_guest_locks.yml b/.github/workflows/dep_update_guest_locks.yml index 9938431fc..8ba186383 100644 --- a/.github/workflows/dep_update_guest_locks.yml +++ b/.github/workflows/dep_update_guest_locks.yml @@ -47,7 +47,7 @@ jobs: - name: Setup Rust toolchain uses: hyperlight-dev/ci-setup-workflow@f6bd9cc86d0737976d2128c8b8ced8edc017cbb4 # v1.9.0 with: - rust-toolchain: "1.92" + rust-toolchain: "1.89" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Cargo.toml b/Cargo.toml index 5a9046b02..146389a81 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ exclude = [ [workspace.package] version = "0.15.0" edition = "2024" -rust-version = "1.92" +rust-version = "1.89" license = "Apache-2.0" homepage = "https://github.com/hyperlight-dev/hyperlight" repository = "https://github.com/hyperlight-dev/hyperlight" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b2632df37..aec2748e0 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.92" +channel = "1.89" # Target used for guest binaries. This is an additive list of targets in addition to host platform. # Will install the target if not already installed when building guest binaries. targets = ["x86_64-unknown-none", "x86_64-unknown-linux-musl"] diff --git a/src/trace_dump/Cargo.toml b/src/trace_dump/Cargo.toml index f153f27e7..20f0be9e4 100644 --- a/src/trace_dump/Cargo.toml +++ b/src/trace_dump/Cargo.toml @@ -3,6 +3,7 @@ name = "trace_dump" version = "0.10.0" publish = false edition = "2021" +rust-version = "1.92" [dependencies] addr2line = "0.26.1" From 087b3df4779368ca232a2caf4b5c8ec3e4d4828b Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Mon, 8 Jun 2026 20:54:36 -0700 Subject: [PATCH 3/3] Scope piet fix to trace dump Use the fixed upstream piet commit directly from trace_dump instead of a workspace-level crates.io patch. This keeps the dependency override next to the only package that needs it while preserving removal of the unic advisory crates.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: James Sturtevant --- Cargo.lock | 65 +++++++++++++++++---------------------- Cargo.toml | 5 --- src/trace_dump/Cargo.toml | 4 ++- 3 files changed, 32 insertions(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e31147b9c..3ccad5cc2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -346,9 +346,9 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cairo-rs" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01fe135c0bd16afe262b6dea349bd5ea30e6de50708cec639aae7c5c14cc7e4" +checksum = "5cc8d9aa793480744cd9a0524fef1a2e197d9eaa0f739cde19d16aba530dcb95" dependencies = [ "bitflags 2.13.0", "cairo-sys-rs", @@ -358,9 +358,9 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c28280c6b12055b5e39e4554271ae4e6630b27c0da9148c4cf6485fc6d245c" +checksum = "f8b4985713047f5faee02b8db6a6ef32bbb50269ff53c1aee716d1d195b76d54" dependencies = [ "glib-sys", "libc", @@ -1165,9 +1165,9 @@ dependencies = [ [[package]] name = "gio" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ff48bf600c68b476e61dc6b7c762f2f4eb91deef66583ba8bb815c30b5811a" +checksum = "e3848bcba3a35cc0a71df8ba8ecfd799d6bfb862342a53a4a915fb62213aa4e6" dependencies = [ "futures-channel", "futures-core", @@ -1182,9 +1182,9 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22" +checksum = "64729ba2772c080448f9f966dba8f4456beeb100d8c28a865ef8a0f2ef4987e1" dependencies = [ "glib-sys", "gobject-sys", @@ -1207,9 +1207,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.21.5" +version = "0.22.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b" +checksum = "c207e04e51605dcf7b2924c41591b3a10e1438eaac5bcf448fb91f325381104a" dependencies = [ "bitflags 2.13.0", "futures-channel", @@ -1217,7 +1217,6 @@ dependencies = [ "futures-executor", "futures-task", "futures-util", - "gio-sys", "glib-macros", "glib-sys", "gobject-sys", @@ -1228,12 +1227,11 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17" +checksum = "506d23499707c7142898429757e8d9a3871d965239a2cb66dfa05052be6d6f19" dependencies = [ "heck", - "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -1241,9 +1239,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c" +checksum = "5f7fbac234ed5bc2a28359b7bde8e1b9cdf1441cc2d7f068e4824672d7db9445" dependencies = [ "libc", "system-deps", @@ -1270,9 +1268,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294" +checksum = "22a861859b887a79cf461359c192c97a57d8fb0229dd291232e57aa11f6fa72c" dependencies = [ "glib-sys", "libc", @@ -2454,9 +2452,9 @@ dependencies = [ [[package]] name = "pango" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52d1d85e2078077a065bb7fc072783d5bcd4e51b379f22d67107d0a16937eb69" +checksum = "251bdc6e6487b811be0e406a21e301e07e45c0aa8fa39e00c0c8e12a91752438" dependencies = [ "gio", "glib", @@ -2466,9 +2464,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f06627d36ed5ff303d2df65211fc2e52ba5b17bf18dd80ff3d9628d6e06cfd" +checksum = "bbd111a20ca90fedf03e09c59783c679c00900f1d8491cca5399f5e33609d5d6" dependencies = [ "glib-sys", "gobject-sys", @@ -2478,9 +2476,9 @@ dependencies = [ [[package]] name = "pangocairo" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36c5c84304072939d860595d9bda2a797d3bd6f7215e20b8ccd0e72d84da8c8" +checksum = "d9f15369c787b1cc59a5b86eff6afffd5a9716c5beb4969d20b307cebfe7e407" dependencies = [ "cairo-rs", "glib", @@ -2491,9 +2489,9 @@ dependencies = [ [[package]] name = "pangocairo-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadbb01ad38be76e0d37e329d40ba0f3f9ef261d7b84b05201d7a0f14f819406" +checksum = "d95cb73468373b9e568abb1afbaf5b42fe6ab9128fc41b5f2adbf69451c3c77f" dependencies = [ "cairo-sys-rs", "glib-sys", @@ -2562,8 +2560,7 @@ dependencies = [ [[package]] name = "piet-cairo" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae84f3d22ce540ca5a598669c3fc95fe0cae45bdf733abc9796d20f4445017c1" +source = "git+https://github.com/linebender/piet?rev=618083f8a6671c7ab8c198724487348d2ccf9a8f#618083f8a6671c7ab8c198724487348d2ccf9a8f" dependencies = [ "cairo-rs", "pango", @@ -2576,8 +2573,7 @@ dependencies = [ [[package]] name = "piet-common" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34c5f8f1bf281d40b08da00b90e20b14d3a68035eee1c12ba260c62b040172f3" +source = "git+https://github.com/linebender/piet?rev=618083f8a6671c7ab8c198724487348d2ccf9a8f#618083f8a6671c7ab8c198724487348d2ccf9a8f" dependencies = [ "cairo-rs", "cairo-sys-rs", @@ -2596,8 +2592,7 @@ dependencies = [ [[package]] name = "piet-coregraphics" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75958f4ea4a36640178d2fb342fe29707e346dbc31b5983e31c8ef3bb78b7fce" +source = "git+https://github.com/linebender/piet?rev=618083f8a6671c7ab8c198724487348d2ccf9a8f#618083f8a6671c7ab8c198724487348d2ccf9a8f" dependencies = [ "associative-cache", "core-foundation", @@ -2611,8 +2606,7 @@ dependencies = [ [[package]] name = "piet-direct2d" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838ce5efd17a7911574e2047040dbae5d4b2633f50263673af6be4e65ae68f5c" +source = "git+https://github.com/linebender/piet?rev=618083f8a6671c7ab8c198724487348d2ccf9a8f#618083f8a6671c7ab8c198724487348d2ccf9a8f" dependencies = [ "associative-cache", "dwrote", @@ -2625,8 +2619,7 @@ dependencies = [ [[package]] name = "piet-web" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838f32f0ea82a258c767662c1751e9e35f34b6e3977e2d9c0b7bc207d9547628" +source = "git+https://github.com/linebender/piet?rev=618083f8a6671c7ab8c198724487348d2ccf9a8f#618083f8a6671c7ab8c198724487348d2ccf9a8f" dependencies = [ "js-sys", "piet", diff --git a/Cargo.toml b/Cargo.toml index 146389a81..e9b69f40d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,11 +47,6 @@ hyperlight-libc = { path = "src/hyperlight_libc", version = "0.15.0", default-fe hyperlight-component-util = { path = "src/hyperlight_component_util", version = "0.15.0", default-features = false } hyperlight-component-macro = { path = "src/hyperlight_component_macro", version = "0.15.0", default-features = false } -[patch.crates-io] -# Fixes #1490, #1494, and #1495 by using upstream piet commit 618083f, -# which replaces the unmaintained unic-bidi dependency with icu_properties. -piet = { git = "https://github.com/linebender/piet", rev = "618083f8a6671c7ab8c198724487348d2ccf9a8f" } - [workspace.lints.rust] unsafe_op_in_unsafe_fn = "deny" diff --git a/src/trace_dump/Cargo.toml b/src/trace_dump/Cargo.toml index 20f0be9e4..ae4697097 100644 --- a/src/trace_dump/Cargo.toml +++ b/src/trace_dump/Cargo.toml @@ -7,7 +7,9 @@ rust-version = "1.92" [dependencies] addr2line = "0.26.1" -piet-common = { version = "0.8.0", features = [ "png" ] } +# Fixes #1490 through #1495 by using upstream piet commit 618083f, +# which replaces the unmaintained unic-bidi dependency with icu_properties. +piet-common = { git = "https://github.com/linebender/piet", rev = "618083f8a6671c7ab8c198724487348d2ccf9a8f", features = [ "png" ] } blake3 = { version = "1.8.5" } [[bin]]