Commit

Author:

Hash:

Timestamp:

+282 -189 +/-11 browse

Kevin Schoon [me@kevinschoon.com]

3f6c9e5664b226a082fcc1bb2f84ce2103483326

Sun, 06 Jul 2025 19:44:09 +0000 (4 months ago)

bump all dependencies, fixup watch script
1diff --git a/Cargo.lock b/Cargo.lock
2index b049962..f4c67eb 100644
3--- a/Cargo.lock
4+++ b/Cargo.lock
5 @@ -193,7 +193,7 @@ dependencies = [
6 "derive_builder",
7 "diligent-date-parser",
8 "never",
9- "quick-xml",
10+ "quick-xml 0.37.5",
11 ]
12
13 [[package]]
14 @@ -221,14 +221,14 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
15
16 [[package]]
17 name = "axum"
18- version = "0.7.9"
19+ version = "0.8.4"
20 source = "registry+https://github.com/rust-lang/crates.io-index"
21- checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
22+ checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5"
23 dependencies = [
24- "async-trait",
25 "axum-core",
26 "axum-macros",
27 "bytes",
28+ "form_urlencoded",
29 "futures-util",
30 "http",
31 "http-body",
32 @@ -256,13 +256,12 @@ dependencies = [
33
34 [[package]]
35 name = "axum-core"
36- version = "0.4.5"
37+ version = "0.5.2"
38 source = "registry+https://github.com/rust-lang/crates.io-index"
39- checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
40+ checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6"
41 dependencies = [
42- "async-trait",
43 "bytes",
44- "futures-util",
45+ "futures-core",
46 "http",
47 "http-body",
48 "http-body-util",
49 @@ -277,25 +276,26 @@ dependencies = [
50
51 [[package]]
52 name = "axum-extra"
53- version = "0.9.6"
54+ version = "0.10.1"
55 source = "registry+https://github.com/rust-lang/crates.io-index"
56- checksum = "c794b30c904f0a1c2fb7740f7df7f7972dfaa14ef6f57cb6178dc63e5dca2f04"
57+ checksum = "45bf463831f5131b7d3c756525b305d40f1185b688565648a92e1392ca35713d"
58 dependencies = [
59 "axum",
60 "axum-core",
61 "bytes",
62 "cookie",
63- "fastrand",
64+ "form_urlencoded",
65 "futures-util",
66 "headers",
67 "http",
68 "http-body",
69 "http-body-util",
70 "mime",
71- "multer",
72 "pin-project-lite",
73+ "rustversion",
74 "serde",
75 "serde_html_form",
76+ "serde_path_to_error",
77 "tower",
78 "tower-layer",
79 "tower-service",
80 @@ -303,9 +303,9 @@ dependencies = [
81
82 [[package]]
83 name = "axum-macros"
84- version = "0.4.2"
85+ version = "0.5.0"
86 source = "registry+https://github.com/rust-lang/crates.io-index"
87- checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce"
88+ checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c"
89 dependencies = [
90 "proc-macro2",
91 "quote",
92 @@ -326,7 +326,7 @@ dependencies = [
93 "ayllu_git",
94 "bytes",
95 "cc",
96- "clap 4.5.38",
97+ "clap 4.5.40",
98 "comrak",
99 "file-mode",
100 "futures",
101 @@ -341,8 +341,8 @@ dependencies = [
102 "mime_guess",
103 "openssh-keys",
104 "plotters",
105- "quick-xml",
106- "rand",
107+ "quick-xml 0.38.0",
108+ "rand 0.9.1",
109 "rss",
110 "serde",
111 "serde_json",
112 @@ -355,7 +355,7 @@ dependencies = [
113 "tokio",
114 "tokio-stream",
115 "tokio-util",
116- "toml 0.8.22",
117+ "toml 0.8.23",
118 "tower",
119 "tower-http",
120 "tracing",
121 @@ -363,7 +363,7 @@ dependencies = [
122 "tree-sitter",
123 "tree-sitter-highlight",
124 "url",
125- "webfinger-rs",
126+ "webfinger-rs 0.0.13",
127 ]
128
129 [[package]]
130 @@ -378,13 +378,13 @@ dependencies = [
131 name = "ayllu_config"
132 version = "0.2.1"
133 dependencies = [
134- "clap 4.5.38",
135+ "clap 4.5.40",
136 "log",
137 "serde",
138 "serde_json",
139 "tempfile",
140 "thiserror 2.0.12",
141- "toml 0.8.22",
142+ "toml 0.8.23",
143 "toml_edit",
144 ]
145
146 @@ -393,7 +393,7 @@ name = "ayllu_git"
147 version = "0.2.1"
148 dependencies = [
149 "git2",
150- "rand",
151+ "rand 0.9.1",
152 "serde",
153 "tokio",
154 "tracing",
155 @@ -520,9 +520,9 @@ dependencies = [
156
157 [[package]]
158 name = "cfg-if"
159- version = "1.0.0"
160+ version = "1.0.1"
161 source = "registry+https://github.com/rust-lang/crates.io-index"
162- checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
163+ checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
164
165 [[package]]
166 name = "chrono"
167 @@ -578,9 +578,9 @@ dependencies = [
168
169 [[package]]
170 name = "clap"
171- version = "4.5.38"
172+ version = "4.5.40"
173 source = "registry+https://github.com/rust-lang/crates.io-index"
174- checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000"
175+ checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f"
176 dependencies = [
177 "clap_builder",
178 "clap_derive",
179 @@ -588,9 +588,9 @@ dependencies = [
180
181 [[package]]
182 name = "clap_builder"
183- version = "4.5.38"
184+ version = "4.5.40"
185 source = "registry+https://github.com/rust-lang/crates.io-index"
186- checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120"
187+ checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e"
188 dependencies = [
189 "anstream",
190 "anstyle",
191 @@ -604,14 +604,14 @@ version = "4.5.50"
192 source = "registry+https://github.com/rust-lang/crates.io-index"
193 checksum = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1"
194 dependencies = [
195- "clap 4.5.38",
196+ "clap 4.5.40",
197 ]
198
199 [[package]]
200 name = "clap_derive"
201- version = "4.5.32"
202+ version = "4.5.40"
203 source = "registry+https://github.com/rust-lang/crates.io-index"
204- checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
205+ checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce"
206 dependencies = [
207 "heck",
208 "proc-macro2",
209 @@ -639,16 +639,13 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
210
211 [[package]]
212 name = "comrak"
213- version = "0.29.0"
214+ version = "0.39.1"
215 source = "registry+https://github.com/rust-lang/crates.io-index"
216- checksum = "d8c32ff8b21372fab0e9ecc4e42536055702dc5faa418362bffd1544f9d12637"
217+ checksum = "2fefab951771fc3beeed0773ce66a4f7b706273fc6c4c95b08dd1615744abcf5"
218 dependencies = [
219 "caseless",
220- "derive_builder",
221 "entities",
222 "memchr",
223- "once_cell",
224- "regex",
225 "slug",
226 "typed-arena",
227 "unicode_categories",
228 @@ -983,6 +980,12 @@ dependencies = [
229 ]
230
231 [[package]]
232+ name = "dyn-clone"
233+ version = "1.0.19"
234+ source = "registry+https://github.com/rust-lang/crates.io-index"
235+ checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
236+
237+ [[package]]
238 name = "either"
239 version = "1.15.0"
240 source = "registry+https://github.com/rust-lang/crates.io-index"
241 @@ -1414,11 +1417,11 @@ checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
242
243 [[package]]
244 name = "headers"
245- version = "0.4.0"
246+ version = "0.4.1"
247 source = "registry+https://github.com/rust-lang/crates.io-index"
248- checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9"
249+ checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb"
250 dependencies = [
251- "base64 0.21.7",
252+ "base64 0.22.1",
253 "bytes",
254 "headers-core",
255 "http",
256 @@ -1580,22 +1583,28 @@ dependencies = [
257
258 [[package]]
259 name = "hyper-util"
260- version = "0.1.12"
261+ version = "0.1.13"
262 source = "registry+https://github.com/rust-lang/crates.io-index"
263- checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710"
264+ checksum = "b1c293b6b3d21eca78250dc7dbebd6b9210ec5530e038cbfe0661b5c47ab06e8"
265 dependencies = [
266+ "base64 0.22.1",
267 "bytes",
268 "futures-channel",
269+ "futures-core",
270 "futures-util",
271 "http",
272 "http-body",
273 "hyper",
274+ "ipnet",
275 "libc",
276+ "percent-encoding",
277 "pin-project-lite",
278 "socket2",
279+ "system-configuration",
280 "tokio",
281 "tower-service",
282 "tracing",
283+ "windows-registry",
284 ]
285
286 [[package]]
287 @@ -1817,12 +1826,33 @@ dependencies = [
288 ]
289
290 [[package]]
291+ name = "io-uring"
292+ version = "0.7.8"
293+ source = "registry+https://github.com/rust-lang/crates.io-index"
294+ checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013"
295+ dependencies = [
296+ "bitflags 2.9.1",
297+ "cfg-if",
298+ "libc",
299+ ]
300+
301+ [[package]]
302 name = "ipnet"
303 version = "2.11.0"
304 source = "registry+https://github.com/rust-lang/crates.io-index"
305 checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
306
307 [[package]]
308+ name = "iri-string"
309+ version = "0.7.8"
310+ source = "registry+https://github.com/rust-lang/crates.io-index"
311+ checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2"
312+ dependencies = [
313+ "memchr",
314+ "serde",
315+ ]
316+
317+ [[package]]
318 name = "is_terminal_polyfill"
319 version = "1.70.1"
320 source = "registry+https://github.com/rust-lang/crates.io-index"
321 @@ -1909,12 +1939,12 @@ dependencies = [
322
323 [[package]]
324 name = "libloading"
325- version = "0.8.7"
326+ version = "0.8.8"
327 source = "registry+https://github.com/rust-lang/crates.io-index"
328- checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c"
329+ checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
330 dependencies = [
331 "cfg-if",
332- "windows-targets 0.53.0",
333+ "windows-targets 0.48.5",
334 ]
335
336 [[package]]
337 @@ -1979,9 +2009,9 @@ checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5"
338
339 [[package]]
340 name = "lock_api"
341- version = "0.4.12"
342+ version = "0.4.13"
343 source = "registry+https://github.com/rust-lang/crates.io-index"
344- checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
345+ checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
346 dependencies = [
347 "autocfg",
348 "scopeguard",
349 @@ -2004,9 +2034,9 @@ dependencies = [
350
351 [[package]]
352 name = "matchit"
353- version = "0.7.3"
354+ version = "0.8.4"
355 source = "registry+https://github.com/rust-lang/crates.io-index"
356- checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
357+ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
358
359 [[package]]
360 name = "md-5"
361 @@ -2020,9 +2050,9 @@ dependencies = [
362
363 [[package]]
364 name = "memchr"
365- version = "2.7.4"
366+ version = "2.7.5"
367 source = "registry+https://github.com/rust-lang/crates.io-index"
368- checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
369+ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
370
371 [[package]]
372 name = "memmap2"
373 @@ -2061,30 +2091,13 @@ dependencies = [
374
375 [[package]]
376 name = "mio"
377- version = "1.0.3"
378+ version = "1.0.4"
379 source = "registry+https://github.com/rust-lang/crates.io-index"
380- checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
381+ checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
382 dependencies = [
383 "libc",
384 "wasi 0.11.0+wasi-snapshot-preview1",
385- "windows-sys 0.52.0",
386- ]
387-
388- [[package]]
389- name = "multer"
390- version = "3.1.0"
391- source = "registry+https://github.com/rust-lang/crates.io-index"
392- checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b"
393- dependencies = [
394- "bytes",
395- "encoding_rs",
396- "futures-util",
397- "http",
398- "httparse",
399- "memchr",
400- "mime",
401- "spin",
402- "version_check",
403+ "windows-sys 0.59.0",
404 ]
405
406 [[package]]
407 @@ -2157,18 +2170,18 @@ dependencies = [
408
409 [[package]]
410 name = "nutype"
411- version = "0.5.1"
412+ version = "0.6.1"
413 source = "registry+https://github.com/rust-lang/crates.io-index"
414- checksum = "0f1ea9dc0315b5f4a6bda53b4602f4c77f877ac37f427d640a7f647bfba8edb6"
415+ checksum = "3340cb6773b0794ecb3f62ff66631d580f57151d9415c10ee8a27a357aeb998b"
416 dependencies = [
417 "nutype_macros",
418 ]
419
420 [[package]]
421 name = "nutype_macros"
422- version = "0.5.1"
423+ version = "0.6.1"
424 source = "registry+https://github.com/rust-lang/crates.io-index"
425- checksum = "23ebae17472b925d6a64837074e3f3ebe479f6bc4efaf673974a48adb90244d2"
426+ checksum = "35c955e27d02868fe90b9c2dc901661fd7ed67ec382782bdc67c6aa8d2e957a9"
427 dependencies = [
428 "cfg-if",
429 "kinded",
430 @@ -2276,12 +2289,12 @@ dependencies = [
431
432 [[package]]
433 name = "parking_lot"
434- version = "0.12.3"
435+ version = "0.12.4"
436 source = "registry+https://github.com/rust-lang/crates.io-index"
437- checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
438+ checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
439 dependencies = [
440 "lock_api",
441- "parking_lot_core 0.9.10",
442+ "parking_lot_core 0.9.11",
443 ]
444
445 [[package]]
446 @@ -2300,9 +2313,9 @@ dependencies = [
447
448 [[package]]
449 name = "parking_lot_core"
450- version = "0.9.10"
451+ version = "0.9.11"
452 source = "registry+https://github.com/rust-lang/crates.io-index"
453- checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
454+ checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
455 dependencies = [
456 "cfg-if",
457 "libc",
458 @@ -2416,7 +2429,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
459 checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
460 dependencies = [
461 "phf_shared",
462- "rand",
463+ "rand 0.8.5",
464 ]
465
466 [[package]]
467 @@ -2549,13 +2562,23 @@ dependencies = [
468 ]
469
470 [[package]]
471+ name = "quick-xml"
472+ version = "0.38.0"
473+ source = "registry+https://github.com/rust-lang/crates.io-index"
474+ checksum = "8927b0664f5c5a98265138b7e3f90aa19a6b21353182469ace36d4ac527b7b1b"
475+ dependencies = [
476+ "encoding_rs",
477+ "memchr",
478+ ]
479+
480+ [[package]]
481 name = "quipu"
482 version = "0.2.1"
483 dependencies = [
484 "ayllu_api",
485 "ayllu_config",
486 "ayllu_git",
487- "clap 4.5.38",
488+ "clap 4.5.40",
489 "clap_complete",
490 "reqwest",
491 "serde",
492 @@ -2564,7 +2587,7 @@ dependencies = [
493 "tracing",
494 "tracing-subscriber",
495 "url",
496- "webfinger-rs",
497+ "webfinger-rs 0.0.18",
498 ]
499
500 [[package]]
501 @@ -2589,8 +2612,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
502 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
503 dependencies = [
504 "libc",
505- "rand_chacha",
506- "rand_core",
507+ "rand_chacha 0.3.1",
508+ "rand_core 0.6.4",
509+ ]
510+
511+ [[package]]
512+ name = "rand"
513+ version = "0.9.1"
514+ source = "registry+https://github.com/rust-lang/crates.io-index"
515+ checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
516+ dependencies = [
517+ "rand_chacha 0.9.0",
518+ "rand_core 0.9.3",
519 ]
520
521 [[package]]
522 @@ -2600,7 +2633,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
523 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
524 dependencies = [
525 "ppv-lite86",
526- "rand_core",
527+ "rand_core 0.6.4",
528+ ]
529+
530+ [[package]]
531+ name = "rand_chacha"
532+ version = "0.9.0"
533+ source = "registry+https://github.com/rust-lang/crates.io-index"
534+ checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
535+ dependencies = [
536+ "ppv-lite86",
537+ "rand_core 0.9.3",
538 ]
539
540 [[package]]
541 @@ -2613,6 +2656,15 @@ dependencies = [
542 ]
543
544 [[package]]
545+ name = "rand_core"
546+ version = "0.9.3"
547+ source = "registry+https://github.com/rust-lang/crates.io-index"
548+ checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
549+ dependencies = [
550+ "getrandom 0.3.3",
551+ ]
552+
553+ [[package]]
554 name = "rayon"
555 version = "1.10.0"
556 source = "registry+https://github.com/rust-lang/crates.io-index"
557 @@ -2662,6 +2714,26 @@ dependencies = [
558 ]
559
560 [[package]]
561+ name = "ref-cast"
562+ version = "1.0.24"
563+ source = "registry+https://github.com/rust-lang/crates.io-index"
564+ checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf"
565+ dependencies = [
566+ "ref-cast-impl",
567+ ]
568+
569+ [[package]]
570+ name = "ref-cast-impl"
571+ version = "1.0.24"
572+ source = "registry+https://github.com/rust-lang/crates.io-index"
573+ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7"
574+ dependencies = [
575+ "proc-macro2",
576+ "quote",
577+ "syn",
578+ ]
579+
580+ [[package]]
581 name = "regex"
582 version = "1.11.1"
583 source = "registry+https://github.com/rust-lang/crates.io-index"
584 @@ -2707,15 +2779,14 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
585
586 [[package]]
587 name = "reqwest"
588- version = "0.12.15"
589+ version = "0.12.22"
590 source = "registry+https://github.com/rust-lang/crates.io-index"
591- checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
592+ checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531"
593 dependencies = [
594 "base64 0.22.1",
595 "bytes",
596 "encoding_rs",
597 "futures-core",
598- "futures-util",
599 "h2",
600 "http",
601 "http-body",
602 @@ -2724,29 +2795,26 @@ dependencies = [
603 "hyper-rustls",
604 "hyper-tls",
605 "hyper-util",
606- "ipnet",
607 "js-sys",
608 "log",
609 "mime",
610 "native-tls",
611- "once_cell",
612 "percent-encoding",
613 "pin-project-lite",
614- "rustls-pemfile",
615+ "rustls-pki-types",
616 "serde",
617 "serde_json",
618 "serde_urlencoded",
619 "sync_wrapper",
620- "system-configuration",
621 "tokio",
622 "tokio-native-tls",
623 "tower",
624+ "tower-http",
625 "tower-service",
626 "url",
627 "wasm-bindgen",
628 "wasm-bindgen-futures",
629 "web-sys",
630- "windows-registry",
631 ]
632
633 [[package]]
634 @@ -2772,7 +2840,7 @@ dependencies = [
635 "atom_syndication",
636 "derive_builder",
637 "never",
638- "quick-xml",
639+ "quick-xml 0.37.5",
640 ]
641
642 [[package]]
643 @@ -2823,15 +2891,6 @@ dependencies = [
644 ]
645
646 [[package]]
647- name = "rustls-pemfile"
648- version = "2.2.0"
649- source = "registry+https://github.com/rust-lang/crates.io-index"
650- checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
651- dependencies = [
652- "rustls-pki-types",
653- ]
654-
655- [[package]]
656 name = "rustls-pki-types"
657 version = "1.12.0"
658 source = "registry+https://github.com/rust-lang/crates.io-index"
659 @@ -2853,9 +2912,9 @@ dependencies = [
660
661 [[package]]
662 name = "rustversion"
663- version = "1.0.20"
664+ version = "1.0.21"
665 source = "registry+https://github.com/rust-lang/crates.io-index"
666- checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
667+ checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
668
669 [[package]]
670 name = "ryu"
671 @@ -2882,6 +2941,30 @@ dependencies = [
672 ]
673
674 [[package]]
675+ name = "schemars"
676+ version = "0.9.0"
677+ source = "registry+https://github.com/rust-lang/crates.io-index"
678+ checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
679+ dependencies = [
680+ "dyn-clone",
681+ "ref-cast",
682+ "serde",
683+ "serde_json",
684+ ]
685+
686+ [[package]]
687+ name = "schemars"
688+ version = "1.0.4"
689+ source = "registry+https://github.com/rust-lang/crates.io-index"
690+ checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
691+ dependencies = [
692+ "dyn-clone",
693+ "ref-cast",
694+ "serde",
695+ "serde_json",
696+ ]
697+
698+ [[package]]
699 name = "scopeguard"
700 version = "1.2.0"
701 source = "registry+https://github.com/rust-lang/crates.io-index"
702 @@ -2974,9 +3057,9 @@ dependencies = [
703
704 [[package]]
705 name = "serde_spanned"
706- version = "0.6.8"
707+ version = "0.6.9"
708 source = "registry+https://github.com/rust-lang/crates.io-index"
709- checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
710+ checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
711 dependencies = [
712 "serde",
713 ]
714 @@ -2995,15 +3078,17 @@ dependencies = [
715
716 [[package]]
717 name = "serde_with"
718- version = "3.12.0"
719+ version = "3.14.0"
720 source = "registry+https://github.com/rust-lang/crates.io-index"
721- checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa"
722+ checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5"
723 dependencies = [
724 "base64 0.22.1",
725 "chrono",
726 "hex",
727 "indexmap 1.9.3",
728 "indexmap 2.9.0",
729+ "schemars 0.9.0",
730+ "schemars 1.0.4",
731 "serde",
732 "serde_derive",
733 "serde_json",
734 @@ -3013,9 +3098,9 @@ dependencies = [
735
736 [[package]]
737 name = "serde_with_macros"
738- version = "3.12.0"
739+ version = "3.14.0"
740 source = "registry+https://github.com/rust-lang/crates.io-index"
741- checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e"
742+ checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f"
743 dependencies = [
744 "darling",
745 "proc-macro2",
746 @@ -3108,21 +3193,15 @@ checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
747
748 [[package]]
749 name = "socket2"
750- version = "0.5.9"
751+ version = "0.5.10"
752 source = "registry+https://github.com/rust-lang/crates.io-index"
753- checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
754+ checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
755 dependencies = [
756 "libc",
757 "windows-sys 0.52.0",
758 ]
759
760 [[package]]
761- name = "spin"
762- version = "0.9.8"
763- source = "registry+https://github.com/rust-lang/crates.io-index"
764- checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
765-
766- [[package]]
767 name = "stable_deref_trait"
768 version = "1.2.0"
769 source = "registry+https://github.com/rust-lang/crates.io-index"
770 @@ -3240,7 +3319,7 @@ dependencies = [
771 "percent-encoding",
772 "pest",
773 "pest_derive",
774- "rand",
775+ "rand 0.8.5",
776 "regex",
777 "serde",
778 "serde_json",
779 @@ -3419,17 +3498,19 @@ dependencies = [
780
781 [[package]]
782 name = "tokio"
783- version = "1.45.0"
784+ version = "1.46.1"
785 source = "registry+https://github.com/rust-lang/crates.io-index"
786- checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
787+ checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17"
788 dependencies = [
789 "backtrace",
790 "bytes",
791+ "io-uring",
792 "libc",
793 "mio",
794- "parking_lot 0.12.3",
795+ "parking_lot 0.12.4",
796 "pin-project-lite",
797 "signal-hook-registry",
798+ "slab",
799 "socket2",
800 "tokio-macros",
801 "windows-sys 0.52.0",
802 @@ -3502,9 +3583,9 @@ dependencies = [
803
804 [[package]]
805 name = "toml"
806- version = "0.8.22"
807+ version = "0.8.23"
808 source = "registry+https://github.com/rust-lang/crates.io-index"
809- checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
810+ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
811 dependencies = [
812 "serde",
813 "serde_spanned",
814 @@ -3514,18 +3595,18 @@ dependencies = [
815
816 [[package]]
817 name = "toml_datetime"
818- version = "0.6.9"
819+ version = "0.6.11"
820 source = "registry+https://github.com/rust-lang/crates.io-index"
821- checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
822+ checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
823 dependencies = [
824 "serde",
825 ]
826
827 [[package]]
828 name = "toml_edit"
829- version = "0.22.26"
830+ version = "0.22.27"
831 source = "registry+https://github.com/rust-lang/crates.io-index"
832- checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
833+ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
834 dependencies = [
835 "indexmap 2.9.0",
836 "serde",
837 @@ -3537,9 +3618,9 @@ dependencies = [
838
839 [[package]]
840 name = "toml_write"
841- version = "0.1.1"
842+ version = "0.1.2"
843 source = "registry+https://github.com/rust-lang/crates.io-index"
844- checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
845+ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
846
847 [[package]]
848 name = "tower"
849 @@ -3559,15 +3640,18 @@ dependencies = [
850
851 [[package]]
852 name = "tower-http"
853- version = "0.6.4"
854+ version = "0.6.6"
855 source = "registry+https://github.com/rust-lang/crates.io-index"
856- checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e"
857+ checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
858 dependencies = [
859 "bitflags 2.9.1",
860 "bytes",
861+ "futures-util",
862 "http",
863 "http-body",
864+ "iri-string",
865 "pin-project-lite",
866+ "tower",
867 "tower-layer",
868 "tower-service",
869 "tracing",
870 @@ -3649,9 +3733,9 @@ dependencies = [
871
872 [[package]]
873 name = "tree-sitter"
874- version = "0.25.4"
875+ version = "0.25.6"
876 source = "registry+https://github.com/rust-lang/crates.io-index"
877- checksum = "69aff09fea9a41fb061ae6b206cb87cac1b8db07df31be3ba271fbc26760f213"
878+ checksum = "a7cf18d43cbf0bfca51f657132cc616a5097edc4424d538bae6fa60142eaf9f0"
879 dependencies = [
880 "cc",
881 "regex",
882 @@ -3663,9 +3747,9 @@ dependencies = [
883
884 [[package]]
885 name = "tree-sitter-highlight"
886- version = "0.25.4"
887+ version = "0.25.6"
888 source = "registry+https://github.com/rust-lang/crates.io-index"
889- checksum = "ba3bdc761dfa6b50677cd1bb23b55571d3902c54671c952f7147da2642e15248"
890+ checksum = "6eea684ab5dd71e19f6c0add355be96f2b4eb58327cb305337415208681761aa"
891 dependencies = [
892 "regex",
893 "streaming-iterator",
894 @@ -3981,9 +4065,9 @@ dependencies = [
895
896 [[package]]
897 name = "webfinger-rs"
898- version = "0.0.12"
899+ version = "0.0.13"
900 source = "registry+https://github.com/rust-lang/crates.io-index"
901- checksum = "a824b603913432754acb5eb98dc33ba96e35a2889a4efe72e0c8b6d6ec815cef"
902+ checksum = "a6f7d55f92d53d3a5211d7a0a594acf1acc763618b56b88ea01e7bc2fe791343"
903 dependencies = [
904 "async-convert",
905 "axum",
906 @@ -3992,11 +4076,28 @@ dependencies = [
907 "http",
908 "nutype",
909 "percent-encoding",
910+ "serde",
911+ "serde_json",
912+ "serde_with",
913+ "thiserror 2.0.12",
914+ "tracing",
915+ ]
916+
917+ [[package]]
918+ name = "webfinger-rs"
919+ version = "0.0.18"
920+ source = "registry+https://github.com/rust-lang/crates.io-index"
921+ checksum = "8802378880f71fd8ead0d6ee84ea4df845f0b1dd76070ebe885ef590fab0320b"
922+ dependencies = [
923+ "async-convert",
924+ "http",
925+ "nutype",
926+ "percent-encoding",
927 "reqwest",
928 "serde",
929 "serde_json",
930 "serde_with",
931- "thiserror 1.0.69",
932+ "thiserror 2.0.12",
933 "tracing",
934 ]
935
936 @@ -4028,7 +4129,7 @@ version = "0.1.9"
937 source = "registry+https://github.com/rust-lang/crates.io-index"
938 checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
939 dependencies = [
940- "windows-sys 0.59.0",
941+ "windows-sys 0.48.0",
942 ]
943
944 [[package]]
945 diff --git a/Cargo.toml b/Cargo.toml
946index 9fd5219..2c4f50a 100644
947--- a/Cargo.toml
948+++ b/Cargo.toml
949 @@ -21,19 +21,19 @@ members = [
950 [workspace.dependencies]
951 async-trait = "0.1.88"
952 bytes = "1.10.1"
953- clap = { version = "4.5.20", features = ["derive"] }
954+ clap = { version = "4.4.18", features = ["derive"] }
955 clap_complete = { version = "4.4.10" }
956 serde = { version = "1.0", features = ["derive"] }
957 git2 = "0.20.2"
958- rand = "0.8.5"
959+ rand = "0.9.1"
960 thiserror = "2.0.12"
961 tracing = { version = "0.1.41", features=["log"] }
962- toml = "0.8.22"
963+ toml = "0.8.23"
964 futures = "0.3.31"
965 futures-util = "0.3.31"
966 sqlx = { version = "0.8.6", features = [ "runtime-tokio-rustls", "sqlite", "macros", "time" ] }
967 tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
968
969- tokio = { version = "1.45.0", features = ["full"] }
970+ tokio = { version = "1.46.1", features = ["full"] }
971 tokio-util = { version = "0.7.15", features = ["io", "compat"] }
972 tokio-stream = "0.1.17"
973 diff --git a/ayllu/Cargo.toml b/ayllu/Cargo.toml
974index bc7aeb2..98f3fe2 100644
975--- a/ayllu/Cargo.toml
976+++ b/ayllu/Cargo.toml
977 @@ -27,9 +27,9 @@ tokio-util = { workspace = true }
978
979
980 serde = { version = "1.0", features = ["derive"] }
981- comrak = { version = "0.29.0", default-features = false }
982+ comrak = { version = "0.39.1", default-features = false }
983 url = "2.5.4"
984- tree-sitter-highlight = "0.25.4"
985+ tree-sitter-highlight = "0.25.6"
986 tokei = "12.1.2"
987 time = "0.3.41"
988 time-macros = "0.2.22"
989 @@ -37,26 +37,26 @@ file-mode = "0.1.2"
990 lazy_static = "1.5.0"
991 mime_guess = "2.0.5"
992 serde_json = "1.0.140"
993- tree-sitter = "0.25.4"
994+ tree-sitter = "0.25.6"
995 plotters = "0.3.7"
996 tabwriter = "1.4.1"
997- libloading = "0.8.7"
998+ libloading = "0.8.8"
999 log = "0.4.27"
1000 rss = "2.0.12"
1001 globwalk = "0.9.1"
1002 anyhow = "1.0.98"
1003- axum = { version = "0.7.9", features = ["macros"] }
1004- axum-extra = { version = "0.9.6", features = ["cookie", "typed-header"] }
1005- tower-http = { version = "0.6.4", features = ["tracing", "add-extension", "trace", "normalize-path"] }
1006+ axum = { version = "0.8.4", features = ["macros"] }
1007+ axum-extra = { version = "0.10.1", features = ["cookie", "typed-header"] }
1008+ tower-http = { version = "0.6.6", features = ["tracing", "add-extension", "trace", "normalize-path"] }
1009 tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
1010 tower = { version = "0.5.2", features = ["util", "timeout", "tracing"] }
1011 mime = "0.3.17"
1012 httparse = "1.10.1"
1013- headers = "0.4.0"
1014+ headers = "0.4.1"
1015 include_dir = { version = "0.7.4", features = ["glob"] }
1016- webfinger-rs = { version = "0.0.12", features = ["axum"] }
1017+ webfinger-rs = { version = "0.0.13", features = ["axum"] }
1018
1019- quick-xml = { version = "0.37.5", features = ["encoding"] }
1020+ quick-xml = { version = "0.38.0", features = ["encoding"] }
1021 askama = { version = "0.14.0" }
1022 openssh-keys = "0.6.4"
1023
1024 diff --git a/ayllu/src/web2/extractors/config.rs b/ayllu/src/web2/extractors/config.rs
1025index 9af222e..6f78236 100644
1026--- a/ayllu/src/web2/extractors/config.rs
1027+++ b/ayllu/src/web2/extractors/config.rs
1028 @@ -1,5 +1,4 @@
1029 use axum::{
1030- async_trait,
1031 extract::FromRequestParts,
1032 http::request::Parts,
1033 response::{IntoResponse, Response},
1034 @@ -11,7 +10,6 @@ use crate::web2::config::Config;
1035
1036 pub struct ConfigReader(pub Config);
1037
1038- #[async_trait]
1039 impl<S> FromRequestParts<S> for ConfigReader
1040 where
1041 S: Send + Sync,
1042 diff --git a/ayllu/src/web2/routes/log.rs b/ayllu/src/web2/routes/log.rs
1043index b648da2..4882cbe 100644
1044--- a/ayllu/src/web2/routes/log.rs
1045+++ b/ayllu/src/web2/routes/log.rs
1046 @@ -35,7 +35,7 @@ pub async fn serve(
1047 Extension(preamble): Extension<Preamble>,
1048 ConfigReader(config): ConfigReader,
1049 Extension(mut base): Extension<Base>,
1050- params: Option<Query<HashMap<String, String>>>,
1051+ params: Query<Option<HashMap<String, String>>>,
1052 ) -> Result<Html<String>, Error> {
1053 let repository = Wrapper::new(preamble.repo_path.as_path())?;
1054 base.nav_elements =
1055 @@ -74,11 +74,9 @@ pub async fn serve(
1056 base.title = format!("Log: {}", preamble.repo_name);
1057 let commits = repository.log(Selector {
1058 commit: preamble.latest_commit_id.clone(),
1059- username: params
1060- .clone()
1061+ username: params.as_ref()
1062 .and_then(|params| params.get("username").cloned()),
1063- email: params
1064- .clone()
1065+ email: params.as_ref()
1066 .and_then(|params| params.get("email").cloned()),
1067 limit: Some(config.items_per_page as i64),
1068 })?;
1069 diff --git a/ayllu/src/web2/server.rs b/ayllu/src/web2/server.rs
1070index bd822ff..4bd141c 100644
1071--- a/ayllu/src/web2/server.rs
1072+++ b/ayllu/src/web2/server.rs
1073 @@ -86,12 +86,11 @@ pub async fn serve(cfg: &Config) -> Result<(), Box<dyn Error>> {
1074 let app = NormalizePathLayer::trim_trailing_slash().layer(
1075 Router::new()
1076 .route("/robots.txt", routing::get(robots::serve))
1077- .nest(
1078- "/",
1079+ .merge(
1080 Router::new()
1081 .route("/", routing::get(index::index))
1082 .route("/browse", routing::get(index::index))
1083- .route("/:collection", routing::get(index::collection))
1084+ .route("/{collection}", routing::get(index::collection))
1085 .route("/rss/firehose.xml", routing::get(rss::feed_firehose))
1086 .route("/rss/1d.xml", routing::get(rss::feed_1d))
1087 .route("/rss/1w.xml", routing::get(rss::feed_1w))
1088 @@ -106,7 +105,7 @@ pub async fn serve(cfg: &Config) -> Result<(), Box<dyn Error>> {
1089 .route("/ping", routing::get(ping::serve)),
1090 )
1091 .nest(
1092- "/:collection/:name",
1093+ "/{collection}/{name}",
1094 Router::new()
1095 .route("/", routing::get(repo::serve))
1096 .route(
1097 @@ -116,22 +115,22 @@ pub async fn serve(cfg: &Config) -> Result<(), Box<dyn Error>> {
1098 .route("/rss/1d.xml", routing::get(rss::feed_repository_1d))
1099 .route("/rss/1w.xml", routing::get(rss::feed_repository_1w))
1100 .route("/rss/1m.xml", routing::get(rss::feed_repository_1m))
1101- .route("/commit/:commit_id", routing::get(commit::serve))
1102- .route("/tree/:commitish", routing::get(repo::serve))
1103- .route("/tree/:commitish/*file_path", routing::get(repo::serve))
1104+ .route("/commit/{commit_id}", routing::get(commit::serve))
1105+ .route("/tree/{commitish}", routing::get(repo::serve))
1106+ .route("/tree/{commitish}/{*file_path}", routing::get(repo::serve))
1107 .route("/log", routing::get(log_route::serve))
1108- .route("/log/:commitish", routing::get(log_route::serve))
1109- .route("/log/:commitish/*file_path", routing::get(log_route::serve))
1110- .route("/blob/:commitish/*file_path", routing::get(blob::serve))
1111- .route("/raw/:commitish/*file_path", routing::get(blob::serve_raw))
1112+ .route("/log/{commitish}", routing::get(log_route::serve))
1113+ .route("/log/{commitish}/{*file_path}", routing::get(log_route::serve))
1114+ .route("/blob/{commitish}/{*file_path}", routing::get(blob::serve))
1115+ .route("/raw/{commitish}/{*file_path}", routing::get(blob::serve_raw))
1116 .route("/refs", routing::get(refs::refs))
1117- .route("/refs/tag/:tag_id", routing::get(refs::tag))
1118- .route("/refs/archive/:ref_id", routing::get(refs::archive))
1119+ .route("/refs/tag/{tag_id}", routing::get(refs::tag))
1120+ .route("/refs/archive/{ref_id}", routing::get(refs::archive))
1121 // git smart http clone
1122 // /(HEAD|info/refs|objects/info/.*|git-upload-pack).*$
1123 .route("/HEAD", routing::get(git::handle))
1124 .route("/info/refs", routing::get(git::handle))
1125- .route("/objects/info/:id", routing::get(git::handle))
1126+ .route("/objects/info/{id}", routing::get(git::handle))
1127 .route(
1128 "/git-upload-pack",
1129 routing::on(MethodFilter::GET.or(MethodFilter::POST), git::handle),
1130 diff --git a/crates/config/Cargo.toml b/crates/config/Cargo.toml
1131index 4c5eb71..9d1a6ca 100644
1132--- a/crates/config/Cargo.toml
1133+++ b/crates/config/Cargo.toml
1134 @@ -9,7 +9,7 @@ edition = "2021"
1135 toml = { workspace = true }
1136 serde = { workspace = true }
1137 log = "0.4.27"
1138- toml_edit = { version = "0.22.26", features = ["serde"] }
1139+ toml_edit = { version = "0.22.27", features = ["serde"] }
1140 thiserror = {workspace = true }
1141 clap = { workspace = true }
1142 serde_json = "1.0.140"
1143 diff --git a/crates/git/src/testing.rs b/crates/git/src/testing.rs
1144index 32da0d0..a3b5110 100644
1145--- a/crates/git/src/testing.rs
1146+++ b/crates/git/src/testing.rs
1147 @@ -3,7 +3,7 @@ use std::io::Error;
1148 use std::path::PathBuf;
1149 use std::process::Command;
1150
1151- use rand::{distributions::Alphanumeric, Rng};
1152+ use rand::{distr::Alphanumeric, Rng};
1153
1154 const DEFAULT_GIT_CONFIG: &str = r#"
1155 [user]
1156 @@ -16,10 +16,7 @@ const DEFAULT_GIT_CONFIG: &str = r#"
1157
1158 /// return escaped shell variables with timestamps for use in testing
1159 pub fn timestamp_envs(timestamp: &str) -> String {
1160- format!(
1161- "GIT_COMMITTER_DATE='{}' GIT_AUTHOR_DATE='{}'",
1162- timestamp, timestamp
1163- )
1164+ format!("GIT_COMMITTER_DATE='{timestamp}' GIT_AUTHOR_DATE='{timestamp}'",)
1165 }
1166
1167 /// Helper struct that will setup a Git repository and then run a series of
1168 @@ -56,12 +53,12 @@ impl Builder {
1169 }
1170
1171 pub fn build(&mut self) -> Result<(String, PathBuf), Error> {
1172- let rand_id: String = rand::thread_rng()
1173+ let rand_id: String = rand::rng()
1174 .sample_iter(&Alphanumeric)
1175 .take(12)
1176 .map(char::from)
1177 .collect();
1178- let unique_name = format!("test-repo-{}", rand_id);
1179+ let unique_name = format!("test-repo-{rand_id}");
1180 let base_path = if let Some(base_path) = self.base_path.as_ref() {
1181 base_path.join(&unique_name)
1182 } else {
1183 diff --git a/crates/git/src/wrapper.rs b/crates/git/src/wrapper.rs
1184index e830b8a..e7a107c 100644
1185--- a/crates/git/src/wrapper.rs
1186+++ b/crates/git/src/wrapper.rs
1187 @@ -10,7 +10,7 @@ use git2::{
1188 BlameOptions, BranchType, DiffFormat, ErrorCode as GitErrorCode, ObjectType, Oid,
1189 ReferenceType, Repository, Sort, Tree, TreeEntry,
1190 };
1191- use rand::{distributions::Alphanumeric, Rng};
1192+ use rand::{distr::Alphanumeric, Rng};
1193 use tracing::log;
1194
1195 use crate::config;
1196 @@ -324,7 +324,7 @@ impl Wrapper {
1197 F: FnMut(&str) -> Result<(), Error>,
1198 {
1199 let mut path = PathBuf::from(cache_dir);
1200- let rand_id: String = rand::thread_rng()
1201+ let rand_id: String = rand::rng()
1202 .sample_iter(&Alphanumeric)
1203 .take(12)
1204 .map(char::from)
1205 diff --git a/quipu/Cargo.toml b/quipu/Cargo.toml
1206index 6128bc0..0ec65ee 100644
1207--- a/quipu/Cargo.toml
1208+++ b/quipu/Cargo.toml
1209 @@ -13,11 +13,11 @@ ayllu_git = { path = "../crates/git" }
1210
1211 clap = { workspace = true }
1212 tokio = { workspace = true }
1213- reqwest = { version = "0.12.15", features = ["json"] }
1214+ reqwest = { version = "0.12.22", features = ["json"] }
1215 tracing = { workspace = true }
1216 tracing-subscriber = { workspace = true }
1217 clap_complete = { workspace = true }
1218 thiserror = { workspace = true }
1219 serde = { workspace = true }
1220 url = { version = "2.5.4", features = ["serde"] }
1221- webfinger-rs = { version = "0.0.12", features = ["reqwest"] }
1222+ webfinger-rs = { version = "0.0.18", features = ["reqwest"] }
1223 diff --git a/scripts/watch.sh b/scripts/watch.sh
1224index 76e1a8f..d220f10 100755
1225--- a/scripts/watch.sh
1226+++ b/scripts/watch.sh
1227 @@ -13,4 +13,4 @@ else
1228 PACKAGE_FLAGS="--package=ayllu"
1229 fi
1230
1231- cargo watch "${IGNORE_FLAGS}" -s "cargo run $PACKAGE_FLAGS -- serve"
1232+ cargo watch --watch ayllu "${IGNORE_FLAGS}" -s "cargo run $PACKAGE_FLAGS -- serve"