# crates.io: development update

DevFeed: [crates.io: development update](<https://devfeed.tech/articles/crates-io-development-update-2345.md>)

Original publisher: [Read original article](<https://blog.rust-lang.org/2026/07/13/crates-io-development-update/>)

Author: Tobias Bieniek

Published: 2026-07-13T00:00:00Z

Content type: article

Language: en

Sources: [Rust Blog](<https://devfeed.tech/sources/rust-blog.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [servers](<https://devfeed.tech/topics/servers.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [releases](<https://devfeed.tech/topics/releases.md>), [json-ld](<https://devfeed.tech/topics/json-ld.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [github](<https://devfeed.tech/tags/github.md>), [http](<https://devfeed.tech/tags/http.md>), [identity](<https://devfeed.tech/tags/identity.md>), [json](<https://devfeed.tech/tags/json.md>), [releases](<https://devfeed.tech/tags/releases.md>)

## AI overview

This development update describes major crates.io improvements, including a source code viewer for published crate versions, searchable file trees, syntax highlighting, shareable line selections, and planned version-to-version diffs. It also explains the archive and manifest infrastructure used to serve files efficiently and outlines work to make crates.io usernames independent of GitHub accounts, enabling future support for other identity providers.

## Source excerpt

Another six months have passed since our last development update, and the crates.io team has been busy. Here's a summary of the most notable changes and improvements made to crates.io since then. Source Code Viewer Crate pages now have a "Code" tab that lets you browse the contents of published crate versions directly on crates.io. This shows you the exact files that cargo downloads when you add a crate as a dependency, which might differ from the linked repository. This makes it much easier to audit your dependencies, including files that never appear in the repository, like the normalized Cargo.toml files that cargo generates. The viewer comes with a file tree sidebar with search functionality, syntax highlighting, and GitHub-style line selection, where clicking or dragging line numbers produces shareable #L10-L20 URLs. Under the hood, the server now builds a zip file for every published version. Since the .crate files that cargo consumes are gzipped tarballs without random access support, a background job re-packs each of them into a seekable zip archive plus a JSON manifest describing the contained files. Both are served from our static CDN. The frontend then fetches only the manifest and loads each file on demand with an HTTP range request. Because of this architecture, browsing crate sources essentially adds no load on the crates.io API servers. Existing crate versions have been backfilled, so this works for old releases too. The rendering library behind the code viewer is a diff renderer at heart, and that's no accident: a version-to-version diff viewer built on the same infrastructure is currently in the works. This will allow you to review exactly what changed between two published versions, right on crates.io. Stay tuned! Untangling crates.io Accounts from GitHub At the end of May, the crates.io team accepted RFC #3946. Crates.io accounts always have been tightly coupled to GitHub: signing in means "Log in with GitHub", and your crates.io identity is your