Software 44624 Published by

Shelly 3.0.0 has launched as a complete rewrite of the Arch Linux package manager, migrating the codebase from C#/.NET to native Zig to eliminate runtime overhead and deliver faster startup times. The release introduces a modular design with Flatpak support as an optional backend, alongside a refreshed GTK4 UI, simultaneous AUR search capabilities, and shell completions for the CLI. Users upgrading from the v2.x line should review migration notes regarding config handling and the renamed keyring tool before proceeding. Installation is available through CachyOS packages or the AUR, with Seafoam Labs already working on repository modification and offline update features for the post-v3 roadmap.



Seafoam Labs Rewrites Shelly in Zig for 3.0.0, Scraps .NET Runtime

The next evolution of the Arch Linux package manager arrives July 29, 2026, with a complete shift to native Zig and a modular architecture.

Shelly 3.0.0 dropped just after midnight UTC, and the changelog calls it a "new era." Seafoam Labs has shipped a ground-up rewrite that moves the entire project from C# and .NET into the Zig programming language. If you're coming from the v2.x line, the first thing you'll notice is the absence of the managed runtime. No JIT warmup. No garbage collector pauses during long transactions.

The rewrite consolidates six distinct .NET and Vala components into a native Zig codebase. The package manager core, CLI, GTK4 desktop UI, keyring helper, and notification service now all live under zig build. Head here to the GitHub repository for the full commit history.

Screenshot_from_2026_07_05_13_33_37

Architecture and Flatpak Modularity

The biggest structural change lies in how Shelly handles external dependencies. Flatpak support is now a truly optional module. The base shelly package no longer links to libflatpak, GLib/GIO, or OSTree.

Flatpak handling moves to a separate package called shelly-flatpak-backend. Shelly checks the ABI before loading the backend and falls back cleanly if the files aren't present. ALPM operations, AUR management, and shell completions keep working without it. This is a cleaner design for users who only deal with official repositories.

The new architecture brings several tangible benefits. You get direct native bindings to libalpm, GTK4, libarchive, and GPG without interop overhead. Memory management is now explicit via allocators. The project also ships with 3,714 commits across its development history.

UI and CLI Refresh

The GTK4 interface gets a first-run welcome screen to configure AUR, Flatpak, and AppImage support upfront. Package browsing supports list and grid layouts with sortable columns and source labels. AUR details now show optional dependency selection and PKGBUILD previews.

The CLI retains parity with the desktop app. Search hits both standard repositories and the AUR simultaneously. You can launch directly into an install flow from search results. The CLI also supports structured JSON output for scripting, along with shell completions for Bash, Fish, and Zsh.

New commands cover package marking, downgrade selection, keyring management, and pacnew handling. Transaction previews now batch-review all changed PKGBUILDs before starting, so you aren't interrupted one package at a time.

Migration Warnings

Not all roads lead directly from v2 to v3. The config migration overlays existing files onto new native defaults. Unknown fields from the old config are ignored. The keyring tool renamed itself from shelly-keys to shelly-key. Scripts that called the old binary will break.

Clean-chroot AUR builds are available from the CLI, but Seafoam Labs has temporarily hidden the toggle in the GTK UI while it hardens the implementation. Keep in mind that you should check shelly --help before running a system-wide upgrade. The CLI breakage is substantial enough that familiar workflows might shift slightly.

Installation and Roadmap

Installation remains straightforward. You can grab Shelly via the CachyOS packages with sudo pacman -S shelly or from GitHub. The AUR is also available.

The project now sits at 906 stars with 75 forks. Translations cover 16 languages, ranging from Bulgarian to Japanese. Seafoam Labs is already working on repository modification support and offline updates for the post-v3 roadmap.

It's a bold step for a tool built in what some still consider an experimental language. However, at the same time, the polished result suggests Zig is ready for serious systems work. If you need a unified package manager that feels native rather than like a .NET wrapper, v3.0.0 is worth a look.