crates.io moves to public testing with Svelte 5 frontend port
crates.io’s Svelte 5 port is live at /svelte/, sharing session state and data with Ember while visual tests already pass on both.

The new crates.io frontend is already running beside the old one, and Rust users can test it without switching accounts or losing context. The Svelte 5 port lives at /svelte/, shares the same domain, session state, and underlying data as the current Ember app, and is meant to be a 1:1 replacement before any new features land.
That matters because crates.io sits at the center of Rust’s distribution pipeline. It is where crates are published, dependencies are searched, metadata is inspected, and security information is checked. The team is not treating this as a flashy redesign. It is treating it as infrastructure work, with the goal of keeping the registry steady while making the frontend easier to maintain.
The migration was first tracked publicly in a GitHub issue opened on December 16, 2025, after the team spent the end of 2025 evaluating several modernization paths. That included server-side rendering with Rust, such as minijinja, but the team ultimately chose Svelte because it fit the developer-experience needs of a small maintainers’ group. Rather than a big-bang rewrite, the rollout has been incremental, with the Svelte app shipped route by route alongside Ember in the same repository.
That careful approach shows up in the testing. The UI test suite, including visual regression tests, already passes against both versions, and rough edges from the Ember app were left in place for now so maintainers can compare the two systems cleanly. The team said feature parity is the bar for switching the new frontend to primary, and by January 2026 it was still describing the Svelte interface as a work in progress. If testing continues to go well, crates.io expects to make Svelte the default in the coming weeks.

The public test also comes with a direct call for help. Users are being asked to report discrepancies through GitHub or on Zulip in #t-crates-io, so any mismatch between the two versions can be caught before the swap becomes permanent. The April 17 announcement also thanked the Ember.js team for years of service, the Svelte team for smoothing the transition, and @eth3lbert for reviewing the bulk of the migration pull requests.
The frontend work is landing alongside other crates.io changes that reshape day-to-day Rust publishing. In January 2026, the site added a Security tab to crate pages to show RustSec advisories and affected version ranges, work funded by the OpenSSF and implemented by Dirkjan Ochtman. Crates.io also expanded Trusted Publishing to GitLab CI/CD, while letting crate owners require Trusted Publishing only and block token-based publishing for those crates. Taken together, the Svelte 5 port is part of a broader push to modernize crates.io without disturbing the trust and continuity the Rust ecosystem depends on.
Know something we missed? Have a correction or additional information?
Submit a Tip

