From 5cf767c9d95e9f12b18c2df7adbc0effbf77565b Mon Sep 17 00:00:00 2001 From: thomas Date: Tue, 28 Jul 2026 12:40:25 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20finish=20the=20resvg=20dedupe=20?= =?UTF-8?q?=E2=80=94=20bump=20gpui-component=20to=200.47?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit resvg 0.47 landed in tty7 (#227) and the gpui fork (#237), but gpui-component still declared its own resvg = 0.45.1, keeping a legacy resvg/usvg/tiny-skia 0.45/0.11 stack in the tree. The fork now pins 0.47 (l0ng-ai/gpui-component@2264ff99 — no source changes needed; its only resvg user, the Windows native-menu rasterizer, uses APIs unchanged across the bump), so this moves the pin and drops the last duplicate: the lockfile now carries a single resvg/usvg/tiny-skia stack at 0.47/0.12, and `cargo tree -i resvg@0.45.1` matches nothing. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 9 ++- Cargo.lock | 197 ++++++++------------------------------------------- Cargo.toml | 9 +-- 3 files changed, 41 insertions(+), 174 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ecf341f0..f8ae136c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,8 +39,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **One fewer duplicate SVG stack in the build** — the resvg 0.47 bump (#227) left the gpui fork on 0.45, so the tree compiled two resvg/usvg/tiny-skia stacks. The fork now pins 0.47 too, re-unifying its stack with the one tty7 - uses for the tray icon. gpui-component still carries its own 0.45.1 until - that fork catches up. (#237) + uses for the tray icon. (#237) + +- **The last duplicate SVG stack is gone** — after #227 and #237 unified tty7 + and the gpui fork on resvg 0.47, the gpui-component fork still declared its + own `resvg = "0.45.1"`, keeping a legacy resvg/usvg/tiny-skia 0.45/0.11 + stack in the tree. That fork now pins 0.47 as well, so the whole build + compiles a single resvg stack. ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 0081c0eb..473fba8b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -817,7 +817,7 @@ dependencies = [ "bitflags 2.13.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.13.0", "log", "prettyplease", "proc-macro2", @@ -2022,7 +2022,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a" dependencies = [ - "libloading 0.7.4", + "libloading 0.8.9", ] [[package]] @@ -2857,16 +2857,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gif" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gif" version = "0.14.2" @@ -3070,7 +3060,7 @@ dependencies = [ "log", "presser", "thiserror 2.0.18", - "windows 0.58.0", + "windows 0.62.2", ] [[package]] @@ -3151,7 +3141,7 @@ dependencies = [ "raw-window-handle", "refineable", "regex", - "resvg 0.47.0", + "resvg", "scheduler", "schemars", "seahash", @@ -3167,7 +3157,7 @@ dependencies = [ "thiserror 2.0.18", "ttf-parser", "url", - "usvg 0.47.0", + "usvg", "util_macros", "uuid", "waker-fn", @@ -3180,7 +3170,7 @@ dependencies = [ [[package]] name = "gpui-component" version = "0.5.2" -source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#469ab7a44f721723a4c404db984dc8223b55979e" +source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#2264ff991da93bddfaa0780b5fc070d0ed0a36a5" dependencies = [ "aho-corasick", "anyhow", @@ -3209,7 +3199,7 @@ dependencies = [ "paste", "raw-window-handle", "regex", - "resvg 0.45.1", + "resvg", "ropey", "rust-i18n", "schemars", @@ -3263,7 +3253,7 @@ dependencies = [ [[package]] name = "gpui-component-assets" version = "0.5.1" -source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#469ab7a44f721723a4c404db984dc8223b55979e" +source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#2264ff991da93bddfaa0780b5fc070d0ed0a36a5" dependencies = [ "anyhow", "gpui", @@ -3277,7 +3267,7 @@ dependencies = [ [[package]] name = "gpui-component-macros" version = "0.5.1" -source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#469ab7a44f721723a4c404db984dc8223b55979e" +source = "git+https://github.com/l0ng-ai/gpui-component?branch=tty7#2264ff991da93bddfaa0780b5fc070d0ed0a36a5" dependencies = [ "proc-macro2", "quote", @@ -3918,7 +3908,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.58.0", + "windows-core 0.62.2", ] [[package]] @@ -4059,18 +4049,18 @@ dependencies = [ "byteorder-lite", "color_quant", "exr", - "gif 0.14.2", + "gif", "image-webp", "moxcms", "num-traits", - "png 0.18.1", + "png", "qoi", "ravif", "rayon", "rgb", "tiff", - "zune-core 0.5.1", - "zune-jpeg 0.5.15", + "zune-core", + "zune-jpeg", ] [[package]] @@ -4083,12 +4073,6 @@ dependencies = [ "quick-error 2.0.1", ] -[[package]] -name = "imagesize" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" - [[package]] name = "imagesize" version = "0.14.0" @@ -4516,17 +4500,6 @@ dependencies = [ "zbus", ] -[[package]] -name = "kurbo" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62" -dependencies = [ - "arrayvec", - "euclid", - "smallvec", -] - [[package]] name = "kurbo" version = "0.13.1" @@ -5128,7 +5101,7 @@ dependencies = [ "objc2-core-foundation", "objc2-foundation 0.3.2", "once_cell", - "png 0.18.1", + "png", "thiserror 2.0.18", "windows-sys 0.61.2", ] @@ -6277,19 +6250,6 @@ dependencies = [ "time", ] -[[package]] -name = "png" -version = "0.17.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - [[package]] name = "png" version = "0.18.1" @@ -7106,38 +7066,21 @@ dependencies = [ "zed-reqwest", ] -[[package]] -name = "resvg" -version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43" -dependencies = [ - "gif 0.13.3", - "image-webp", - "log", - "pico-args", - "rgb", - "svgtypes 0.15.3", - "tiny-skia 0.11.4", - "usvg 0.45.1", - "zune-jpeg 0.4.21", -] - [[package]] name = "resvg" version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9be183ad6a216aa96f33e4c8033b0988b8b3ea6fd2359d19af5bac4643fd8e81" dependencies = [ - "gif 0.14.2", + "gif", "image-webp", "log", "pico-args", "rgb", - "svgtypes 0.16.1", - "tiny-skia 0.12.0", - "usvg 0.47.0", - "zune-jpeg 0.5.15", + "svgtypes", + "tiny-skia", + "usvg", + "zune-jpeg", ] [[package]] @@ -8542,23 +8485,13 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" -[[package]] -name = "svgtypes" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc" -dependencies = [ - "kurbo 0.11.3", - "siphasher", -] - [[package]] name = "svgtypes" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "695b5790b3131dafa99b3bbfd25a216edb3d216dad9ca208d4657bfb8f2abc3d" dependencies = [ - "kurbo 0.13.1", + "kurbo", "siphasher", ] @@ -8841,7 +8774,7 @@ dependencies = [ "half", "quick-error 2.0.1", "weezl", - "zune-jpeg 0.5.15", + "zune-jpeg", ] [[package]] @@ -8883,21 +8816,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tiny-skia" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "log", - "png 0.17.16", - "tiny-skia-path 0.11.4", -] - [[package]] name = "tiny-skia" version = "0.12.0" @@ -8909,19 +8827,8 @@ dependencies = [ "bytemuck", "cfg-if", "log", - "png 0.18.1", - "tiny-skia-path 0.12.0", -] - -[[package]] -name = "tiny-skia-path" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", + "png", + "tiny-skia-path", ] [[package]] @@ -9238,7 +9145,7 @@ dependencies = [ "objc2-core-graphics", "objc2-foundation 0.3.2", "once_cell", - "png 0.18.1", + "png", "thiserror 2.0.18", "windows-sys 0.61.2", ] @@ -9659,7 +9566,7 @@ dependencies = [ "portable-pty", "regex", "reqwest_client", - "resvg 0.47.0", + "resvg", "russh", "russh-sftp", "serde", @@ -9822,33 +9729,6 @@ dependencies = [ "serde", ] -[[package]] -name = "usvg" -version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" -dependencies = [ - "base64", - "data-url", - "flate2", - "fontdb", - "imagesize 0.13.0", - "kurbo 0.11.3", - "log", - "pico-args", - "roxmltree 0.20.0", - "rustybuzz", - "simplecss", - "siphasher", - "strict-num", - "svgtypes 0.15.3", - "tiny-skia-path 0.11.4", - "unicode-bidi", - "unicode-script", - "unicode-vo", - "xmlwriter", -] - [[package]] name = "usvg" version = "0.47.0" @@ -9859,8 +9739,8 @@ dependencies = [ "data-url", "flate2", "fontdb", - "imagesize 0.14.0", - "kurbo 0.13.1", + "imagesize", + "kurbo", "log", "pico-args", "roxmltree 0.21.1", @@ -9868,8 +9748,8 @@ dependencies = [ "simplecss", "siphasher", "strict-num", - "svgtypes 0.16.1", - "tiny-skia-path 0.12.0", + "svgtypes", + "tiny-skia-path", "ttf-parser", "unicode-bidi", "unicode-script", @@ -11795,12 +11675,6 @@ name = "ztracing_macro" version = "0.1.0" source = "git+https://github.com/l0ng-ai/zed?branch=tty7#3aac3ef3a1411d539c32610ed29e399ef1d3b0ae" -[[package]] -name = "zune-core" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" - [[package]] name = "zune-core" version = "0.5.1" @@ -11816,22 +11690,13 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "zune-jpeg" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" -dependencies = [ - "zune-core 0.4.12", -] - [[package]] name = "zune-jpeg" version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" dependencies = [ - "zune-core 0.5.1", + "zune-core", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index c1df81b2..e87ce2a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -152,12 +152,9 @@ memchr = "2" # System tray / menu bar status item (`ui::tray`). Rasterizes the bundled SVG # logo into the tray bitmap at runtime — gpui's own SVG path only yields a -# tinted alpha mask, not raw RGBA. The gpui fork pins the same 0.47, so this -# shares gpui's resvg/usvg/tiny-skia stack. gpui-component still declares its -# own `resvg = "0.45.1"` (semver-incompatible with 0.47), so one legacy 0.45 -# stack remains until that fork catches up (no type conflicts — only -# `image::RgbaImage` crosses the boundary); default features off drops the -# text/font machinery our icon SVGs don't use. +# tinted alpha mask, not raw RGBA. The gpui and gpui-component forks both pin +# the same 0.47, so the whole tree shares a single resvg/usvg/tiny-skia stack; +# default features off drops the text/font machinery our icon SVGs don't use. resvg = { version = "0.47", default-features = false } # The tray icon itself, macOS + Windows: tauri's `tray-icon` (NSStatusItem /