Vývojáři jazyka Rust upozornili na zrušení podpory nekanonických stahování v repozitáři crate.io, které používají normalizované názvy balíčků se změněnými podtržítky a pomlčkami, platné od 20. listopadu 2023. Důvodem pro tuto změnu je snaha zvýšit spolehlivost a optimalizovat výkon.
Dosud nebylo důležité, zda je v názvu použito podtržítko nebo pomlčka – crate.io automaticky přizpůsoboval takové odkazy potřebnému formátu. Například pro balíček „název_balíčku“ bylo možné při stahování uvádět „název-paketu“ a naopak. V repozitáři je také ochrana proti nahrávání podobných názvů, která brání zveřejnění balíčku s názvem „název-paketu“, pokud již existuje balíček „název_balíčku“.
Existence procedury normalizace názvů vyžaduje volání speciálního zpracovatele, což neumožňuje přímo používat obsahové sítě pro poskytování žádostí o stažení balíčků. Kromě toho zkoušení variant vytváří dodatečné zatížení backendů a databází. Analýza protokolů ukázala, že nekanonické názvy se používají pouze v žádostech s User Agent cargo-binstall/1.1.2, Faraday v0.17.6, Go-http-client/2.0, GNU Guile a python-requests/2.31.0. Autor nástroje cargo-binstall, používaného pro instalaci binárních artefaktů k balíčkům, již provedl změny zohledňující nadcházející zrušení podpory nekanonických názvů.
Zdroj: opennet.ru
