From 92cfaa26ce8645860fc13955c933d9ba42f99944 Mon Sep 17 00:00:00 2001 From: NimBold Date: Sat, 15 Aug 2026 10:07:39 +0330 Subject: [PATCH] chore(deps): refresh package and engine locks - update Zustand and refreshed npm lockfile metadata - refresh BtbN FFmpeg Windows/Linux artifacts with verified checksums - make update checks fail closed on unavailable providers and target-specific engine feeds - update Rust transitive dependencies and add checker regression coverage --- engine-sources.lock.json | 12 +- package-lock.json | 20 ++-- package.json | 2 +- scripts/check-updates.js | 184 ++++++++++++++++++++--------- scripts/check-updates.node-test.js | 14 +++ src-tauri/Cargo.lock | 91 +++++++------- 6 files changed, 208 insertions(+), 115 deletions(-) diff --git a/engine-sources.lock.json b/engine-sources.lock.json index 8f8f9fb..b6f3f59 100644 --- a/engine-sources.lock.json +++ b/engine-sources.lock.json @@ -13,9 +13,9 @@ "sha256": "171efab55ac6b9881fd53ee4c20f8bf3bb1340ffc618483746909014db12216a" }, "ffmpeg": { - "version": "8.1.2-34-g9b6c8969e0", - "url": "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-08-12-13-15/ffmpeg-n8.1.2-34-g9b6c8969e0-win64-gpl-8.1.zip", - "sha256": "0bfebe51fced76c6cd5a42420fc2fc6e4646f95a556c59b0d7d298fcc24c6849" + "version": "8.1.2-40-g852b0552f0", + "url": "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-08-14-13-16/ffmpeg-n8.1.2-40-g852b0552f0-win64-gpl-8.1.zip", + "sha256": "4dc80a665fd8a3481acae3f7836807334396a607581f7123b35a71f2ebaacb5d" }, "aria2c": { "version": "1.37.0", @@ -35,9 +35,9 @@ "sha256": "8b010a3b1a4a0188a67cdb8a7a27348b2a501af78aec7fc74f2ace167368d530" }, "ffmpeg": { - "version": "8.1.2-34-g9b6c8969e0", - "url": "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-08-12-13-15/ffmpeg-n8.1.2-34-g9b6c8969e0-linux64-gpl-8.1.tar.xz", - "sha256": "980d92b6365c0bd242cbcc7a9c7a951acbae92a64285ca9db7c18999e62155a2" + "version": "8.1.2-40-g852b0552f0", + "url": "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-08-14-13-16/ffmpeg-n8.1.2-40-g852b0552f0-linux64-gpl-8.1.tar.xz", + "sha256": "ee02f959c14a19888cff231525d3f543524c05241dfac821071cf7ddfe2c466b" }, "aria2c": { "version": "1.37.0", diff --git a/package-lock.json b/package-lock.json index 6ee3178..e46e387 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "react": "^19.2.8", "react-dom": "^19.2.8", "react-i18next": "^17.0.11", - "zustand": "^5.0.14" + "zustand": "^5.0.15" }, "devDependencies": { "@tauri-apps/cli": "^2.11.4", @@ -1602,9 +1602,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.11.13", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.13.tgz", - "integrity": "sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==", + "version": "2.11.14", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.14.tgz", + "integrity": "sha512-JyJ954WzuIR8/FFzX0o5krdSTrBAkcCSRfWSleRsIHSWV+cZe2FI1PKggVkFke1hBldRs+LRxUczzE9iPmgZww==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1703,9 +1703,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.405", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.405.tgz", - "integrity": "sha512-bNglH7lPH5l+yHOes7Zr4VqxhOy4BQ9ZBUX4VdoFgxMpzJk7W1ZoO3Vgd9Pxa9PyjQ76sfm2aKH/nzEcCNRlew==", + "version": "1.5.406", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.406.tgz", + "integrity": "sha512-hWH5ORBi3d0IipnMh7BN5GDTaAmrSSSWmznwt2zltdiRNEWoEQyTwF0FFSBxzHO7hLSRT6loQu3IQGV0wg/Tvg==", "dev": true, "license": "ISC" }, @@ -2936,9 +2936,9 @@ } }, "node_modules/zustand": { - "version": "5.0.14", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz", - "integrity": "sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==", + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.15.tgz", + "integrity": "sha512-MpSEjRiBkA9crSYeOUH32rJC7SVqAbm0Fqcqge/bUi2PPoLcBWKOsG+C8mevmpr8TwXHBVkChbbJiyvkE+i/3A==", "license": "MIT", "engines": { "node": ">=12.20.0" diff --git a/package.json b/package.json index fe12fc4..b459f3b 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "react": "^19.2.8", "react-dom": "^19.2.8", "react-i18next": "^17.0.11", - "zustand": "^5.0.14" + "zustand": "^5.0.15" }, "devDependencies": { "@tauri-apps/cli": "^2.11.4", diff --git a/scripts/check-updates.js b/scripts/check-updates.js index 18c47f3..37c0f5c 100644 --- a/scripts/check-updates.js +++ b/scripts/check-updates.js @@ -203,16 +203,34 @@ function packagedEngineVersions(engineLock) { return rows; } -function checkRows(rows, latestByEngine, latestByTargetEngine = {}, latestUrlsByTargetEngine = {}) { +function unavailableLatestVersionError(target, engine, targetSpecific) { + const error = new Error( + `${targetSpecific ? 'Latest provider version' : 'Latest version'} is unavailable for ${target} ${engine}` + ); + error.code = 'LATEST_VERSION_UNAVAILABLE'; + return error; +} + +function checkRows( + rows, + latestByEngine, + latestByTargetEngine = {}, + latestUrlsByTargetEngine = {}, + targetSpecificEngines = new Set() +) { let outdated = 0; for (const row of rows) { - const latest = latestByTargetEngine[`${row.target}:${row.engine}`] || latestByEngine[row.engine]; + const targetSpecific = targetSpecificEngines.has(row.engine); + const targetKey = `${row.target}:${row.engine}`; + const latest = targetSpecific + ? latestByTargetEngine[targetKey] + : latestByTargetEngine[targetKey] || latestByEngine[row.engine]; if (typeof latest !== 'string' || !latest.trim()) { - throw new Error(`Latest version is unavailable for ${row.target} ${row.engine}`); + throw unavailableLatestVersionError(row.target, row.engine, targetSpecific); } const current = normalizeVersion(row.version); const wanted = normalizeVersion(latest); - const latestUrl = latestUrlsByTargetEngine[`${row.target}:${row.engine}`]; + const latestUrl = latestUrlsByTargetEngine[targetKey]; const versionOutdated = compareVersions(current, wanted) < 0; const sourceOutdated = Boolean(latestUrl && row.url && row.url !== latestUrl); const status = versionOutdated ? 'outdated' : sourceOutdated ? 'source-outdated' : 'current'; @@ -232,78 +250,138 @@ async function main() { npmOutdated(path.join(repoRoot, 'Extensions', 'Browser')) ); - const [ - ytDlp, - deno, - aria2, - ffmpeg, - martinRiedlMacArm64Ffmpeg, - martinRiedlMacArm64Snapshot, - btbnFfmpegN81Build, - ] = await Promise.all([ - githubLatest('yt-dlp/yt-dlp'), - githubLatest('denoland/deno'), - githubLatest('aria2/aria2'), - latestFfmpegStable(), - latestMartinRiedlMacArm64Release(), - latestMartinRiedlMacArm64Snapshot(), - latestBtbnFfmpegN81Build(), - ]); + const providerChecks = [ + ['yt-dlp latest release', () => githubLatest('yt-dlp/yt-dlp')], + ['Deno latest release', () => githubLatest('denoland/deno')], + ['aria2 latest release', () => githubLatest('aria2/aria2')], + [ + 'FFmpeg stable release', + async () => { + const version = await latestFfmpegStable(); + if (!version) throw new Error('FFmpeg release provider response has no usable version'); + return version; + }, + ], + [ + 'Martin Riedl macOS release', + async () => { + const version = await latestMartinRiedlMacArm64Release(); + if (!version) throw new Error('Martin Riedl macOS release provider response has no usable version'); + return version; + }, + ], + [ + 'Martin Riedl macOS snapshot', + async () => { + const build = await latestMartinRiedlMacArm64Snapshot(); + if (!build?.version || !build.url) { + throw new Error('Martin Riedl FFmpeg provider response has no complete macOS arm64 snapshot'); + } + return build; + }, + ], + [ + 'BtbN FFmpeg Windows/Linux build', + async () => { + const build = await latestBtbnFfmpegN81Build(); + if (!build?.version || !build.urls?.windows || !build.urls?.linux) { + throw new Error('BtbN FFmpeg provider response has no complete Windows/Linux build'); + } + return build; + }, + ], + ]; + const providerResults = await Promise.allSettled(providerChecks.map(([, check]) => check())); + const providerFailures = []; + for (const [index, [label]] of providerChecks.entries()) { + const result = providerResults[index]; + if (result.status === 'rejected') { + const detail = result.reason instanceof Error ? result.reason.message : String(result.reason); + providerFailures.push(label); + console.error(`provider unavailable: ${label}: ${detail}`); + } + } + const providerValue = index => + providerResults[index].status === 'fulfilled' ? providerResults[index].value : undefined; + const ytDlp = providerValue(0); + const deno = providerValue(1); + const aria2 = providerValue(2); + const ffmpeg = providerValue(3); + const martinRiedlMacArm64Snapshot = providerValue(5); + const btbnFfmpegN81Build = providerValue(6); const latestByEngine = { - 'yt-dlp': ytDlp.tag_name, - deno: deno.tag_name, - aria2c: aria2.tag_name, + 'yt-dlp': ytDlp?.tag_name, + deno: deno?.tag_name, + aria2c: aria2?.tag_name, ffmpeg, }; - if ( - !btbnFfmpegN81Build?.version || - !btbnFfmpegN81Build.urls?.windows || - !btbnFfmpegN81Build.urls?.linux - ) { - throw new Error('BtbN FFmpeg provider response has no complete Windows/Linux build'); + const latestByTargetEngine = {}; + const latestUrlsByTargetEngine = {}; + if (btbnFfmpegN81Build?.version && btbnFfmpegN81Build.urls?.windows && btbnFfmpegN81Build.urls?.linux) { + latestByTargetEngine['x86_64-pc-windows-msvc:ffmpeg'] = btbnFfmpegN81Build.version; + latestByTargetEngine['x86_64-unknown-linux-gnu:ffmpeg'] = btbnFfmpegN81Build.version; + latestUrlsByTargetEngine['x86_64-pc-windows-msvc:ffmpeg'] = btbnFfmpegN81Build.urls.windows; + latestUrlsByTargetEngine['x86_64-unknown-linux-gnu:ffmpeg'] = btbnFfmpegN81Build.urls.linux; } - if (!martinRiedlMacArm64Snapshot?.version || !martinRiedlMacArm64Snapshot.url) { - throw new Error('Martin Riedl FFmpeg provider response has no complete macOS arm64 snapshot'); + if (martinRiedlMacArm64Snapshot?.version && martinRiedlMacArm64Snapshot.url) { + latestByTargetEngine['aarch64-apple-darwin:ffmpeg'] = martinRiedlMacArm64Snapshot.version; + latestUrlsByTargetEngine['aarch64-apple-darwin:ffmpeg'] = martinRiedlMacArm64Snapshot.url; } - const latestByTargetEngine = { - 'x86_64-pc-windows-msvc:ffmpeg': btbnFfmpegN81Build.version, - 'x86_64-unknown-linux-gnu:ffmpeg': btbnFfmpegN81Build.version, - 'aarch64-apple-darwin:ffmpeg': martinRiedlMacArm64Snapshot.version, - }; - const latestUrlsByTargetEngine = { - 'x86_64-pc-windows-msvc:ffmpeg': btbnFfmpegN81Build.urls.windows, - 'x86_64-unknown-linux-gnu:ffmpeg': btbnFfmpegN81Build.urls.linux, - 'aarch64-apple-darwin:ffmpeg': martinRiedlMacArm64Snapshot.url, - }; + const displayVersion = value => (value ? normalizeVersion(value) : 'unavailable'); console.log('\nlatest engines:'); for (const [engine, version] of Object.entries(latestByEngine)) { - console.log(` ${engine}: ${normalizeVersion(version)}`); + console.log(` ${engine}: ${displayVersion(version)}`); } console.log('\nlatest engine provider builds:'); - console.log(` BtbN FFmpeg n8.1 Windows/Linux: ${normalizeVersion(btbnFfmpegN81Build?.version || ffmpeg)}`); - console.log(` Martin Riedl FFmpeg macOS arm64 snapshot: ${normalizeVersion(martinRiedlMacArm64Snapshot?.version || martinRiedlMacArm64Ffmpeg)}`); + console.log(` BtbN FFmpeg n8.1 Windows/Linux: ${displayVersion(btbnFfmpegN81Build?.version)}`); + console.log(` Martin Riedl FFmpeg macOS arm64 snapshot: ${displayVersion(martinRiedlMacArm64Snapshot?.version)}`); + + const targetSpecificEngines = new Set(['ffmpeg']); + const engineCheckFailures = []; + const runEngineCheck = (label, rows) => { + try { + return checkRows( + rows, + latestByEngine, + latestByTargetEngine, + latestUrlsByTargetEngine, + targetSpecificEngines + ); + } catch (error) { + if (error?.code !== 'LATEST_VERSION_UNAVAILABLE') throw error; + const detail = error instanceof Error ? error.message : String(error); + engineCheckFailures.push(label); + console.error(`engine provider unavailable: ${label}: ${detail}`); + return 0; + } + }; console.log('\nengine source lock:'); - outdatedCount += checkRows( + outdatedCount += runEngineCheck( + 'engine source lock', sourceEngineVersions(parseJsonFile('engine-sources.lock.json')), - latestByEngine, - latestByTargetEngine, - latestUrlsByTargetEngine ); console.log('\npackaged engine lock:'); - outdatedCount += checkRows( + outdatedCount += runEngineCheck( + 'packaged engine lock', packagedEngineVersions(parseJsonFile('engines.lock.json')), - latestByEngine, - latestByTargetEngine, - latestUrlsByTargetEngine ); if (outdatedCount > 0) { console.error(`\n${outdatedCount} outdated item(s) found.`); process.exit(1); } + if (providerFailures.length > 0) { + console.error(`\n${providerFailures.length} provider check(s) unavailable; refusing to claim that all updates are current.`); + } + if (engineCheckFailures.length > 0) { + console.error(`\n${engineCheckFailures.length} engine lock check(s) unavailable; refusing to claim that all engines are current.`); + } + if (providerFailures.length > 0 || engineCheckFailures.length > 0) { + process.exit(1); + } console.log('\nAll checked packages and engines are current.'); } diff --git a/scripts/check-updates.node-test.js b/scripts/check-updates.node-test.js index cfff4e2..d9a0deb 100644 --- a/scripts/check-updates.node-test.js +++ b/scripts/check-updates.node-test.js @@ -51,3 +51,17 @@ test('checkRows fails closed when a latest version is unavailable', () => { /Latest version is unavailable for test-target test-engine/ ); }); + +test('checkRows does not fall back to the generic release for target-specific engines', () => { + assert.throws( + () => + checkRows( + [{ target: 'test-target', engine: 'ffmpeg', version: '8.1.2', url: 'https://example.test/engine' }], + { ffmpeg: '9.0.1' }, + {}, + {}, + new Set(['ffmpeg']) + ), + /Latest provider version is unavailable for test-target ffmpeg/ + ); +}); diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 823ddc4..e3f74e3 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -566,9 +566,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d262e149917187838d5b42777c8253bcb64500067342904e7d429499a6f277e" +checksum = "509591b7bcd67f4ef775afad7662703b4935daaa6ec0e5605cfb1090b32a2b6d" dependencies = [ "find-msvc-tools", "shlex", @@ -1389,9 +1389,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b73573e6edcd2af0cdf47bd6cb58f0b3839491263c314eaad1ccf24430e1de" +checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" [[package]] name = "firelink" @@ -2057,9 +2057,9 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2" +checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c" dependencies = [ "bytes", "futures-core", @@ -2184,9 +2184,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" dependencies = [ "displaydoc", "potential_utf", @@ -2198,9 +2198,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" dependencies = [ "displaydoc", "litemap", @@ -2211,9 +2211,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +checksum = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -2225,16 +2225,17 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +checksum = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" [[package]] name = "icu_properties" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +checksum = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" dependencies = [ + "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", @@ -2245,15 +2246,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" [[package]] name = "icu_provider" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +checksum = "92a7ed671a6aad807a8651a2e1782a6598fda9ce5185dd8158549e95a91c6428" dependencies = [ "displaydoc", "icu_locale_core", @@ -2675,9 +2676,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2026a5056764a10b2bf5d56488cba40da507f5493a6a429340e2004d9ed085fa" +checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a" dependencies = [ "libc", ] @@ -2701,9 +2702,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" [[package]] name = "lock_api" @@ -3476,9 +3477,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.33" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" [[package]] name = "plist" @@ -3550,9 +3551,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" dependencies = [ "zerovec", ] @@ -5354,9 +5355,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +checksum = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" dependencies = [ "displaydoc", "zerovec", @@ -5892,9 +5893,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.24.0" +version = "1.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239" +checksum = "2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9" dependencies = [ "getrandom 0.4.3", "js-sys", @@ -6044,9 +6045,9 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016ccf01d1c58b6f8999612813e17c9b2390f7d70671428869913310f83f54b8" +checksum = "38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078" dependencies = [ "cc", "downcast-rs", @@ -6860,9 +6861,9 @@ dependencies = [ [[package]] name = "writeable" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" [[package]] name = "wry" @@ -7006,9 +7007,9 @@ dependencies = [ [[package]] name = "zbus-secret-service-keyring-store" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ccede190ba363386a24e8021c7f3848393976609ec9f5d1f8c6c09ef37075b4" +checksum = "74801d001b9e7729adb4f1825b67b398185fed424749aa3d8bacf70417137d9a" dependencies = [ "keyring-core", "secret-service", @@ -7099,9 +7100,9 @@ checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" [[package]] name = "zerotrie" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" dependencies = [ "displaydoc", "yoke", @@ -7110,9 +7111,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +checksum = "94b5c6b5976d66c1d703c4fd17d3f5e43c8cedaacf604961b171adc7130896d8" dependencies = [ "yoke", "zerofrom", @@ -7121,13 +7122,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +checksum = "47402523226a02bfe5230160dc3ccc089aa6f6f19e7fcbb4e6f824bbb1b4aa62" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]]