diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ff2769243..bf13b8b0b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,8 +52,6 @@ So stay vigilant and update it if you notice something missing. - https://www-staging.rust-lang.org/governance/teams/leadership-council - https://www-staging.rust-lang.org/governance/wgs/wg-async - -- https://www-staging.rust-lang.org/production/users - https://www-staging.rust-lang.org/learn/get-started - https://www-staging.rust-lang.org/policies/code-of-conduct @@ -84,8 +82,6 @@ So stay vigilant and update it if you notice something missing. - https://www-staging.rust-lang.org/es/governance/teams/leadership-council - https://www-staging.rust-lang.org/es/governance/wgs/wg-async - -- https://www-staging.rust-lang.org/es/production/users - https://www-staging.rust-lang.org/es/learn/get-started - https://www-staging.rust-lang.org/es/policies/code-of-conduct diff --git a/Cargo.lock b/Cargo.lock index e76e5abcb..e36d247da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -45,18 +45,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -88,9 +88,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -121,9 +121,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "block-buffer" @@ -142,9 +142,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" [[package]] name = "byteorder" @@ -154,15 +154,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "cc" -version = "1.0.98" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" [[package]] name = "cfg-if" @@ -266,11 +266,11 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35b50dba0afdca80b187392b24f2499a88c336d5a8493e4b4ccfb608708be56a" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -285,20 +285,20 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encoding_rs" @@ -416,15 +416,6 @@ dependencies = [ "unic-langid 0.9.5", ] -[[package]] -name = "fluent-locale" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f626739113990f6ee64eff9b9e92621688dfd8a5d1b6eab94741bb5eddbc96" -dependencies = [ - "unic-langid 0.6.1", -] - [[package]] name = "fluent-syntax" version = "0.9.3" @@ -589,9 +580,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "glob" @@ -714,9 +705,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -724,22 +715,22 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "futures-core", + "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -749,9 +740,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -773,16 +764,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", "futures-util", "h2 0.4.5", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "itoa", "pin-project-lite", @@ -791,6 +782,23 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + [[package]] name = "hyper-tls" version = "0.6.0" @@ -799,7 +807,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-util", "native-tls", "tokio", @@ -809,16 +817,16 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.4.1", "pin-project-lite", "socket2", "tokio", @@ -967,9 +975,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" @@ -995,9 +1003,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "loom" @@ -1025,9 +1033,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "mime" @@ -1037,9 +1045,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -1056,6 +1064,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +dependencies = [ + "hermit-abi", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "multer" version = "3.1.0" @@ -1077,11 +1097,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -1108,7 +1127,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "crossbeam-channel", "filetime", "fsevent-sys", @@ -1116,7 +1135,7 @@ dependencies = [ "kqueue", "libc", "log", - "mio", + "mio 0.8.11", "walkdir", "windows-sys 0.48.0", ] @@ -1149,9 +1168,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ "memchr", ] @@ -1164,11 +1183,11 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "foreign-types", "libc", @@ -1185,7 +1204,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -1196,9 +1215,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -1214,9 +1233,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -1230,9 +1249,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.1", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1255,7 +1274,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -1266,9 +1285,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -1277,9 +1296,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -1287,22 +1306,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -1326,7 +1345,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -1367,9 +1386,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -1382,7 +1401,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", "version_check", "yansi", ] @@ -1437,11 +1456,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -1461,19 +1480,19 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -1487,13 +1506,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -1504,9 +1523,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "rental" @@ -1531,9 +1550,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64", "bytes", @@ -1542,9 +1561,10 @@ dependencies = [ "futures-util", "h2 0.4.5", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", + "hyper-rustls", "hyper-tls", "hyper-util", "ipnet", @@ -1571,6 +1591,21 @@ dependencies = [ "winreg", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + [[package]] name = "rocket" version = "0.5.1" @@ -1620,7 +1655,7 @@ dependencies = [ "proc-macro2", "quote", "rocket_http", - "syn 2.0.65", + "syn 2.0.72", "unicode-xid", "version_check", ] @@ -1648,7 +1683,7 @@ dependencies = [ "either", "futures", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.30", "indexmap", "log", "memchr", @@ -1668,7 +1703,7 @@ dependencies = [ [[package]] name = "rust_team_data" version = "1.0.0" -source = "git+https://github.com/rust-lang/team#504684952d33d8494a7aa120a9304f74d1f0796f" +source = "git+https://github.com/rust-lang/team#17e160f7f6df1fb2e6a245ad0c2d7fa072677a5d" dependencies = [ "indexmap", "serde", @@ -1692,13 +1727,26 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "2.1.2" @@ -1715,6 +1763,17 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +[[package]] +name = "rustls-webpki" +version = "0.102.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.17" @@ -1781,11 +1840,11 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -1794,9 +1853,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -1819,40 +1878,41 @@ checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -1869,19 +1929,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - [[package]] name = "sha2" version = "0.10.8" @@ -1911,12 +1958,6 @@ dependencies = [ "libc", ] -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - [[package]] name = "slab" version = "0.4.9" @@ -1972,6 +2013,12 @@ dependencies = [ "loom", ] +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "syn" version = "1.0.109" @@ -1985,9 +2032,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.65" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -1996,9 +2043,9 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" [[package]] name = "system-configuration" @@ -2035,22 +2082,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -2102,18 +2149,18 @@ checksum = "29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1" [[package]] name = "tinystr" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", ] [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -2126,31 +2173,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "d040ac2b29ab03b09d4129c2f5bbd012a3ac2f79d38ff506a4bf8dd34b0eac8a" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.1", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -2163,6 +2209,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.15" @@ -2189,9 +2246,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.13" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c" dependencies = [ "serde", "serde_spanned", @@ -2201,18 +2258,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16" dependencies = [ "indexmap", "serde", @@ -2234,7 +2291,6 @@ dependencies = [ "tokio", "tower-layer", "tower-service", - "tracing", ] [[package]] @@ -2255,7 +2311,6 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -2269,7 +2324,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", ] [[package]] @@ -2366,15 +2421,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "unic-langid" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f209d65ab52de48d87c1845576d2d44f2b36553b8daa4c7f7a7383781f5750c" -dependencies = [ - "unic-langid-impl 0.6.2", -] - [[package]] name = "unic-langid" version = "0.8.0" @@ -2394,15 +2440,6 @@ dependencies = [ "unic-langid-impl 0.9.5", ] -[[package]] -name = "unic-langid-impl" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b22a3f781a9cb3588f751337fa7989472923973d546020d91da8e5d1cd5544" -dependencies = [ - "tinystr 0.3.4", -] - [[package]] name = "unic-langid-impl" version = "0.8.0" @@ -2418,7 +2455,7 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a5422c1f65949306c99240b81de9f3f15929f5a8bfe05bb44b034cc8bf593e5" dependencies = [ - "tinystr 0.7.5", + "tinystr 0.7.6", ] [[package]] @@ -2473,16 +2510,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] -name = "unsafe-libyaml" -version = "0.2.11" +name = "untrusted" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -2553,7 +2590,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", "wasm-bindgen-shared", ] @@ -2587,7 +2624,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2663,7 +2700,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2683,18 +2720,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -2705,9 +2742,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -2717,9 +2754,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -2729,15 +2766,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -2747,9 +2784,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -2759,9 +2796,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -2771,9 +2808,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -2783,15 +2820,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c" dependencies = [ "memchr", ] @@ -2810,16 +2847,8 @@ dependencies = [ name = "www-rust-lang-org" version = "0.1.0" dependencies = [ - "fluent", - "fluent-bundle 0.15.3", - "fluent-locale", - "fluent-syntax 0.11.1", - "handlebars", "handlebars-fluent", - "lazy_static", "percent-encoding", - "rand", - "regex", "reqwest", "rocket", "rocket_dyn_templates", @@ -2827,8 +2856,7 @@ dependencies = [ "sass-rs", "serde", "serde_json", - "serde_yaml", - "siphasher", + "time", "toml", ] @@ -2840,3 +2868,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" dependencies = [ "is-terminal", ] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/Cargo.toml b/Cargo.toml index 8d62c00b4..bcb9ed028 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,23 +5,16 @@ authors = ["The Rust Project Developers"] edition = "2018" [dependencies] -lazy_static = "1.2.0" -fluent = "0.16" -fluent-bundle = "0.15.0" -fluent-syntax = "0.11.0" -fluent-locale = "0.10.1" handlebars-fluent = "0.4.0" -rand = "0.8" -regex = "1" rocket = "0.5.1" rocket_dyn_templates = { version = "0.2.0", features = ["handlebars"] } serde = { version = "1.0", features = ["derive"] } -serde_yaml = "0.9.34" sass-rs = "0.2.1" -reqwest = { version = "0.12.4", features = ["json"] } +reqwest = { version = "0.12.5", features = ["json"] } toml = "0.8" serde_json = "1.0" rust_team_data = { git = "https://github.com/rust-lang/team" } -handlebars = "5.1.0" -siphasher = "1.0.1" percent-encoding = "2.1.0" + +[dev-dependencies] +time = { version = "0.3.36", features = ["parsing"] } diff --git a/locales/en-US/production.ftl b/locales/en-US/production.ftl index c3437df30..eacf339f3 100644 --- a/locales/en-US/production.ftl +++ b/locales/en-US/production.ftl @@ -18,9 +18,6 @@ production-yelp-alt = yelp logo production-share = Does your company use Rust? Consider sharing your experience with us! production-share-button = Reach out to the Leadership Council -production-users = Want to learn more about who uses Rust in production? -production-users-button = Check out the users page - production-domain = See how companies are using tools in specific development domains! @@ -31,7 +28,3 @@ production-contact-core = Message the Leadership Council production-license-header = License production-license = Rust is dually licensed under the Apache License Version 2.0 and the MIT license, making it suitable for all sorts of projects. production-license-link = Policies: License - -## templates/production/users.hbs - -production-users-page-title = Production users diff --git a/locales/es/production.ftl b/locales/es/production.ftl index 85c5c64c5..423a35fa6 100644 --- a/locales/es/production.ftl +++ b/locales/es/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp ha desarrollado un framework en Rust para tests production-yelp-alt = Logo de Yelp production-share = ¿Tu compañía usa Rust? ¡Considera compartir tu experiencia con nosotros! production-share-button = Contacta con el Leadership Council -production-users = ¿Quieres saber más sobre quién usa Rust en producción? -production-users-button = Echa un vistazo a la página de usuarios production-domain = ¡Descubre compañías que están usando las herramientas en dominios específicos! production-support = Apoya a Rust production-sponsor = ¿Te interesa patrocinar el desarrollo de Rust? ¿O una conferencia de Rust? Queremos hablar contigo. @@ -23,7 +21,3 @@ production-contact-core = Contacta con el Leadership Council production-license-header = Licencia production-license = Rust tiene una licencia doble, Apache License 2.0 y MIT, que lo hace apto para todo tipo de proyectos. production-license-link = Políticas: licencia - -## templates/production/users.hbs - -production-users-page-title = Usuarios en producción diff --git a/locales/fa/production.ftl b/locales/fa/production.ftl index 82115af56..7d97c2fe6 100644 --- a/locales/fa/production.ftl +++ b/locales/fa/production.ftl @@ -5,6 +5,3 @@ production-watch-video = تماشا‏‎ی ویدیو‎ production-dropbox-alt = لوگوی Dropbox production-yelp-alt = لوگوی Yelp production-support = پشتیبانی از Rust - -## templates/production/users.hbs - diff --git a/locales/fr/production.ftl b/locales/fr/production.ftl index 3399f827b..0c84e0527 100644 --- a/locales/fr/production.ftl +++ b/locales/fr/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp a développé un framework en Rust pour effectuer des tes production-yelp-alt = logo de yelp production-share = Votre entreprise utilise Rust ? Songez à partager votre expérience avec nous ! production-share-button = Contacter le Leadership Council -production-users = Vous voulez savoir qui utilise Rust en production ? -production-users-button = Consulter la page des utilisateurs production-domain = Voir comment des entreprises utilisent les outils dans des domaines de développement spécifiques ! production-support = Soutenir Rust production-sponsor = Intéressé pour sponsoriser un travail sur Rust ? Une conférence Rust ? Nous adorerions que vous nous en parliez. @@ -23,7 +21,3 @@ production-contact-core = Contacter le Leadership Council production-license-header = Licence production-license = Rust est distribué sous double licences : l’Apache License Version 2.0 et la MIT license, ce qui le rend adapté à toutes sortes de projets. production-license-link = Politiques des licences - -## templates/production/users.hbs - -production-users-page-title = Rust en production diff --git a/locales/it/production.ftl b/locales/it/production.ftl index a143a0e51..26b0de1ae 100644 --- a/locales/it/production.ftl +++ b/locales/it/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp ha sviluppato il proprio framework A/B testing real time production-yelp-alt = logo yelp production-share = La tua azienda usa Rust? Condividi la tua esperienza con noi! production-share-button = Mettiti in contatto con il Leadership Council -production-users = Vuoi saperne di più da chi usa Rust in produzione? -production-users-button = Guarda la pagina degli utenti production-domain = Scopri come le aziende usano questi strumenti in specifici ambiti di sviluppo! production-support = Supporta Rust production-sponsor = Sei interessato a sponsorizzare dello sviluppo su Rust? O una conferenza su Rust? Saremmo felicissimi di entrare in contatto! @@ -23,7 +21,3 @@ production-contact-core = Manda un messaggio al Leadership Council production-license-header = Licenza production-license = Rust è rilasciato con doppia licenza, Apache License Version 2.0 e MIT license, che lo rendono perfetto per qualsiasi tipo di progetto. production-license-link = Policy: Licenza - -## templates/production/users.hbs - -production-users-page-title = Utenti in produzione diff --git a/locales/ja/production.ftl b/locales/ja/production.ftl index c2baa393b..e20beb32a 100644 --- a/locales/ja/production.ftl +++ b/locales/ja/production.ftl @@ -14,8 +14,6 @@ production-yelp = YelpはリアルタイムA/Bテストのためのフレーム production-yelp-alt = yelp ロゴ production-share = あなたの会社はRustを使っていますか? あなたの体験をぜひ共有してください! production-share-button = リーダーシップカウンシルに連絡する -production-users = Rustをプロダクションで使っている人々についてもっと知りたいですか? -production-users-button = ユーザページを見る production-domain = 企業が特定の開発ドメインにおいてどのようにツールを使っているかご覧ください! production-support = Rustを支援する production-sponsor = Rustの開発、もしくはRustカンファレンスのスポンサードに興味がありますか? あなたからの連絡をお待ちしております。 @@ -23,7 +21,3 @@ production-contact-core = リーダーシップカウンシルへメッセージ production-license-header = ライセンス production-license = Rustは、Apacheライセンスバージョン2.0およびMITライセンスでデュアルライセンスされており、あらゆる種類のプロジェクトにぴったりです。 production-license-link = ポリシー:ライセンス - -## templates/production/users.hbs - -production-users-page-title = プロダクションユーザ diff --git a/locales/ko/production.ftl b/locales/ko/production.ftl index 03a52710d..76c9387c0 100644 --- a/locales/ko/production.ftl +++ b/locales/ko/production.ftl @@ -9,6 +9,3 @@ production-share-button = 코어 팀에게 연락하기 production-support = Rust 지원하기 production-contact-core = 코어 팀에게 문의하기 production-license-header = 라이선스 - -## templates/production/users.hbs - diff --git a/locales/pl/production.ftl b/locales/pl/production.ftl index 34b08b393..252d0755e 100644 --- a/locales/pl/production.ftl +++ b/locales/pl/production.ftl @@ -14,8 +14,6 @@ production-yelp = Firma Yelp stworzyła w Ruście framework do testów A/B w cza production-yelp-alt = Logo Yelp production-share = Czy twoja firma używa Rusta? Rozważ podzielenie się z nami twoimi doświadczeniami! production-share-button = Napisz do głównego zespołu -production-users = Chcesz dowiedzieć się więcej o tym kto używa Rusta w produkcji? -production-users-button = Zobacz kto korzysta z Rusta production-domain = Zobacz jak firmy używają swoich narzędzi w rozmaitych środowiskach i dziedzinach! production-support = Wspieranie Rusta production-sponsor = Chcesz sponsorować pracę nad Rustem? A może dołożyć się do organizacji konferencji? W obu przypadkach chętnie cię wysłuchamy. @@ -23,7 +21,3 @@ production-contact-core = Wyślij wiadomość do Głównego Zespołu production-license-header = Licencja production-license = Rust jest dystrybuowany na zasadach podwójnej licencji: Licencji Apache w Wersji 2.0 lub licencji MIT. Dzięki temu każdy może używać Rusta w swoich projektach. production-license-link = Zasady: Licencje - -## templates/production/users.hbs - -production-users-page-title = Rust na produkcji diff --git a/locales/pt-BR/homepage.ftl b/locales/pt-BR/homepage.ftl index 80540edc6..bb52161e8 100644 --- a/locales/pt-BR/homepage.ftl +++ b/locales/pt-BR/homepage.ftl @@ -59,7 +59,7 @@ get-involved-read-rust-link = Leia o livro get-involved-watch-rust = Assista Rust get-involved-watch-rust-blurb = A Comunidade Rust possui um canal no YouTube dedicado a colecionar uma vasta quantidade de apresentações e tutoriais. get-involved-watch-rust-link = Assista os Vídeos -get-involved-contribute = Contribua código +get-involved-contribute = Contribua com código get-involved-contribute-blurb = Rust realmente é um esforço comunitário, e nós aceitamos contribuições vindas de amadores a profissionais, e de iniciantes a especialistas. Nos ajude a tornar a experiência com Rust ainda melhor! get-involved-contribute-link = Leia o Guia de Contribuição diff --git a/locales/pt-BR/production.ftl b/locales/pt-BR/production.ftl index 9fd1f23ad..044d628bc 100644 --- a/locales/pt-BR/production.ftl +++ b/locales/pt-BR/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp desenvolveu um framework em Rust para teste A/B em tempo production-yelp-alt = logo da Yelp production-share = Sua empresa usa Rust? Considere compartilhar sua experiência conosco! production-share-button = Contate o Leadership Council -production-users = Quer saber quem mais tem usado Rust em produção? -production-users-button = Confira a página de usuários production-domain = Veja como empresas estão usando ferramentas em específicos domínios de desenvolvimento! production-support = Apoiando Rust production-sponsor = Interessando em patrocinar o trabalho em Rust? Uma conferência sobre Rust? Adoraríamos saber mais. @@ -23,7 +21,3 @@ production-contact-core = Fale com o Leadership Council production-license-header = Licença production-license = Rust é comumente licenciado sob duas licenças, a Licença Apache v2.0 e a Licença MIT, sendo adequado para qualquer tipo de projeto. production-license-link = Políticas: Licenças - -## templates/production/users.hbs - -production-users-page-title = Usuários em produção diff --git a/locales/ru/production.ftl b/locales/ru/production.ftl index 0f29e3155..2036d6935 100644 --- a/locales/ru/production.ftl +++ b/locales/ru/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp разработали фреймворк на Rust дл production-yelp-alt = Логотип yelp production-share = Ваша компания использует Rust? Рассмотрите возможность поделиться своим опытом с нами! production-share-button = Свяжитесь с Leadership Council -production-users = Хотите узнать больше о тех, кто использует Rust в производстве? -production-users-button = Посмотрите страницу использующих production-domain = Посмотрите, как компании используют инструменты в конкретных областях разработки! production-support = Поддержка Rust production-sponsor = Заинтересованы в спонсировании разработки Rust? Или хотите устроить конференцию? Можешь обратиться к нам. @@ -23,7 +21,3 @@ production-contact-core = Связаться с Leadership Council production-license-header = Лицензия production-license = Rust имеет двойную лицензию: Apache License Version 2.0 и MIT, что делает его пригодным для всех видов проектов. production-license-link = Политики: Лицензия - -## templates/production/users.hbs - -production-users-page-title = Кто использует Rust в реальных проектах diff --git a/locales/tr/production.ftl b/locales/tr/production.ftl index c3ddd6203..fc31d9593 100644 --- a/locales/tr/production.ftl +++ b/locales/tr/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp, gerçek zamanlı A/B testi için Rust'ta bir çatı geli production-yelp-alt = yelp logosu production-share = Şirketiniz Rust kullanıyor mu? Tecrübenizi bizimle paylaşmayı göz önünde bulundurun! production-share-button = Leadership Council'a ulaşın -production-users = Üretimde Rust'ı kullananlar hakkında daha fazla bilgi almak mı istiyorsunuz? -production-users-button = Kullanıcılar sayfasına göz atın production-domain = Şirketlerin özel geliştirme alanlarında araçları nasıl kullandığına bakın! production-support = Rust'ı Desteklemek production-sponsor = Rust'taki çalışmayı desteklemek için meraklı mısınız? Bir Rust konferansı mı? Sizden haber almaktan mutluluk duyarız. @@ -23,7 +21,3 @@ production-contact-core = Leadership Council'a Mesaj At production-license-header = Lisans production-license = Rust, her türlü projeye uygun olması için Apache Lisansı Sürüm 2.0 ve MIT lisansı ile çifte olarak lisanslanmıştır. production-license-link = Politikalar: Lisans - -## templates/production/users.hbs - -production-users-page-title = Üretimde Rust Kullananlar diff --git a/locales/zh-CN/production.ftl b/locales/zh-CN/production.ftl index 4f0f846be..e3ce97e6e 100644 --- a/locales/zh-CN/production.ftl +++ b/locales/zh-CN/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp 使用 Rust 开发了一个实时 A/B 测试的框架。 production-yelp-alt = yelp 标志 production-share = 您的公司在使用 Rust 吗?可以考虑把您的经验分享给我们! production-share-button = 联系 Leadership Council -production-users = 想了解更多在生产环境使用 Rust 的用户吗? -production-users-button = 查看用户列表 production-domain = 了解公司如何在专门的开发领域中使用工具! production-support = 支持 Rust production-sponsor = 有兴趣赞助 Rust 的工作吗? Rust 会议? 我们很乐意听取您的意见。 @@ -23,7 +21,3 @@ production-contact-core = 联系 Leadership Council production-license-header = 许可证 production-license = Rust 通过 Apache 2.0 许可证和 MIT 许可证进行双重许可,适用于各种类型的项目。 production-license-link = 政策:许可证 - -## templates/production/users.hbs - -production-users-page-title = 生产环境用户 diff --git a/locales/zh-TW/production.ftl b/locales/zh-TW/production.ftl index a70fd64c5..811223286 100644 --- a/locales/zh-TW/production.ftl +++ b/locales/zh-TW/production.ftl @@ -14,8 +14,6 @@ production-yelp = Yelp 使用 Rust 開發一個即時的 A/B 測試框架。 他 production-yelp-alt = yelp 標誌 production-share = 您的公司在使用 Rust 嗎?可以考慮把您的經驗分享給我們! production-share-button = 聯繫 Leadership Council -production-users = 想了解更多在正式環境使用 Rust 的開發者嗎? -production-users-button = 查看使用者清單 production-domain = 了解公司如何在專門的開發領域中使用工具! production-support = 支持 Rust production-sponsor = 有興趣贊助 Rust 的工作嗎?或 Rust 研討會?我們很樂意聽取您的意見。 @@ -23,7 +21,3 @@ production-contact-core = 聯絡 Leadership Council production-license-header = 授權條款 production-license = Rust 使用 Apache 2.0 授權條款和 MIT 授權條款,適用於各類型的專案。 production-license-link = 政策:授權條款 - -## templates/production/users.hbs - -production-users-page-title = 在正式環境使用的使用者 diff --git a/package-lock.json b/package-lock.json index 9eddf7a2d..e85ff7e85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -619,12 +619,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1149,9 +1149,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" diff --git a/src/data/users.yml b/src/data/users.yml deleted file mode 100644 index c292da499..000000000 --- a/src/data/users.yml +++ /dev/null @@ -1,693 +0,0 @@ -# Rust users - -# See CONTRIBUTING.md for details on how to contribute to this file - -- - name: 360dialog - url: http://www.360dialog.com - logo: 360dialog.png - how: "Most of our service consumers are written with Rust." -- - name: 49nord - url: https://49nord.de/rust - logo: 49nord.svg - how: "49nord develops safe and secure Industrial IoT hardware and applications using Rust." -- - name: 3DR - url: https://3dr.com/ - logo: 3dr.svg - how: "Rust handles communications through USB devices to critical components for Flight and our Mobile apps." -- - name: Academia.edu - url: https://www.academia.edu/ - logo: academia.edu.svg - how: "Turning strings into structured paper and author data, faster than Ruby." -- - name: AgilData - url: http://www.agildata.com/ - logo: agildata.svg - how: "MySQL packet capture tool." -- - name: AISenz 艾森智能 - url: https://loraflow.io/ - logo: aisenz.svg - how: "Rust contributes to our LoRaWAN services and industry solutions in performance, reliability, and productivity." -- - name: Aleph Alpha - url: https://aleph-alpha.de/ - logo: alephalpha.svg - how: "Rust is the backbone technology for our data pipelines, infrastructure modules and machine learning tasks." -- - name: Algorithmia - url: https://algorithmia.com/ - logo: algorithmia.png - how: "Rust algorithm development is a first-class citizen of our platform." -- - name: ANIXE - url: http://www.anixe.pl/ - logo: anixe.png - how: "Building the next generation travel services trading platform in Rust." -- - name: AppSignal - url: https://appsignal.com/ - logo: appsignal.png - how: "Fast and robust monitoring agent for web applications." -- - name: Ather Energy - url: https://www.atherenergy.com/ - logo: ather.svg - how: "Sending scooter data to the cloud reliably." -- - name: Atlassian - url: https://www.atlassian.com/ - logo: atlassian.svg - how: "We use Rust in a service for analyzing petabytes of source code." -- - name: Autumn - url: https://medium.com/@autumn_eng/about-rust-s-machine-learning-community-4cda5ec8a790 - logo: autumn.png - how: "Machine learning in Rust." -- - name: Beget - url: https://beget.com - logo: beget.png - how: "As part of backup, resource management systems and DDOS mitigation" -- - name: BePark - url: https://www.bepark.eu - logo: bepark.png - how: "It help us remotly open parking gates in severals ways. Rust make us really confident for that job!" -- - name: Braintree - url: https://www.braintreepayments.com/ - logo: braintree.png - how: "Speeding up batch processing and for small command-line utilities." -- - name: Bytedance - url: https://bytedance.com/ - logo: bytedance.png - how: "Use Rust for our cross-platform client-side development, safe and fast" -- - name: Calyptech - url: http://calyptech.com - logo: calyptech.png - how: "Used for high performance embedded system components as an alternative to C." -- - name: Canonical - url: http://www.canonical.com - logo: canonical.svg - how: "Everything from server monitoring to middleware!" -- - name: Ceph - url: http://ceph.com - logo: ceph.png - how: "Rust bindings for librbd, an interface into the Ceph storage platform." -- - name: Chef - url: https://www.chef.io/ - logo: chef.svg - how: "Chef lets you develop, deploy and manage infrastructure, run-time environments and applications." -- - name: Clever Cloud - url: https://www.clever-cloud.com/ - logo: clever-cloud.svg - how: "We host Rust web applications, and a part of our infrastructure is developed in Rust." -- - name: Cloudflare - url: https://www.cloudflare.com/ - logo: cloudflare.svg - how: "We are using Rust as a replacement for memory-unsafe languages (particularly C) and are using it in our core edge logic." -- - name: Coursera - url: https://www.coursera.org - logo: coursera.png - how: "Programming Assignments in secured Docker containers." -- - name: Coredump Hackerspace - url: https://www.coredump.ch/ - logo: coredump.png - how: "We develop CLI tools, games and our backend infrastructure and organize events" -- - name: Coturnix - url: http://www.coturnix.fr/ - logo: coturnix.png - how: "Machine learning and optimization for minimizing energy consumption in buildings." -- - name: craft ai - url: http://craft.ai - logo: craftai.png - how: "Our core machine learning engine is written in Rust." -- - name: Cultivate Software - url: https://cultivatehq.com/ - logo: cultivate-logo.svg - how: "We used Rust as a bridge between a VSCode extension and IoT devices." -- - name: Delimiter - url: https://www.delimiter.com/ - logo: delimiter.png - how: "Rust powers our bare metal provisioning system." -- - name: Deliveroo - url: https://deliveroo.co.uk - logo: deliveroo.svg - how: "We are using Rust to quickly make assignment decisions in our food delivery network." -- - name: Distil Networks - url: https://www.distilnetworks.com/ - logo: distil.png - how: "We are using Rust in our low latency bot detection and mitigation platform." -- - name: Dropbox - url: https://www.dropbox.com - logo: dropbox.svg - how: "Optimizing cloud file-storage." -- - name: ETCDEV Team - url: https://www.etcdevteam.com/ - logo: etcface.png - how: "ETCDEV Team is a group of professional software engineers working full time on Ethereum Classic core projects." -- - name: Parity Technologies - url: https://parity.io/ - logo: parity-logo.png - how: "Blockchain infrastructure for the decentralized web." -- - name: Everlane - url: http://www.everlane.com/ - logo: everlane.png - how: "Dependable, high-performance metrics aggregation and forwarding." -- - name: Faraday - url: http://faraday.io - logo: faraday.svg - how: "Securely transferring credentials." -- - name: Fortanix - url: https://fortanix.com - logo: fortanix.svg - how: "Moving security out of infrastructure and into applications with Runtime Encryption using Intel SGX." -- - name: GiGa infosystems GmbH - url: https://www.giga-infosystems.com - logo: giga.svg - how: "Rust serves us as our primary tool for rewriting our database for 3d geological models." -- - name: Gremlin - url: https://www.gremlin.com - logo: gremlin.svg - how: "Safely and efficiently causing controlled chaos." -- - name: Habitat - url: https://www.habitat.sh - logo: habitat.svg - how: "Habitat is automation that travels with the app." -- - name: Honeypot - url: https://www.honeypot.io/ - logo: honeypot.svg - how: "We built and use Searchspot, a kind of search engine based on Elasticsearch. Recruiters use it to search for the developers they're looking for." -- - name: ImageOptim - url: https://imageoptim.com - logo: imageoptim.png - how: 'High-efficiency modern JPEG encoder written in Rust is at the heart of the image compression web service.' -- - name: iqlusion - url: https://iqlusion.io - logo: iqlusion.svg - how: "Rust is the main language we use to develop in-house and OSS software, and used for infrastructure/devops tools as well as cryptographic key management services." -- - name: Knoldus - url: https://www.knoldus.com - logo: knoldus-logo.png - how: "We use Rust in [IoT Based Project] Security System Projects(Image Recognition System) and also [Networking Based Project] in Monitoring of Networking Protocols like DHCP and Active Directory." -- - name: krypt.co - url: https://krypt.co - logo: krypt.co.png - how: "Shared code between iOS and Android for SSH host signature verification as well as a PKCS11 shared library." -- - name: kupibilet.ru - url: https://www.kupibilet.ru/ - logo: kupibilet.svg - how: "We use Rust for our ticket search engine." -- - name: Lark - url: https://www.larksuite.com - logo: lark.png - how: "Lark combines a multitude of essential collaboration tools in a single interconnected platform, including Chat, Calendar, Creation, Cloud storage and App Center. These functions are always in sync, and are easy access from one to the next." -- - name: LINE - url: https://line.me/ - logo: line.png - how: "For a configuration agent." -- - name: Linkerd - url: https://linkerd.io/ - logo: linkerd.svg - how: "We're using Rust to extend the Linkerd Service Mesh with a lightweight TCP/TLS load balancer, linkerd-tcp." -- - name: Linki Tools - url: http://linki.tools/ - logo: linkitools.png - how: "For testing and verification of toolchains." -- - name: MaidSafe - url: http://www.maidsafe.net - logo: maidsafe.svg - how: "Building a decentralised data and communications network." -- - name: Media-IO - url: https://media-io.com - logo: media-io.png - how: "Specialized in Broadcast and Cinema technologie, we are using Rust for our microservice workers and for our native web player." -- - name: Mozilla - url: https://www.mozilla.org - logo: mozilla.png - how: "Building the Servo browser engine, integrating into Firefox, other projects." -- - name: Navitia - url: http://www.navitia.io - logo: navitia.svg - how: "Geocoding service built over Elasticsearch." -- - name: npm, Inc - url: http://www.npmjs.com - logo: npm.svg - how: "Replacing C and rewriting performance-critical bottlenecks in the registry service architecture." -- - name: OneSignal - url: https://onesignal.com - logo: onesignal.svg - how: "High volume, cross platform push notification delivery." -- - name: OVH - url: https://www.ovh.com - logo: ovh.png - how: "We used Rust to build a high performance, highly available log management system." -- - name: Pants Build - url: http://www.pantsbuild.org/ - logo: pantsbuild.png - how: "As of the 1.3.0 stable release, the core scheduling algorithms of Pants are implemented in Rust. We hope to incrementally port more of Pant's Python code to Rust over time." -- - name: Pollen Robotics - url: https://www.pollen-robotics.com/ - logo: pollen-logo-for-rust.svg - how: "We created Luos and Robus, Rust based tools for Robot development." -- - name: Postlight - url: https://postlight.com/ - logo: postlight.svg - how: "We use Rust to generate logos from favicons in the Mercury AMP Converter." -- - name: Postmates - url: https://postmates.com/ - logo: postmates.png - how: "Rust is being incubated in the Infrastructure team to write system daemons." -- - name: PingCAP - url: https://github.com/pingcap/tikv - logo: pingcap.png - how: "Building a distributed key-value store with Rust and Raft." -- - name: PurchaseClinic.com - url: http://purchaseclinic.com/ - logo: purchaseclinic.com.png - how: "Our backend (REST API) is a 100% Rust server, based on Iron." -- - name: QCERT (Qatar's National CERT) - url: http://qcert.org/ - logo: QCERT-Logo.svg - how: "DNS log analysis pipeline entirely written in rust, running on top of our own Rust stream processing platform." -- - name: Sandstorm - url: https://sandstorm.io - logo: sandstorm-logo-rust.svg - how: "The backend of our Collections app is written in Rust." -- - name: Scality - url: https://scality.com - logo: scality.svg - how: "Software-defined storage georeplication daemon" -- - name: Sentry - url: https://sentry.io/ - logo: sentry-horizontal-black.svg - how: "JavaScript, Java and iOS event processing and the command-line client for the Sentry API." -- - name: slowtec - url: http://www.slowtec.de/ - logo: slowtec.svg - how: "Our robust & reliable automation systems are entirely written in Rust." -- - name: SmartThings - url: http://www.smartthings.com/ - logo: smartthings.png - how: "Memory-safe embedded applications on our SmartThings Hub and supporting services in the cloud." -- - name: Snapview - url: https://www.snapview.de - logo: snapview-logo.svg - how: "We use Rust to power our screen sharing and video conferencing service. In detail we use it to power a server service and native clients on Windows, macOS, Linux and more operating systems in future." -- - name: Snips - url: https://snips.ai/ - logo: snips.svg - how: "AI assistants that are private by design." -- - name: Spoqa - url: https://www.spoqa.com/ - logo: spoqa.png - how: "Our POS integration SDK is entirely written in Rust." -- - name: Stratum Security - url: https://stratumsecurity.com/ - logo: stratum.png - how: "Data exfiltration testing and Application Security." -- - name: System76 - url: https://system76.com/ - logo: system76.svg - how: "As a Linux-based computer-manufacture, much of our infrastructure and desktop Linux projects are written in Rust. From hardware certification, flashing, and imaging; to system services and GTK3 desktop applications." -- - name: Telenor Digital - url: https://www.telenordigital.com/ - logo: telenordigital.png - how: "Increasing performance and reliability of a concurrent webhook delivery service." -- - name: Terramagna - url: https://www.terramagna.com.br - logo: terramagna.svg - how: "We use Rust to create services that bring safety to agribusiness financing." -- - name: Tessel - url: https://www.tessel.io - logo: tessel.svg - how: "Single-board computing platform supports Rust applications." -- - name: thoughtram - url: http://thoughtram.io - logo: thoughtram.png - how: "The backend of our training platform classroom.thoughtram.io is 100 % Rust using nickel.rs" -- - name: ThreatX - url: https://threat-x.com/ - logo: threatx.svg - how: "Threat X Web Application Firewall (WAF) and central analysis engine are written in Rust, facilitating real time analysis of high bandwidth web applications." -- - name: Threema - url: https://threema.ch/ - logo: threema.svg - how: "We use Rust in our iOS app (see saltyrtc-client-rs) as well as for some of our backend services." -- - name: Tilde - url: http://www.tilde.io - logo: tilde.png - how: "Optimizing Skylight, the Rails profiler." -- - name: TrafficLand - url: http://www.trafficland.com/ - logo: trafficland.svg - how: "Video transcoding, manipulation, and analysis." -- - name: Wire - url: https://wire.com - logo: wire.svg - how: "Wire's Axolotl protocol implementation and other cryptographic and utility libraries are developed in Rust, then cross-compiled for iOS and Android." -- - name: Xero - url: https://www.xero.com - logo: xero.png - how: "Infrastructure for beautiful accounting software." -- - name: AdHawk - url: https://www.tryadhawk.com - logo: adhawk.png - how: "We use Rust to parse all of our User-Agent headers." -- - name: TreeScale - url: https://www.treescale.com - logo: treescale.png - how: "At TreeScale we are implemented distributed PubSub system using Rust and MIO, which gave us 8x performance on for processing and distributing Container Images" -- - name: EVO.company - url: https://evo.company - logo: evo.company.svg - how: "We have development tools, containerization, monitoring and orchestration systems in rust." -- - name: PolySync - url: https://polysync.io/ - logo: polysync.png - how: "Building safety-critical runtime environments & infrastructure for autonomous vehicles." -- - name: Cryptape - url: http://cryptape.com/ - logo: cryptape.png - how: "Rust makes our permissioned blockchain, CITA, faster and stronger." -- - name: CoreOS, Inc. - url: https://coreos.com/ - logo: coreos.svg - how: "Tools shipped within the Container Linux distribution as well as internal tooling including documentation transformation and validation." -- - name: Hubs - url: https://www.hubs.com/ - logo: hubs.png - how: "We use Rust to do performance critical heavy lifting in our 3D model processing backend." -- - name: VersionEye - url: https://www.versioneye.com/ - logo: versioneye.png - how: "We are using Rust to implement a command line tool which can identify software dependencies by their SHA values." -- - name: VOYAGE GROUP - url: https://voyagegroup.com/ - logo: voyagegroup.png - how: "Log aggregation daemon for advertising" -- - name: Angelcam - url: https://www.angelcam.com - logo: angelcam.png - how: "We developed an open lightweight client that finds compatible IP cameras on a local network and connects them to the cloud via encrypted tunnel." -- - name: tCell - url: https://www.tcell.io - logo: tcell.png - how: "tCell's agent is built using Rust and runs in the app server as a means to collect data and block attacks." -- - name: 10x Genomics - url: https://www.10xgenomics.com/ - logo: 10x-genomics.svg - how: "Bioinformatics pipelines for genomics research" -- - name: 1300 Web Pro - url: https://www.1300webpro.com.au/our-capabilities/programming/ - logo: 1300-web-pro.png - how: "Rust powers our embedded computer solution for the transport industry, which features a touchscreen with complex UI and a custom interface board that controls sensors and solenoids." -- - name: Wildfish - url: https://wildfish.com - logo: wildfish.svg - how: "Fast processing and importing of cryptocurrency market data." -- - name: Bitfury Group - url: http://bitfury.com/ - logo: bitfury_group.png - how: "Exonum is an extensible framework for blockchain projects written in Rust." -- - name: WINK Streaming - url: http://www.winkstreaming.com - logo: wink.png - how: "Rust is key to our core low latency H.264 and HEVC encoding and transcoding engine." -- - name: Collective Sense - url: https://collective-sense.com/ - logo: collective-sense.png - how: "We use Rust to implement data collectors and processors in our network monitoring and security analysis software. Our product needs to be both secure and extremely fast which makes Rust a perfect fit." -- - name: Shiftleft - url: https://www.shiftleft.io/ - logo: shift-left.png - how: "ShiftLeft is a Silicon Valley startup employing innovative techniques to bring clarity and rigor to the security space. Our bespoke runtime security agent is written in Rust." -- - name: Tocco AG - url: https://www.tocco.ch - logo: tocco.svg - how: "Tocco is a Switzerland-based company specialized in ERP software that has been using Rust with great enthusiasm for many of its internal tools." -- - name: Pressjitsu Inc - url: https://pressjitsu.com - logo: pressjitsu.png - how: "Pressjitsu is a managed WordPress hosting and service company. We use Rust in a handful of our backend systems, including logging routing and aggregation which needs to be fast and scalable." -- - name: Baidu X-Lab - url: https://github.com/baidu/rust-sgx-sdk - logo: baidu-x-lab.png - how: "We provide Rust SGX SDK for developing Intel SGX applications in the Rust programming language." -- - name: CurrySoftware GmbH - url: https://www.curry-software.com - logo: curry-software.svg - how: "Our multi-tenant On-Site Search CurrySearch is written with Rust from head to toe." - -- - name: Schauspiel Dortmund - url: https://www.theaterdo.de/ - logo: tdo_schauspiel.svg - how: "A MIDI-to-OSC converter is used in the \"Einstein On The Beach\" opera play to power on-stage music and light systems." - -- - name: Centricular - url: https://centricular.com - logo: centricular.svg - how: "Internal & Free Software projects and customer projects, mostly audio/video/multimedia processing related." -- - name: Galois - url: https://galois.com - logo: galois.svg - how: "Galois is integrating Rust with high-assurance technologies like the seL4 secure microkernel to build the next generation of trustworthy cyber-physical systems." -- - name: Metaswitch - url: https://www.metaswitch.com/ - logo: metaswitch.png - how: "Rust is the primary programming language for all communications solutions architected using microservices methodologies." -- - name: Nomalab - url: https://www.nomalab.com - logo: nomalab.png - how: "To analyse video, format and pixels." -- - name: CancerIQ - url: http://www.canceriq.com/ - logo: canceriq.png - how: "CancerIQ provides the tools for genetic counselors, imaging centers, and other practitioners to run a cancer risk program; Rust powers several of our risk models." -- - name: IamBot - url: http://iambot.ai - logo: iambot.png - how: " Our high-performance data acquisition is fully implemented using Rust. Besides that, we are also using Rust for our API endpoints that communicate with internal systems." -- - name: HealPay - url: https://healpay.com - logo: healpay.png - how: "We have been pushing Rust into every project we can. Currently we have several backend services built in rust." -- - name: Zeplin - url: https://zeplin.io - logo: zeplin.svg - how: "Zeplin's Adobe XD CC integration is built on Rust." -- - name: Starry - url: https://starry.com - logo: starry.svg - how: "Re-imagining broadband by engineering a new wireless access network and building an ecosystem of products designed to simplify and improve your connected life." -- - name: Tonsser - url: https://tonsser.com - logo: tonsser.png - how: "Moving performance intensive parts of our Ruby on Rails API to Rust for more speed and higher reliability." -- - name: Tula Technology - url: https://www.tulatech.com/ - logo: tulatech.png - how: "All our automotive code is verified using a Rust based harness; we're also working on transpiling MATLAB to Rust for additional model verification." -- - name: ChartMogul - url: https://chartmogul.com - logo: chartmogul.png - how: "Our main microservice that generates the aggregate data displayed in ChartMogul graphs is written in Rust." -- - name: FacturaDirecta - url: https://www.facturadirecta.com/ - logo: facturadirecta.svg - how: "Optimizing search speed in our accounting software as a service." -- - name: Yomura Fiber - url: https://yomurafiber.com/ - logo: yomura.png - how: "Rust powers our GPON provisioning and statistic gathering." -- - name: NAVITAS Solutions GmbH - url: https://www.navitas.de/ - logo: navitas.png - how: "We're using Rust for a Scheduling-Service for one of our clients and the corresponding webserver backend." -- - name: Webbula - url: https://webbula.com - logo: webbula.png - how: "For our back end data processing and fulfillment." -- - name: Imeka - url: https://www.imeka.ca - logo: imeka.svg - how: "High performance medical imaging algorithms." -- - name: Figma - url: https://www.figma.com/ - logo: figma.svg - how: "Our real-time multiplayer syncing server (used to edit all Figma documents) is written in Rust." -- - name: EXSigma - url: https://www.exsigma.com - logo: exsigma.svg - how: "EXSigma developed a privacy preserving, secure and environmental friendly Ad Network entirely in Rust." -- - name: Sourcegraph - url: https://sourcegraph.com - logo: sourcegraph.svg - how: "All files and code search previews (example) on Sourcegraph are syntax-highlighted by sourcegraph/syntect_server, written in Rust." -- - name: Aprila Bank - url: https://www.aprila.no - logo: aprila.svg - how: "Orchestrating business process flows for onboarding, KYC, credit decisions and more." -- - name: Fire and Emergency NZ - url: https://fireandemergency.nz/ - logo: fenz-logo.svg - how: "The New Zealand Fire Service is using a custom geolocation search engine, built in rust, that runs on embedded hardware within a fire truck to stream hazard information to a fire crew at an incident." -- - name: Solana - url: https://solana.com/ - logo: solana.png - how: "High performance blockchain, rebuilt for scale." -- - name: Kodebox - url: https://codechain.io/ - logo: kodebox.png - how: "We created CodeChain, a programmable open source blockchain technology optimal for developing and customizing multi-asset management systems." -- - name: TenX - url: https://www.tenx.tech - logo: tenx.png - how: "Building a secure and scalable distributed payments system in Rust." -- - name: Star Lab - url: https://starlab.io/ - logo: starlab.svg - how: "As an embedded security company, Rust allows us to have confidence in the performance and reliability of our products." -- - name: Routific - url: https://routific.com/ - logo: routific.svg - how: "High performance route optimization software." -- - name: Kentik - url: https://kentik.com/ - logo: kentik.svg - how: "Our advanced network analytics platform relies on many Rust components." - -- - name: YottaDB - url: https://yottadb.com/ - logo: yottadb.svg - how: "YottaDB has first-class support for Rust as an interface to the underlying database. We plan for new command line tools to be written in Rust." - -- - name: 1Password - url: https://1password.com/ - logo: 1password.svg - how: "We use Rust to power the entire backend (encryption, networking, database, and business logic) of all our client apps." diff --git a/src/i18n.rs b/src/i18n.rs index eb335ebb1..e58b65417 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -1,9 +1,10 @@ -use handlebars::{ +use rocket_dyn_templates::handlebars::{ Context, Handlebars, Helper, HelperDef, HelperResult, Output, RenderContext, RenderErrorReason, }; use rocket::request::FromParam; -use std::collections::HashSet; +use serde::Serialize; +use std::{collections::HashSet, sync::LazyLock}; use handlebars_fluent::{ fluent_bundle::{concurrent::FluentBundle, FluentResource, FluentValue}, @@ -85,10 +86,9 @@ pub const EXPLICIT_LOCALE_INFO: &[LocaleInfo] = &[ }, ]; -lazy_static! { - pub static ref SUPPORTED_LOCALES: HashSet<&'static str> = - EXPLICIT_LOCALE_INFO.iter().map(|x| x.lang).collect(); -} +pub static SUPPORTED_LOCALES: LazyLock> = + LazyLock::new(|| EXPLICIT_LOCALE_INFO.iter().map(|x| x.lang).collect()); + pub struct TeamHelper { i18n: SimpleLoader, } diff --git a/src/main.rs b/src/main.rs index cc26f8c84..e72a1d7b3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,39 +1,20 @@ -#[macro_use] -extern crate lazy_static; -extern crate rand; -extern crate reqwest; -extern crate serde_json; -#[macro_use] -extern crate rocket; -extern crate rust_team_data; -extern crate sass_rs; -extern crate siphasher; -extern crate toml; - -#[macro_use] -extern crate serde; - -extern crate fluent_bundle; -extern crate regex; - -extern crate handlebars; - mod cache; mod caching; mod category; mod headers; mod i18n; -mod production; mod redirect; mod rust_version; mod teams; use cache::Cache; use cache::Cached; -use production::User; +use rocket::catch; +use rocket::get; use rocket::tokio::sync::RwLock; use rust_version::RustReleasePost; use rust_version::RustVersion; +use serde::Serialize; use teams::encode_zulip_stream; use teams::RustTeams; @@ -43,8 +24,7 @@ use std::fs; use std::hash::Hasher; use std::path::{Path, PathBuf}; use std::sync::Arc; - -use rand::seq::SliceRandom; +use std::sync::LazyLock; use rocket::{ fs::NamedFile, @@ -64,28 +44,27 @@ use i18n::{create_loader, LocaleInfo, SupportedLocale, TeamHelper, EXPLICIT_LOCA const ZULIP_DOMAIN: &str = "https://rust-lang.zulipchat.com"; -lazy_static! { - static ref ASSETS: AssetFiles = { - let app_css_file = compile_sass("app"); - let fonts_css_file = compile_sass("fonts"); - let vendor_css_file = concat_vendor_css(vec!["tachyons"]); - let app_js_file = concat_app_js(vec!["tools-install"]); - - AssetFiles { - css: CSSFiles { - app: app_css_file, - fonts: fonts_css_file, - vendor: vendor_css_file, - }, - js: JSFiles { app: app_js_file }, - } - }; - static ref PONTOON_ENABLED: bool = env::var("RUST_WWW_PONTOON").is_ok(); - static ref ROBOTS_TXT_DISALLOW_ALL: bool = env::var("ROBOTS_TXT_DISALLOW_ALL").is_ok(); -} +static ASSETS: LazyLock = LazyLock::new(|| { + let app_css_file = compile_sass("app"); + let fonts_css_file = compile_sass("fonts"); + let vendor_css_file = concat_vendor_css(vec!["tachyons"]); + let app_js_file = concat_app_js(vec!["tools-install"]); + + AssetFiles { + css: CSSFiles { + app: app_css_file, + fonts: fonts_css_file, + vendor: vendor_css_file, + }, + js: JSFiles { app: app_js_file }, + } +}); +static PONTOON_ENABLED: LazyLock = LazyLock::new(|| env::var("RUST_WWW_PONTOON").is_ok()); +static ROBOTS_TXT_DISALLOW_ALL: LazyLock = + LazyLock::new(|| env::var("ROBOTS_TXT_DISALLOW_ALL").is_ok()); #[derive(Serialize)] -struct Context { +struct Context { page: String, title: String, parent: &'static str, @@ -99,7 +78,7 @@ struct Context { is_translation: bool, } -impl Context { +impl Context { fn new(page: &str, title_id: &str, is_landing: bool, data: T, lang: String) -> Self { let helper = create_loader(); let title = if title_id.is_empty() { @@ -235,16 +214,6 @@ async fn team_locale( render_team(section, team, locale.0, teams_cache).await } -#[get("/production/users")] -fn get_production() -> Template { - render_production(ENGLISH.into()) -} - -#[get("//production/users", rank = 10)] -fn production_locale(locale: SupportedLocale) -> Template { - render_production(locale.0) -} - #[get("//", rank = 4)] fn subject(category: Category, subject: &str) -> Result { render_subject(category, subject, ENGLISH.into()) @@ -259,18 +228,16 @@ fn subject_locale( render_subject(category, subject, locale.0) } -fn load_users_data() -> Vec> { - let mut rng = rand::thread_rng(); - let mut users = production::get_info().expect("couldn't get production users data"); - users.shuffle(&mut rng); - users.chunks(3).map(|s| s.to_owned()).collect() -} - #[get("/en-US", rank = 1)] fn redirect_bare_en_us() -> Redirect { Redirect::permanent("/") } +#[get("/.well-known/security.txt")] +fn well_known_security() -> &'static str { + include_str!("../static/text/well_known_security.txt") +} + #[catch(404)] #[allow(clippy::result_large_err)] fn not_found(req: &Request) -> Result { @@ -394,19 +361,6 @@ fn render_category(category: Category, lang: String) -> Template { Template::render(page, context) } -fn render_production(lang: String) -> Template { - let page = "production/users"; - let context = Context::new( - page, - "production-users-page-title", - false, - load_users_data(), - lang, - ); - - Template::render(page, context) -} - async fn render_governance( lang: String, teams_cache: &Cache, @@ -469,7 +423,7 @@ fn render_subject(category: Category, subject: &str, lang: String) -> Result _ { let templating = Template::custom(|engine| { engine @@ -495,12 +449,11 @@ async fn rocket() -> _ { .manage(Arc::new(RwLock::new(teams))) .mount( "/", - routes![ + rocket::routes![ index, category_en, governance, team, - get_production, subject, files, robots_txt, @@ -509,13 +462,13 @@ async fn rocket() -> _ { category_locale, governance_locale, team_locale, - production_locale, subject_locale, redirect_bare_en_us, + well_known_security, ], ) .register( "/", - catchers![not_found, unprocessable_content, catch_error], + rocket::catchers![not_found, unprocessable_content, catch_error], ) } diff --git a/src/production.rs b/src/production.rs deleted file mode 100644 index ae885a2f8..000000000 --- a/src/production.rs +++ /dev/null @@ -1,26 +0,0 @@ -extern crate serde_yaml; - -use std::fs; -use std::io; -use std::path::Path; - -#[derive(Clone, Serialize, Deserialize)] -pub struct User { - name: String, - url: String, - logo: String, - how: String, -} - -fn read_yaml() -> io::Result> { - let data_path = Path::new("./src/data/users.yml"); - assert!(fs::metadata(data_path)?.is_file()); - let data_string = fs::read_to_string(data_path)?; - let data: Vec = serde_yaml::from_str(&data_string) - .unwrap_or_else(|_| panic!("failed yaml parse for {}", data_path.display())); - Ok(data) -} - -pub fn get_info() -> io::Result> { - read_yaml() -} diff --git a/src/redirect.rs b/src/redirect.rs index 4f0f99bb2..6d5ad590e 100644 --- a/src/redirect.rs +++ b/src/redirect.rs @@ -49,10 +49,6 @@ static STATIC_FILES_REDIRECTS: &[(&str, &str)] = &[ "pdfs/Rust-npm-Whitepaper.pdf", "/static/pdfs/Rust-npm-Whitepaper.pdf", ), - ( - "pdfs/Rust-Chucklefish-Whitepaper.pdf", - "/static/pdfs/Rust-Chucklefish-Whitepaper.pdf", - ), ( "pdfs/Rust-Tilde-Whitepaper.pdf", "/static/pdfs/Rust-Tilde-Whitepaper.pdf", diff --git a/src/styles/app.scss b/src/styles/app.scss index 6575850a4..0ed85559a 100644 --- a/src/styles/app.scss +++ b/src/styles/app.scss @@ -458,33 +458,6 @@ blockquote::before { } } -#users .row .columns { - position: relative; - height: 200px; -} - -#users img { - max-height: 200px; - max-width: 100px; - width: auto; - height: auto; - margin: auto; - display: block; -} - -.user-logo { - min-height: 100px; -} - -.user-name { - display: flex; - justify-content: center; -} - -.user-container { - min-height: 300px; -} - #share-your-experience h3, #production-domains h3 { padding-bottom: 20px; diff --git a/src/teams.rs b/src/teams.rs index dd22566fa..3a756ab88 100644 --- a/src/teams.rs +++ b/src/teams.rs @@ -1,8 +1,9 @@ -use handlebars::{ +use percent_encoding::{utf8_percent_encode, AsciiSet, NON_ALPHANUMERIC}; +use rocket_dyn_templates::handlebars::{ Context, Handlebars, Helper, HelperResult, Output, RenderContext, RenderErrorReason, }; -use percent_encoding::{utf8_percent_encode, AsciiSet, NON_ALPHANUMERIC}; use rust_team_data::v1::{Team, TeamKind, Teams, BASE_URL}; +use serde::Serialize; use std::cmp::Reverse; use std::collections::HashMap; use std::error::Error; diff --git a/static/images/user-logos/10x-genomics.svg b/static/images/user-logos/10x-genomics.svg deleted file mode 100644 index faa322b2b..000000000 --- a/static/images/user-logos/10x-genomics.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/1300-web-pro.png b/static/images/user-logos/1300-web-pro.png deleted file mode 100644 index 65ef6561f..000000000 Binary files a/static/images/user-logos/1300-web-pro.png and /dev/null differ diff --git a/static/images/user-logos/1aim.svg b/static/images/user-logos/1aim.svg deleted file mode 100644 index 8671b187f..000000000 --- a/static/images/user-logos/1aim.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/1password.svg b/static/images/user-logos/1password.svg deleted file mode 100644 index 6fd476684..000000000 --- a/static/images/user-logos/1password.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - 1Password wordmark / Black, monochrome icon / 1P-wordmark - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/static/images/user-logos/360dialog.png b/static/images/user-logos/360dialog.png deleted file mode 100644 index c6b0937fa..000000000 Binary files a/static/images/user-logos/360dialog.png and /dev/null differ diff --git a/static/images/user-logos/3dr.svg b/static/images/user-logos/3dr.svg deleted file mode 100644 index 4387f2280..000000000 --- a/static/images/user-logos/3dr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/QCERT-Logo.svg b/static/images/user-logos/QCERT-Logo.svg deleted file mode 100644 index e74a8fc3d..000000000 --- a/static/images/user-logos/QCERT-Logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/academia.edu.svg b/static/images/user-logos/academia.edu.svg deleted file mode 100644 index 0c806c08b..000000000 --- a/static/images/user-logos/academia.edu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/adhawk.png b/static/images/user-logos/adhawk.png deleted file mode 100644 index 1684e1263..000000000 Binary files a/static/images/user-logos/adhawk.png and /dev/null differ diff --git a/static/images/user-logos/agildata.svg b/static/images/user-logos/agildata.svg deleted file mode 100644 index e5e5e501e..000000000 --- a/static/images/user-logos/agildata.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/aisenz.svg b/static/images/user-logos/aisenz.svg deleted file mode 100644 index 82b520516..000000000 --- a/static/images/user-logos/aisenz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/alephalpha.svg b/static/images/user-logos/alephalpha.svg deleted file mode 100644 index 5efd43d50..000000000 --- a/static/images/user-logos/alephalpha.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/algorithmia.png b/static/images/user-logos/algorithmia.png deleted file mode 100644 index cc6428cec..000000000 Binary files a/static/images/user-logos/algorithmia.png and /dev/null differ diff --git a/static/images/user-logos/angelcam.png b/static/images/user-logos/angelcam.png deleted file mode 100644 index 52b4482a3..000000000 Binary files a/static/images/user-logos/angelcam.png and /dev/null differ diff --git a/static/images/user-logos/anixe.png b/static/images/user-logos/anixe.png deleted file mode 100644 index 495377eb6..000000000 Binary files a/static/images/user-logos/anixe.png and /dev/null differ diff --git a/static/images/user-logos/appsignal.png b/static/images/user-logos/appsignal.png deleted file mode 100644 index cdf7a48f7..000000000 Binary files a/static/images/user-logos/appsignal.png and /dev/null differ diff --git a/static/images/user-logos/aprila.svg b/static/images/user-logos/aprila.svg deleted file mode 100644 index bade0a6f6..000000000 --- a/static/images/user-logos/aprila.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/ather.svg b/static/images/user-logos/ather.svg deleted file mode 100644 index 2e163f68b..000000000 --- a/static/images/user-logos/ather.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/atlassian.svg b/static/images/user-logos/atlassian.svg deleted file mode 100644 index 2a4c27ad1..000000000 --- a/static/images/user-logos/atlassian.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/autumn.png b/static/images/user-logos/autumn.png deleted file mode 100644 index 5a2ccab85..000000000 Binary files a/static/images/user-logos/autumn.png and /dev/null differ diff --git a/static/images/user-logos/baidu-x-lab.png b/static/images/user-logos/baidu-x-lab.png deleted file mode 100644 index b2e18c6c6..000000000 Binary files a/static/images/user-logos/baidu-x-lab.png and /dev/null differ diff --git a/static/images/user-logos/beget.png b/static/images/user-logos/beget.png deleted file mode 100644 index 6a6c8a100..000000000 Binary files a/static/images/user-logos/beget.png and /dev/null differ diff --git a/static/images/user-logos/bepark.png b/static/images/user-logos/bepark.png deleted file mode 100644 index 20bbf4156..000000000 Binary files a/static/images/user-logos/bepark.png and /dev/null differ diff --git a/static/images/user-logos/bitfury_group.png b/static/images/user-logos/bitfury_group.png deleted file mode 100644 index e04d82f3c..000000000 Binary files a/static/images/user-logos/bitfury_group.png and /dev/null differ diff --git a/static/images/user-logos/braintree.png b/static/images/user-logos/braintree.png deleted file mode 100644 index 040de68ce..000000000 Binary files a/static/images/user-logos/braintree.png and /dev/null differ diff --git a/static/images/user-logos/bytedance.png b/static/images/user-logos/bytedance.png deleted file mode 100644 index 658143d9c..000000000 Binary files a/static/images/user-logos/bytedance.png and /dev/null differ diff --git a/static/images/user-logos/calyptech.png b/static/images/user-logos/calyptech.png deleted file mode 100644 index b5d001e93..000000000 Binary files a/static/images/user-logos/calyptech.png and /dev/null differ diff --git a/static/images/user-logos/cambridge-consultants.png b/static/images/user-logos/cambridge-consultants.png deleted file mode 100644 index 61d64a970..000000000 Binary files a/static/images/user-logos/cambridge-consultants.png and /dev/null differ diff --git a/static/images/user-logos/canceriq.png b/static/images/user-logos/canceriq.png deleted file mode 100644 index 458819c60..000000000 Binary files a/static/images/user-logos/canceriq.png and /dev/null differ diff --git a/static/images/user-logos/canonical.svg b/static/images/user-logos/canonical.svg deleted file mode 100644 index c91e29942..000000000 --- a/static/images/user-logos/canonical.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/centricular.svg b/static/images/user-logos/centricular.svg deleted file mode 100644 index 224ecab2a..000000000 --- a/static/images/user-logos/centricular.svg +++ /dev/null @@ -1 +0,0 @@ -Centricular \ No newline at end of file diff --git a/static/images/user-logos/ceph.png b/static/images/user-logos/ceph.png deleted file mode 100644 index 933d1594d..000000000 Binary files a/static/images/user-logos/ceph.png and /dev/null differ diff --git a/static/images/user-logos/chartmogul.png b/static/images/user-logos/chartmogul.png deleted file mode 100644 index 9925a8425..000000000 Binary files a/static/images/user-logos/chartmogul.png and /dev/null differ diff --git a/static/images/user-logos/chef.svg b/static/images/user-logos/chef.svg deleted file mode 100644 index 845e50148..000000000 --- a/static/images/user-logos/chef.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/chucklefish.png b/static/images/user-logos/chucklefish.png deleted file mode 100644 index 1c40e9384..000000000 Binary files a/static/images/user-logos/chucklefish.png and /dev/null differ diff --git a/static/images/user-logos/clever-cloud.svg b/static/images/user-logos/clever-cloud.svg deleted file mode 100644 index 486673a4d..000000000 --- a/static/images/user-logos/clever-cloud.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/codepicnic.png b/static/images/user-logos/codepicnic.png deleted file mode 100644 index 93d18c662..000000000 Binary files a/static/images/user-logos/codepicnic.png and /dev/null differ diff --git a/static/images/user-logos/collective-sense.png b/static/images/user-logos/collective-sense.png deleted file mode 100644 index ec3d5daef..000000000 Binary files a/static/images/user-logos/collective-sense.png and /dev/null differ diff --git a/static/images/user-logos/coredump.png b/static/images/user-logos/coredump.png deleted file mode 100644 index cac4ef4e9..000000000 Binary files a/static/images/user-logos/coredump.png and /dev/null differ diff --git a/static/images/user-logos/coreos.svg b/static/images/user-logos/coreos.svg deleted file mode 100644 index a4c77707f..000000000 --- a/static/images/user-logos/coreos.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/coturnix.png b/static/images/user-logos/coturnix.png deleted file mode 100644 index dad676ae7..000000000 Binary files a/static/images/user-logos/coturnix.png and /dev/null differ diff --git a/static/images/user-logos/coursera.png b/static/images/user-logos/coursera.png deleted file mode 100644 index 6a04c9f92..000000000 Binary files a/static/images/user-logos/coursera.png and /dev/null differ diff --git a/static/images/user-logos/craftai.png b/static/images/user-logos/craftai.png deleted file mode 100644 index 987ede25e..000000000 Binary files a/static/images/user-logos/craftai.png and /dev/null differ diff --git a/static/images/user-logos/cryptape.png b/static/images/user-logos/cryptape.png deleted file mode 100644 index 4015dbe7c..000000000 Binary files a/static/images/user-logos/cryptape.png and /dev/null differ diff --git a/static/images/user-logos/cultivate-logo.svg b/static/images/user-logos/cultivate-logo.svg deleted file mode 100644 index 48498fac2..000000000 --- a/static/images/user-logos/cultivate-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/curry-software.svg b/static/images/user-logos/curry-software.svg deleted file mode 100644 index 51e8e3185..000000000 --- a/static/images/user-logos/curry-software.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/dazta.svg b/static/images/user-logos/dazta.svg deleted file mode 100644 index d0b7bc280..000000000 --- a/static/images/user-logos/dazta.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/delimiter.png b/static/images/user-logos/delimiter.png deleted file mode 100644 index 88347afff..000000000 Binary files a/static/images/user-logos/delimiter.png and /dev/null differ diff --git a/static/images/user-logos/deliveroo.svg b/static/images/user-logos/deliveroo.svg deleted file mode 100644 index a26f86f9b..000000000 --- a/static/images/user-logos/deliveroo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/distil.png b/static/images/user-logos/distil.png deleted file mode 100644 index b8853ab7c..000000000 Binary files a/static/images/user-logos/distil.png and /dev/null differ diff --git a/static/images/user-logos/dropbox.svg b/static/images/user-logos/dropbox.svg deleted file mode 100644 index 6a36d81a5..000000000 --- a/static/images/user-logos/dropbox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/etcface.png b/static/images/user-logos/etcface.png deleted file mode 100644 index 18b786308..000000000 Binary files a/static/images/user-logos/etcface.png and /dev/null differ diff --git a/static/images/user-logos/everlane.png b/static/images/user-logos/everlane.png deleted file mode 100644 index 1e9b5c1b9..000000000 Binary files a/static/images/user-logos/everlane.png and /dev/null differ diff --git a/static/images/user-logos/evo.company.svg b/static/images/user-logos/evo.company.svg deleted file mode 100644 index ee90ff980..000000000 --- a/static/images/user-logos/evo.company.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/exsigma.svg b/static/images/user-logos/exsigma.svg deleted file mode 100644 index d0708d485..000000000 --- a/static/images/user-logos/exsigma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/facturadirecta.svg b/static/images/user-logos/facturadirecta.svg deleted file mode 100644 index f15e534a3..000000000 --- a/static/images/user-logos/facturadirecta.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/faraday.svg b/static/images/user-logos/faraday.svg deleted file mode 100644 index 1ba8bed7b..000000000 --- a/static/images/user-logos/faraday.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/fenz-logo.svg b/static/images/user-logos/fenz-logo.svg deleted file mode 100644 index b4da7ed43..000000000 --- a/static/images/user-logos/fenz-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/ferrous-logo.png b/static/images/user-logos/ferrous-logo.png deleted file mode 100644 index e6f972961..000000000 Binary files a/static/images/user-logos/ferrous-logo.png and /dev/null differ diff --git a/static/images/user-logos/figma.svg b/static/images/user-logos/figma.svg deleted file mode 100644 index 4e8514d79..000000000 --- a/static/images/user-logos/figma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/fortanix.svg b/static/images/user-logos/fortanix.svg deleted file mode 100644 index aed849e80..000000000 --- a/static/images/user-logos/fortanix.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/galois.svg b/static/images/user-logos/galois.svg deleted file mode 100644 index ce84fd838..000000000 --- a/static/images/user-logos/galois.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/giga.svg b/static/images/user-logos/giga.svg deleted file mode 100644 index 1e3a1c270..000000000 --- a/static/images/user-logos/giga.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/gremlin.svg b/static/images/user-logos/gremlin.svg deleted file mode 100644 index 4a8e8edd6..000000000 --- a/static/images/user-logos/gremlin.svg +++ /dev/null @@ -1 +0,0 @@ -Asset 16 \ No newline at end of file diff --git a/static/images/user-logos/habitat.svg b/static/images/user-logos/habitat.svg deleted file mode 100644 index c94dd64ba..000000000 --- a/static/images/user-logos/habitat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/healpay.png b/static/images/user-logos/healpay.png deleted file mode 100644 index 9a0f006db..000000000 Binary files a/static/images/user-logos/healpay.png and /dev/null differ diff --git a/static/images/user-logos/honeypot.svg b/static/images/user-logos/honeypot.svg deleted file mode 100644 index b21b1082f..000000000 --- a/static/images/user-logos/honeypot.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/hubs.png b/static/images/user-logos/hubs.png deleted file mode 100644 index 01780ca17..000000000 Binary files a/static/images/user-logos/hubs.png and /dev/null differ diff --git a/static/images/user-logos/iambot.png b/static/images/user-logos/iambot.png deleted file mode 100644 index 766cb8edb..000000000 Binary files a/static/images/user-logos/iambot.png and /dev/null differ diff --git a/static/images/user-logos/imageoptim.png b/static/images/user-logos/imageoptim.png deleted file mode 100644 index 355ba92c9..000000000 Binary files a/static/images/user-logos/imageoptim.png and /dev/null differ diff --git a/static/images/user-logos/imeka.svg b/static/images/user-logos/imeka.svg deleted file mode 100644 index 5f0b4079b..000000000 --- a/static/images/user-logos/imeka.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/iqlusion.svg b/static/images/user-logos/iqlusion.svg deleted file mode 100644 index 0cb415df7..000000000 --- a/static/images/user-logos/iqlusion.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/kentik.svg b/static/images/user-logos/kentik.svg deleted file mode 100644 index f5226e127..000000000 --- a/static/images/user-logos/kentik.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/knoldus-logo.png b/static/images/user-logos/knoldus-logo.png deleted file mode 100644 index a81b3d766..000000000 Binary files a/static/images/user-logos/knoldus-logo.png and /dev/null differ diff --git a/static/images/user-logos/kodebox.png b/static/images/user-logos/kodebox.png deleted file mode 100644 index 37bdf3603..000000000 Binary files a/static/images/user-logos/kodebox.png and /dev/null differ diff --git a/static/images/user-logos/krypt.co.png b/static/images/user-logos/krypt.co.png deleted file mode 100644 index 9fe94627b..000000000 Binary files a/static/images/user-logos/krypt.co.png and /dev/null differ diff --git a/static/images/user-logos/kupibilet.svg b/static/images/user-logos/kupibilet.svg deleted file mode 100644 index 428d74fa2..000000000 --- a/static/images/user-logos/kupibilet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/lark.png b/static/images/user-logos/lark.png deleted file mode 100644 index f67c2bd25..000000000 Binary files a/static/images/user-logos/lark.png and /dev/null differ diff --git a/static/images/user-logos/line.png b/static/images/user-logos/line.png deleted file mode 100644 index c5d4bf4f7..000000000 Binary files a/static/images/user-logos/line.png and /dev/null differ diff --git a/static/images/user-logos/linkerd.svg b/static/images/user-logos/linkerd.svg deleted file mode 100644 index 652e2233a..000000000 --- a/static/images/user-logos/linkerd.svg +++ /dev/null @@ -1 +0,0 @@ -linker d \ No newline at end of file diff --git a/static/images/user-logos/linkitools.png b/static/images/user-logos/linkitools.png deleted file mode 100644 index 5782341bc..000000000 Binary files a/static/images/user-logos/linkitools.png and /dev/null differ diff --git a/static/images/user-logos/maidsafe.svg b/static/images/user-logos/maidsafe.svg deleted file mode 100644 index 2dd986422..000000000 --- a/static/images/user-logos/maidsafe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/media-io.png b/static/images/user-logos/media-io.png deleted file mode 100644 index 3d8ff0c9f..000000000 Binary files a/static/images/user-logos/media-io.png and /dev/null differ diff --git a/static/images/user-logos/metaswitch.png b/static/images/user-logos/metaswitch.png deleted file mode 100644 index 6076a993c..000000000 Binary files a/static/images/user-logos/metaswitch.png and /dev/null differ diff --git a/static/images/user-logos/mozilla.png b/static/images/user-logos/mozilla.png deleted file mode 100644 index c0b5a9e3e..000000000 Binary files a/static/images/user-logos/mozilla.png and /dev/null differ diff --git a/static/images/user-logos/navitas.png b/static/images/user-logos/navitas.png deleted file mode 100644 index 87ed04215..000000000 Binary files a/static/images/user-logos/navitas.png and /dev/null differ diff --git a/static/images/user-logos/navitia.svg b/static/images/user-logos/navitia.svg deleted file mode 100644 index 88cd8cb0b..000000000 --- a/static/images/user-logos/navitia.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/nomalab.png b/static/images/user-logos/nomalab.png deleted file mode 100644 index 5a914a6b3..000000000 Binary files a/static/images/user-logos/nomalab.png and /dev/null differ diff --git a/static/images/user-logos/omnijar-studio.svg b/static/images/user-logos/omnijar-studio.svg deleted file mode 100644 index 585de0f58..000000000 --- a/static/images/user-logos/omnijar-studio.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/onesignal.svg b/static/images/user-logos/onesignal.svg deleted file mode 100644 index 546c5430c..000000000 --- a/static/images/user-logos/onesignal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/ovh.png b/static/images/user-logos/ovh.png deleted file mode 100644 index e8fda9f6e..000000000 Binary files a/static/images/user-logos/ovh.png and /dev/null differ diff --git a/static/images/user-logos/pantsbuild.png b/static/images/user-logos/pantsbuild.png deleted file mode 100644 index bbf8f7f34..000000000 Binary files a/static/images/user-logos/pantsbuild.png and /dev/null differ diff --git a/static/images/user-logos/parity-logo.png b/static/images/user-logos/parity-logo.png deleted file mode 100644 index ca9fb4b1e..000000000 Binary files a/static/images/user-logos/parity-logo.png and /dev/null differ diff --git a/static/images/user-logos/pingcap.png b/static/images/user-logos/pingcap.png deleted file mode 100644 index 10a8793d3..000000000 Binary files a/static/images/user-logos/pingcap.png and /dev/null differ diff --git a/static/images/user-logos/pollen-logo-for-rust.svg b/static/images/user-logos/pollen-logo-for-rust.svg deleted file mode 100644 index 7bb38fc3d..000000000 --- a/static/images/user-logos/pollen-logo-for-rust.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/polysync.png b/static/images/user-logos/polysync.png deleted file mode 100644 index 2b3fe7625..000000000 Binary files a/static/images/user-logos/polysync.png and /dev/null differ diff --git a/static/images/user-logos/postlight.svg b/static/images/user-logos/postlight.svg deleted file mode 100644 index 9c8290df2..000000000 --- a/static/images/user-logos/postlight.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/postmates.png b/static/images/user-logos/postmates.png deleted file mode 100644 index 5f3aec73d..000000000 Binary files a/static/images/user-logos/postmates.png and /dev/null differ diff --git a/static/images/user-logos/pressjitsu.png b/static/images/user-logos/pressjitsu.png deleted file mode 100644 index d08a158b8..000000000 Binary files a/static/images/user-logos/pressjitsu.png and /dev/null differ diff --git a/static/images/user-logos/purchaseclinic.com.png b/static/images/user-logos/purchaseclinic.com.png deleted file mode 100644 index 5064f4cb4..000000000 Binary files a/static/images/user-logos/purchaseclinic.com.png and /dev/null differ diff --git a/static/images/user-logos/routific.svg b/static/images/user-logos/routific.svg deleted file mode 100644 index 8c0509d7e..000000000 --- a/static/images/user-logos/routific.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/sandstorm-logo-rust.svg b/static/images/user-logos/sandstorm-logo-rust.svg deleted file mode 100644 index 0417e5921..000000000 --- a/static/images/user-logos/sandstorm-logo-rust.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/scality.svg b/static/images/user-logos/scality.svg deleted file mode 100644 index 9787e33fd..000000000 --- a/static/images/user-logos/scality.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/sentry-horizontal-black.svg b/static/images/user-logos/sentry-horizontal-black.svg deleted file mode 100644 index 33bbb5286..000000000 --- a/static/images/user-logos/sentry-horizontal-black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/shift-left.png b/static/images/user-logos/shift-left.png deleted file mode 100644 index 66e8df09b..000000000 Binary files a/static/images/user-logos/shift-left.png and /dev/null differ diff --git a/static/images/user-logos/slowtec.svg b/static/images/user-logos/slowtec.svg deleted file mode 100644 index e93260c1d..000000000 --- a/static/images/user-logos/slowtec.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/smartthings.png b/static/images/user-logos/smartthings.png deleted file mode 100644 index 399a44ba1..000000000 Binary files a/static/images/user-logos/smartthings.png and /dev/null differ diff --git a/static/images/user-logos/snapview-logo.svg b/static/images/user-logos/snapview-logo.svg deleted file mode 100644 index f064ad0d2..000000000 --- a/static/images/user-logos/snapview-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/snips.svg b/static/images/user-logos/snips.svg deleted file mode 100644 index 3dc425f28..000000000 --- a/static/images/user-logos/snips.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/solana.png b/static/images/user-logos/solana.png deleted file mode 100644 index b45be4c06..000000000 Binary files a/static/images/user-logos/solana.png and /dev/null differ diff --git a/static/images/user-logos/sourcegraph.svg b/static/images/user-logos/sourcegraph.svg deleted file mode 100644 index 43b419afc..000000000 --- a/static/images/user-logos/sourcegraph.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/spoqa.png b/static/images/user-logos/spoqa.png deleted file mode 100644 index 612acbfd5..000000000 Binary files a/static/images/user-logos/spoqa.png and /dev/null differ diff --git a/static/images/user-logos/starlab.svg b/static/images/user-logos/starlab.svg deleted file mode 100644 index 933362616..000000000 --- a/static/images/user-logos/starlab.svg +++ /dev/null @@ -1,3652 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/starry.svg b/static/images/user-logos/starry.svg deleted file mode 100644 index 43d0c0c9c..000000000 --- a/static/images/user-logos/starry.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/stratum.png b/static/images/user-logos/stratum.png deleted file mode 100644 index d0919dfb8..000000000 Binary files a/static/images/user-logos/stratum.png and /dev/null differ diff --git a/static/images/user-logos/structuresystems.svg b/static/images/user-logos/structuresystems.svg deleted file mode 100644 index 62346ea4c..000000000 --- a/static/images/user-logos/structuresystems.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/superscale.svg b/static/images/user-logos/superscale.svg deleted file mode 100644 index 14c8b19f2..000000000 --- a/static/images/user-logos/superscale.svg +++ /dev/null @@ -1 +0,0 @@ -Superscale NetworksW \ No newline at end of file diff --git a/static/images/user-logos/system76.svg b/static/images/user-logos/system76.svg deleted file mode 100644 index 29c0b0caf..000000000 --- a/static/images/user-logos/system76.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/tcell.png b/static/images/user-logos/tcell.png deleted file mode 100644 index 08852ddfb..000000000 Binary files a/static/images/user-logos/tcell.png and /dev/null differ diff --git a/static/images/user-logos/tdo_schauspiel.svg b/static/images/user-logos/tdo_schauspiel.svg deleted file mode 100644 index d51e62cc6..000000000 --- a/static/images/user-logos/tdo_schauspiel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/telenordigital.png b/static/images/user-logos/telenordigital.png deleted file mode 100644 index b673b72cd..000000000 Binary files a/static/images/user-logos/telenordigital.png and /dev/null differ diff --git a/static/images/user-logos/tenx.png b/static/images/user-logos/tenx.png deleted file mode 100644 index 5a3b6102e..000000000 Binary files a/static/images/user-logos/tenx.png and /dev/null differ diff --git a/static/images/user-logos/terramagna.svg b/static/images/user-logos/terramagna.svg deleted file mode 100644 index 603ddeca6..000000000 --- a/static/images/user-logos/terramagna.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/static/images/user-logos/tessel.svg b/static/images/user-logos/tessel.svg deleted file mode 100644 index 13c9bf8f0..000000000 --- a/static/images/user-logos/tessel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/thoughtram.png b/static/images/user-logos/thoughtram.png deleted file mode 100644 index c82292f4c..000000000 Binary files a/static/images/user-logos/thoughtram.png and /dev/null differ diff --git a/static/images/user-logos/threatx.svg b/static/images/user-logos/threatx.svg deleted file mode 100644 index bc9cd22f9..000000000 --- a/static/images/user-logos/threatx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/threema.svg b/static/images/user-logos/threema.svg deleted file mode 100644 index c27d2c20a..000000000 --- a/static/images/user-logos/threema.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/tilde.png b/static/images/user-logos/tilde.png deleted file mode 100644 index a33c02e0a..000000000 Binary files a/static/images/user-logos/tilde.png and /dev/null differ diff --git a/static/images/user-logos/tocco.svg b/static/images/user-logos/tocco.svg deleted file mode 100644 index 5da84d5da..000000000 --- a/static/images/user-logos/tocco.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/tonsser.png b/static/images/user-logos/tonsser.png deleted file mode 100644 index 18a60b7d6..000000000 Binary files a/static/images/user-logos/tonsser.png and /dev/null differ diff --git a/static/images/user-logos/trafficland.svg b/static/images/user-logos/trafficland.svg deleted file mode 100644 index a01378408..000000000 --- a/static/images/user-logos/trafficland.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/treescale.png b/static/images/user-logos/treescale.png deleted file mode 100644 index c80212745..000000000 Binary files a/static/images/user-logos/treescale.png and /dev/null differ diff --git a/static/images/user-logos/tulatech.png b/static/images/user-logos/tulatech.png deleted file mode 100644 index 2524a92ce..000000000 Binary files a/static/images/user-logos/tulatech.png and /dev/null differ diff --git a/static/images/user-logos/versioneye.png b/static/images/user-logos/versioneye.png deleted file mode 100644 index 79a9c550c..000000000 Binary files a/static/images/user-logos/versioneye.png and /dev/null differ diff --git a/static/images/user-logos/voyagegroup.png b/static/images/user-logos/voyagegroup.png deleted file mode 100644 index b7636b5b7..000000000 Binary files a/static/images/user-logos/voyagegroup.png and /dev/null differ diff --git a/static/images/user-logos/webbula.png b/static/images/user-logos/webbula.png deleted file mode 100644 index bbd0ffb47..000000000 Binary files a/static/images/user-logos/webbula.png and /dev/null differ diff --git a/static/images/user-logos/wildfish.svg b/static/images/user-logos/wildfish.svg deleted file mode 100644 index 1a3cc830d..000000000 --- a/static/images/user-logos/wildfish.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/wink.png b/static/images/user-logos/wink.png deleted file mode 100644 index f7c07b0d0..000000000 Binary files a/static/images/user-logos/wink.png and /dev/null differ diff --git a/static/images/user-logos/wire.svg b/static/images/user-logos/wire.svg deleted file mode 100644 index 627a3598a..000000000 --- a/static/images/user-logos/wire.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/user-logos/xero.png b/static/images/user-logos/xero.png deleted file mode 100644 index 42d4f72d0..000000000 Binary files a/static/images/user-logos/xero.png and /dev/null differ diff --git a/static/images/user-logos/yelp.png b/static/images/user-logos/yelp.png old mode 100755 new mode 100644 diff --git a/static/images/user-logos/yomura.png b/static/images/user-logos/yomura.png deleted file mode 100644 index 21245e946..000000000 Binary files a/static/images/user-logos/yomura.png and /dev/null differ diff --git a/static/images/user-logos/yottadb.svg b/static/images/user-logos/yottadb.svg deleted file mode 100644 index 35828ab32..000000000 --- a/static/images/user-logos/yottadb.svg +++ /dev/null @@ -1 +0,0 @@ -YottaDB_logo \ No newline at end of file diff --git a/static/images/user-logos/zeplin.svg b/static/images/user-logos/zeplin.svg deleted file mode 100644 index 441fb0409..000000000 --- a/static/images/user-logos/zeplin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/text/well_known_security.txt b/static/text/well_known_security.txt new file mode 100644 index 000000000..5b873bfd0 --- /dev/null +++ b/static/text/well_known_security.txt @@ -0,0 +1,2 @@ +Contact: https://www.rust-lang.org/policies/security +Expires: 2025-05-15T00:00:00.000Z diff --git a/templates/production/index.html.hbs b/templates/production/index.html.hbs index 24eabe578..f8dd195e6 100644 --- a/templates/production/index.html.hbs +++ b/templates/production/index.html.hbs @@ -64,14 +64,10 @@
-
+

{{fluent "production-share"}}

{{fluent "production-share-button"}}
-
-

{{fluent "production-users"}}

- {{fluent "production-users-button"}} -
diff --git a/templates/production/users.html.hbs b/templates/production/users.html.hbs deleted file mode 100644 index 2fd407461..000000000 --- a/templates/production/users.html.hbs +++ /dev/null @@ -1,30 +0,0 @@ -{{#*inline "page"}} - -
-
-

{{fluent "production-users-page-title"}}

-
-
- -
-
- {{#each data as |user_row| ~}} -
- {{#each user_row as |u| ~}} -
- -

{{ u.name }}

-

{{{ u.how }}}

-
- {{/each~}} -
- {{/each~}} -
-
- -{{/inline}} -{{~> (lookup this "parent")~}} diff --git a/tests/well_known_security.rs b/tests/well_known_security.rs new file mode 100644 index 000000000..fc11d39c6 --- /dev/null +++ b/tests/well_known_security.rs @@ -0,0 +1,37 @@ +use time::{format_description::well_known::Rfc3339, OffsetDateTime}; + +static TEXT: &str = include_str!("../static/text/well_known_security.txt"); + +#[test] +fn well_known_security_is_not_about_to_expire() { + let expires = TEXT.split("Expires:").nth(1).unwrap().trim(); + let expires = OffsetDateTime::parse(expires, &Rfc3339).unwrap(); + let one_month_from_now = OffsetDateTime::now_utc() + time::Duration::days(30); + assert!( + one_month_from_now < expires, + " + ┌────────────────────────────────────────────────────────────────┐ + │ │ + │ I looks like the expiration date of the security policy needs │ + │ updating. Before blindly updating it, please make sure the │ + │ pointed-to URL still refers to the source of truth of the │ + │ security policy of the Rust project. If all is well, you can │ + │ update the expiration date in the relevant file: │ + │ │ + │ static/text/well_known_security.txt │ + │ │ + └────────────────────────────────────────────────────────────────┘ + " + ); +} + +#[test] +fn well_known_security_expires_within_a_year() { + let expires = TEXT.split("Expires:").nth(1).unwrap().trim(); + let expires = OffsetDateTime::parse(expires, &Rfc3339).unwrap(); + let one_year_from_now = OffsetDateTime::now_utc() + time::Duration::days(370); + assert!( + expires < one_year_from_now, + "The security policy should be checked once a year, please reduce the expiration date." + ); +}