Shelly, an Arch Linux package manager that brings repository, AUR, Flatpak, and AppImage management together across CLI, TUI, and GTK interfaces, has released version 3.1.3.
One of the most visible additions in 3.1.3 is the new --aur-cache option for shelly purify standard. It lets users preview and remove previously built AUR package archives and their signatures without affecting PKGBUILDs, sources, checkout history, or build directories. In addition, a new DisableCacheClean setting can suppress the cleanup prompt during full upgrades.
AppImage handling gets an improvement as well. Individual installed AppImages can now have their own persistent environment variables, configurable either through Shelly’s graphical interface or from the command line. These overrides also survive AppImage updates.

A large part of the release focuses on improving Shelly’s native PKGBUILD builder. Version 3.1.3 fixes parsing issues involving here-strings and command substitutions, improves conditional and architecture-specific dependency handling, and handles split packages more reliably.
Archive support has been expanded, including better detection of extensionless archives and decompression support for gzip, bzip2, xz, zstd, and traditional Unix compress sources. Multiple PGP signature handling and source-key imports also receive fixes.
Another notable change is shellystrap, Shelly’s new libalpm-based helper for provisioning isolated build environments. It replaces the previous pacstrap dependency and keeps provisioning inside private namespaces. Isolated builds gain better key handling, dependency checking, and cleanup when builds are canceled.
For automation, Shelly 3.1.3 adds JSON output for version information and build results, configurable package output destinations, and a new shelly resolve command for mapping repository or AUR package names to their corresponding package bases.
On the desktop side, Flathub links now open the correct application more reliably, Flatpak details offer improved uninstall and remote-selection controls, and package conflict dialogs better explain which installed package will be removed and what will replace it.
Finally, repository database and package downloads now properly honor the ParallelDownloadCount setting. It accepts values between 1 and 255 and defaults to 100. Italian and Simplified Chinese translations have also been updated.
For additional details, see the changelog.
