From c327ed3ea8010e2ec374c417651f4cdd44c86b3a Mon Sep 17 00:00:00 2001 From: Luke Street Date: Mon, 28 Jul 2025 17:30:52 -0600 Subject: [PATCH] Update to egui 0.32 (& update all deps) --- Cargo.lock | 297 +++++++++++++++++++-------- objdiff-cli/Cargo.toml | 4 +- objdiff-core/Cargo.toml | 22 +- objdiff-gui/Cargo.toml | 15 +- objdiff-gui/src/app.rs | 20 +- objdiff-gui/src/views/config.rs | 10 +- objdiff-gui/src/views/diff.rs | 4 +- objdiff-gui/src/views/graphics.rs | 2 +- objdiff-gui/src/views/symbol_diff.rs | 8 +- objdiff-wasm/Cargo.toml | 2 +- 10 files changed, 255 insertions(+), 129 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4bd30b6..64f6a3f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,9 +20,9 @@ checksum = "b2187590a23ab1e3df8681afdf0987c48504d80291f002fcdb651f0ef5e25169" [[package]] name = "accesskit" -version = "0.17.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" +checksum = "e25ae84c0260bdf5df07796d7cc4882460de26a2b406ec0e6c42461a723b271b" dependencies = [ "enumn", "serde", @@ -34,7 +34,7 @@ version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli", + "gimli 0.31.1", ] [[package]] @@ -716,10 +716,11 @@ dependencies = [ [[package]] name = "codespan-reporting" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ + "serde", "termcolor", "unicode-width 0.1.14", ] @@ -790,6 +791,15 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -920,6 +930,24 @@ dependencies = [ "winapi", ] +[[package]] +name = "crossterm" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" +dependencies = [ + "bitflags 2.9.1", + "crossterm_winapi", + "derive_more", + "document-features", + "mio", + "parking_lot", + "rustix 1.0.8", + "signal-hook", + "signal-hook-mio", + "winapi", +] + [[package]] name = "crossterm_winapi" version = "0.9.1" @@ -929,6 +957,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-common" version = "0.1.6" @@ -1004,6 +1038,27 @@ dependencies = [ "powerfmt", ] +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "digest" version = "0.10.7" @@ -1129,9 +1184,9 @@ dependencies = [ [[package]] name = "ecolor" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1" +checksum = "4a631732d995184114016fab22fc7e3faf73d6841c2d7650395fe251fbcd9285" dependencies = [ "bytemuck", "emath", @@ -1140,9 +1195,9 @@ dependencies = [ [[package]] name = "eframe" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0dfe0859f3fb1bc6424c57d41e10e9093fe938f426b691e42272c2f336d915c" +checksum = "0c790ccfbb3dd556588342463454b2b2b13909e5fdce5bc2a1432a8aa69c8b7a" dependencies = [ "ahash", "bytemuck", @@ -1181,9 +1236,9 @@ dependencies = [ [[package]] name = "egui" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3" +checksum = "8470210c95a42cc985d9ffebfd5067eea55bdb1c3f7611484907db9639675e28" dependencies = [ "accesskit", "ahash", @@ -1195,13 +1250,15 @@ dependencies = [ "profiling", "ron", "serde", + "smallvec", + "unicode-segmentation", ] [[package]] name = "egui-wgpu" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d319dfef570f699b6e9114e235e862a2ddcf75f0d1a061de9e1328d92146d820" +checksum = "14de9942d8b9e99e2d830403c208ab1a6e052e925a7456a4f6f66d567d90de1d" dependencies = [ "ahash", "bytemuck", @@ -1219,9 +1276,9 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d9dfbb78fe4eb9c3a39ad528b90ee5915c252e77bbab9d4ebc576541ab67e13" +checksum = "c490804a035cec9c826082894a3e1ecf4198accd3817deb10f7919108ebafab0" dependencies = [ "ahash", "arboard", @@ -1239,9 +1296,9 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624659a2e972a46f4d5f646557906c55f1cd5a0836eddbe610fdf1afba1b4226" +checksum = "0f791a5937f518249016b276b3639ad2aa3824048b6f2161ec2b431ab325880a" dependencies = [ "ahash", "egui", @@ -1253,9 +1310,9 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "910906e3f042ea6d2378ec12a6fd07698e14ddae68aed2d819ffe944a73aab9e" +checksum = "d44f3fd4fdc5f960c9e9ef7327c26647edc3141abf96102980647129d49358e6" dependencies = [ "ahash", "bytemuck", @@ -1277,9 +1334,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "emath" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b" +checksum = "45f057b141e7e46340c321400be74b793543b1b213036f0f989c35d35957c32e" dependencies = [ "bytemuck", "serde", @@ -1336,7 +1393,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" dependencies = [ "enum-map-derive", - "serde", ] [[package]] @@ -1384,9 +1440,9 @@ dependencies = [ [[package]] name = "epaint" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fcc0f5a7c613afd2dee5e4b30c3e6acafb8ad6f0edb06068811f708a67c562" +checksum = "94cca02195f0552c17cabdc02f39aa9ab6fbd815dac60ab1cd3d5b0aa6f9551c" dependencies = [ "ab_glyph", "ahash", @@ -1403,9 +1459,9 @@ dependencies = [ [[package]] name = "epaint_default_fonts" -version = "0.31.1" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7e7a64c02cf7a5b51e745a9e45f60660a286f151c238b9d397b3e923f5082f" +checksum = "e8495e11ed527dff39663b8c36b6c2b2799d7e4287fb90556e455d72eca0b4d3" [[package]] name = "equivalent" @@ -1531,8 +1587,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flagset" -version = "0.4.6" -source = "git+https://github.com/enarx/flagset.git?rev=a1fe9369b3741e43fec45da1998e83b9d78966a2#a1fe9369b3741e43fec45da1998e83b9d78966a2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" [[package]] name = "flate2" @@ -1816,6 +1873,12 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +[[package]] +name = "gimli" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93563d740bc9ef04104f9ed6f86f1e3275c2cdafb95664e26584b9ca807a8ffe" + [[package]] name = "gl_generator" version = "0.14.0" @@ -2020,6 +2083,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", +] + [[package]] name = "hashbrown" version = "0.15.4" @@ -2663,6 +2737,12 @@ dependencies = [ "windows-targets 0.53.2", ] +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + [[package]] name = "libmimalloc-sys" version = "0.1.43" @@ -2876,24 +2956,27 @@ checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "naga" -version = "24.0.0" +version = "25.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" +checksum = "2b977c445f26e49757f9aca3631c3b8b836942cb278d69a92e7b80d3b24da632" dependencies = [ "arrayvec", "bit-set", "bitflags 2.9.1", "cfg_aliases", "codespan-reporting", + "half", + "hashbrown", "hexf-parse", "indexmap", "log", + "num-traits", + "once_cell", "rustc-hash 1.1.0", "spirv", "strum", - "termcolor", "thiserror 2.0.12", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -3031,6 +3114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -3357,7 +3441,7 @@ version = "3.0.0-beta.11" dependencies = [ "anyhow", "argp", - "crossterm", + "crossterm 0.29.0", "enable-ansi-support", "memmap2", "mimalloc", @@ -3386,7 +3470,7 @@ dependencies = [ "encoding_rs", "filetime", "flagset", - "gimli", + "gimli 0.32.0", "globset", "heck", "iced-x86", @@ -3675,22 +3759,22 @@ dependencies = [ [[package]] name = "pbjson" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e6349fa080353f4a597daffd05cb81572a9c031a6d4fff7e504947496fcc68" +checksum = "898bac3fa00d0ba57a4e8289837e965baa2dee8c3749f3b11d45a64b4223d9c3" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "serde", ] [[package]] name = "pbjson-build" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eea3058763d6e656105d1403cb04e0a41b7bbac6362d413e7c33be0c32279c9" +checksum = "af22d08a625a2213a78dbb0ffa253318c5c79ce3133d32d296655a7bdfb02095" dependencies = [ "heck", - "itertools 0.13.0", + "itertools 0.14.0", "prost", "prost-types", ] @@ -3915,9 +3999,9 @@ checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" [[package]] name = "prost" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -3925,12 +4009,12 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ "heck", - "itertools 0.14.0", + "itertools 0.13.0", "log", "multimap", "once_cell", @@ -3945,12 +4029,12 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.13.0", "proc-macro2", "quote", "syn", @@ -3958,9 +4042,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ "prost", ] @@ -4131,7 +4215,7 @@ dependencies = [ "bitflags 2.9.1", "cassowary", "compact_str", - "crossterm", + "crossterm 0.28.1", "indoc", "instability", "itertools 0.13.0", @@ -4405,14 +4489,15 @@ dependencies = [ [[package]] name = "ron" -version = "0.8.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" +checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bitflags 2.9.1", "serde", "serde_derive", + "unicode-ident", ] [[package]] @@ -5792,9 +5877,9 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.230.0" +version = "0.235.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4349d0943718e6e434b51b9639e876293093dca4b96384fb136ab5bd5ce6660" +checksum = "b3bc393c395cb621367ff02d854179882b9a351b4e0c93d1397e6090b53a5c2a" dependencies = [ "leb128fmt", "wasmparser", @@ -5802,9 +5887,9 @@ dependencies = [ [[package]] name = "wasm-metadata" -version = "0.230.0" +version = "0.235.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a52e010df5494f4289ccc68ce0c2a8c17555225a5e55cc41b98f5ea28d0844b" +checksum = "b055604ba04189d54b8c0ab2c2fc98848f208e103882d5c0b984f045d5ea4d20" dependencies = [ "anyhow", "indexmap", @@ -5827,9 +5912,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.230.0" +version = "0.235.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808198a69b5a0535583370a51d459baa14261dfab04800c4864ee9e1a14346ed" +checksum = "161296c618fa2d63f6ed5fffd1112937e803cb9ec71b32b01a76321555660917" dependencies = [ "bitflags 2.9.1", "hashbrown", @@ -6005,18 +6090,20 @@ checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" [[package]] name = "wgpu" -version = "24.0.5" +version = "25.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353" +checksum = "ec8fb398f119472be4d80bc3647339f56eb63b2a331f6a3d16e25d8144197dd9" dependencies = [ "arrayvec", "bitflags 2.9.1", "cfg_aliases", "document-features", + "hashbrown", "js-sys", "log", "naga", "parking_lot", + "portable-atomic", "profiling", "raw-window-handle", "smallvec", @@ -6031,34 +6118,67 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "24.0.5" +version = "25.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499" +checksum = "f7b882196f8368511d613c6aeec80655160db6646aebddf8328879a88d54e500" dependencies = [ "arrayvec", + "bit-set", "bit-vec", "bitflags 2.9.1", "cfg_aliases", "document-features", + "hashbrown", "indexmap", "log", "naga", "once_cell", "parking_lot", + "portable-atomic", "profiling", "raw-window-handle", "rustc-hash 1.1.0", "smallvec", "thiserror 2.0.12", + "wgpu-core-deps-apple", + "wgpu-core-deps-emscripten", + "wgpu-core-deps-windows-linux-android", "wgpu-hal", "wgpu-types", ] [[package]] -name = "wgpu-hal" -version = "24.0.4" +name = "wgpu-core-deps-apple" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" +checksum = "cfd488b3239b6b7b185c3b045c39ca6bf8af34467a4c5de4e0b1a564135d093d" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-emscripten" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f09ad7aceb3818e52539acc679f049d3475775586f3f4e311c30165cf2c00445" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-windows-linux-android" +version = "25.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cba5fb5f7f9c98baa7c889d444f63ace25574833df56f5b817985f641af58e46" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-hal" +version = "25.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f968767fe4d3d33747bbd1473ccd55bf0f6451f55d733b5597e67b5deab4ad17" dependencies = [ "android_system_properties", "arrayvec", @@ -6067,6 +6187,7 @@ dependencies = [ "bitflags 2.9.1", "block", "bytemuck", + "cfg-if", "cfg_aliases", "core-graphics-types", "glow", @@ -6074,6 +6195,7 @@ dependencies = [ "gpu-alloc", "gpu-allocator", "gpu-descriptor", + "hashbrown", "js-sys", "khronos-egl", "libc", @@ -6083,14 +6205,13 @@ dependencies = [ "naga", "ndk-sys 0.5.0+25.2.9519653", "objc", - "once_cell", "ordered-float 4.6.0", "parking_lot", + "portable-atomic", "profiling", "range-alloc", "raw-window-handle", "renderdoc-sys", - "rustc-hash 1.1.0", "smallvec", "thiserror 2.0.12", "wasm-bindgen", @@ -6102,13 +6223,15 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "24.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" +checksum = "2aa49460c2a8ee8edba3fca54325540d904dd85b2e086ada762767e17d06e8bc" dependencies = [ "bitflags 2.9.1", + "bytemuck", "js-sys", "log", + "thiserror 2.0.12", "web-sys", ] @@ -6134,7 +6257,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -6610,19 +6733,19 @@ dependencies = [ [[package]] name = "wit-bindgen" -version = "0.42.1" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa5b79cd8cb4b27a9be3619090c03cbb87fe7b1c6de254b4c9b4477188828af8" +checksum = "9a18712ff1ec5bd09da500fe1e91dec11256b310da0ff33f8b4ec92b927cf0c6" dependencies = [ - "wit-bindgen-rt 0.42.1", + "wit-bindgen-rt 0.43.0", "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" -version = "0.42.1" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35e550f614e16db196e051d22b0d4c94dd6f52c90cb1016240f71b9db332631" +checksum = "2c53468e077362201de11999c85c07c36e12048a990a3e0d69da2bd61da355d0" dependencies = [ "anyhow", "heck", @@ -6640,18 +6763,18 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" -version = "0.42.1" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051105bab12bc78e161f8dfb3596e772dd6a01ebf9c4840988e00347e744966a" +checksum = "9fd734226eac1fd7c450956964e3a9094c9cee65e9dafdf126feef8c0096db65" dependencies = [ "bitflags 2.9.1", ] [[package]] name = "wit-bindgen-rust" -version = "0.42.1" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb1e0a91fc85f4ef70e0b81cd86c2b49539d3cd14766fd82396184aadf8cb7d7" +checksum = "531ebfcec48e56473805285febdb450e270fa75b2dacb92816861d0473b4c15f" dependencies = [ "anyhow", "heck", @@ -6665,9 +6788,9 @@ dependencies = [ [[package]] name = "wit-bindgen-rust-macro" -version = "0.42.1" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce69f52c5737705881d5da5a1dd06f47f8098d094a8d65a3e44292942edb571f" +checksum = "7852bf8a9d1ea80884d26b864ddebd7b0c7636697c6ca10f4c6c93945e023966" dependencies = [ "anyhow", "prettyplease", @@ -6680,9 +6803,9 @@ dependencies = [ [[package]] name = "wit-component" -version = "0.230.0" +version = "0.235.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b607b15ead6d0e87f5d1613b4f18c04d4e80ceeada5ffa608d8360e6909881df" +checksum = "64a57a11109cc553396f89f3a38a158a97d0b1adaec113bd73e0f64d30fb601f" dependencies = [ "anyhow", "bitflags 2.9.1", @@ -6724,9 +6847,9 @@ dependencies = [ [[package]] name = "wit-parser" -version = "0.230.0" +version = "0.235.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "679fde5556495f98079a8e6b9ef8c887f731addaffa3d48194075c1dd5cd611b" +checksum = "0a1f95a87d03a33e259af286b857a95911eb46236a0f726cbaec1227b3dfc67a" dependencies = [ "anyhow", "id-arena", diff --git a/objdiff-cli/Cargo.toml b/objdiff-cli/Cargo.toml index 9d965fb..ba76566 100644 --- a/objdiff-cli/Cargo.toml +++ b/objdiff-cli/Cargo.toml @@ -15,11 +15,11 @@ publish = false [dependencies] anyhow = "1.0" argp = "0.4" -crossterm = "0.28" +crossterm = "0.29" enable-ansi-support = "0.2" memmap2 = "0.9" objdiff-core = { path = "../objdiff-core", features = ["all"] } -prost = "0.13" +prost = "0.14" ratatui = "0.29" rayon = "1.10" serde = { version = "1.0", features = ["derive"] } diff --git a/objdiff-core/Cargo.toml b/objdiff-core/Cargo.toml index 4acd73b..d0667ff 100644 --- a/objdiff-core/Cargo.toml +++ b/objdiff-core/Cargo.toml @@ -123,14 +123,14 @@ features = ["all"] [dependencies] anyhow = { version = "1.0", default-features = false } filetime = { version = "0.2", optional = true } -flagset = { version = "0.4", default-features = false, optional = true, git = "https://github.com/enarx/flagset.git", rev = "a1fe9369b3741e43fec45da1998e83b9d78966a2" } +flagset = { version = "0.4", default-features = false, optional = true } itertools = { version = "0.14", default-features = false, features = ["use_alloc"] } log = { version = "0.4", default-features = false, optional = true } memmap2 = { version = "0.9", optional = true } num-traits = { version = "0.2", default-features = false, optional = true } object = { git = "https://github.com/gimli-rs/object", rev = "16ff70aa6fbd97d6bb7b92375929f4d72414c32b", default-features = false, features = ["read_core", "elf", "coff"] } -pbjson = { version = "0.7", default-features = false, optional = true } -prost = { version = "0.13", default-features = false, features = ["prost-derive"], optional = true } +pbjson = { version = "0.8", default-features = false, optional = true } +prost = { version = "0.14", default-features = false, features = ["derive"], optional = true } regex = { version = "1.11", default-features = false, features = [], optional = true } serde = { version = "1.0", default-features = false, features = ["derive"], optional = true } similar = { version = "2.7", default-features = false, features = ["hashbrown"], optional = true, git = "https://github.com/encounter/similar.git", branch = "no_std" } @@ -142,16 +142,16 @@ semver = { version = "1.0", default-features = false, optional = true } serde_json = { version = "1.0", default-features = false, features = ["alloc"], optional = true } # dwarf -gimli = { version = "0.31", default-features = false, features = ["read"], optional = true } +gimli = { version = "0.32", default-features = false, features = ["read"], optional = true } # ppc cwdemangle = { version = "1.0", optional = true } -cwextab = { version = "1.0", optional = true } +cwextab = { version = "1.1", optional = true } powerpc = { version = "0.4", optional = true } rlwinmdec = { version = "1.1", optional = true } # mips -rabbitizer = { version = "2.0.0-alpha.1", default-features = false, features = ["all_extensions"], optional = true } +rabbitizer = { version = "2.0.0-alpha.4", default-features = false, features = ["all_extensions"], optional = true } # x86 cpp_demangle = { version = "0.4", default-features = false, features = ["alloc"], optional = true } @@ -159,7 +159,7 @@ iced-x86 = { version = "1.21", default-features = false, features = ["decoder", msvc-demangler = { version = "0.11", optional = true } # arm -unarm = { version = "1.8", optional = true } +unarm = { version = "1.9", optional = true } arm-attr = { version = "0.2", optional = true } # arm64 @@ -167,10 +167,10 @@ yaxpeax-arch = { version = "0.3", default-features = false, optional = true } yaxpeax-arm = { version = "0.3", default-features = false, optional = true } # build -notify = { version = "8.0.0", optional = true } +notify = { version = "8.1.0", optional = true } notify-debouncer-full = { version = "0.5.0", optional = true } shell-escape = { version = "0.1", optional = true } -tempfile = { version = "3.19", optional = true } +tempfile = { version = "3.20", optional = true } time = { version = "0.3", optional = true } encoding_rs = { version = "0.8.35", optional = true } @@ -189,10 +189,10 @@ self_update = { version = "0.42", optional = true } [build-dependencies] heck = { version = "0.5", optional = true } -pbjson-build = { version = "0.7", optional = true } +pbjson-build = { version = "0.8", optional = true } prettyplease = { version = "0.2", optional = true } proc-macro2 = { version = "1.0", optional = true } -prost-build = { version = "0.13", optional = true } +prost-build = { version = "0.14", optional = true } quote = { version = "1.0", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0" } diff --git a/objdiff-gui/Cargo.toml b/objdiff-gui/Cargo.toml index 89e4d91..63d05bd 100644 --- a/objdiff-gui/Cargo.toml +++ b/objdiff-gui/Cargo.toml @@ -29,8 +29,8 @@ cfg-if = "1.0" const_format = "0.2" cwdemangle = "1.0" dirs = "6.0" -egui = "0.31" -egui_extras = "0.31" +egui = "0.32" +egui_extras = "0.32" filetime = "0.2" float-ord = "0.3" font-kit = "0.14" @@ -43,18 +43,19 @@ pollster = "0.4" regex = "1.11" rfd = { version = "0.15" } #, default-features = false, features = ['xdg-portal'] rlwinmdec = "1.1" -ron = "0.8" +ron = "0.10" serde = { version = "1.0", features = ["derive"] } time = { version = "0.3", features = ["formatting", "local-offset"] } typed-path = "0.11" -winit = { version = "0.30", features = ["wayland-csd-adwaita"] } +winit = { version = "0.30", features = ["default"] } tracing-subscriber = { version = "0.3", features = ["env-filter"] } # Keep version in sync with egui [dependencies.eframe] -version = "0.31" +version = "0.32" features = [ "default_fonts", + "glow", "persistence", "wayland", "x11", @@ -63,10 +64,12 @@ default-features = false # Keep version in sync with eframe [dependencies.wgpu] -version = "24.0" +version = "25.0" features = [ "dx12", "metal", + "gles", + "vulkan", "webgpu", ] optional = true diff --git a/objdiff-gui/src/app.rs b/objdiff-gui/src/app.rs index 8c6f324..bb1580a 100644 --- a/objdiff-gui/src/app.rs +++ b/objdiff-gui/src/app.rs @@ -461,7 +461,7 @@ impl App { use eframe::egui_wgpu::wgpu::Backend; let info = wgpu_render_state.adapter.get_info(); app.view_state.graphics_state.active_backend = match info.backend { - Backend::Empty => "Unknown", + Backend::Noop => "None", Backend::Vulkan => "Vulkan", Backend::Metal => "Metal", Backend::Dx12 => "DirectX 12", @@ -665,7 +665,7 @@ impl eframe::App for App { let side_panel_available = diff_state.current_view == View::SymbolDiff; egui::TopBottomPanel::top("top_panel").show(ctx, |ui| { - egui::menu::bar(ui, |ui| { + egui::MenuBar::new().ui(ui, |ui| { if ui .add_enabled( side_panel_available, @@ -681,11 +681,11 @@ impl eframe::App for App { #[cfg(debug_assertions)] if ui.button("Debug…").clicked() { *show_debug = !*show_debug; - ui.close_menu(); + ui.close(); } if ui.button("Project…").clicked() { *show_project_config = !*show_project_config; - ui.close_menu(); + ui.close(); } let recent_projects = if let Ok(guard) = state.read() { guard.config.recent_projects.clone() @@ -706,18 +706,18 @@ impl eframe::App for App { .write() .unwrap() .set_project_dir(Utf8PlatformPathBuf::from(path)); - ui.close_menu(); + ui.close(); } } }); } if ui.button("Appearance…").clicked() { *show_appearance_config = !*show_appearance_config; - ui.close_menu(); + ui.close(); } if ui.button("Graphics…").clicked() { *show_graphics = !*show_graphics; - ui.close_menu(); + ui.close(); } if ui.button("Quit").clicked() { ctx.send_viewport_cmd(egui::ViewportCommand::Close); @@ -726,17 +726,17 @@ impl eframe::App for App { ui.menu_button("Tools", |ui| { if ui.button("Demangle…").clicked() { *show_demangle = !*show_demangle; - ui.close_menu(); + ui.close(); } if ui.button("Rlwinm Decoder…").clicked() { *show_rlwinm_decode = !*show_rlwinm_decode; - ui.close_menu(); + ui.close(); } }); ui.menu_button("Diff Options", |ui| { if ui.button("Arch Settings…").clicked() { *show_arch_config = !*show_arch_config; - ui.close_menu(); + ui.close(); } let mut state = state.write().unwrap(); let response = ui diff --git a/objdiff-gui/src/views/config.rs b/objdiff-gui/src/views/config.rs index 322de05..62a85fc 100644 --- a/objdiff-gui/src/views/config.rs +++ b/objdiff-gui/src/views/config.rs @@ -5,8 +5,8 @@ use std::{mem::take, path::MAIN_SEPARATOR}; #[cfg(all(windows, feature = "wsl"))] use anyhow::{Context, Result}; use egui::{ - CollapsingHeader, FontFamily, FontId, RichText, SelectableLabel, TextFormat, Widget, - output::OpenUrl, text::LayoutJob, + CollapsingHeader, FontFamily, FontId, RichText, TextFormat, Widget, output::OpenUrl, + text::LayoutJob, }; use globset::Glob; use objdiff_core::{ @@ -278,7 +278,7 @@ pub fn config_ui( { filters_text = filters_text.color(appearance.replace_color); } - egui::menu::menu_button(ui, filters_text, |ui| { + egui::containers::menu::MenuButton::new(filters_text).ui(ui, |ui| { ui.checkbox(&mut config_state.filter_diffable, "Diffable") .on_hover_text_at_pointer("Only show objects with a source file"); ui.checkbox(&mut config_state.filter_incomplete, "Incomplete") @@ -355,7 +355,7 @@ fn display_unit( } else { appearance.text_color }; - let response = SelectableLabel::new( + let response = egui::Button::selectable( selected, RichText::new(name) .font(FontId { @@ -384,7 +384,7 @@ fn object_context_ui(ui: &mut egui::Ui, object: &ObjectConfig) { if let Err(e) = open::that_detached(source_path.as_str()) { log::error!("Failed to open source file: {e}"); } - ui.close_menu(); + ui.close(); } } } diff --git a/objdiff-gui/src/views/diff.rs b/objdiff-gui/src/views/diff.rs index 92fbcb7..2088804 100644 --- a/objdiff-gui/src/views/diff.rs +++ b/objdiff-gui/src/views/diff.rs @@ -873,7 +873,7 @@ pub fn context_menu_items_ui( } if ui.button(job).clicked() { ui.ctx().copy_text(value); - ui.close_menu(); + ui.close(); } } ContextItem::Navigate { label, symbol_index, kind } => { @@ -883,7 +883,7 @@ pub fn context_menu_items_ui( symbol_index, column, ))); - ui.close_menu(); + ui.close(); } } ContextItem::Separator => { diff --git a/objdiff-gui/src/views/graphics.rs b/objdiff-gui/src/views/graphics.rs index 60eeaf4..1121a11 100644 --- a/objdiff-gui/src/views/graphics.rs +++ b/objdiff-gui/src/views/graphics.rs @@ -54,7 +54,7 @@ pub fn load_graphics_config(path: &Path) -> Result> { pub fn save_graphics_config(path: &Path, config: &GraphicsConfig) -> Result<()> { let file = BufWriter::new(File::create(path)?); - ron::ser::to_writer(file, config)?; + ron::Options::default().to_io_writer(file, config)?; Ok(()) } diff --git a/objdiff-gui/src/views/symbol_diff.rs b/objdiff-gui/src/views/symbol_diff.rs index 9063be8..565c869 100644 --- a/objdiff-gui/src/views/symbol_diff.rs +++ b/objdiff-gui/src/views/symbol_diff.rs @@ -1,8 +1,8 @@ use std::mem::take; use egui::{ - CollapsingHeader, Color32, Id, OpenUrl, ScrollArea, SelectableLabel, Ui, Widget, - style::ScrollAnimation, text::LayoutJob, + CollapsingHeader, Color32, Id, OpenUrl, ScrollArea, Ui, Widget, style::ScrollAnimation, + text::LayoutJob, }; use objdiff_core::{ diff::{ @@ -508,7 +508,7 @@ pub fn symbol_context_menu_ui( } else { ret = Some(DiffViewAction::SelectingLeft(symbol_ref)); } - ui.close_menu(); + ui.close(); } } }); @@ -586,7 +586,7 @@ fn symbol_ui( write_text(") ", appearance.text_color, &mut job, appearance.code_font.clone()); } write_text(name, appearance.highlight_color, &mut job, appearance.code_font.clone()); - let response = SelectableLabel::new(selected, job) + let response = egui::Button::selectable(selected, job) .ui(ui) .on_hover_ui_at_pointer(|ui| symbol_hover_ui(ui, ctx, symbol_idx, appearance)); response.context_menu(|ui| { diff --git a/objdiff-wasm/Cargo.toml b/objdiff-wasm/Cargo.toml index 43ea2ce..dcb7b4b 100644 --- a/objdiff-wasm/Cargo.toml +++ b/objdiff-wasm/Cargo.toml @@ -34,7 +34,7 @@ features = ["arm", "arm64", "mips", "ppc", "superh", "x86", "dwarf"] talc = { version = "4.4", default-features = false, features = ["lock_api"] } [target.'cfg(target_os = "wasi")'.dependencies] -wit-bindgen = { version = "0.42", default-features = false, features = ["macros"] } +wit-bindgen = { version = "0.43", default-features = false, features = ["macros"] } [build-dependencies] wit-deps = "0.5"