A better Rust ATProto crate
103
fork

Configure Feed

Select the types of activity you want to include in your feed.

deserialization fix for cids in Data and RawData

Orual c3a48931 f054f0bb

+500 -343
+350 -300
Cargo.lock
··· 50 50 51 51 [[package]] 52 52 name = "aho-corasick" 53 - version = "1.1.3" 53 + version = "1.1.4" 54 54 source = "registry+https://github.com/rust-lang/crates.io-index" 55 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 55 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 56 56 dependencies = [ 57 57 "memchr", 58 58 ] ··· 62 62 version = "0.1.3" 63 63 source = "registry+https://github.com/rust-lang/crates.io-index" 64 64 checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" 65 + 66 + [[package]] 67 + name = "aligned" 68 + version = "0.4.2" 69 + source = "registry+https://github.com/rust-lang/crates.io-index" 70 + checksum = "377e4c0ba83e4431b10df45c1d4666f178ea9c552cac93e60c3a88bf32785923" 71 + dependencies = [ 72 + "as-slice", 73 + ] 65 74 66 75 [[package]] 67 76 name = "aligned-vec" ··· 137 146 138 147 [[package]] 139 148 name = "anstyle-query" 140 - version = "1.1.4" 149 + version = "1.1.5" 141 150 source = "registry+https://github.com/rust-lang/crates.io-index" 142 - checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" 151 + checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" 143 152 dependencies = [ 144 - "windows-sys 0.60.2", 153 + "windows-sys 0.61.2", 145 154 ] 146 155 147 156 [[package]] 148 157 name = "anstyle-wincon" 149 - version = "3.0.10" 158 + version = "3.0.11" 150 159 source = "registry+https://github.com/rust-lang/crates.io-index" 151 - checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" 160 + checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" 152 161 dependencies = [ 153 162 "anstyle", 154 163 "once_cell_polyfill", 155 - "windows-sys 0.60.2", 164 + "windows-sys 0.61.2", 156 165 ] 157 166 158 167 [[package]] ··· 175 184 dependencies = [ 176 185 "proc-macro2", 177 186 "quote", 178 - "syn 2.0.108", 187 + "syn 2.0.111", 179 188 ] 180 189 181 190 [[package]] ··· 185 194 checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" 186 195 187 196 [[package]] 197 + name = "as-slice" 198 + version = "0.2.1" 199 + source = "registry+https://github.com/rust-lang/crates.io-index" 200 + checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" 201 + dependencies = [ 202 + "stable_deref_trait", 203 + ] 204 + 205 + [[package]] 188 206 name = "ascii" 189 207 version = "1.1.0" 190 208 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 192 210 193 211 [[package]] 194 212 name = "async-compression" 195 - version = "0.4.32" 213 + version = "0.4.35" 196 214 source = "registry+https://github.com/rust-lang/crates.io-index" 197 - checksum = "5a89bce6054c720275ac2432fbba080a66a2106a44a1b804553930ca6909f4e0" 215 + checksum = "07a926debf178f2d355197f9caddb08e54a9329d44748034bba349c5848cb519" 198 216 dependencies = [ 199 217 "compression-codecs", 200 218 "compression-core", ··· 211 229 dependencies = [ 212 230 "proc-macro2", 213 231 "quote", 214 - "syn 2.0.108", 232 + "syn 2.0.111", 215 233 ] 216 234 217 235 [[package]] ··· 234 252 version = "1.5.0" 235 253 source = "registry+https://github.com/rust-lang/crates.io-index" 236 254 checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 255 + 256 + [[package]] 257 + name = "av-scenechange" 258 + version = "0.14.1" 259 + source = "registry+https://github.com/rust-lang/crates.io-index" 260 + checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394" 261 + dependencies = [ 262 + "aligned", 263 + "anyhow", 264 + "arg_enum_proc_macro", 265 + "arrayvec", 266 + "log", 267 + "num-rational", 268 + "num-traits", 269 + "pastey", 270 + "rayon", 271 + "thiserror 2.0.17", 272 + "v_frame", 273 + "y4m", 274 + ] 237 275 238 276 [[package]] 239 277 name = "av1-grain" ··· 260 298 261 299 [[package]] 262 300 name = "axum" 263 - version = "0.8.6" 301 + version = "0.8.7" 264 302 source = "registry+https://github.com/rust-lang/crates.io-index" 265 - checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" 303 + checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" 266 304 dependencies = [ 267 305 "axum-core", 268 306 "bytes", ··· 318 356 dependencies = [ 319 357 "proc-macro2", 320 358 "quote", 321 - "syn 2.0.108", 359 + "syn 2.0.111", 322 360 ] 323 361 324 362 [[package]] 325 363 name = "axum-test" 326 - version = "18.1.0" 364 + version = "18.4.1" 327 365 source = "registry+https://github.com/rust-lang/crates.io-index" 328 - checksum = "680e88effaafbb28675074f29cda0e984c984bed5eb513085c17caf7de564225" 366 + checksum = "3290e73c56c5cc4701cdd7d46b9ced1b4bd61c7e9f9c769a9e9e87ff617d75d2" 329 367 dependencies = [ 330 368 "anyhow", 331 369 "axum", ··· 410 448 411 449 [[package]] 412 450 name = "base64ct" 413 - version = "1.8.0" 451 + version = "1.8.1" 414 452 source = "registry+https://github.com/rust-lang/crates.io-index" 415 - checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" 453 + checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" 416 454 417 455 [[package]] 418 456 name = "bit_field" ··· 428 466 429 467 [[package]] 430 468 name = "bitstream-io" 431 - version = "2.6.0" 469 + version = "4.9.0" 432 470 source = "registry+https://github.com/rust-lang/crates.io-index" 433 - checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" 471 + checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757" 472 + dependencies = [ 473 + "core2", 474 + ] 434 475 435 476 [[package]] 436 477 name = "block-buffer" ··· 463 504 "proc-macro2", 464 505 "quote", 465 506 "rustversion", 466 - "syn 2.0.108", 507 + "syn 2.0.111", 467 508 ] 468 509 469 510 [[package]] 470 511 name = "borsh" 471 - version = "1.5.7" 512 + version = "1.6.0" 472 513 source = "registry+https://github.com/rust-lang/crates.io-index" 473 - checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" 514 + checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" 474 515 dependencies = [ 475 516 "cfg_aliases", 476 517 ] ··· 532 573 533 574 [[package]] 534 575 name = "built" 535 - version = "0.7.7" 576 + version = "0.8.0" 536 577 source = "registry+https://github.com/rust-lang/crates.io-index" 537 - checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" 578 + checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64" 538 579 539 580 [[package]] 540 581 name = "bumpalo" ··· 562 603 563 604 [[package]] 564 605 name = "bytes" 565 - version = "1.10.1" 606 + version = "1.11.0" 566 607 source = "registry+https://github.com/rust-lang/crates.io-index" 567 - checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 608 + checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" 568 609 dependencies = [ 569 610 "serde", 570 611 ] 571 612 572 613 [[package]] 573 614 name = "bytesize" 574 - version = "2.1.0" 615 + version = "2.3.1" 616 + source = "registry+https://github.com/rust-lang/crates.io-index" 617 + checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" 618 + 619 + [[package]] 620 + name = "cast" 621 + version = "0.3.0" 575 622 source = "registry+https://github.com/rust-lang/crates.io-index" 576 - checksum = "f5c434ae3cf0089ca203e9019ebe529c47ff45cefe8af7c85ecb734ef541822f" 623 + checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" 577 624 578 625 [[package]] 579 626 name = "cbor4ii" ··· 586 633 587 634 [[package]] 588 635 name = "cc" 589 - version = "1.2.43" 636 + version = "1.2.49" 590 637 source = "registry+https://github.com/rust-lang/crates.io-index" 591 - checksum = "739eb0f94557554b3ca9a86d2d37bebd49c5e6d0c1d2bda35ba5bdac830befc2" 638 + checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" 592 639 dependencies = [ 593 640 "find-msvc-tools", 594 641 "jobserver", ··· 610 657 version = "1.1.0" 611 658 source = "registry+https://github.com/rust-lang/crates.io-index" 612 659 checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 613 - 614 - [[package]] 615 - name = "cfg-expr" 616 - version = "0.15.8" 617 - source = "registry+https://github.com/rust-lang/crates.io-index" 618 - checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" 619 - dependencies = [ 620 - "smallvec", 621 - "target-lexicon", 622 - ] 623 660 624 661 [[package]] 625 662 name = "cfg-if" ··· 696 733 697 734 [[package]] 698 735 name = "clap" 699 - version = "4.5.50" 736 + version = "4.5.53" 700 737 source = "registry+https://github.com/rust-lang/crates.io-index" 701 - checksum = "0c2cfd7bf8a6017ddaa4e32ffe7403d547790db06bd171c1c53926faab501623" 738 + checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" 702 739 dependencies = [ 703 740 "clap_builder", 704 741 "clap_derive", ··· 706 743 707 744 [[package]] 708 745 name = "clap_builder" 709 - version = "4.5.50" 746 + version = "4.5.53" 710 747 source = "registry+https://github.com/rust-lang/crates.io-index" 711 - checksum = "0a4c05b9e80c5ccd3a7ef080ad7b6ba7d6fc00a985b8b157197075677c82c7a0" 748 + checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" 712 749 dependencies = [ 713 750 "anstream", 714 751 "anstyle", ··· 718 755 719 756 [[package]] 720 757 name = "clap_complete" 721 - version = "4.5.59" 758 + version = "4.5.61" 722 759 source = "registry+https://github.com/rust-lang/crates.io-index" 723 - checksum = "2348487adcd4631696ced64ccdb40d38ac4d31cae7f2eec8817fcea1b9d1c43c" 760 + checksum = "39615915e2ece2550c0149addac32fb5bd312c657f43845bb9088cb9c8a7c992" 724 761 dependencies = [ 725 762 "clap", 726 763 ] ··· 734 771 "heck 0.5.0", 735 772 "proc-macro2", 736 773 "quote", 737 - "syn 2.0.108", 774 + "syn 2.0.111", 738 775 ] 739 776 740 777 [[package]] ··· 786 823 787 824 [[package]] 788 825 name = "compression-codecs" 789 - version = "0.4.31" 826 + version = "0.4.34" 790 827 source = "registry+https://github.com/rust-lang/crates.io-index" 791 - checksum = "ef8a506ec4b81c460798f572caead636d57d3d7e940f998160f52bd254bf2d23" 828 + checksum = "34a3cbbb8b6eca96f3a5c4bf6938d5b27ced3675d69f95bb51948722870bc323" 792 829 dependencies = [ 793 830 "compression-core", 794 831 "flate2", ··· 797 834 798 835 [[package]] 799 836 name = "compression-core" 800 - version = "0.4.29" 837 + version = "0.4.31" 801 838 source = "registry+https://github.com/rust-lang/crates.io-index" 802 - checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb" 839 + checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" 803 840 804 841 [[package]] 805 842 name = "console" ··· 1012 1049 dependencies = [ 1013 1050 "proc-macro2", 1014 1051 "quote", 1015 - "syn 2.0.108", 1052 + "syn 2.0.111", 1016 1053 ] 1017 1054 1018 1055 [[package]] ··· 1036 1073 "proc-macro2", 1037 1074 "quote", 1038 1075 "strsim", 1039 - "syn 2.0.108", 1076 + "syn 2.0.111", 1040 1077 ] 1041 1078 1042 1079 [[package]] ··· 1047 1084 dependencies = [ 1048 1085 "darling_core", 1049 1086 "quote", 1050 - "syn 2.0.108", 1087 + "syn 2.0.111", 1051 1088 ] 1052 1089 1053 1090 [[package]] ··· 1087 1124 checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" 1088 1125 dependencies = [ 1089 1126 "data-encoding", 1090 - "syn 2.0.108", 1127 + "syn 2.0.111", 1091 1128 ] 1092 1129 1093 1130 [[package]] ··· 1138 1175 dependencies = [ 1139 1176 "proc-macro2", 1140 1177 "quote", 1141 - "syn 2.0.108", 1178 + "syn 2.0.111", 1142 1179 "unicode-xid", 1143 1180 ] 1144 1181 ··· 1174 1211 dependencies = [ 1175 1212 "proc-macro2", 1176 1213 "quote", 1177 - "syn 2.0.108", 1214 + "syn 2.0.111", 1178 1215 ] 1179 1216 1180 1217 [[package]] ··· 1293 1330 "heck 0.5.0", 1294 1331 "proc-macro2", 1295 1332 "quote", 1296 - "syn 2.0.108", 1333 + "syn 2.0.111", 1297 1334 ] 1298 1335 1299 1336 [[package]] ··· 1313 1350 dependencies = [ 1314 1351 "proc-macro2", 1315 1352 "quote", 1316 - "syn 2.0.108", 1353 + "syn 2.0.111", 1317 1354 ] 1318 1355 1319 1356 [[package]] ··· 1324 1361 1325 1362 [[package]] 1326 1363 name = "erased-serde" 1327 - version = "0.4.8" 1364 + version = "0.4.9" 1328 1365 source = "registry+https://github.com/rust-lang/crates.io-index" 1329 - checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b" 1366 + checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" 1330 1367 dependencies = [ 1331 1368 "serde", 1332 1369 "serde_core", ··· 1345 1382 1346 1383 [[package]] 1347 1384 name = "expect-json" 1348 - version = "1.5.0" 1385 + version = "1.7.1" 1349 1386 source = "registry+https://github.com/rust-lang/crates.io-index" 1350 - checksum = "7519e78573c950576b89eb4f4fe82aedf3a80639245afa07e3ee3d199dcdb29e" 1387 + checksum = "422e7906e79941e5ac58c64dfd2da03e6ae3de62227f87606fbbe125d91080f9" 1351 1388 dependencies = [ 1352 1389 "chrono", 1353 1390 "email_address", 1354 1391 "expect-json-macros", 1355 1392 "num", 1393 + "regex", 1356 1394 "serde", 1357 1395 "serde_json", 1358 1396 "thiserror 2.0.17", ··· 1362 1400 1363 1401 [[package]] 1364 1402 name = "expect-json-macros" 1365 - version = "1.5.0" 1403 + version = "1.7.1" 1366 1404 source = "registry+https://github.com/rust-lang/crates.io-index" 1367 - checksum = "7bf7f5979e98460a0eb412665514594f68f366a32b85fa8d7ffb65bb1edee6a0" 1405 + checksum = "e6b515b7f10f1e61bfd938522e9884509b82060af2016153f5b3d6f44d6da89c" 1368 1406 dependencies = [ 1369 1407 "proc-macro2", 1370 1408 "quote", 1371 - "syn 2.0.108", 1409 + "syn 2.0.111", 1372 1410 ] 1373 1411 1374 1412 [[package]] 1375 1413 name = "exr" 1376 - version = "1.73.0" 1414 + version = "1.74.0" 1377 1415 source = "registry+https://github.com/rust-lang/crates.io-index" 1378 - checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" 1416 + checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be" 1379 1417 dependencies = [ 1380 1418 "bit_field", 1381 1419 "half", ··· 1409 1447 dependencies = [ 1410 1448 "proc-macro2", 1411 1449 "quote", 1412 - "syn 2.0.108", 1450 + "syn 2.0.111", 1413 1451 ] 1414 1452 1415 1453 [[package]] ··· 1451 1489 1452 1490 [[package]] 1453 1491 name = "find-msvc-tools" 1454 - version = "0.1.4" 1492 + version = "0.1.5" 1455 1493 source = "registry+https://github.com/rust-lang/crates.io-index" 1456 - checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" 1494 + checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" 1457 1495 1458 1496 [[package]] 1459 1497 name = "flate2" ··· 1572 1610 dependencies = [ 1573 1611 "proc-macro2", 1574 1612 "quote", 1575 - "syn 2.0.108", 1613 + "syn 2.0.111", 1576 1614 ] 1577 1615 1578 1616 [[package]] ··· 1659 1697 1660 1698 [[package]] 1661 1699 name = "gif" 1662 - version = "0.13.3" 1700 + version = "0.14.1" 1663 1701 source = "registry+https://github.com/rust-lang/crates.io-index" 1664 - checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" 1702 + checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" 1665 1703 dependencies = [ 1666 1704 "color_quant", 1667 1705 "weezl", ··· 1739 1777 "futures-core", 1740 1778 "futures-sink", 1741 1779 "http", 1742 - "indexmap 2.12.0", 1780 + "indexmap 2.12.1", 1743 1781 "slab", 1744 1782 "tokio", 1745 1783 "tokio-util", ··· 1780 1818 1781 1819 [[package]] 1782 1820 name = "hashbrown" 1783 - version = "0.16.0" 1821 + version = "0.16.1" 1784 1822 source = "registry+https://github.com/rust-lang/crates.io-index" 1785 - checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" 1823 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 1786 1824 1787 1825 [[package]] 1788 1826 name = "heapless" ··· 1893 1931 "markup5ever", 1894 1932 "proc-macro2", 1895 1933 "quote", 1896 - "syn 2.0.108", 1934 + "syn 2.0.111", 1897 1935 ] 1898 1936 1899 1937 [[package]] 1900 1938 name = "http" 1901 - version = "1.3.1" 1939 + version = "1.4.0" 1902 1940 source = "registry+https://github.com/rust-lang/crates.io-index" 1903 - checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 1941 + checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" 1904 1942 dependencies = [ 1905 1943 "bytes", 1906 - "fnv", 1907 1944 "itoa", 1908 1945 ] 1909 1946 ··· 1944 1981 1945 1982 [[package]] 1946 1983 name = "hyper" 1947 - version = "1.7.0" 1984 + version = "1.8.1" 1948 1985 source = "registry+https://github.com/rust-lang/crates.io-index" 1949 - checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 1986 + checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" 1950 1987 dependencies = [ 1951 1988 "atomic-waker", 1952 1989 "bytes", ··· 1984 2021 1985 2022 [[package]] 1986 2023 name = "hyper-util" 1987 - version = "0.1.17" 2024 + version = "0.1.19" 1988 2025 source = "registry+https://github.com/rust-lang/crates.io-index" 1989 - checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" 2026 + checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" 1990 2027 dependencies = [ 1991 2028 "base64 0.22.1", 1992 2029 "bytes", ··· 2034 2071 2035 2072 [[package]] 2036 2073 name = "icu_collections" 2037 - version = "2.0.0" 2074 + version = "2.1.1" 2038 2075 source = "registry+https://github.com/rust-lang/crates.io-index" 2039 - checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" 2076 + checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" 2040 2077 dependencies = [ 2041 2078 "displaydoc", 2042 2079 "potential_utf", ··· 2047 2084 2048 2085 [[package]] 2049 2086 name = "icu_locale_core" 2050 - version = "2.0.0" 2087 + version = "2.1.1" 2051 2088 source = "registry+https://github.com/rust-lang/crates.io-index" 2052 - checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" 2089 + checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" 2053 2090 dependencies = [ 2054 2091 "displaydoc", 2055 2092 "litemap", ··· 2060 2097 2061 2098 [[package]] 2062 2099 name = "icu_normalizer" 2063 - version = "2.0.0" 2100 + version = "2.1.1" 2064 2101 source = "registry+https://github.com/rust-lang/crates.io-index" 2065 - checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" 2102 + checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" 2066 2103 dependencies = [ 2067 - "displaydoc", 2068 2104 "icu_collections", 2069 2105 "icu_normalizer_data", 2070 2106 "icu_properties", ··· 2075 2111 2076 2112 [[package]] 2077 2113 name = "icu_normalizer_data" 2078 - version = "2.0.0" 2114 + version = "2.1.1" 2079 2115 source = "registry+https://github.com/rust-lang/crates.io-index" 2080 - checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" 2116 + checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" 2081 2117 2082 2118 [[package]] 2083 2119 name = "icu_properties" 2084 - version = "2.0.1" 2120 + version = "2.1.1" 2085 2121 source = "registry+https://github.com/rust-lang/crates.io-index" 2086 - checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" 2122 + checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" 2087 2123 dependencies = [ 2088 - "displaydoc", 2089 2124 "icu_collections", 2090 2125 "icu_locale_core", 2091 2126 "icu_properties_data", 2092 2127 "icu_provider", 2093 - "potential_utf", 2094 2128 "zerotrie", 2095 2129 "zerovec", 2096 2130 ] 2097 2131 2098 2132 [[package]] 2099 2133 name = "icu_properties_data" 2100 - version = "2.0.1" 2134 + version = "2.1.1" 2101 2135 source = "registry+https://github.com/rust-lang/crates.io-index" 2102 - checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" 2136 + checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" 2103 2137 2104 2138 [[package]] 2105 2139 name = "icu_provider" 2106 - version = "2.0.0" 2140 + version = "2.1.1" 2107 2141 source = "registry+https://github.com/rust-lang/crates.io-index" 2108 - checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" 2142 + checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" 2109 2143 dependencies = [ 2110 2144 "displaydoc", 2111 2145 "icu_locale_core", 2112 - "stable_deref_trait", 2113 - "tinystr", 2114 2146 "writeable", 2115 2147 "yoke", 2116 2148 "zerofrom", ··· 2147 2179 2148 2180 [[package]] 2149 2181 name = "image" 2150 - version = "0.25.8" 2182 + version = "0.25.9" 2151 2183 source = "registry+https://github.com/rust-lang/crates.io-index" 2152 - checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7" 2184 + checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" 2153 2185 dependencies = [ 2154 2186 "bytemuck", 2155 2187 "byteorder-lite", ··· 2165 2197 "rayon", 2166 2198 "rgb", 2167 2199 "tiff 0.10.3", 2168 - "zune-core", 2169 - "zune-jpeg", 2200 + "zune-core 0.5.0", 2201 + "zune-jpeg 0.5.6", 2170 2202 ] 2171 2203 2172 2204 [[package]] ··· 2198 2230 2199 2231 [[package]] 2200 2232 name = "indexmap" 2201 - version = "2.12.0" 2233 + version = "2.12.1" 2202 2234 source = "registry+https://github.com/rust-lang/crates.io-index" 2203 - checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" 2235 + checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" 2204 2236 dependencies = [ 2205 2237 "equivalent", 2206 - "hashbrown 0.16.0", 2238 + "hashbrown 0.16.1", 2207 2239 "serde", 2208 2240 "serde_core", 2209 2241 ] ··· 2225 2257 dependencies = [ 2226 2258 "proc-macro2", 2227 2259 "quote", 2228 - "syn 2.0.108", 2260 + "syn 2.0.111", 2229 2261 ] 2230 2262 2231 2263 [[package]] ··· 2268 2300 2269 2301 [[package]] 2270 2302 name = "iri-string" 2271 - version = "0.7.8" 2303 + version = "0.7.9" 2272 2304 source = "registry+https://github.com/rust-lang/crates.io-index" 2273 - checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" 2305 + checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" 2274 2306 dependencies = [ 2275 2307 "memchr", 2276 2308 "serde", ··· 2306 2338 2307 2339 [[package]] 2308 2340 name = "itertools" 2309 - version = "0.12.1" 2341 + version = "0.14.0" 2310 2342 source = "registry+https://github.com/rust-lang/crates.io-index" 2311 - checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" 2343 + checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" 2312 2344 dependencies = [ 2313 2345 "either", 2314 2346 ] ··· 2340 2372 "regex", 2341 2373 "regex-lite", 2342 2374 "reqwest", 2375 + "ring", 2343 2376 "serde", 2344 2377 "serde_html_form", 2345 2378 "serde_json", ··· 2432 2465 "regex", 2433 2466 "regex-lite", 2434 2467 "reqwest", 2468 + "ring", 2435 2469 "serde", 2436 2470 "serde_bytes", 2437 2471 "serde_html_form", ··· 2461 2495 "quote", 2462 2496 "serde", 2463 2497 "serde_json", 2464 - "syn 2.0.108", 2498 + "syn 2.0.111", 2465 2499 "unicode-segmentation", 2466 2500 ] 2467 2501 ··· 2481 2515 "n0-future", 2482 2516 "percent-encoding", 2483 2517 "reqwest", 2518 + "ring", 2484 2519 "serde", 2485 2520 "serde_html_form", 2486 2521 "serde_json", ··· 2511 2546 "reqwest", 2512 2547 "serde", 2513 2548 "serde_json", 2514 - "syn 2.0.108", 2549 + "syn 2.0.111", 2515 2550 "tempfile", 2516 2551 "thiserror 2.0.17", 2517 2552 "tokio", ··· 2541 2576 "serde_repr", 2542 2577 "serde_with", 2543 2578 "sha2", 2544 - "syn 2.0.108", 2579 + "syn 2.0.111", 2545 2580 "tempfile", 2546 2581 "thiserror 2.0.17", 2547 2582 "unicode-segmentation", ··· 2565 2600 "n0-future", 2566 2601 "p256", 2567 2602 "rand 0.8.5", 2603 + "ring", 2568 2604 "rouille", 2569 2605 "serde", 2570 2606 "serde_html_form", ··· 2686 2722 2687 2723 [[package]] 2688 2724 name = "js-sys" 2689 - version = "0.3.82" 2725 + version = "0.3.83" 2690 2726 source = "registry+https://github.com/rust-lang/crates.io-index" 2691 - checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" 2727 + checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" 2692 2728 dependencies = [ 2693 2729 "once_cell", 2694 2730 "wasm-bindgen", ··· 2747 2783 2748 2784 [[package]] 2749 2785 name = "libc" 2750 - version = "0.2.177" 2786 + version = "0.2.178" 2751 2787 source = "registry+https://github.com/rust-lang/crates.io-index" 2752 - checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" 2788 + checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" 2753 2789 2754 2790 [[package]] 2755 2791 name = "libfuzzer-sys" ··· 2798 2834 2799 2835 [[package]] 2800 2836 name = "litemap" 2801 - version = "0.8.0" 2837 + version = "0.8.1" 2802 2838 source = "registry+https://github.com/rust-lang/crates.io-index" 2803 - checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" 2839 + checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" 2804 2840 2805 2841 [[package]] 2806 2842 name = "lock_api" ··· 2813 2849 2814 2850 [[package]] 2815 2851 name = "log" 2816 - version = "0.4.28" 2852 + version = "0.4.29" 2817 2853 source = "registry+https://github.com/rust-lang/crates.io-index" 2818 - checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" 2854 + checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" 2819 2855 2820 2856 [[package]] 2821 2857 name = "loom" ··· 2955 2991 dependencies = [ 2956 2992 "proc-macro2", 2957 2993 "quote", 2958 - "syn 2.0.108", 2994 + "syn 2.0.111", 2959 2995 ] 2960 2996 2961 2997 [[package]] ··· 2994 3030 2995 3031 [[package]] 2996 3032 name = "minicov" 2997 - version = "0.3.7" 3033 + version = "0.3.8" 2998 3034 source = "registry+https://github.com/rust-lang/crates.io-index" 2999 - checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b" 3035 + checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d" 3000 3036 dependencies = [ 3001 3037 "cc", 3002 3038 "walkdir", ··· 3030 3066 3031 3067 [[package]] 3032 3068 name = "mio" 3033 - version = "1.1.0" 3069 + version = "1.1.1" 3034 3070 source = "registry+https://github.com/rust-lang/crates.io-index" 3035 - checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" 3071 + checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" 3036 3072 dependencies = [ 3037 3073 "libc", 3038 3074 "wasi", ··· 3041 3077 3042 3078 [[package]] 3043 3079 name = "moxcms" 3044 - version = "0.7.7" 3080 + version = "0.7.10" 3045 3081 source = "registry+https://github.com/rust-lang/crates.io-index" 3046 - checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40" 3082 + checksum = "80986bbbcf925ebd3be54c26613d861255284584501595cf418320c078945608" 3047 3083 dependencies = [ 3048 3084 "num-traits", 3049 3085 "pxfm", ··· 3183 3219 3184 3220 [[package]] 3185 3221 name = "num-bigint-dig" 3186 - version = "0.8.4" 3222 + version = "0.8.6" 3187 3223 source = "registry+https://github.com/rust-lang/crates.io-index" 3188 - checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" 3224 + checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" 3189 3225 dependencies = [ 3190 - "byteorder", 3191 3226 "lazy_static", 3192 3227 "libm", 3193 3228 "num-integer", ··· 3221 3256 dependencies = [ 3222 3257 "proc-macro2", 3223 3258 "quote", 3224 - "syn 2.0.108", 3259 + "syn 2.0.111", 3225 3260 ] 3226 3261 3227 3262 [[package]] ··· 3331 3366 checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" 3332 3367 3333 3368 [[package]] 3369 + name = "oorandom" 3370 + version = "11.1.5" 3371 + source = "registry+https://github.com/rust-lang/crates.io-index" 3372 + checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" 3373 + 3374 + [[package]] 3334 3375 name = "openssl-probe" 3335 3376 version = "0.1.6" 3336 3377 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3357 3398 "proc-macro2", 3358 3399 "proc-macro2-diagnostics", 3359 3400 "quote", 3360 - "syn 2.0.108", 3401 + "syn 2.0.111", 3361 3402 ] 3362 3403 3363 3404 [[package]] ··· 3424 3465 checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 3425 3466 3426 3467 [[package]] 3468 + name = "pastey" 3469 + version = "0.1.1" 3470 + source = "registry+https://github.com/rust-lang/crates.io-index" 3471 + checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" 3472 + 3473 + [[package]] 3427 3474 name = "pem-rfc7468" 3428 3475 version = "0.7.0" 3429 3476 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3493 3540 dependencies = [ 3494 3541 "proc-macro2", 3495 3542 "quote", 3496 - "syn 2.0.108", 3543 + "syn 2.0.111", 3497 3544 ] 3498 3545 3499 3546 [[package]] ··· 3563 3610 3564 3611 [[package]] 3565 3612 name = "potential_utf" 3566 - version = "0.1.3" 3613 + version = "0.1.4" 3567 3614 source = "registry+https://github.com/rust-lang/crates.io-index" 3568 - checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" 3615 + checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" 3569 3616 dependencies = [ 3570 3617 "zerovec", 3571 3618 ] ··· 3608 3655 checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" 3609 3656 dependencies = [ 3610 3657 "proc-macro2", 3611 - "syn 2.0.108", 3658 + "syn 2.0.111", 3612 3659 ] 3613 3660 3614 3661 [[package]] ··· 3661 3708 dependencies = [ 3662 3709 "proc-macro2", 3663 3710 "quote", 3664 - "syn 2.0.108", 3711 + "syn 2.0.111", 3665 3712 "version_check", 3666 3713 "yansi", 3667 3714 ] ··· 3682 3729 checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" 3683 3730 dependencies = [ 3684 3731 "quote", 3685 - "syn 2.0.108", 3732 + "syn 2.0.111", 3686 3733 ] 3687 3734 3688 3735 [[package]] 3689 3736 name = "pxfm" 3690 - version = "0.1.25" 3737 + version = "0.1.27" 3691 3738 source = "registry+https://github.com/rust-lang/crates.io-index" 3692 - checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84" 3739 + checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" 3693 3740 dependencies = [ 3694 3741 "num-traits", 3695 3742 ] ··· 3772 3819 3773 3820 [[package]] 3774 3821 name = "quote" 3775 - version = "1.0.41" 3822 + version = "1.0.42" 3776 3823 source = "registry+https://github.com/rust-lang/crates.io-index" 3777 - checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" 3824 + checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" 3778 3825 dependencies = [ 3779 3826 "proc-macro2", 3780 3827 ] ··· 3852 3899 3853 3900 [[package]] 3854 3901 name = "rav1e" 3855 - version = "0.7.1" 3902 + version = "0.8.1" 3856 3903 source = "registry+https://github.com/rust-lang/crates.io-index" 3857 - checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" 3904 + checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b" 3858 3905 dependencies = [ 3906 + "aligned-vec", 3859 3907 "arbitrary", 3860 3908 "arg_enum_proc_macro", 3861 3909 "arrayvec", 3910 + "av-scenechange", 3862 3911 "av1-grain", 3863 3912 "bitstream-io", 3864 3913 "built", ··· 3873 3922 "noop_proc_macro", 3874 3923 "num-derive", 3875 3924 "num-traits", 3876 - "once_cell", 3877 3925 "paste", 3878 3926 "profiling", 3879 - "rand 0.8.5", 3880 - "rand_chacha 0.3.1", 3927 + "rand 0.9.2", 3928 + "rand_chacha 0.9.0", 3881 3929 "simd_helpers", 3882 - "system-deps", 3883 - "thiserror 1.0.69", 3930 + "thiserror 2.0.17", 3884 3931 "v_frame", 3885 3932 "wasm-bindgen", 3886 3933 ] 3887 3934 3888 3935 [[package]] 3889 3936 name = "ravif" 3890 - version = "0.11.20" 3937 + version = "0.12.0" 3891 3938 source = "registry+https://github.com/rust-lang/crates.io-index" 3892 - checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b" 3939 + checksum = "ef69c1990ceef18a116855938e74793a5f7496ee907562bd0857b6ac734ab285" 3893 3940 dependencies = [ 3894 3941 "avif-serialize", 3895 3942 "imgref", ··· 3946 3993 dependencies = [ 3947 3994 "proc-macro2", 3948 3995 "quote", 3949 - "syn 2.0.108", 3996 + "syn 2.0.111", 3950 3997 ] 3951 3998 3952 3999 [[package]] ··· 4040 4087 4041 4088 [[package]] 4042 4089 name = "resolv-conf" 4043 - version = "0.7.5" 4090 + version = "0.7.6" 4044 4091 source = "registry+https://github.com/rust-lang/crates.io-index" 4045 - checksum = "6b3789b30bd25ba102de4beabd95d21ac45b69b1be7d14522bab988c526d6799" 4092 + checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" 4046 4093 4047 4094 [[package]] 4048 4095 name = "rfc6979" ··· 4109 4156 4110 4157 [[package]] 4111 4158 name = "rsa" 4112 - version = "0.9.8" 4159 + version = "0.9.9" 4113 4160 source = "registry+https://github.com/rust-lang/crates.io-index" 4114 - checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" 4161 + checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" 4115 4162 dependencies = [ 4116 4163 "const-oid", 4117 4164 "digest", ··· 4191 4238 4192 4239 [[package]] 4193 4240 name = "rustls" 4194 - version = "0.23.34" 4241 + version = "0.23.35" 4195 4242 source = "registry+https://github.com/rust-lang/crates.io-index" 4196 - checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7" 4243 + checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" 4197 4244 dependencies = [ 4198 4245 "once_cell", 4199 4246 "ring", ··· 4217 4264 4218 4265 [[package]] 4219 4266 name = "rustls-pki-types" 4220 - version = "1.12.0" 4267 + version = "1.13.1" 4221 4268 source = "registry+https://github.com/rust-lang/crates.io-index" 4222 - checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" 4269 + checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" 4223 4270 dependencies = [ 4224 4271 "web-time", 4225 4272 "zeroize", ··· 4227 4274 4228 4275 [[package]] 4229 4276 name = "rustls-webpki" 4230 - version = "0.103.7" 4277 + version = "0.103.8" 4231 4278 source = "registry+https://github.com/rust-lang/crates.io-index" 4232 - checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" 4279 + checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" 4233 4280 dependencies = [ 4234 4281 "ring", 4235 4282 "rustls-pki-types", ··· 4286 4333 4287 4334 [[package]] 4288 4335 name = "schemars" 4289 - version = "1.0.4" 4336 + version = "1.1.0" 4290 4337 source = "registry+https://github.com/rust-lang/crates.io-index" 4291 - checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" 4338 + checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" 4292 4339 dependencies = [ 4293 4340 "dyn-clone", 4294 4341 "ref-cast", ··· 4394 4441 dependencies = [ 4395 4442 "proc-macro2", 4396 4443 "quote", 4397 - "syn 2.0.108", 4444 + "syn 2.0.111", 4398 4445 ] 4399 4446 4400 4447 [[package]] ··· 4404 4451 checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" 4405 4452 dependencies = [ 4406 4453 "form_urlencoded", 4407 - "indexmap 2.12.0", 4454 + "indexmap 2.12.1", 4408 4455 "itoa", 4409 4456 "ryu", 4410 4457 "serde_core", ··· 4439 4486 source = "registry+https://github.com/rust-lang/crates.io-index" 4440 4487 checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 4441 4488 dependencies = [ 4442 - "indexmap 2.12.0", 4489 + "indexmap 2.12.1", 4443 4490 "itoa", 4444 4491 "memchr", 4445 4492 "ryu", ··· 4466 4513 dependencies = [ 4467 4514 "proc-macro2", 4468 4515 "quote", 4469 - "syn 2.0.108", 4516 + "syn 2.0.111", 4470 4517 ] 4471 4518 4472 4519 [[package]] ··· 4501 4548 4502 4549 [[package]] 4503 4550 name = "serde_with" 4504 - version = "3.15.1" 4551 + version = "3.16.1" 4505 4552 source = "registry+https://github.com/rust-lang/crates.io-index" 4506 - checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04" 4553 + checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" 4507 4554 dependencies = [ 4508 4555 "base64 0.22.1", 4509 4556 "chrono", 4510 4557 "hex", 4511 4558 "indexmap 1.9.3", 4512 - "indexmap 2.12.0", 4559 + "indexmap 2.12.1", 4513 4560 "schemars 0.9.0", 4514 - "schemars 1.0.4", 4561 + "schemars 1.1.0", 4515 4562 "serde_core", 4516 4563 "serde_json", 4517 4564 "serde_with_macros", ··· 4520 4567 4521 4568 [[package]] 4522 4569 name = "serde_with_macros" 4523 - version = "3.15.1" 4570 + version = "3.16.1" 4524 4571 source = "registry+https://github.com/rust-lang/crates.io-index" 4525 - checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" 4572 + checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" 4526 4573 dependencies = [ 4527 4574 "darling", 4528 4575 "proc-macro2", 4529 4576 "quote", 4530 - "syn 2.0.108", 4577 + "syn 2.0.111", 4531 4578 ] 4532 4579 4533 4580 [[package]] ··· 4575 4622 4576 4623 [[package]] 4577 4624 name = "signal-hook-registry" 4578 - version = "1.4.6" 4625 + version = "1.4.7" 4579 4626 source = "registry+https://github.com/rust-lang/crates.io-index" 4580 - checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" 4627 + checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" 4581 4628 dependencies = [ 4582 4629 "libc", 4583 4630 ] ··· 4594 4641 4595 4642 [[package]] 4596 4643 name = "simd-adler32" 4597 - version = "0.3.7" 4644 + version = "0.3.8" 4598 4645 source = "registry+https://github.com/rust-lang/crates.io-index" 4599 - checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 4646 + checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" 4600 4647 4601 4648 [[package]] 4602 4649 name = "simd_helpers" ··· 4702 4749 "quote", 4703 4750 "serde", 4704 4751 "sha2", 4705 - "syn 2.0.108", 4752 + "syn 2.0.111", 4706 4753 "thiserror 1.0.69", 4707 4754 ] 4708 4755 ··· 4783 4830 4784 4831 [[package]] 4785 4832 name = "syn" 4786 - version = "2.0.108" 4833 + version = "2.0.111" 4787 4834 source = "registry+https://github.com/rust-lang/crates.io-index" 4788 - checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" 4835 + checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" 4789 4836 dependencies = [ 4790 4837 "proc-macro2", 4791 4838 "quote", ··· 4809 4856 dependencies = [ 4810 4857 "proc-macro2", 4811 4858 "quote", 4812 - "syn 2.0.108", 4859 + "syn 2.0.111", 4813 4860 ] 4814 4861 4815 4862 [[package]] ··· 4834 4881 ] 4835 4882 4836 4883 [[package]] 4837 - name = "system-deps" 4838 - version = "6.2.2" 4839 - source = "registry+https://github.com/rust-lang/crates.io-index" 4840 - checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" 4841 - dependencies = [ 4842 - "cfg-expr", 4843 - "heck 0.5.0", 4844 - "pkg-config", 4845 - "toml 0.8.23", 4846 - "version-compare", 4847 - ] 4848 - 4849 - [[package]] 4850 4884 name = "tagptr" 4851 4885 version = "0.2.0" 4852 4886 source = "registry+https://github.com/rust-lang/crates.io-index" 4853 4887 checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" 4854 4888 4855 4889 [[package]] 4856 - name = "target-lexicon" 4857 - version = "0.12.16" 4858 - source = "registry+https://github.com/rust-lang/crates.io-index" 4859 - checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" 4860 - 4861 - [[package]] 4862 4890 name = "target-triple" 4863 4891 version = "1.0.0" 4864 4892 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4943 4971 dependencies = [ 4944 4972 "proc-macro2", 4945 4973 "quote", 4946 - "syn 2.0.108", 4974 + "syn 2.0.111", 4947 4975 ] 4948 4976 4949 4977 [[package]] ··· 4954 4982 dependencies = [ 4955 4983 "proc-macro2", 4956 4984 "quote", 4957 - "syn 2.0.108", 4985 + "syn 2.0.111", 4958 4986 ] 4959 4987 4960 4988 [[package]] ··· 4997 5025 "half", 4998 5026 "quick-error 2.0.1", 4999 5027 "weezl", 5000 - "zune-jpeg", 5028 + "zune-jpeg 0.4.21", 5001 5029 ] 5002 5030 5003 5031 [[package]] ··· 5047 5075 5048 5076 [[package]] 5049 5077 name = "tinystr" 5050 - version = "0.8.1" 5078 + version = "0.8.2" 5051 5079 source = "registry+https://github.com/rust-lang/crates.io-index" 5052 - checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" 5080 + checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" 5053 5081 dependencies = [ 5054 5082 "displaydoc", 5055 5083 "zerovec", ··· 5095 5123 dependencies = [ 5096 5124 "proc-macro2", 5097 5125 "quote", 5098 - "syn 2.0.108", 5126 + "syn 2.0.111", 5099 5127 ] 5100 5128 5101 5129 [[package]] ··· 5145 5173 5146 5174 [[package]] 5147 5175 name = "tokio-util" 5148 - version = "0.7.16" 5176 + version = "0.7.17" 5149 5177 source = "registry+https://github.com/rust-lang/crates.io-index" 5150 - checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" 5178 + checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" 5151 5179 dependencies = [ 5152 5180 "bytes", 5153 5181 "futures-core", ··· 5175 5203 source = "registry+https://github.com/rust-lang/crates.io-index" 5176 5204 checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" 5177 5205 dependencies = [ 5178 - "indexmap 2.12.0", 5206 + "indexmap 2.12.1", 5179 5207 "serde_core", 5180 5208 "serde_spanned 1.0.3", 5181 5209 "toml_datetime 0.7.3", 5182 5210 "toml_parser", 5183 5211 "toml_writer", 5184 - "winnow 0.7.13", 5212 + "winnow 0.7.14", 5185 5213 ] 5186 5214 5187 5215 [[package]] ··· 5208 5236 source = "registry+https://github.com/rust-lang/crates.io-index" 5209 5237 checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" 5210 5238 dependencies = [ 5211 - "indexmap 2.12.0", 5239 + "indexmap 2.12.1", 5212 5240 "serde", 5213 5241 "serde_spanned 0.6.9", 5214 5242 "toml_datetime 0.6.11", 5215 5243 "toml_write", 5216 - "winnow 0.7.13", 5244 + "winnow 0.7.14", 5217 5245 ] 5218 5246 5219 5247 [[package]] ··· 5222 5250 source = "registry+https://github.com/rust-lang/crates.io-index" 5223 5251 checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" 5224 5252 dependencies = [ 5225 - "winnow 0.7.13", 5253 + "winnow 0.7.14", 5226 5254 ] 5227 5255 5228 5256 [[package]] ··· 5255 5283 5256 5284 [[package]] 5257 5285 name = "tower-http" 5258 - version = "0.6.6" 5286 + version = "0.6.8" 5259 5287 source = "registry+https://github.com/rust-lang/crates.io-index" 5260 - checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" 5288 + checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" 5261 5289 dependencies = [ 5262 5290 "bitflags", 5263 5291 "bytes", ··· 5286 5314 5287 5315 [[package]] 5288 5316 name = "tracing" 5289 - version = "0.1.41" 5317 + version = "0.1.43" 5290 5318 source = "registry+https://github.com/rust-lang/crates.io-index" 5291 - checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 5319 + checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" 5292 5320 dependencies = [ 5293 5321 "log", 5294 5322 "pin-project-lite", ··· 5298 5326 5299 5327 [[package]] 5300 5328 name = "tracing-attributes" 5301 - version = "0.1.30" 5329 + version = "0.1.31" 5302 5330 source = "registry+https://github.com/rust-lang/crates.io-index" 5303 - checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" 5331 + checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" 5304 5332 dependencies = [ 5305 5333 "proc-macro2", 5306 5334 "quote", 5307 - "syn 2.0.108", 5335 + "syn 2.0.111", 5308 5336 ] 5309 5337 5310 5338 [[package]] 5311 5339 name = "tracing-core" 5312 - version = "0.1.34" 5340 + version = "0.1.35" 5313 5341 source = "registry+https://github.com/rust-lang/crates.io-index" 5314 - checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 5342 + checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" 5315 5343 dependencies = [ 5316 5344 "once_cell", 5317 5345 "valuable", ··· 5330 5358 5331 5359 [[package]] 5332 5360 name = "tracing-subscriber" 5333 - version = "0.3.20" 5361 + version = "0.3.22" 5334 5362 source = "registry+https://github.com/rust-lang/crates.io-index" 5335 - checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" 5363 + checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" 5336 5364 dependencies = [ 5337 5365 "matchers", 5338 5366 "nu-ansi-term", ··· 5355 5383 dependencies = [ 5356 5384 "proc-macro2", 5357 5385 "quote", 5358 - "syn 2.0.108", 5386 + "syn 2.0.111", 5359 5387 ] 5360 5388 5361 5389 [[package]] ··· 5447 5475 dependencies = [ 5448 5476 "proc-macro2", 5449 5477 "quote", 5450 - "syn 2.0.108", 5478 + "syn 2.0.111", 5451 5479 ] 5452 5480 5453 5481 [[package]] ··· 5458 5486 5459 5487 [[package]] 5460 5488 name = "unicode-ident" 5461 - version = "1.0.20" 5489 + version = "1.0.22" 5462 5490 source = "registry+https://github.com/rust-lang/crates.io-index" 5463 - checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06" 5491 + checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 5464 5492 5465 5493 [[package]] 5466 5494 name = "unicode-linebreak" ··· 5548 5576 5549 5577 [[package]] 5550 5578 name = "uuid" 5551 - version = "1.18.1" 5579 + version = "1.19.0" 5552 5580 source = "registry+https://github.com/rust-lang/crates.io-index" 5553 - checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" 5581 + checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" 5554 5582 dependencies = [ 5555 5583 "js-sys", 5556 5584 "wasm-bindgen", ··· 5572 5600 version = "0.1.1" 5573 5601 source = "registry+https://github.com/rust-lang/crates.io-index" 5574 5602 checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 5575 - 5576 - [[package]] 5577 - name = "version-compare" 5578 - version = "0.2.0" 5579 - source = "registry+https://github.com/rust-lang/crates.io-index" 5580 - checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" 5581 5603 5582 5604 [[package]] 5583 5605 name = "version_check" ··· 5637 5659 5638 5660 [[package]] 5639 5661 name = "wasm-bindgen" 5640 - version = "0.2.105" 5662 + version = "0.2.106" 5641 5663 source = "registry+https://github.com/rust-lang/crates.io-index" 5642 - checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" 5664 + checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" 5643 5665 dependencies = [ 5644 5666 "cfg-if", 5645 5667 "once_cell", ··· 5650 5672 5651 5673 [[package]] 5652 5674 name = "wasm-bindgen-futures" 5653 - version = "0.4.55" 5675 + version = "0.4.56" 5654 5676 source = "registry+https://github.com/rust-lang/crates.io-index" 5655 - checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" 5677 + checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" 5656 5678 dependencies = [ 5657 5679 "cfg-if", 5658 5680 "js-sys", ··· 5663 5685 5664 5686 [[package]] 5665 5687 name = "wasm-bindgen-macro" 5666 - version = "0.2.105" 5688 + version = "0.2.106" 5667 5689 source = "registry+https://github.com/rust-lang/crates.io-index" 5668 - checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" 5690 + checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" 5669 5691 dependencies = [ 5670 5692 "quote", 5671 5693 "wasm-bindgen-macro-support", ··· 5673 5695 5674 5696 [[package]] 5675 5697 name = "wasm-bindgen-macro-support" 5676 - version = "0.2.105" 5698 + version = "0.2.106" 5677 5699 source = "registry+https://github.com/rust-lang/crates.io-index" 5678 - checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" 5700 + checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" 5679 5701 dependencies = [ 5680 5702 "bumpalo", 5681 5703 "proc-macro2", 5682 5704 "quote", 5683 - "syn 2.0.108", 5705 + "syn 2.0.111", 5684 5706 "wasm-bindgen-shared", 5685 5707 ] 5686 5708 5687 5709 [[package]] 5688 5710 name = "wasm-bindgen-shared" 5689 - version = "0.2.105" 5711 + version = "0.2.106" 5690 5712 source = "registry+https://github.com/rust-lang/crates.io-index" 5691 - checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" 5713 + checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" 5692 5714 dependencies = [ 5693 5715 "unicode-ident", 5694 5716 ] 5695 5717 5696 5718 [[package]] 5697 5719 name = "wasm-bindgen-test" 5698 - version = "0.3.55" 5720 + version = "0.3.56" 5699 5721 source = "registry+https://github.com/rust-lang/crates.io-index" 5700 - checksum = "bfc379bfb624eb59050b509c13e77b4eb53150c350db69628141abce842f2373" 5722 + checksum = "25e90e66d265d3a1efc0e72a54809ab90b9c0c515915c67cdf658689d2c22c6c" 5701 5723 dependencies = [ 5724 + "async-trait", 5725 + "cast", 5702 5726 "js-sys", 5727 + "libm", 5703 5728 "minicov", 5729 + "nu-ansi-term", 5730 + "num-traits", 5731 + "oorandom", 5732 + "serde", 5733 + "serde_json", 5704 5734 "wasm-bindgen", 5705 5735 "wasm-bindgen-futures", 5706 5736 "wasm-bindgen-test-macro", ··· 5708 5738 5709 5739 [[package]] 5710 5740 name = "wasm-bindgen-test-macro" 5711 - version = "0.3.55" 5741 + version = "0.3.56" 5712 5742 source = "registry+https://github.com/rust-lang/crates.io-index" 5713 - checksum = "085b2df989e1e6f9620c1311df6c996e83fe16f57792b272ce1e024ac16a90f1" 5743 + checksum = "7150335716dce6028bead2b848e72f47b45e7b9422f64cccdc23bedca89affc1" 5714 5744 dependencies = [ 5715 5745 "proc-macro2", 5716 5746 "quote", 5717 - "syn 2.0.108", 5747 + "syn 2.0.111", 5718 5748 ] 5719 5749 5720 5750 [[package]] ··· 5732 5762 5733 5763 [[package]] 5734 5764 name = "web-sys" 5735 - version = "0.3.82" 5765 + version = "0.3.83" 5736 5766 source = "registry+https://github.com/rust-lang/crates.io-index" 5737 - checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" 5767 + checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" 5738 5768 dependencies = [ 5739 5769 "js-sys", 5740 5770 "wasm-bindgen", ··· 5780 5810 5781 5811 [[package]] 5782 5812 name = "webpki-roots" 5783 - version = "1.0.3" 5813 + version = "1.0.4" 5784 5814 source = "registry+https://github.com/rust-lang/crates.io-index" 5785 - checksum = "32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8" 5815 + checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" 5786 5816 dependencies = [ 5787 5817 "rustls-pki-types", 5788 5818 ] 5789 5819 5790 5820 [[package]] 5791 5821 name = "weezl" 5792 - version = "0.1.10" 5822 + version = "0.1.12" 5793 5823 source = "registry+https://github.com/rust-lang/crates.io-index" 5794 - checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" 5824 + checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" 5795 5825 5796 5826 [[package]] 5797 5827 name = "widestring" ··· 5897 5927 dependencies = [ 5898 5928 "proc-macro2", 5899 5929 "quote", 5900 - "syn 2.0.108", 5930 + "syn 2.0.111", 5901 5931 ] 5902 5932 5903 5933 [[package]] ··· 5908 5938 dependencies = [ 5909 5939 "proc-macro2", 5910 5940 "quote", 5911 - "syn 2.0.108", 5941 + "syn 2.0.111", 5912 5942 ] 5913 5943 5914 5944 [[package]] ··· 5935 5965 5936 5966 [[package]] 5937 5967 name = "windows-registry" 5938 - version = "0.5.3" 5968 + version = "0.6.1" 5939 5969 source = "registry+https://github.com/rust-lang/crates.io-index" 5940 - checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 5970 + checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" 5941 5971 dependencies = [ 5942 - "windows-link 0.1.3", 5943 - "windows-result 0.3.4", 5944 - "windows-strings 0.4.2", 5972 + "windows-link 0.2.1", 5973 + "windows-result 0.4.1", 5974 + "windows-strings 0.5.1", 5945 5975 ] 5946 5976 5947 5977 [[package]] ··· 6297 6327 6298 6328 [[package]] 6299 6329 name = "winnow" 6300 - version = "0.7.13" 6330 + version = "0.7.14" 6301 6331 source = "registry+https://github.com/rust-lang/crates.io-index" 6302 - checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" 6332 + checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" 6303 6333 dependencies = [ 6304 6334 "memchr", 6305 6335 ] ··· 6322 6352 6323 6353 [[package]] 6324 6354 name = "writeable" 6325 - version = "0.6.1" 6355 + version = "0.6.2" 6326 6356 source = "registry+https://github.com/rust-lang/crates.io-index" 6327 - checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" 6357 + checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" 6328 6358 6329 6359 [[package]] 6330 6360 name = "xml5ever" ··· 6338 6368 ] 6339 6369 6340 6370 [[package]] 6371 + name = "y4m" 6372 + version = "0.8.0" 6373 + source = "registry+https://github.com/rust-lang/crates.io-index" 6374 + checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" 6375 + 6376 + [[package]] 6341 6377 name = "yansi" 6342 6378 version = "1.0.1" 6343 6379 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 6345 6381 6346 6382 [[package]] 6347 6383 name = "yoke" 6348 - version = "0.8.0" 6384 + version = "0.8.1" 6349 6385 source = "registry+https://github.com/rust-lang/crates.io-index" 6350 - checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" 6386 + checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" 6351 6387 dependencies = [ 6352 - "serde", 6353 6388 "stable_deref_trait", 6354 6389 "yoke-derive", 6355 6390 "zerofrom", ··· 6357 6392 6358 6393 [[package]] 6359 6394 name = "yoke-derive" 6360 - version = "0.8.0" 6395 + version = "0.8.1" 6361 6396 source = "registry+https://github.com/rust-lang/crates.io-index" 6362 - checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" 6397 + checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" 6363 6398 dependencies = [ 6364 6399 "proc-macro2", 6365 6400 "quote", 6366 - "syn 2.0.108", 6401 + "syn 2.0.111", 6367 6402 "synstructure", 6368 6403 ] 6369 6404 6370 6405 [[package]] 6371 6406 name = "zerocopy" 6372 - version = "0.8.27" 6407 + version = "0.8.31" 6373 6408 source = "registry+https://github.com/rust-lang/crates.io-index" 6374 - checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" 6409 + checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" 6375 6410 dependencies = [ 6376 6411 "zerocopy-derive", 6377 6412 ] 6378 6413 6379 6414 [[package]] 6380 6415 name = "zerocopy-derive" 6381 - version = "0.8.27" 6416 + version = "0.8.31" 6382 6417 source = "registry+https://github.com/rust-lang/crates.io-index" 6383 - checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" 6418 + checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" 6384 6419 dependencies = [ 6385 6420 "proc-macro2", 6386 6421 "quote", 6387 - "syn 2.0.108", 6422 + "syn 2.0.111", 6388 6423 ] 6389 6424 6390 6425 [[package]] ··· 6404 6439 dependencies = [ 6405 6440 "proc-macro2", 6406 6441 "quote", 6407 - "syn 2.0.108", 6442 + "syn 2.0.111", 6408 6443 "synstructure", 6409 6444 ] 6410 6445 ··· 6419 6454 6420 6455 [[package]] 6421 6456 name = "zerotrie" 6422 - version = "0.2.2" 6457 + version = "0.2.3" 6423 6458 source = "registry+https://github.com/rust-lang/crates.io-index" 6424 - checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" 6459 + checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" 6425 6460 dependencies = [ 6426 6461 "displaydoc", 6427 6462 "yoke", ··· 6430 6465 6431 6466 [[package]] 6432 6467 name = "zerovec" 6433 - version = "0.11.4" 6468 + version = "0.11.5" 6434 6469 source = "registry+https://github.com/rust-lang/crates.io-index" 6435 - checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" 6470 + checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" 6436 6471 dependencies = [ 6437 6472 "yoke", 6438 6473 "zerofrom", ··· 6441 6476 6442 6477 [[package]] 6443 6478 name = "zerovec-derive" 6444 - version = "0.11.1" 6479 + version = "0.11.2" 6445 6480 source = "registry+https://github.com/rust-lang/crates.io-index" 6446 - checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" 6481 + checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" 6447 6482 dependencies = [ 6448 6483 "proc-macro2", 6449 6484 "quote", 6450 - "syn 2.0.108", 6485 + "syn 2.0.111", 6451 6486 ] 6452 6487 6453 6488 [[package]] ··· 6485 6520 checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" 6486 6521 6487 6522 [[package]] 6523 + name = "zune-core" 6524 + version = "0.5.0" 6525 + source = "registry+https://github.com/rust-lang/crates.io-index" 6526 + checksum = "111f7d9820f05fd715df3144e254d6fc02ee4088b0644c0ffd0efc9e6d9d2773" 6527 + 6528 + [[package]] 6488 6529 name = "zune-inflate" 6489 6530 version = "0.2.54" 6490 6531 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 6499 6540 source = "registry+https://github.com/rust-lang/crates.io-index" 6500 6541 checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" 6501 6542 dependencies = [ 6502 - "zune-core", 6543 + "zune-core 0.4.12", 6544 + ] 6545 + 6546 + [[package]] 6547 + name = "zune-jpeg" 6548 + version = "0.5.6" 6549 + source = "registry+https://github.com/rust-lang/crates.io-index" 6550 + checksum = "f520eebad972262a1dde0ec455bce4f8b298b1e5154513de58c114c4c54303e8" 6551 + dependencies = [ 6552 + "zune-core 0.5.0", 6503 6553 ]
+8 -5
crates/jacquard-common/Cargo.toml
··· 20 20 service-auth = ["crypto-k256", "crypto-p256", "dep:signature"] 21 21 reqwest-client = ["dep:reqwest"] 22 22 tracing = ["dep:tracing"] 23 - streaming = ["n0-future", "futures"] 23 + streaming = ["n0-future", "futures", "reqwest/stream"] 24 24 websocket = ["streaming", "tokio-tungstenite-wasm", "dep:ciborium"] 25 25 zstd = ["dep:zstd"] 26 26 ··· 48 48 serde_bytes = "0.11" 49 49 50 50 51 - reqwest = { workspace = true, optional = true, features = ["json", "charset", "gzip", "stream"] } 51 + reqwest = { workspace = true, optional = true, features = ["json", "gzip", "charset"] } 52 52 serde_ipld_dagcbor.workspace = true 53 53 signature = { version = "2", optional = true } 54 54 tracing = { workspace = true, optional = true } ··· 57 57 # Streaming support (optional) 58 58 n0-future = { workspace = true, optional = true } 59 59 futures = { version = "0.3", optional = true } 60 - tokio-tungstenite-wasm = { version = "0.4", features = ["rustls-tls-native-roots"], optional = true } 60 + tokio-tungstenite-wasm = { version = "0.4", default-features = false, optional = true } 61 61 ciborium = {version = "0.2.0", optional = true } 62 62 zstd = { version = "0.13", optional = true } 63 63 postcard = { version = "1.1.3", features = ["use-std"] } ··· 67 67 chrono = { workspace = true, features = ["wasmbind"] } 68 68 getrandom_02 = { package = "getrandom", version = "0.2", features = ["js"] } 69 69 regex-lite = "0.1" 70 + ring = { version = "0.17", features = ["wasm32_unknown_unknown_js"]} 71 + reqwest = { workspace = true, optional = true, features = [ "json", "gzip", "rustls-tls-manual-roots"] } 72 + tokio-tungstenite-wasm = { version = "0.4", features = [], optional = true } 70 73 71 74 [target.'cfg(not(target_arch = "wasm32"))'.dependencies] 72 - reqwest = { workspace = true, optional = true, features = [ "http2", "system-proxy", "rustls-tls"] } 75 + reqwest = { workspace = true, optional = true, features = [ "http2", "gzip", "system-proxy", "rustls-tls"] } 73 76 tokio-util = { version = "0.7.16", features = ["io"] } 74 77 regex = { version = "1.11.3", default-features = false, features = ["std", "perf-literal"] } 75 - 78 + tokio-tungstenite-wasm = { version = "0.4", features = ["rustls-tls-native-roots"], optional = true } 76 79 77 80 78 81 [dependencies.ed25519-dalek]
+1 -1
crates/jacquard-common/src/lib.rs
··· 247 247 pub use types::value::*; 248 248 249 249 /// Authorization token types for XRPC requests. 250 - #[derive(Debug, Clone)] 250 + #[derive(Debug, Clone, PartialEq, Eq)] 251 251 pub enum AuthorizationToken<'s> { 252 252 /// Bearer token (access JWT, refresh JWT to refresh the session) 253 253 Bearer(CowStr<'s>),
+1 -1
crates/jacquard-common/src/opt_serde_bytes_helper.rs
··· 38 38 D: Deserializer<'de>, 39 39 { 40 40 if deserializer.is_human_readable() { 41 - Ok(deserializer.deserialize_map(OptBytesVisitor)?) 41 + Ok(deserializer.deserialize_any(OptBytesVisitor)?) 42 42 } else { 43 43 let vec: Option<Vec<u8>> = serde_bytes::deserialize(deserializer)?; 44 44 Ok(vec.map(Bytes::from))
+63 -5
crates/jacquard-common/src/types/value/serde_impl.rs
··· 1 - use core::fmt; 2 - use std::{collections::BTreeMap, str::FromStr}; 3 - 1 + use crate::types::cid::IpldCid; 4 2 use base64::{Engine, prelude::BASE64_STANDARD}; 5 3 use bytes::Bytes; 4 + use core::fmt; 6 5 use serde::{Deserialize, Deserializer, Serialize, Serializer, de::VariantAccess}; 7 6 use smol_str::{SmolStr, ToSmolStr}; 7 + use std::{collections::BTreeMap, str::FromStr}; 8 8 9 9 use crate::{ 10 10 IntoStatic, ··· 218 218 where 219 219 D: Deserializer<'v>, 220 220 { 221 - deserializer.deserialize_map(self) 221 + deserializer.deserialize_any(CidAwareVisitor) 222 222 } 223 223 224 224 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error> ··· 643 643 where 644 644 D: Deserializer<'v>, 645 645 { 646 - deserializer.deserialize_map(self) 646 + deserializer.deserialize_any(RawCidAwareVisitor) 647 647 } 648 648 649 649 fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error> ··· 693 693 694 694 // Second pass: apply type inference and check for special patterns 695 695 apply_raw_type_inference(temp_map).map_err(A::Error::custom) 696 + } 697 + } 698 + 699 + // In DAG-CBOR, newtype_struct wraps tag 42 (CID) 700 + // The CidDeserializer will call visit_bytes with the CID bytes 701 + struct CidAwareVisitor; 702 + 703 + impl<'de: 'v, 'v> serde::de::Visitor<'v> for CidAwareVisitor { 704 + type Value = Data<'v>; 705 + 706 + fn expecting(&self, f: &mut fmt::Formatter) -> fmt::Result { 707 + f.write_str("CID bytes or other newtype content") 708 + } 709 + 710 + fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E> 711 + where 712 + E: serde::de::Error, 713 + { 714 + // Try to parse as CID first (tag 42 case) 715 + match IpldCid::try_from(v) { 716 + Ok(cid) => Ok(Data::CidLink(Cid::ipld(cid))), 717 + Err(_) => Ok(Data::Bytes(Bytes::copy_from_slice(v))), 718 + } 719 + } 720 + 721 + fn visit_borrowed_bytes<E>(self, v: &'v [u8]) -> Result<Self::Value, E> 722 + where 723 + E: serde::de::Error, 724 + { 725 + self.visit_bytes(v) 726 + } 727 + } 728 + 729 + struct RawCidAwareVisitor; 730 + 731 + impl<'de: 'v, 'v> serde::de::Visitor<'v> for RawCidAwareVisitor { 732 + type Value = RawData<'v>; 733 + 734 + fn expecting(&self, f: &mut fmt::Formatter) -> fmt::Result { 735 + f.write_str("CID bytes or other newtype content") 736 + } 737 + 738 + fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E> 739 + where 740 + E: serde::de::Error, 741 + { 742 + // Try to parse as CID first (tag 42 case) 743 + match IpldCid::try_from(v) { 744 + Ok(cid) => Ok(RawData::CidLink(Cid::ipld(cid))), 745 + Err(_) => Ok(RawData::Bytes(Bytes::copy_from_slice(v))), 746 + } 747 + } 748 + 749 + fn visit_borrowed_bytes<E>(self, v: &'v [u8]) -> Result<Self::Value, E> 750 + where 751 + E: serde::de::Error, 752 + { 753 + self.visit_bytes(v) 696 754 } 697 755 } 698 756
+1 -1
crates/jacquard-identity/Cargo.toml
··· 47 47 48 48 [target.'cfg(target_arch = "wasm32")'.dependencies] 49 49 mini-moka = { version = "0.10",path = "../mini-moka-vendored", features = ["js"], optional = true } 50 - 50 + ring = { version = "0.17", default-features = false, features = ["wasm32_unknown_unknown_js"]} 51 51 52 52 [[example]] 53 53 name = "resolve_lexicon"
+15 -8
crates/jacquard-identity/src/lib.rs
··· 81 81 #[cfg(feature = "streaming")] 82 82 use jacquard_common::ByteStream; 83 83 use jacquard_common::http_client::HttpClient; 84 + use jacquard_common::smol_str::ToSmolStr; 84 85 use jacquard_common::types::did::Did; 85 86 use jacquard_common::types::did_doc::DidDocument; 86 87 use jacquard_common::types::ident::AtIdentifier; ··· 458 459 } 459 460 460 461 async fn get_text(&self, url: Url) -> resolver::Result<String> { 462 + let u = url.to_smolstr(); 461 463 let resp = self.http.get(url).send().await?; 462 464 if resp.status() == StatusCode::OK { 463 465 Ok(resp.text().await?) 464 466 } else { 465 467 Err(IdentityError::transport( 468 + u, 466 469 resp.error_for_status().unwrap_err(), 467 470 )) 468 471 } ··· 861 864 &self, 862 865 request: http::Request<Vec<u8>>, 863 866 ) -> core::result::Result<http::Response<Vec<u8>>, Self::Error> { 867 + let u = request.uri().clone(); 864 868 match self.opts.request_timeout { 865 869 Some(duration) => n0_future::time::timeout(duration, self.http.send_http(request)) 866 870 .await 867 871 .map_err(|_| IdentityError::timeout())? 868 - .map_err(IdentityError::transport), 872 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)), 869 873 None => self 870 874 .http 871 875 .send_http(request) 872 876 .await 873 - .map_err(IdentityError::transport), 877 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)), 874 878 } 875 879 } 876 880 } ··· 882 886 &self, 883 887 request: http::Request<Vec<u8>>, 884 888 ) -> Result<http::Response<ByteStream>, Self::Error> { 889 + let u = request.uri().clone(); 885 890 match self.opts.request_timeout { 886 891 Some(duration) => { 887 892 n0_future::time::timeout(duration, self.http.send_http_streaming(request)) 888 893 .await 889 894 .map_err(|_| IdentityError::timeout())? 890 - .map_err(IdentityError::transport) 895 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)) 891 896 } 892 897 None => self 893 898 .http 894 899 .send_http_streaming(request) 895 900 .await 896 - .map_err(IdentityError::transport), 901 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)), 897 902 } 898 903 } 899 904 ··· 909 914 + Send 910 915 + 'static, 911 916 { 917 + let u = parts.uri.clone(); 912 918 match self.opts.request_timeout { 913 919 Some(duration) => { 914 920 n0_future::time::timeout(duration, self.http.send_http_bidirectional(parts, body)) 915 921 .await 916 922 .map_err(|_| IdentityError::timeout())? 917 - .map_err(IdentityError::transport) 923 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)) 918 924 } 919 925 None => self 920 926 .http 921 927 .send_http_bidirectional(parts, body) 922 928 .await 923 - .map_err(IdentityError::transport), 929 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)), 924 930 } 925 931 } 926 932 ··· 934 940 where 935 941 S: n0_future::Stream<Item = Result<bytes::Bytes, jacquard_common::StreamError>> + 'static, 936 942 { 943 + let u = parts.uri.clone(); 937 944 match self.opts.request_timeout { 938 945 Some(duration) => { 939 946 n0_future::time::timeout(duration, self.http.send_http_bidirectional(parts, body)) 940 947 .await 941 948 .map_err(|_| IdentityError::timeout())? 942 - .map_err(IdentityError::transport) 949 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)) 943 950 } 944 951 None => self 945 952 .http 946 953 .send_http_bidirectional(parts, body) 947 954 .await 948 - .map_err(IdentityError::transport), 955 + .map_err(|e| IdentityError::transport(u.to_smolstr(), e)), 949 956 } 950 957 } 951 958 }
+4 -4
crates/jacquard-identity/src/resolver.rs
··· 540 540 code(jacquard::identity::transport), 541 541 help("check network connectivity and TLS configuration") 542 542 )] 543 - Transport, 543 + Transport(SmolStr), 544 544 545 545 /// Request timeout 546 546 #[error("request timed out")] ··· 661 661 } 662 662 663 663 /// Create a transport error 664 - pub fn transport(source: impl std::error::Error + Send + Sync + 'static) -> Self { 665 - Self::new(IdentityErrorKind::Transport, Some(Box::new(source))) 664 + pub fn transport(msg: SmolStr, source: impl std::error::Error + Send + Sync + 'static) -> Self { 665 + Self::new(IdentityErrorKind::Transport(msg), Some(Box::new(source))) 666 666 } 667 667 668 668 /// Create a timeout error ··· 765 765 766 766 impl From<reqwest::Error> for IdentityError { 767 767 fn from(e: reqwest::Error) -> Self { 768 - Self::transport(e).with_context("HTTP request failed during identity resolution") 768 + Self::transport("".into(), e).with_context("HTTP request failed during identity resolution") 769 769 } 770 770 } 771 771
+4
crates/jacquard-oauth/Cargo.toml
··· 50 50 [target.'cfg(not(target_arch = "wasm32"))'.dependencies] 51 51 tokio = { workspace = true, features = ["rt", "net", "time"] } 52 52 rouille = { version = "3.6.2", optional = true } 53 + 54 + 55 + [target.'cfg(target_arch = "wasm32")'.dependencies] 56 + ring = { version = "0.17", features = ["wasm32_unknown_unknown_js"]}
+35 -12
crates/jacquard-oauth/src/client.rs
··· 617 617 <R as XrpcRequest>::Response: Send + Sync, 618 618 { 619 619 let base_uri = self.base_uri().await; 620 - opts.auth = Some(self.access_token().await); 621 - let guard = self.data.read().await; 622 - let mut dpop = guard.dpop_data.clone(); 620 + let original_token = self.access_token().await; 621 + opts.auth = Some(original_token.clone()); 622 + // Clone dpop_data and release read lock before the await point 623 + let mut dpop = self.data.read().await.dpop_data.clone(); 623 624 let base_uri = Url::parse(&base_uri).map_err(|e| ClientError::transport(e))?; 624 625 let http_response = self 625 626 .client ··· 628 629 .await 629 630 .map_err(|e| ClientError::transport(e))?; 630 631 let resp = process_response(http_response); 631 - drop(guard); 632 + 633 + // Write back updated nonce to session data (dpop_call may have updated it) 634 + { 635 + let mut guard = self.data.write().await; 636 + guard.dpop_data.dpop_host_nonce = dpop.dpop_host_nonce.clone(); 637 + } 638 + 632 639 if is_invalid_token_response(&resp) { 633 - opts.auth = Some( 634 - self.refresh() 635 - .await 636 - .map_err(|e| ClientError::transport(e))?, 637 - ); 638 - let guard = self.data.read().await; 639 - let mut dpop = guard.dpop_data.clone(); 640 + // Optimistic refresh: check if another request already refreshed the token 641 + let current_token = self.access_token().await; 642 + if current_token != original_token { 643 + // Token was already refreshed by another concurrent request, use it 644 + opts.auth = Some(current_token); 645 + } else { 646 + // We need to refresh - this will be serialized by the registry's Mutex 647 + opts.auth = Some( 648 + self.refresh() 649 + .await 650 + .map_err(|e| ClientError::transport(e))?, 651 + ); 652 + } 653 + // Re-read dpop_data after refresh (refresh may have updated it) 654 + let mut dpop = self.data.read().await.dpop_data.clone(); 640 655 let http_response = self 641 656 .client 642 657 .dpop_call(&mut dpop) 643 658 .send(build_http_request(&base_uri, &request, &opts)?) 644 659 .await 645 660 .map_err(|e| ClientError::transport(e))?; 646 - process_response(http_response) 661 + let resp = process_response(http_response); 662 + 663 + // Write back updated nonce after retry 664 + { 665 + let mut guard = self.data.write().await; 666 + guard.dpop_data.dpop_host_nonce = dpop.dpop_host_nonce.clone(); 667 + } 668 + 669 + resp 647 670 } else { 648 671 resp 649 672 }
+5 -3
crates/jacquard/Cargo.toml
··· 145 145 bytes.workspace = true 146 146 http.workspace = true 147 147 miette = { workspace = true } 148 - reqwest = { workspace = true, features = ["json", "gzip"] } 148 + reqwest = { workspace = true, features = ["json"] } 149 149 serde.workspace = true 150 150 serde_html_form.workspace = true 151 151 serde_json.workspace = true ··· 157 157 jose-jwk = { workspace = true, features = ["p256"] } 158 158 tracing = { workspace = true, optional = true } 159 159 n0-future = { workspace = true, optional = true } 160 - gloo-storage = "0.3" 160 + 161 161 162 162 [target.'cfg(not(target_family = "wasm"))'.dependencies] 163 163 jacquard-identity = { version = "0.9", path = "../jacquard-identity", features = ["cache"] } 164 164 reqwest = { workspace = true, features = [ 165 165 "http2", 166 - "system-proxy", 166 + "gzip", 167 167 "rustls-tls", 168 168 ] } 169 169 tokio = { workspace = true, features = ["macros", "rt-multi-thread", "fs"] } ··· 172 172 [target.'cfg(target_family = "wasm")'.dependencies] 173 173 getrandom = { version = "0.2", features = ["js"] } 174 174 regex-lite = "0.1" 175 + ring = { version = "0.17", features = ["wasm32_unknown_unknown_js"]} 176 + reqwest = { workspace = true } 175 177 176 178 [target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies] 177 179 gloo-storage = "0.3"
+2 -1
crates/jacquard/src/client.rs
··· 155 155 } 156 156 157 157 /// Unauthenticated XRPC client session with identity resolution 158 + #[derive(Debug, Clone)] 158 159 pub struct UnauthenticatedSession<T> { 159 160 resolver: Arc<T>, 160 161 endpoint: Arc<RwLock<Option<CowStr<'static>>>>, ··· 224 225 .read() 225 226 .await 226 227 .clone() 227 - .unwrap_or(CowStr::new_static("https://public.bsky.app")) 228 + .unwrap_or(CowStr::new_static("https://public.api.bsky.app")) 228 229 } 229 230 } 230 231
+11 -2
examples/subscribe_repos.rs
··· 11 11 use jacquard_common::xrpc::{SubscriptionClient, TungsteniteSubscriptionClient}; 12 12 use miette::IntoDiagnostic; 13 13 use n0_future::StreamExt; 14 + use smol_str::ToSmolStr; 14 15 use url::Url; 15 16 16 17 #[derive(Parser, Debug)] 17 - #[command(author, version, about = "Subscribe to a PDS's subscribeRepos endpoint")] 18 + #[command( 19 + author, 20 + version, 21 + about = "Subscribe to a PDS's subscribeRepos endpoint" 22 + )] 18 23 struct Args { 19 24 /// PDS URL (e.g., atproto.systems or https://atproto.systems) 20 25 pds_url: String, ··· 47 52 commit.rev, 48 53 commit.commit, 49 54 commit.ops.len(), 50 - commit.since, 55 + commit 56 + .since 57 + .as_ref() 58 + .map(|ts| ts.to_smolstr()) 59 + .unwrap_or_default(), 51 60 ); 52 61 } 53 62 SubscribeReposMessage::Identity(identity) => {