git: fd9c8779a313 - main - devel/{,py-}ruff: update 0.15.19 → 0.15.20

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 26 Jun 2026 20:32:23 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fd9c8779a313b497471eada9fd7014bef780ced7

commit fd9c8779a313b497471eada9fd7014bef780ced7
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-06-26 20:23:22 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-06-26 20:32:16 +0000

    devel/{,py-}ruff: update 0.15.19 → 0.15.20
---
 devel/py-ruff/Makefile     | 36 ++++++++++------------
 devel/py-ruff/distinfo     | 74 +++++++++++++++++++---------------------------
 devel/ruff/Makefile        |  2 +-
 devel/ruff/Makefile.crates | 34 +++++++++------------
 devel/ruff/distinfo        | 74 +++++++++++++++++++---------------------------
 5 files changed, 92 insertions(+), 128 deletions(-)

diff --git a/devel/py-ruff/Makefile b/devel/py-ruff/Makefile
index 4768cd73cc2f..a2fbf283bdcd 100644
--- a/devel/py-ruff/Makefile
+++ b/devel/py-ruff/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	ruff
-DISTVERSION=	0.15.19
+DISTVERSION=	0.15.20
 CATEGORIES=	devel python
 #MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -116,9 +116,6 @@ CARGO_CRATES=	adler2-2.0.1 \
 		csv-1.4.0 \
 		csv-core-0.1.12 \
 		ctrlc-3.5.2 \
-		darling-0.23.0 \
-		darling_core-0.23.0 \
-		darling_macro-0.23.0 \
 		dashmap-6.2.1 \
 		datatest-stable-0.3.3 \
 		derive-where-1.6.0 \
@@ -156,10 +153,10 @@ CARGO_CRATES=	adler2-2.0.1 \
 		futures-core-0.3.32 \
 		futures-task-0.3.32 \
 		futures-util-0.3.32 \
-		gen-lsp-types-0.8.0 \
+		gen-lsp-types-0.9.0 \
 		generic-array-0.14.7 \
-		get-size-derive2-0.10.0 \
-		get-size2-0.10.0 \
+		get-size-derive2-0.10.1 \
+		get-size2-0.10.1 \
 		getopts-0.2.24 \
 		getrandom-0.2.16 \
 		getrandom-0.3.4 \
@@ -170,9 +167,8 @@ CARGO_CRATES=	adler2-2.0.1 \
 		half-2.6.0 \
 		hashbrown-0.14.5 \
 		hashbrown-0.15.5 \
-		hashbrown-0.16.1 \
 		hashbrown-0.17.1 \
-		hashlink-0.11.0 \
+		hashlink-0.12.0 \
 		heck-0.5.0 \
 		hermit-abi-0.5.2 \
 		html-escape-0.2.13 \
@@ -186,7 +182,6 @@ CARGO_CRATES=	adler2-2.0.1 \
 		icu_properties_data-2.2.0 \
 		icu_provider-2.2.0 \
 		id-arena-2.3.0 \
-		ident_case-1.0.1 \
 		idna-1.1.0 \
 		idna_adapter-1.2.1 \
 		ignore-0.4.26 \
@@ -197,8 +192,8 @@ CARGO_CRATES=	adler2-2.0.1 \
 		indoc-2.0.7 \
 		inotify-0.11.0 \
 		inotify-sys-0.1.5 \
-		insta-1.47.2 \
-		insta-cmd-0.6.0 \
+		insta-1.48.0 \
+		insta-cmd-0.7.0 \
 		interpolator-0.5.0 \
 		intrusive-collections-0.10.1 \
 		inventory-0.3.24 \
@@ -208,6 +203,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		itertools-0.10.5 \
 		itertools-0.13.0 \
 		itertools-0.14.0 \
+		itertools-0.15.0 \
 		itoa-1.0.15 \
 		jiff-0.2.28 \
 		jiff-static-0.2.28 \
@@ -239,7 +235,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		markdown-1.0.0 \
 		matchers-0.2.0 \
 		matchit-0.9.2 \
-		memchr-2.8.1 \
+		memchr-2.8.2 \
 		memoffset-0.9.1 \
 		mimalloc-0.1.52 \
 		minicov-0.3.8 \
@@ -336,9 +332,9 @@ CARGO_CRATES=	adler2-2.0.1 \
 		rustix-1.1.4 \
 		rustversion-1.0.22 \
 		ryu-1.0.20 \
-		salsa-0.27.0 \
-		salsa-macro-rules-0.27.0 \
-		salsa-macros-0.27.0 \
+		salsa-0.27.2 \
+		salsa-macro-rules-0.27.2 \
+		salsa-macros-0.27.2 \
 		same-file-1.0.6 \
 		schemars-1.2.1 \
 		schemars_derive-1.2.1 \
@@ -353,8 +349,6 @@ CARGO_CRATES=	adler2-2.0.1 \
 		serde_json-1.0.150 \
 		serde_spanned-1.1.1 \
 		serde_test-1.0.177 \
-		serde_with-3.21.0 \
-		serde_with_macros-3.21.0 \
 		sha2-0.10.9 \
 		sharded-slab-0.1.7 \
 		shellexpand-3.1.2 \
@@ -363,7 +357,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		similar-3.1.1 \
 		siphasher-1.0.1 \
 		slab-0.4.12 \
-		smallvec-1.15.1 \
+		smallvec-1.15.2 \
 		snapbox-1.0.0 \
 		snapbox-macros-1.0.0 \
 		stable_deref_trait-1.2.0 \
@@ -374,7 +368,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		strum-0.28.0 \
 		strum_macros-0.28.0 \
 		supports-hyperlinks-3.2.0 \
-		syn-2.0.117 \
+		syn-2.0.118 \
 		synstructure-0.13.2 \
 		tap-1.0.1 \
 		tempfile-3.27.0 \
@@ -459,7 +453,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		wasmparser-0.244.0 \
 		web-sys-0.3.100 \
 		web-time-1.1.0 \
-		which-8.0.3 \
+		which-8.0.4 \
 		wild-2.2.1 \
 		winapi-0.3.9 \
 		winapi-i686-pc-windows-gnu-0.4.0 \
diff --git a/devel/py-ruff/distinfo b/devel/py-ruff/distinfo
index 3ab911bdaf63..8c4e82db3850 100644
--- a/devel/py-ruff/distinfo
+++ b/devel/py-ruff/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1782274214
+TIMESTAMP = 1782502204
 SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
 SIZE (rust/crates/adler2-2.0.1.crate) = 13366
 SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
@@ -183,12 +183,6 @@ SHA256 (rust/crates/csv-core-0.1.12.crate) = 7d02f3b0da4c6504f86e9cd789d8dbafab4
 SIZE (rust/crates/csv-core-0.1.12.crate) = 26298
 SHA256 (rust/crates/ctrlc-3.5.2.crate) = e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162
 SIZE (rust/crates/ctrlc-3.5.2.crate) = 14194
-SHA256 (rust/crates/darling-0.23.0.crate) = 25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d
-SIZE (rust/crates/darling-0.23.0.crate) = 43298
-SHA256 (rust/crates/darling_core-0.23.0.crate) = 9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0
-SIZE (rust/crates/darling_core-0.23.0.crate) = 74564
-SHA256 (rust/crates/darling_macro-0.23.0.crate) = ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d
-SIZE (rust/crates/darling_macro-0.23.0.crate) = 2480
 SHA256 (rust/crates/dashmap-6.2.1.crate) = e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c
 SIZE (rust/crates/dashmap-6.2.1.crate) = 26885
 SHA256 (rust/crates/datatest-stable-0.3.3.crate) = a867d7322eb69cf3a68a5426387a25b45cb3b9c5ee41023ee6cea92e2afadd82
@@ -263,14 +257,14 @@ SHA256 (rust/crates/futures-task-0.3.32.crate) = 037711b3d59c33004d3856fbdc83b99
 SIZE (rust/crates/futures-task-0.3.32.crate) = 11377
 SHA256 (rust/crates/futures-util-0.3.32.crate) = 389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6
 SIZE (rust/crates/futures-util-0.3.32.crate) = 168797
-SHA256 (rust/crates/gen-lsp-types-0.8.0.crate) = 0af56ad77049db9a3ccf0ec5605561d71c674688b467c429175df54ea5886151
-SIZE (rust/crates/gen-lsp-types-0.8.0.crate) = 97668
+SHA256 (rust/crates/gen-lsp-types-0.9.0.crate) = 946cd448051e8061e4e17d88ecaceea8d84c33da52b93a9391b4a657def1b8bd
+SIZE (rust/crates/gen-lsp-types-0.9.0.crate) = 97583
 SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
 SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
-SHA256 (rust/crates/get-size-derive2-0.10.0.crate) = 883926019f3044f75a21f9782de47bc6a87498d41d59c3afb966faf68dd29b7b
-SIZE (rust/crates/get-size-derive2-0.10.0.crate) = 8770
-SHA256 (rust/crates/get-size2-0.10.0.crate) = c67286119bda8eb8d22059037b8bd59bd59d83bf1a154189b8aa34273e3fa058
-SIZE (rust/crates/get-size2-0.10.0.crate) = 26943
+SHA256 (rust/crates/get-size-derive2-0.10.1.crate) = 1da24fbda09ec01bca7cfa1797c0e520e75123bccb01dcdf9041f8aa65183bc2
+SIZE (rust/crates/get-size-derive2-0.10.1.crate) = 8766
+SHA256 (rust/crates/get-size2-0.10.1.crate) = 823645bc6404ae2915707777061a47d3a031a9ee0bff51b34ec973df3d8d2990
+SIZE (rust/crates/get-size2-0.10.1.crate) = 27048
 SHA256 (rust/crates/getopts-0.2.24.crate) = cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df
 SIZE (rust/crates/getopts-0.2.24.crate) = 21467
 SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
@@ -291,12 +285,10 @@ SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b1
 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
 SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
 SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
-SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
-SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
 SHA256 (rust/crates/hashbrown-0.17.1.crate) = ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a
 SIZE (rust/crates/hashbrown-0.17.1.crate) = 155512
-SHA256 (rust/crates/hashlink-0.11.0.crate) = ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230
-SIZE (rust/crates/hashlink-0.11.0.crate) = 30444
+SHA256 (rust/crates/hashlink-0.12.0.crate) = a5081f264ed7adee96ea4b4778b6bb9da0a7228b084587aa3bd3ff05da7c5a3b
+SIZE (rust/crates/hashlink-0.12.0.crate) = 32251
 SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
 SIZE (rust/crates/heck-0.5.0.crate) = 11517
 SHA256 (rust/crates/hermit-abi-0.5.2.crate) = fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c
@@ -323,8 +315,6 @@ SHA256 (rust/crates/icu_provider-2.2.0.crate) = 139c4cf31c8b5f33d7e199446eff9c1e
 SIZE (rust/crates/icu_provider-2.2.0.crate) = 51620
 SHA256 (rust/crates/id-arena-2.3.0.crate) = 3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954
 SIZE (rust/crates/id-arena-2.3.0.crate) = 12883
-SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
-SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
 SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
 SIZE (rust/crates/idna-1.1.0.crate) = 148747
 SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
@@ -345,10 +335,10 @@ SHA256 (rust/crates/inotify-0.11.0.crate) = f37dccff2791ab604f9babef0ba14fbe0be3
 SIZE (rust/crates/inotify-0.11.0.crate) = 26241
 SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb
 SIZE (rust/crates/inotify-sys-0.1.5.crate) = 6965
-SHA256 (rust/crates/insta-1.47.2.crate) = 7b4a6248eb93a4401ed2f37dfe8ea592d3cf05b7cf4f8efa867b6895af7e094e
-SIZE (rust/crates/insta-1.47.2.crate) = 118367
-SHA256 (rust/crates/insta-cmd-0.6.0.crate) = ffeeefa927925cced49ccb01bf3e57c9d4cd132df21e576eb9415baeab2d3de6
-SIZE (rust/crates/insta-cmd-0.6.0.crate) = 12385
+SHA256 (rust/crates/insta-1.48.0.crate) = 86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82
+SIZE (rust/crates/insta-1.48.0.crate) = 121313
+SHA256 (rust/crates/insta-cmd-0.7.0.crate) = bffdf4af1db390cf0401535d7c1303cd079a074d28d8473b026fdb6559c41403
+SIZE (rust/crates/insta-cmd-0.7.0.crate) = 12849
 SHA256 (rust/crates/interpolator-0.5.0.crate) = 71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8
 SIZE (rust/crates/interpolator-0.5.0.crate) = 29578
 SHA256 (rust/crates/intrusive-collections-0.10.1.crate) = 80e165935eba36cb526af8389effd2005a741adcbb6ed32106cc68e3f7b92960
@@ -367,6 +357,8 @@ SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d
 SIZE (rust/crates/itertools-0.13.0.crate) = 146261
 SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285
 SIZE (rust/crates/itertools-0.14.0.crate) = 152715
+SHA256 (rust/crates/itertools-0.15.0.crate) = 8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc
+SIZE (rust/crates/itertools-0.15.0.crate) = 164131
 SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
 SIZE (rust/crates/itoa-1.0.15.crate) = 11231
 SHA256 (rust/crates/jiff-0.2.28.crate) = 4603d3033e49e2b0e31229fcab20a5d40089c607d975cd9c80551dc69eed9102
@@ -429,8 +421,8 @@ SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1
 SIZE (rust/crates/matchers-0.2.0.crate) = 7075
 SHA256 (rust/crates/matchit-0.9.2.crate) = 8863b587001c1b9a8a4e36008cebc6b3612cb1226fe2de94858e06092687b608
 SIZE (rust/crates/matchit-0.9.2.crate) = 44020
-SHA256 (rust/crates/memchr-2.8.1.crate) = 6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8
-SIZE (rust/crates/memchr-2.8.1.crate) = 98743
+SHA256 (rust/crates/memchr-2.8.2.crate) = 88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4
+SIZE (rust/crates/memchr-2.8.2.crate) = 99069
 SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
 SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
 SHA256 (rust/crates/mimalloc-0.1.52.crate) = 2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862
@@ -623,12 +615,12 @@ SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029
 SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
 SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
 SIZE (rust/crates/ryu-1.0.20.crate) = 48738
-SHA256 (rust/crates/salsa-0.27.0.crate) = adfc1e32b8d1a486e3a45a5480fb5dca7912f49262a8916a67378064da4fe1ab
-SIZE (rust/crates/salsa-0.27.0.crate) = 258617
-SHA256 (rust/crates/salsa-macro-rules-0.27.0.crate) = 67dad477a3e3a484a7c2311c1d25160fb270214981be24022de7de8a206a3300
-SIZE (rust/crates/salsa-macro-rules-0.27.0.crate) = 20821
-SHA256 (rust/crates/salsa-macros-0.27.0.crate) = 943f70e101fb3bd599960e79e719e70d85142730e5b45f3269246086ed218562
-SIZE (rust/crates/salsa-macros-0.27.0.crate) = 33331
+SHA256 (rust/crates/salsa-0.27.2.crate) = ffbaab832e2ea754afda4a738f987dd1e8bd30c9e5d8c981ee6a3934386095e2
+SIZE (rust/crates/salsa-0.27.2.crate) = 280117
+SHA256 (rust/crates/salsa-macro-rules-0.27.2.crate) = de6872462ac73d39969a836273c24163e6a26a4e08f5114fcd80e25af30ea9c6
+SIZE (rust/crates/salsa-macro-rules-0.27.2.crate) = 20870
+SHA256 (rust/crates/salsa-macros-0.27.2.crate) = 76bc78ffaf65b1a9175818592c5130aa10b1bb245a905722fd4db87cea8a8457
+SIZE (rust/crates/salsa-macros-0.27.2.crate) = 36818
 SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
 SIZE (rust/crates/same-file-1.0.6.crate) = 10183
 SHA256 (rust/crates/schemars-1.2.1.crate) = a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc
@@ -657,10 +649,6 @@ SHA256 (rust/crates/serde_spanned-1.1.1.crate) = 6662b5879511e06e8999a8a235d8481
 SIZE (rust/crates/serde_spanned-1.1.1.crate) = 11025
 SHA256 (rust/crates/serde_test-1.0.177.crate) = 7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed
 SIZE (rust/crates/serde_test-1.0.177.crate) = 18671
-SHA256 (rust/crates/serde_with-3.21.0.crate) = 76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c
-SIZE (rust/crates/serde_with-3.21.0.crate) = 205649
-SHA256 (rust/crates/serde_with_macros-3.21.0.crate) = 84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660
-SIZE (rust/crates/serde_with_macros-3.21.0.crate) = 38159
 SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
 SIZE (rust/crates/sha2-0.10.9.crate) = 29271
 SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
@@ -677,8 +665,8 @@ SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42
 SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
 SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5
 SIZE (rust/crates/slab-0.4.12.crate) = 19080
-SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
-SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/smallvec-1.15.2.crate) = 8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90
+SIZE (rust/crates/smallvec-1.15.2.crate) = 34899
 SHA256 (rust/crates/snapbox-1.0.0.crate) = 71d70a71b68054cbe88708f77abfc4bd2daf75028f8f55f4f1cff63565df89ea
 SIZE (rust/crates/snapbox-1.0.0.crate) = 57147
 SHA256 (rust/crates/snapbox-macros-1.0.0.crate) = d248cef42e1456ab2f7149c0376985351b7d849ea9ad2a957bf15ddfebf1fdf9
@@ -699,8 +687,8 @@ SHA256 (rust/crates/strum_macros-0.28.0.crate) = ab85eea0270ee17587ed4156089e10b
 SIZE (rust/crates/strum_macros-0.28.0.crate) = 30964
 SHA256 (rust/crates/supports-hyperlinks-3.2.0.crate) = e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91
 SIZE (rust/crates/supports-hyperlinks-3.2.0.crate) = 8455
-SHA256 (rust/crates/syn-2.0.117.crate) = e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99
-SIZE (rust/crates/syn-2.0.117.crate) = 306011
+SHA256 (rust/crates/syn-2.0.118.crate) = 1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422
+SIZE (rust/crates/syn-2.0.118.crate) = 305533
 SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
 SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
@@ -869,8 +857,8 @@ SHA256 (rust/crates/web-sys-0.3.100.crate) = 6e0871acf327f283dc6da28a1696cdc64fb
 SIZE (rust/crates/web-sys-0.3.100.crate) = 675570
 SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
 SIZE (rust/crates/web-time-1.1.0.crate) = 18026
-SHA256 (rust/crates/which-8.0.3.crate) = c789537cf2f7f55be8e6192f92e464174ee55f91af622777f7f1ceb0dbccd03e
-SIZE (rust/crates/which-8.0.3.crate) = 27290
+SHA256 (rust/crates/which-8.0.4.crate) = 48d7cd18d4acb58fb3cdfe9ea54e6cd96a4e7d4cc45c56338b236e82dad47248
+SIZE (rust/crates/which-8.0.4.crate) = 27967
 SHA256 (rust/crates/wild-2.2.1.crate) = a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1
 SIZE (rust/crates/wild-2.2.1.crate) = 8080
 SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
@@ -993,5 +981,5 @@ SHA256 (rust/crates/zstd-safe-7.2.4.crate) = 8f49c4d5f0abb602a93fb8736af2a4f4dd9
 SIZE (rust/crates/zstd-safe-7.2.4.crate) = 29350
 SHA256 (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748
 SIZE (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 775620
-SHA256 (astral-sh-ruff-0.15.19_GH0.tar.gz) = d333be5ee739764657f4d888ece01b1ee4d5833efb4d31e3c8ed5456e05c616e
-SIZE (astral-sh-ruff-0.15.19_GH0.tar.gz) = 12109446
+SHA256 (astral-sh-ruff-0.15.20_GH0.tar.gz) = 3d2d9283f8221d04f1debf1ac32ec900bba08aec5609266ac93b8b8464073d16
+SIZE (astral-sh-ruff-0.15.20_GH0.tar.gz) = 12157944
diff --git a/devel/ruff/Makefile b/devel/ruff/Makefile
index 32806d3f2f1f..aa989c454bbe 100644
--- a/devel/ruff/Makefile
+++ b/devel/ruff/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	ruff
-DISTVERSION=	0.15.19
+DISTVERSION=	0.15.20
 CATEGORIES=	devel python
 
 MAINTAINER=	yuri@FreeBSD.org
diff --git a/devel/ruff/Makefile.crates b/devel/ruff/Makefile.crates
index dbeb0a759563..aa1a1f883820 100644
--- a/devel/ruff/Makefile.crates
+++ b/devel/ruff/Makefile.crates
@@ -90,9 +90,6 @@ CARGO_CRATES=	adler2-2.0.1 \
 		csv-1.4.0 \
 		csv-core-0.1.12 \
 		ctrlc-3.5.2 \
-		darling-0.23.0 \
-		darling_core-0.23.0 \
-		darling_macro-0.23.0 \
 		dashmap-6.2.1 \
 		datatest-stable-0.3.3 \
 		derive-where-1.6.0 \
@@ -130,10 +127,10 @@ CARGO_CRATES=	adler2-2.0.1 \
 		futures-core-0.3.32 \
 		futures-task-0.3.32 \
 		futures-util-0.3.32 \
-		gen-lsp-types-0.8.0 \
+		gen-lsp-types-0.9.0 \
 		generic-array-0.14.7 \
-		get-size-derive2-0.10.0 \
-		get-size2-0.10.0 \
+		get-size-derive2-0.10.1 \
+		get-size2-0.10.1 \
 		getopts-0.2.24 \
 		getrandom-0.2.16 \
 		getrandom-0.3.4 \
@@ -144,9 +141,8 @@ CARGO_CRATES=	adler2-2.0.1 \
 		half-2.6.0 \
 		hashbrown-0.14.5 \
 		hashbrown-0.15.5 \
-		hashbrown-0.16.1 \
 		hashbrown-0.17.1 \
-		hashlink-0.11.0 \
+		hashlink-0.12.0 \
 		heck-0.5.0 \
 		hermit-abi-0.5.2 \
 		html-escape-0.2.13 \
@@ -160,7 +156,6 @@ CARGO_CRATES=	adler2-2.0.1 \
 		icu_properties_data-2.2.0 \
 		icu_provider-2.2.0 \
 		id-arena-2.3.0 \
-		ident_case-1.0.1 \
 		idna-1.1.0 \
 		idna_adapter-1.2.1 \
 		ignore-0.4.26 \
@@ -171,8 +166,8 @@ CARGO_CRATES=	adler2-2.0.1 \
 		indoc-2.0.7 \
 		inotify-0.11.0 \
 		inotify-sys-0.1.5 \
-		insta-1.47.2 \
-		insta-cmd-0.6.0 \
+		insta-1.48.0 \
+		insta-cmd-0.7.0 \
 		interpolator-0.5.0 \
 		intrusive-collections-0.10.1 \
 		inventory-0.3.24 \
@@ -182,6 +177,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		itertools-0.10.5 \
 		itertools-0.13.0 \
 		itertools-0.14.0 \
+		itertools-0.15.0 \
 		itoa-1.0.15 \
 		jiff-0.2.28 \
 		jiff-static-0.2.28 \
@@ -213,7 +209,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		markdown-1.0.0 \
 		matchers-0.2.0 \
 		matchit-0.9.2 \
-		memchr-2.8.1 \
+		memchr-2.8.2 \
 		memoffset-0.9.1 \
 		mimalloc-0.1.52 \
 		minicov-0.3.8 \
@@ -310,9 +306,9 @@ CARGO_CRATES=	adler2-2.0.1 \
 		rustix-1.1.4 \
 		rustversion-1.0.22 \
 		ryu-1.0.20 \
-		salsa-0.27.0 \
-		salsa-macro-rules-0.27.0 \
-		salsa-macros-0.27.0 \
+		salsa-0.27.2 \
+		salsa-macro-rules-0.27.2 \
+		salsa-macros-0.27.2 \
 		same-file-1.0.6 \
 		schemars-1.2.1 \
 		schemars_derive-1.2.1 \
@@ -327,8 +323,6 @@ CARGO_CRATES=	adler2-2.0.1 \
 		serde_json-1.0.150 \
 		serde_spanned-1.1.1 \
 		serde_test-1.0.177 \
-		serde_with-3.21.0 \
-		serde_with_macros-3.21.0 \
 		sha2-0.10.9 \
 		sharded-slab-0.1.7 \
 		shellexpand-3.1.2 \
@@ -337,7 +331,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		similar-3.1.1 \
 		siphasher-1.0.1 \
 		slab-0.4.12 \
-		smallvec-1.15.1 \
+		smallvec-1.15.2 \
 		snapbox-1.0.0 \
 		snapbox-macros-1.0.0 \
 		stable_deref_trait-1.2.0 \
@@ -348,7 +342,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		strum-0.28.0 \
 		strum_macros-0.28.0 \
 		supports-hyperlinks-3.2.0 \
-		syn-2.0.117 \
+		syn-2.0.118 \
 		synstructure-0.13.2 \
 		tap-1.0.1 \
 		tempfile-3.27.0 \
@@ -433,7 +427,7 @@ CARGO_CRATES=	adler2-2.0.1 \
 		wasmparser-0.244.0 \
 		web-sys-0.3.100 \
 		web-time-1.1.0 \
-		which-8.0.3 \
+		which-8.0.4 \
 		wild-2.2.1 \
 		winapi-0.3.9 \
 		winapi-i686-pc-windows-gnu-0.4.0 \
diff --git a/devel/ruff/distinfo b/devel/ruff/distinfo
index 42ddbcfc735b..5b28020cfab8 100644
--- a/devel/ruff/distinfo
+++ b/devel/ruff/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1782274189
+TIMESTAMP = 1782502185
 SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
 SIZE (rust/crates/adler2-2.0.1.crate) = 13366
 SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
@@ -183,12 +183,6 @@ SHA256 (rust/crates/csv-core-0.1.12.crate) = 7d02f3b0da4c6504f86e9cd789d8dbafab4
 SIZE (rust/crates/csv-core-0.1.12.crate) = 26298
 SHA256 (rust/crates/ctrlc-3.5.2.crate) = e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162
 SIZE (rust/crates/ctrlc-3.5.2.crate) = 14194
-SHA256 (rust/crates/darling-0.23.0.crate) = 25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d
-SIZE (rust/crates/darling-0.23.0.crate) = 43298
-SHA256 (rust/crates/darling_core-0.23.0.crate) = 9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0
-SIZE (rust/crates/darling_core-0.23.0.crate) = 74564
-SHA256 (rust/crates/darling_macro-0.23.0.crate) = ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d
-SIZE (rust/crates/darling_macro-0.23.0.crate) = 2480
 SHA256 (rust/crates/dashmap-6.2.1.crate) = e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c
 SIZE (rust/crates/dashmap-6.2.1.crate) = 26885
 SHA256 (rust/crates/datatest-stable-0.3.3.crate) = a867d7322eb69cf3a68a5426387a25b45cb3b9c5ee41023ee6cea92e2afadd82
@@ -263,14 +257,14 @@ SHA256 (rust/crates/futures-task-0.3.32.crate) = 037711b3d59c33004d3856fbdc83b99
 SIZE (rust/crates/futures-task-0.3.32.crate) = 11377
 SHA256 (rust/crates/futures-util-0.3.32.crate) = 389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6
 SIZE (rust/crates/futures-util-0.3.32.crate) = 168797
-SHA256 (rust/crates/gen-lsp-types-0.8.0.crate) = 0af56ad77049db9a3ccf0ec5605561d71c674688b467c429175df54ea5886151
-SIZE (rust/crates/gen-lsp-types-0.8.0.crate) = 97668
+SHA256 (rust/crates/gen-lsp-types-0.9.0.crate) = 946cd448051e8061e4e17d88ecaceea8d84c33da52b93a9391b4a657def1b8bd
+SIZE (rust/crates/gen-lsp-types-0.9.0.crate) = 97583
 SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
 SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
-SHA256 (rust/crates/get-size-derive2-0.10.0.crate) = 883926019f3044f75a21f9782de47bc6a87498d41d59c3afb966faf68dd29b7b
-SIZE (rust/crates/get-size-derive2-0.10.0.crate) = 8770
-SHA256 (rust/crates/get-size2-0.10.0.crate) = c67286119bda8eb8d22059037b8bd59bd59d83bf1a154189b8aa34273e3fa058
-SIZE (rust/crates/get-size2-0.10.0.crate) = 26943
+SHA256 (rust/crates/get-size-derive2-0.10.1.crate) = 1da24fbda09ec01bca7cfa1797c0e520e75123bccb01dcdf9041f8aa65183bc2
+SIZE (rust/crates/get-size-derive2-0.10.1.crate) = 8766
+SHA256 (rust/crates/get-size2-0.10.1.crate) = 823645bc6404ae2915707777061a47d3a031a9ee0bff51b34ec973df3d8d2990
+SIZE (rust/crates/get-size2-0.10.1.crate) = 27048
 SHA256 (rust/crates/getopts-0.2.24.crate) = cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df
 SIZE (rust/crates/getopts-0.2.24.crate) = 21467
 SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
@@ -291,12 +285,10 @@ SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b1
 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
 SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
 SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
-SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
-SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
 SHA256 (rust/crates/hashbrown-0.17.1.crate) = ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a
 SIZE (rust/crates/hashbrown-0.17.1.crate) = 155512
-SHA256 (rust/crates/hashlink-0.11.0.crate) = ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230
-SIZE (rust/crates/hashlink-0.11.0.crate) = 30444
+SHA256 (rust/crates/hashlink-0.12.0.crate) = a5081f264ed7adee96ea4b4778b6bb9da0a7228b084587aa3bd3ff05da7c5a3b
+SIZE (rust/crates/hashlink-0.12.0.crate) = 32251
 SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
 SIZE (rust/crates/heck-0.5.0.crate) = 11517
 SHA256 (rust/crates/hermit-abi-0.5.2.crate) = fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c
@@ -323,8 +315,6 @@ SHA256 (rust/crates/icu_provider-2.2.0.crate) = 139c4cf31c8b5f33d7e199446eff9c1e
 SIZE (rust/crates/icu_provider-2.2.0.crate) = 51620
 SHA256 (rust/crates/id-arena-2.3.0.crate) = 3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954
 SIZE (rust/crates/id-arena-2.3.0.crate) = 12883
-SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
-SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
 SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
 SIZE (rust/crates/idna-1.1.0.crate) = 148747
 SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
@@ -345,10 +335,10 @@ SHA256 (rust/crates/inotify-0.11.0.crate) = f37dccff2791ab604f9babef0ba14fbe0be3
 SIZE (rust/crates/inotify-0.11.0.crate) = 26241
 SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb
 SIZE (rust/crates/inotify-sys-0.1.5.crate) = 6965
-SHA256 (rust/crates/insta-1.47.2.crate) = 7b4a6248eb93a4401ed2f37dfe8ea592d3cf05b7cf4f8efa867b6895af7e094e
-SIZE (rust/crates/insta-1.47.2.crate) = 118367
-SHA256 (rust/crates/insta-cmd-0.6.0.crate) = ffeeefa927925cced49ccb01bf3e57c9d4cd132df21e576eb9415baeab2d3de6
-SIZE (rust/crates/insta-cmd-0.6.0.crate) = 12385
+SHA256 (rust/crates/insta-1.48.0.crate) = 86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82
+SIZE (rust/crates/insta-1.48.0.crate) = 121313
+SHA256 (rust/crates/insta-cmd-0.7.0.crate) = bffdf4af1db390cf0401535d7c1303cd079a074d28d8473b026fdb6559c41403
+SIZE (rust/crates/insta-cmd-0.7.0.crate) = 12849
 SHA256 (rust/crates/interpolator-0.5.0.crate) = 71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8
 SIZE (rust/crates/interpolator-0.5.0.crate) = 29578
 SHA256 (rust/crates/intrusive-collections-0.10.1.crate) = 80e165935eba36cb526af8389effd2005a741adcbb6ed32106cc68e3f7b92960
@@ -367,6 +357,8 @@ SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d
 SIZE (rust/crates/itertools-0.13.0.crate) = 146261
 SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285
 SIZE (rust/crates/itertools-0.14.0.crate) = 152715
+SHA256 (rust/crates/itertools-0.15.0.crate) = 8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc
+SIZE (rust/crates/itertools-0.15.0.crate) = 164131
 SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
 SIZE (rust/crates/itoa-1.0.15.crate) = 11231
 SHA256 (rust/crates/jiff-0.2.28.crate) = 4603d3033e49e2b0e31229fcab20a5d40089c607d975cd9c80551dc69eed9102
@@ -429,8 +421,8 @@ SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1
 SIZE (rust/crates/matchers-0.2.0.crate) = 7075
 SHA256 (rust/crates/matchit-0.9.2.crate) = 8863b587001c1b9a8a4e36008cebc6b3612cb1226fe2de94858e06092687b608
 SIZE (rust/crates/matchit-0.9.2.crate) = 44020
-SHA256 (rust/crates/memchr-2.8.1.crate) = 6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8
-SIZE (rust/crates/memchr-2.8.1.crate) = 98743
+SHA256 (rust/crates/memchr-2.8.2.crate) = 88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4
+SIZE (rust/crates/memchr-2.8.2.crate) = 99069
 SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
 SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
 SHA256 (rust/crates/mimalloc-0.1.52.crate) = 2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862
@@ -623,12 +615,12 @@ SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029
 SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
 SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
 SIZE (rust/crates/ryu-1.0.20.crate) = 48738
-SHA256 (rust/crates/salsa-0.27.0.crate) = adfc1e32b8d1a486e3a45a5480fb5dca7912f49262a8916a67378064da4fe1ab
-SIZE (rust/crates/salsa-0.27.0.crate) = 258617
-SHA256 (rust/crates/salsa-macro-rules-0.27.0.crate) = 67dad477a3e3a484a7c2311c1d25160fb270214981be24022de7de8a206a3300
-SIZE (rust/crates/salsa-macro-rules-0.27.0.crate) = 20821
-SHA256 (rust/crates/salsa-macros-0.27.0.crate) = 943f70e101fb3bd599960e79e719e70d85142730e5b45f3269246086ed218562
-SIZE (rust/crates/salsa-macros-0.27.0.crate) = 33331
+SHA256 (rust/crates/salsa-0.27.2.crate) = ffbaab832e2ea754afda4a738f987dd1e8bd30c9e5d8c981ee6a3934386095e2
+SIZE (rust/crates/salsa-0.27.2.crate) = 280117
+SHA256 (rust/crates/salsa-macro-rules-0.27.2.crate) = de6872462ac73d39969a836273c24163e6a26a4e08f5114fcd80e25af30ea9c6
+SIZE (rust/crates/salsa-macro-rules-0.27.2.crate) = 20870
+SHA256 (rust/crates/salsa-macros-0.27.2.crate) = 76bc78ffaf65b1a9175818592c5130aa10b1bb245a905722fd4db87cea8a8457
+SIZE (rust/crates/salsa-macros-0.27.2.crate) = 36818
 SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
 SIZE (rust/crates/same-file-1.0.6.crate) = 10183
 SHA256 (rust/crates/schemars-1.2.1.crate) = a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc
@@ -657,10 +649,6 @@ SHA256 (rust/crates/serde_spanned-1.1.1.crate) = 6662b5879511e06e8999a8a235d8481
 SIZE (rust/crates/serde_spanned-1.1.1.crate) = 11025
 SHA256 (rust/crates/serde_test-1.0.177.crate) = 7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed
 SIZE (rust/crates/serde_test-1.0.177.crate) = 18671
-SHA256 (rust/crates/serde_with-3.21.0.crate) = 76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c
-SIZE (rust/crates/serde_with-3.21.0.crate) = 205649
-SHA256 (rust/crates/serde_with_macros-3.21.0.crate) = 84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660
-SIZE (rust/crates/serde_with_macros-3.21.0.crate) = 38159
 SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
 SIZE (rust/crates/sha2-0.10.9.crate) = 29271
 SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
@@ -677,8 +665,8 @@ SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42
 SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
 SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5
 SIZE (rust/crates/slab-0.4.12.crate) = 19080
-SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
-SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/smallvec-1.15.2.crate) = 8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90
+SIZE (rust/crates/smallvec-1.15.2.crate) = 34899
 SHA256 (rust/crates/snapbox-1.0.0.crate) = 71d70a71b68054cbe88708f77abfc4bd2daf75028f8f55f4f1cff63565df89ea
 SIZE (rust/crates/snapbox-1.0.0.crate) = 57147
 SHA256 (rust/crates/snapbox-macros-1.0.0.crate) = d248cef42e1456ab2f7149c0376985351b7d849ea9ad2a957bf15ddfebf1fdf9
@@ -699,8 +687,8 @@ SHA256 (rust/crates/strum_macros-0.28.0.crate) = ab85eea0270ee17587ed4156089e10b
 SIZE (rust/crates/strum_macros-0.28.0.crate) = 30964
 SHA256 (rust/crates/supports-hyperlinks-3.2.0.crate) = e396b6523b11ccb83120b115a0b7366de372751aa6edf19844dfb13a6af97e91
 SIZE (rust/crates/supports-hyperlinks-3.2.0.crate) = 8455
-SHA256 (rust/crates/syn-2.0.117.crate) = e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99
-SIZE (rust/crates/syn-2.0.117.crate) = 306011
+SHA256 (rust/crates/syn-2.0.118.crate) = 1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422
+SIZE (rust/crates/syn-2.0.118.crate) = 305533
 SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
 SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
@@ -869,8 +857,8 @@ SHA256 (rust/crates/web-sys-0.3.100.crate) = 6e0871acf327f283dc6da28a1696cdc64fb
 SIZE (rust/crates/web-sys-0.3.100.crate) = 675570
 SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
 SIZE (rust/crates/web-time-1.1.0.crate) = 18026
-SHA256 (rust/crates/which-8.0.3.crate) = c789537cf2f7f55be8e6192f92e464174ee55f91af622777f7f1ceb0dbccd03e
-SIZE (rust/crates/which-8.0.3.crate) = 27290
+SHA256 (rust/crates/which-8.0.4.crate) = 48d7cd18d4acb58fb3cdfe9ea54e6cd96a4e7d4cc45c56338b236e82dad47248
+SIZE (rust/crates/which-8.0.4.crate) = 27967
 SHA256 (rust/crates/wild-2.2.1.crate) = a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1
 SIZE (rust/crates/wild-2.2.1.crate) = 8080
 SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
@@ -993,5 +981,5 @@ SHA256 (rust/crates/zstd-safe-7.2.4.crate) = 8f49c4d5f0abb602a93fb8736af2a4f4dd9
 SIZE (rust/crates/zstd-safe-7.2.4.crate) = 29350
 SHA256 (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748
 SIZE (rust/crates/zstd-sys-2.0.16+zstd.1.5.7.crate) = 775620
-SHA256 (astral-sh-ruff-0.15.19_GH0.tar.gz) = d333be5ee739764657f4d888ece01b1ee4d5833efb4d31e3c8ed5456e05c616e
-SIZE (astral-sh-ruff-0.15.19_GH0.tar.gz) = 12109446
+SHA256 (astral-sh-ruff-0.15.20_GH0.tar.gz) = 3d2d9283f8221d04f1debf1ac32ec900bba08aec5609266ac93b8b8464073d16
+SIZE (astral-sh-ruff-0.15.20_GH0.tar.gz) = 12157944