From 2c115fbc3b22ded79db335e8586b4a5d898a23b3 Mon Sep 17 00:00:00 2001 From: laincat <1129621+laincat@users.noreply.github.com> Date: Mon, 26 Oct 2026 10:59:14 +0800 Subject: [PATCH] chore(deps): refresh dependencies and repair validated updates --- .../check_release_version.cpython-315.pyc | Bin 0 -> 966 bytes .../dependabot_merge.cpython-315.pyc | Bin 0 -> 7384 bytes .../test_dependabot_merge.cpython-315.pyc | Bin 0 -> 12473 bytes .../test_release_version.cpython-315.pyc | Bin 0 -> 1389 bytes .github/scripts/dependabot_merge.py | 15 ++ .github/scripts/test_dependabot_merge.py | 18 +++ .github/workflows/build.yml | 16 +-- .github/workflows/dependabot-auto-merge.yml | 2 +- Cargo.lock | 135 +++++++++--------- 9 files changed, 109 insertions(+), 77 deletions(-) create mode 100644 .github/scripts/__pycache__/check_release_version.cpython-315.pyc create mode 100644 .github/scripts/__pycache__/dependabot_merge.cpython-315.pyc create mode 100644 .github/scripts/__pycache__/test_dependabot_merge.cpython-315.pyc create mode 100644 .github/scripts/__pycache__/test_release_version.cpython-315.pyc diff --git a/.github/scripts/__pycache__/check_release_version.cpython-315.pyc b/.github/scripts/__pycache__/check_release_version.cpython-315.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2a1597bdb662ad2fb22200f1a144c67d6f00623e GIT binary patch literal 966 zcmY*WTTc@~6rR15-PT%SyacKZ>kC?A8*G$|F-C$U#F(_pMKLVd47)?Su$N|MT5J;% zd_xmMAJG?i#Du?K!lREh1%<`<;vWF{1I})@u}*SsbG|wG&NtJEi!ngY-j`o1dkg@- z{i1Vv!sPsvCL7dbfWaat2va;}f+%7(h;hux%vFGSB_gxK^8jdz03?CJ<>TRut}p-; zCZFiK2-5)|b2-YvKlw}T*zILrjywqa9UP7-Je|kpuXH2Z`66>C`R`VV%01n+EOb{n zwv9~D?QRB^7VA%^(F)RtXYRtqNw^L<4*YUfX=+n_c_HJxMPV2B-FqpDr@Ra*#mqlyK(m4-UDt8btjE!3o)D76KF7g9 z@AMtiDQio_g*7GHZYo%FjWWTCRzljU8fv6=)-KmP zu?kH?hXlDI9WPMBS?b<^BO%sc8n+t#o7RDF{b!WP_P$u5!6+JUK3BWplvK8Ogx@` zZuK*8qjbLO@8pS(EJv@H=&{>JOaJe1k-9UEVVGm^>;xoEK#cl7JuD+Lr!m0CH|qyn z|55L?t@U^7+b=&UAC=v^t<=bm)cCj5_}7tUYP^-2Y4y%-OdV73%+~zd`38Kyuzh=H V>@b~#PD literal 0 HcmV?d00001 diff --git a/.github/scripts/__pycache__/dependabot_merge.cpython-315.pyc b/.github/scripts/__pycache__/dependabot_merge.cpython-315.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4b012207a1d6624532f789ab1a5db89b55c8d5b6 GIT binary patch literal 7384 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 literal 0 HcmV?d00001 diff --git a/.github/scripts/__pycache__/test_release_version.cpython-315.pyc b/.github/scripts/__pycache__/test_release_version.cpython-315.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5276bedfa87a9f640afa7671238730480a9418be GIT binary patch literal 1389 zcmaJ>&2Jk;6o0e3wl|4QVmVeT>V$%W>#YF1uk$5CvrrbsKlQDhx`Xbq79mU9XN3Vj3~;fZ+7h{Nl~9YZ|2SWm^bhDX0N@J z>IbABe}4S&=LFz)E%YeXU36w~v4!I{%q1>?z`05;Ssxn07=aAD0#zdmRkH?H<6Vy< zQ`w9JVa+981;_eBi+72#+iu`5yOMcFi~&;!sZ+w~qwvrg2vP-M+>Qxz7#etV7KEjb z6tSu);`1O9QD~LC!MO07jq6NE;q_wafEEr+#O|EM#TJf*Lv0l!mJQrO8o>)#e2nWwtKH%M<0v3pi?@E=lfg z)Jl=ECOq!1OHq@U809Qru3)qsC0knGQ0Y*y=1Q;bH&&^1SJmjzyOf^O>q?6xvM=DF zJ+ys#=gs?ezJoFxyY~QYg!dlCthZ38ni|XxZUQvPJX}4j0&aF`o>YxDy8BaPkw`)nB-va1^T!_vnIPiKm%nIW6 zGSsmR&meaCcV%?SJOg#|Vynwv0z`I>br5ft5$iIyF(`s;V)dOEA4F+08MVPU`wZa> z4HRj2o8y9Gsf1`P>1I<&R|v-CHP;tRsQw#n&|($No1E*qI0o;-i4P$Yy44D2xqfzP zFv8UrA@t~(`ybQ~wK|5FM~0YZDqqk1md<{g`zH5Yeml3HF5F8Oez5k7Q+vg!pU&?W zEBA_(heM}#GCQlk4i%o7;LH-V+DjKYCJfJ#C&daH9pD!Je@Pb(L>?o5KRP|xw+pH1 zd}=pk>veu$`eJ&w6s{)+-cO|Nf@3S2(uTXnC{_KGt~HlifnFym{iNjvUCkh+D?S%8 z@Eferq?GGso*WG{h<=W$o~5ZYxB23Vq;I^X6)RbfQ+YlW=>4mt%fgk(N)%~Gw;sH#~8w;Y>nv* zzR~E2Q#wExB?QfWC%W*v{54eQe8dQ{zf3~N0~mY+=l_W($hqye_A_I9nX!KXh0y&O DWfC!l literal 0 HcmV?d00001 diff --git a/.github/scripts/dependabot_merge.py b/.github/scripts/dependabot_merge.py index 2ac3362..036c0b4 100644 --- a/.github/scripts/dependabot_merge.py +++ b/.github/scripts/dependabot_merge.py @@ -33,6 +33,21 @@ def eligible_commits(commits): return False types = re.findall(r"(?m)^ update-type: (\S+)\s*$", metadata[1]) dependencies = re.findall(r"(?m)^- dependency-name: ", metadata[1]) + + # Requirement-only bumps omit update-type; trust only the signed, + # single-dependency subject with an unambiguous same-major increase. + if not types and len(dependencies) == 1 and "update-type:" not in metadata[1]: + subject = data["message"].splitlines()[0] + bump = re.fullmatch( + r"(?:[\w()/-]+: )?update (\S+) requirement from " + r">=(\d+\.\d+\.\d+) to >=(\d+\.\d+\.\d+)", subject, + re.IGNORECASE) + name = re.search(r"(?m)^- dependency-name: (\S+)\s*$", metadata[1]) + if bump and name and bump[1] == name[1]: + before = tuple(map(int, bump[2].split("."))) + after = tuple(map(int, bump[3].split("."))) + if after > before and after[0] == before[0]: + types = ["version-update:semver-minor"] if not types or len(types) != len(dependencies): return False if any(t not in {"version-update:semver-patch", diff --git a/.github/scripts/test_dependabot_merge.py b/.github/scripts/test_dependabot_merge.py index cdd4cbc..24ce33f 100644 --- a/.github/scripts/test_dependabot_merge.py +++ b/.github/scripts/test_dependabot_merge.py @@ -57,6 +57,24 @@ def test_unknown_update_type(self): "version-update:semver-minor", "unknown") self.assertFalse(eligible_commits([self.commit])) + + def test_signed_requirement_bump_without_update_type(self): + self.commit["commit"]["message"] = ( + "chore: update example requirement from >=7.6.0 to >=7.7.0\n\n" + "---\nupdated-dependencies:\n- dependency-name: example\n" + " dependency-type: direct:production\n...\n") + self.assertTrue(eligible_commits([self.commit])) + original = self.commit["commit"]["message"] + for old, new in [("7.7.0", "8.0.0"), ("7.7.0", "7.5.0"), + ("7.7.0", "7.7.0rc1"), ("update example", "update other"), + (">=7.7.0", "<8"), + ("...\n", " update-type: unknown\n...\n")]: + self.commit["commit"]["message"] = original.replace(old, new) + self.assertFalse(eligible_commits([self.commit]), new) + self.commit["commit"]["message"] = original + self.commit["commit"]["verification"]["verified"] = False + self.assertFalse(eligible_commits([self.commit])) + def test_empty_commits(self): self.assertFalse(eligible_commits([])) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 45c278d..db4bf53 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,12 +21,12 @@ jobs: test: runs-on: windows-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: dtolnay/rust-toolchain@stable # A cache is worth having here for the same reason it was not for the Go build: # this one compiles a hundred crates, and without it a tag build takes minutes. - - uses: ilammy/msvc-dev-cmd@v1 - - uses: Swatinem/rust-cache@v2 + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + - uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2.9.3 - run: python -m unittest discover -s .github/scripts - name: Check dependency graph excludes vulnerable GLib shell: pwsh @@ -46,10 +46,10 @@ jobs: needs: test runs-on: windows-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: dtolnay/rust-toolchain@stable - - uses: ilammy/msvc-dev-cmd@v1 - - uses: Swatinem/rust-cache@v2 + - uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0 + - uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0 # v2.9.3 - name: Build shell: pwsh @@ -128,7 +128,7 @@ jobs: Get-ChildItem dist | Select-Object Name, Length - - uses: actions/upload-artifact@v7 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: wbtray-windows path: | @@ -137,7 +137,7 @@ jobs: - name: Publish release if: startsWith(github.ref, 'refs/tags/v') - uses: softprops/action-gh-release@v3 + uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3 with: files: | dist/wbtray.exe diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 8033f1e..665a731 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: # Only trusted default-branch code receives the write token. - - uses: actions/checkout@v7 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: ${{ github.event.repository.default_branch }} persist-credentials: false diff --git a/Cargo.lock b/Cargo.lock index aca964b..39c426e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,9 +37,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cc" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +checksum = "86e055fa6e3e40ad6187ba25b6855eeb635d5271f8e0f0e1e9a5826b8d75bea0" dependencies = [ "find-msvc-tools", "shlex", @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a7799fd6b852db0e61728dde9a204c423b44d689dbd432522543614b490e78" +checksum = "0ba106e844045ddc02c20768ac4b0b7cb45f2cc2ecbd833ac9f5dacb183c2055" dependencies = [ "cfg-if", ] @@ -106,9 +106,9 @@ checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" [[package]] name = "deranged" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +checksum = "9e9de72ce2ad1f90dc62fa25f0f430ef85eb4b0d8fa0be4f30373bc40a21d28e" [[package]] name = "dispatch2" @@ -128,7 +128,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", ] [[package]] @@ -148,9 +148,9 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "equivalent" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826" [[package]] name = "fdeflate" @@ -163,9 +163,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" +checksum = "1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48" [[package]] name = "flate2" @@ -222,9 +222,9 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "icu_collections" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" +checksum = "fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd" dependencies = [ "displaydoc", "potential_utf", @@ -236,9 +236,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" +checksum = "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0" dependencies = [ "displaydoc", "litemap", @@ -249,9 +249,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" +checksum = "404a3b8c486f205c87fe7f23ab6894d84a4ad76d6e4671ae1981ba7def87c599" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -263,15 +263,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" +checksum = "20f0088bfb7441f7a37fa0c9e20cb1e9cba1cac6b9ce8cd2a6dc44294f8e8cbc" [[package]] name = "icu_properties" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" +checksum = "2ea83d991c56158f7cf898bf86436c1dfe7c07ee82fe88951f2695c9f37a379f" dependencies = [ "displaydoc", "icu_collections", @@ -284,15 +284,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" +checksum = "b98f29af82d02b163fe50161388350e743bb3107cc8e8c2f7314cb505faddfcf" [[package]] name = "icu_provider" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" +checksum = "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514" dependencies = [ "displaydoc", "icu_locale_core", @@ -352,9 +352,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.190" +version = "0.2.191" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" +checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a" [[package]] name = "litemap" @@ -364,9 +364,9 @@ checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" [[package]] name = "litrs" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +checksum = "4744e383959f0db86ede514b809b1c53251889093803c05267acc7d4e7030d70" [[package]] name = "log" @@ -402,9 +402,9 @@ dependencies = [ [[package]] name = "muda" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6744ab645ebe79f9c428455c7cb9dfa4275fa3b50a25408e08f927da8dc618c" +checksum = "4340e89c178916e62879c5c36b7f699019369be413e496178a6983ce91b8bc03" dependencies = [ "crossbeam-channel", "dpi", @@ -413,7 +413,6 @@ dependencies = [ "objc2-app-kit", "objc2-core-foundation", "objc2-foundation", - "once_cell", "png", "thiserror", "windows-sys 0.61.2", @@ -427,9 +426,9 @@ checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "objc2" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +checksum = "08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8" dependencies = [ "objc2-encode", ] @@ -521,9 +520,9 @@ dependencies = [ [[package]] name = "powerfmt" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +checksum = "4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958" [[package]] name = "proc-macro2" @@ -559,9 +558,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.45" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -583,9 +582,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.15" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -619,7 +618,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", ] [[package]] @@ -649,9 +648,9 @@ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" [[package]] name = "smallvec" -version = "1.16.2" +version = "1.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" +checksum = "d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8" [[package]] name = "stable_deref_trait" @@ -678,9 +677,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.6" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" dependencies = [ "proc-macro2", "quote", @@ -695,7 +694,7 @@ checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", ] [[package]] @@ -715,7 +714,7 @@ checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", ] [[package]] @@ -750,9 +749,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" +checksum = "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a" dependencies = [ "displaydoc", "zerovec", @@ -779,9 +778,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" +checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" [[package]] name = "untrusted" @@ -791,9 +790,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "3.4.2" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7ac20be9b7726e0bbdbf974c059676d9acb1cd414961f570a4e8231cacd7fc" +checksum = "cde93ff05758a36a851a398a772b0b79a82fbe3c186a46f2696baaeaf84c966b" dependencies = [ "base64", "cookie_store", @@ -811,9 +810,9 @@ dependencies = [ [[package]] name = "ureq-proto" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86fd172ccca569e458f61b6bdd6220965a9ef36e672a6852953b51a0e1583be" +checksum = "841583fc36089d7d59419568ae157f43a5a03a2e5a81ba87c77d1596ef46e922" dependencies = [ "base64", "http", @@ -871,9 +870,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +checksum = "f5f280bbb2b287bc8e7de7e3852945a0ff50d1bbcb5ed42b6c7a568c546df171" dependencies = [ "rustls-pki-types", ] @@ -1078,9 +1077,9 @@ checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" [[package]] name = "yoke" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +checksum = "417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -1095,7 +1094,7 @@ checksum = "ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", "synstructure", ] @@ -1116,15 +1115,15 @@ checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", "synstructure", ] [[package]] name = "zeroize" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" +checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879" [[package]] name = "zerotrie" @@ -1139,9 +1138,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" +checksum = "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40" dependencies = [ "yoke", "zerofrom", @@ -1150,13 +1149,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" +checksum = "c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.9", ] [[package]]