All versions since v2.3.3.3
v2.3.3.3
What’s Changed
- Flatpak Download bug fix.
- Appimage progress callback and appimage bug fixes.
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.3.2...v2.3.3.3
v2.3.3.4
The following changes have been made:
New Setup screen will give dialogue confirmation for AUR . AppImage cleanup of bad desktop entries on sync from updates. AppImage improved path handling for custom paths and logic flows. Flatpak updating filter patterns. Read and add hook dirs from pacman.conf to libalpm.
Thank you for the first contribution @moutazhaq
v2.4.0.0
Shelly-ALPM v2.4.0.0 Release Notes
This release centers on a major CLI refactor, maturing AppImage/Flatpak support, and a new layer of PKGBUILD security analysis.
On the safety side, Shelly now actively inspects install scriptlets for dynamic code execution and post_install risks — the new PostInstallValidator scans resolved scriptlets for risky network/code-fetching tools (npm, npx, bun, pip, curl, wget, etc.) and flags dynamic command construction that can’t be statically reviewed, including command substitution ($(...), backticks), eval, ${!var} indirection, and decode-into-shell pipelines (e.g. base64 -d | sh). It even performs lightweight de-obfuscation (collapsing tricks like b''u''n, cur\l, and n"p"m) so deliberately hidden tool names are caught and escalated to Critical as a sign of malicious intent. Complementing this, the new HomographValidator defends against homograph/IDN spoofing in attacker-controlled fields (package names, dependencies, URLs, and AUR metadata) by detecting zero-width/bidi/control characters, mixed-script tokens (e.g. Latin mixed with Cyrillic/Greek), fullwidth/compatibility forms, and confusable “skeletons” that map look-alike Unicode onto ASCII (e.g. Cyrillic а → a). Findings surface through the same PkgbuildReviewDialog security-status path so users can review them before installing.
Rounding out the CLI work, this release ships a pacman-style shortcode interface: a compact -<Type><Action><modifiers> syntax that translates familiar single-letter operations into Shelly’s full command surface, making the CLI feel native to anyone coming from pacman/yay.
🔑 Shortcode Examples
The first argument may be a shortcode of the form -<Type><Action>[modifiers], where the Type selects a domain (S = system/repo, A = AUR, F = Flatpak, I = AppImage, C = config, K = keyring, U = utility) and the Action/modifiers map to a verb and flags:
shelly -SIu firefox # install firefox -u (sync install, with upgrade)shelly -SQad # query -a -d (query available, fetch details of exact match)shelly -SRcr pkg # remove pkg -c -r (cascade + config removal) : The equivalent of `sudo pacman -Rns pkg`shelly -AS ripgrep # aur search zen-browser-binshelly -AI yay-bin # aur install zen-browser-binshelly -FR org.app.Id # flatpak uninstall org.app.Idshelly -KV ABCD1234 # keyring recv ABCD1234shelly -UC # cache-cleanInvalid combinations are rejected with helpful errors (e.g. an unknown action lists valid actions for that type, and an unknown modifier lists the allowed modifiers), and in shortcode mode --ui-mode is used in place of -U.
✨ Highlights
- New CLI Release with a substantial refactor and modernized command surface (#1059, #1103).
- AppImage support maturing: updates now shown in the UI, eventing improvements, and fixes to desktop-entry handling (#1053, #1058, #1075, #1087, #1092).
- Security additions: PKGBUILD review now shows security status, flags dynamic/
post_installcode execution, and detects potential homograph spoofing (#1099, #1100). - doas support added as an alternative privilege-elevation backend (#1078).
🚀 Features
- Add
doassupport (#1078) - Add manual language selection in settings (#1056) — thanks @nyx1d
- Add
docscommand, with printed command options and default cascade enabled (#1084, #1097) - Add Zsh completions for the Shelly CLI (#1090)
- Show AppImage updates in the UI (#1058)
- Add new version column to AUR update view (#1047)
- Add maintainer and last-updated columns to AUR search output (#1071)
- Add security status to
PkgbuildReviewDialog(#1099) - Add
HomographValidatorto flag homograph spoofing in PKGBUILDs (#1100)
🛠 Improvements & Refactors
- CLI refactor (#1059) and new CLI release (#1103)
- Refactor
CredentialManagerand addProcessExecutorservice (#1066) - Convert
PerformDownloadto async and refactor call sites (#1079) - Skip provider selection when only one distinct option is available (#1070)
- Replace
--elevatedflag inUpgradeAllwith aUserIdentity-based approach (#1093, #1094) - Refactor question handling to remove obsolete ALPM-specific protocols (#1091)
- Update file-size display to Megabytes and refactor progress-bar logic (#1082)
- Simplify query (#1076) and remove the
explorealias fromquery(#1085) - AppImage eventing and CLI output updates from the manager (#1087, #1092)
- Flatpak output and UI element updates (#1049, #1080)
- General small UI adjustments (#1046)
- Remove unused config options and delete unused/unwanted code (#1081, #1086)
🐞 Bug Fixes
- Fix AppImages creating an additional desktop entry (#1053)
- Fix Flatpak upgrade bug and remote selection (#1054)
- Fix Flatpak scrolling issue (#1061)
- Various AppImage fixes (#1075)
🌐 Localization
- Update
de-DE.po(#1089) — thanks @Henry2o1o
📦 Maintenance / Versioning
- Merge Dev into master and master back-merge (#1040, #1041)
- Update UI elements in Flatpak (#1049)
- Bump version to 2.3.3.5 across all projects and PKGBUILD files (#1101)
- Bump version to 2.4.0.0 across all projects and PKGBUILD files (#1102)
Contributors to Shelly-ALPM v2.4.0.0
- @caroberrie — #1040, #1041, #1046, #1049, #1053, #1054, #1058, #1061, #1075, #1080, #1081, #1086, #1087, #1092
- @ZoeyErinBauer — #1059, #1070, #1071, #1076, #1078, #1079, #1082, #1090, #1091, #1093, #1094, #1100, #1101, #1102, #1103
- @azdanov — #1066, #1084, #1085, #1097, #1099
- @Terrabade — #1047
- @nyx1d — #1056 (first contribution 🎉)
- @Henry2o1o — #1089
👋 New Contributors
- @nyx1d made their first contribution in #1056
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.3.4...v2.4.0.0
v2.4.0.1
Bug Fix
- –no-confirm now works as intended on upgrade all
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.0.0...v2.4.0.1
v2.4.0.2
Bug Fixes
- Oopsie we forgot to update the tray service
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.0.1...v2.4.0.2
v2.4.0.3
What’s Changed
- Fix JSON serialization for
JsonOutputacross CLI commands by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1115 - Restore repo pkg selection to cli by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1116
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.0.2...v2.4.0.3
v2.4.0.4
What’s Changed
- Correct Version selection pop up
- Fix install + upgrade UI path
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.0.3...v2.4.0.4
v2.4.1.0
Shelly-ALPM v2.4.1.0 Release Notes
This release builds directly on the 2.4.0 line, hardening how Shelly talks to the network and to the system, deepening dependency resolution, and continuing the CLI refactor that began in 2.4.0.0. It also bundles a large batch of community translations and a steady stream of UI polish across the AppImage, Flatpak, and grid views.
🌐 Networking — Happy Eyeballs
Shelly’s HTTP stack now uses a Happy Eyeballs-style connection strategy in
OptimizedClient. Instead of waiting on a single resolved address, Shelly resolves
every address for a host, prefers IPv4 first so a missing IPv6 route can never block a
working connection, and races the candidates with a fast 3-second per-address
fallback. Critically, it waits for the first connection to succeed rather than the
first to complete, so a quick “network is unreachable” failure on one path no longer
aborts a request that a slower path would have served. Address-connection fallback in
OptimizedClient was further tuned for reliability on mixed IPv4/IPv6 hosts.
🔒 Security — More risky tools, smarter privileges
The PostInstallValidator scriptlet scanner was expanded well beyond the original
list. It now recognizes risky network- and code-fetching tooling across a wide range
of ecosystems — JavaScript/Node (npm, npx, yarn, pnpm, bun, deno), Python
(pip, pipx, uv, poetry, conda/mamba), Ruby, Rust, Go, PHP, Perl, Haskell,
Lua, Nim, OCaml, Elixir/Erlang, C/C++ (conan, vcpkg), JVM build tools, .NET,
Swift, Julia, R — alongside downloaders (curl, wget, aria2c, lftp, rsync,
scp/sftp), container/orchestration tools (docker, podman, kubectl, helm,
snap, flatpak), and version managers (nvm, pyenv, asdf, and friends). These
findings continue to surface through the existing PKGBUILD security-review path so you
can review them before installing.
On the privilege side, command execution in the privileged and unprivileged
services was reworked, with Polkit detection added throughout ProcessExecutor,
XdgPaths, and AurPackageManager. Package searches and lookups now run as
unprivileged operations wherever possible, and a dedicated Polkit policy was
added for privileged Shelly CLI execution (with refined icon and prompt messaging).
📦 Package management — Providers & group queries
Shelly can now resolve virtual dependencies via providers, presenting a provider
selection when more than one package satisfies a dependency. The query command
gained a --group / -g option for searching package groups (it defaults to
searching available packages), making it easier to discover and inspect grouped
packages from the CLI.
🐚 CLI refactor continues
Console creation across the CLI now flows through a single ShellyConsoleFactory,
and RunShellyCommand and related execution paths in ProcessExecutor were
refactored for clarity and consistency. PKGBUILD parsing learned to surface local
source files, and Shelly now correctly reports when pacman hooks have run during
an operation.
🖥️ UI, AppImage & Flatpak
- New grid layouts for the update and manage views, with reworked grid-selection logic.
- An alternate install view and an animated intro page.
- Continued Flatpak UI improvements and better handling of Flatpak progress callbacks.
- AppImage fixes, including corrected Forgejo-hosted AppImage updates.
- Fixed the updates count not appearing in the UI.
- Desktop cache ownership fix and refined lockout-service behavior.
- Removed the obsolete fingerprint warning and related UI elements.
🌍 Translations
This release ships a large localization update: refreshed Japanese, French (fr_FR), Turkish (tr_TR), German (de_DE) translations, a new Italian translation, and additional automated localization passes.
What’s Changed
- Master by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1118
- Merge Back by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1122
- Alternate install view by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1123
- Improve command execution in Privileged and Unprivileged services by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1131
- ownership of desktop cache fix. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1128
- adding grid for update and manage by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1133
- Fix updates count not showing in UI by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1136
- Add Polkit detection in ProcessExecutor by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1137
- Refactor RunShellyCommand and related methods in ProcessExecutor by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1140
- Refactor package management to utilize unprivileged operations for package searches and retrievals by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1141
- Handle polkit in XdgPaths and AurPackageManager by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1143
- Appimage bug fix by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1144
- Master backmerge by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1146
- Flatpak updates by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1145
- Bump version to 2.4.0.5 across all projects and PKGBUILD files. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1147
- Update Japanese translation by @utuhiro78 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1142
- Updating French (fr_FR) translations to Shelly GTK by @Landeli7 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1129
- Fix Forgejo AppImage updates by @Renari in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1138
- Update tr_TR.po by @celonfix in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1050
- Add Polkit policy for privileged Shelly CLI execution by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1153
- Update icon_name in Polkit policies by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1155
- Update Polkit message for privileged Shelly CLI execution by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1156
- Refactor getuid in XdgPaths to use
LibraryImportby @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1157 - Updating Flatpak ui by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1149
- Update UI elements packages by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1159
- Enhance CLI and UI with new features and documentation updates by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1161
- Remove fingerprint warning and related UI elements by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1162
- updating lockout service functionality to work without a prime from t… by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1163
- updating logic around gridview selections by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1165
- Add deployment step for Seafoam Labs website by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1168
- Happy eyeballs by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1169
- chore(l10n): update translations by @juliazero in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1024
- Refactor
Settings.csfor improved readability and maintainability by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1170 - Improve address connection fallback in
OptimizedClientand adjust ports by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1171 - i18n: Add Italian translation by @Mattyan89 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1044
- Update de_DE.po by @Henry2o1o in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1088
- adding animation to the intro page. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1174
- updating flatpak ui elements by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1175
- 1108 bug shelly does not show that pacman hooks have been ran by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1177
- Fix by @Henry2o1o in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1096
- Add support for parsing and displaying local source files in PKGBUILD by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1178
- fixing how enums are saved by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1179
- updating how progress callbacks are handled in flatpak manager by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1180
- Add
--groupoption toQuerycommand for package group searches by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1182 - Refactor to use
ShellyConsoleFactoryfor console creation by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1183 - Expand
restrictedCommandslist inPostInstallValidatorby @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1184 - Add additional risky tools to
PostInstallValidatorby @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1185 - Add support for resolving virtual dependencies via providers by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1191
- chore(l10n): update translations by @juliazero in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1186
- Bump version to 2.4.1.0 across all modules and update corresponding PKGBUILD files by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1192
- 2.4.1.0 Release by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1193
Contributors
A huge thank you to everyone who contributed to this release — 10 unique contributors, 2 of them brand new to the project:
- @ZoeyErinBauer
- @caroberrie
- @azdanov
- @utuhiro78
- @Landeli7
- @Renari 🆕
- @celonfix
- @juliazero
- @Mattyan89 🆕
- @Henry2o1o
New Contributors
- @Renari made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1138
- @Mattyan89 made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1044
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.0.4...v2.4.1.0
v2.4.1.1
Shelly-ALPM 2.4.1.1 Release Notes
New Features
- Added a
--standardoption to thesearchcommand for querying standard packages. Shortcode:-ASs. - Rebuilt the tray service and notification logic, rewritten in Vala reducing memory usage of the tray service.
- Added JSON output support for update-related CLI commands and the AppImage search command, making Shelly easier to script and integrate with other tools.
- Added support for preferring prebuilt
-binpackage variants over building from source when available. - Added filtering of installed AUR packages by explicit vs. dependency status.
- Added a new StatWindow for viewing package statistics.
- Added support for installing packages directly from the Flathub website’s install button.
- Added the ability to select and highlight package names and descriptions in search results.
- Added support for default-click actions on notifications.
- Added starfish a visual depend viewer to install page. Turned on in advanced.
Improvements
- Refactored the
Flatpaknamespace structure for better modularity and maintainability. - Extracted and refactored
PackageSearchintoShelly.Utilitiesfor cleaner code organization. - Refactored the PKGBUILD review dialog.
- Parallelized package and recommendation fetches in the Recommend window and Package Install window for faster load times.
- General package manager cleanup across the codebase.
- Added support for handling multiple package artifacts in AUR packages.
Bug Fixes
- Fixed text getting cut off at the end of the AUR PKGBUILD preview.
- Fixed a crash in the Starfish integration caused by improper disposal of the graph widget.
- Fixed AppImage installation logic to correctly use the destination path for
Exec. - Fixed incorrect numbering in the provider selection menu.
- Removed unnecessary quotation escaping in shell arguments.
- Fixed the DigitalOcean action reference in the release workflow.
- Fixed the Persian translation for the check function message.
Translations
- Added Farsi (Persian) translation.
- Updated Japanese translation.
- Updated Portuguese (Brazil) translation.
- General localization updates across supported languages.
New Contributors
Welcome and thank you to our newest contributors:
- @behdanisohrab
- @psonker-ghub
- @Stirreg
- @zc0rp10
Contributors
Thanks to everyone who contributed to this release: @ZoeyErinBauer, @azdanov, @caroberrie, @VinnyQF, @behdanisohrab, @psonker-ghub, @NateKing204, @Stirreg, @juliazero, @zc0rp10, @utuhiro78
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.1.0...2.4.1.1
v2.4.1.2
What’s Changed
- Fix chroot for pkexec to correctly pass user for makepkg by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1288
- spawn shelly child correctly by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1290
- fixed optdeppkg dep by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1291
- 1267 bug shelly stripped unresolved version constraint from aur package by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1292
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.1.1...v2.4.1.2
v2.4.1.3
What’s Changed
- merge back by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1273
- fix(settings-ui): wire up shelly_icons_switch to ShellyIconsEnabled by @zc0rp10 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1274
- i18n(fr): add and complete French translations by @foXaCe in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1294
- Fix search and downgrade by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1330
- Bumped http client timeout for standard packages to 30 seconds. @ZoeyErinBauer
New Contributors
- @foXaCe made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1294
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.1.2...v2.4.1.3
v2.4.1.4
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.1.3...v2.4.1.4
Shelly V3.0.0
Shelly-ALPM v3.0.0 — A New Era for Shelly
Shelly v3 is here, and this is easily our biggest release yet! Rather than adding another layer to the existing application, we went back to the foundation and rebuilt almost every major part of Shelly. The package-management core, command-line interface, keyring tool, and GTK4 desktop app have all moved from the v2 C#/.NET codebase to Zig.
The rewrite gives Shelly a much cleaner base to build on, removes the managed .NET runtime from the main application, and makes the connection between Shelly and native Arch Linux libraries far simpler. The familiar shelly and shelly-ui commands are still
there, but nearly everything powering them is new.
⚡ Why Zig matters
This is where the v3 rewrite really shines. Zig is a great fit for a package manager because Shelly already works closely with native Linux libraries such as libalpm, GTK4, libarchive, and GPG. Shelly v3 can call those libraries directly through native bindings instead of moving data through a managed runtime and a large interop layer.
In practical terms, the move to Zig gives Shelly:
- Fast, ahead-of-time compiled native executables with no managed .NET runtime or garbage collector to start and manage.
- More predictable memory and resource lifetimes through explicit allocators and ownership.
- Better compile-time checking at the C library boundary, including generated
libalpmbindings. - Less runtime machinery between the UI, CLI, and package-management code. That gives Shelly a strong foundation for quicker startup and lower resource use, with proper benchmark work still to come.
- One native build and test workflow for the CLI, UI, keyring helper, package manager, and optional Flatpak backend.
- Release-safe builds for the desktop application and size-optimized builds for command-line tools.
The rewrite also let us remove hundreds of old C# source files and retire the previous .NET projects instead of dragging two implementations forward. Making the projects much simpler while providing similar feature sets. It is a huge cleanup and an even bigger step toward making Shelly easier to improve release after release.
🖥️ A completely rebuilt GTK4 experience
The desktop app has been rebuilt in Zig on GTK4, and it feels like a new generation of Shelly. Pages, dialogs, background operations, and communication with the CLI now sit on a cleaner structure, giving the interface plenty of room to grow.
- Updated the new first-run welcome screen that helps users choose AUR, Flatpak, and AppImage support. Shelly can even install the optional requirements when a feature is enabled.
- Reworked package browsing with list and grid layouts, sortable columns, better selection behavior, source labels, installed-state filtering, and more complete package details.
- Improved AUR details, optional dependency selection, PKGBUILD previews, review prompts, and visible
makepkgoutput. - Rebuilt update planning and transaction progress so the UI can show the full operation output without locking up during longer tasks.
- Refined Flatpak management experience with new navigation and new page for installing from bundles and refs.
- AppImage installation made safer installs are less likely to leave ghost entries behind.
- Moved maintenance actions into a dedicated Utilities page, including database synchronization, stale lock repair, permission repair, package cache cleanup, and orphan cleanup.
- Added autosaving settings, configurable sidebar or top-bar navigation, default-page selection, and useful keyboard shortcuts.
- Improved tray startup and shutdown behavior, single-instance window raising, icons, spacing, theme colors, and a long list of smaller GTK details that make Shelly feel more polished.
🐚 A fully native CLI
The shelly CLI has also been rebuilt from the ground up in Zig. It keeps the readable long-form commands and pacman-like shortcodes, while one native command catalog now powers help, documentation, and shell completions.
- Running
shelly <search terms>can now search standard repositories and the AUR, then send the selected result straight into the normal install flow. - Combined update checks and upgrades coordinate standard packages, AUR packages, AppImages, and Flatpaks. An unavailable optional backend no longer has to prevent the independent sources from continuing.
- Added a package backup export and import using a readable TOML format.
- Added and expanded commands for package marking, downgrade selection, Arch news, keyring management, configuration, package cache cleanup,
pacnew/pacsavehandling, stale database lock repair, and permissionrepair. - Added Bash completion generation alongside Fish and Zsh, making the new CLI nicer to use right away in more shells.
- Improved confirmations and transaction previews, including explicit review before system upgrades and before AUR builds.
- Kept structured JSON output for supported commands and added a framed output mode used by the GTK UI.
🛡️ Smarter package management and stronger reliability
- Brought ALPM repository configuration, database synchronization, package queries, dependency resolution, installs, removals, upgrades, and downgrades into the new native package-management library.
- Added parallel repository database synchronization, mirror retry handling, package database signature verification, and clearer signature failures.
- Preserved the Happy Eyeballs-style network behavior from late v2 and tightened it with response-body validation, redirect handling, mirror fallback, and more reliable timeout behavior.
- Improved handling for ignored packages and groups, repository usage flags, custom and single-server repositories, installed package reasons, optional dependencies, split packages, and packages already available in system repositories.
- Ported PKGBUILD parsing and the post-install and homograph checks used during AUR review.
- AUR upgrades can now review all changed PKGBUILDs before the transaction begins, rather than interrupting the upgrade one package at a time.
- Fixed cases where optional dependencies could be removed even though another installed package still needed them.
- Fixed AUR build hangs, incorrect AUR versions, missing built packages, AppImage ghost entries, stale update plans, and several UI state and selection issues.
📦 Flatpak is now truly optional
One of the most exciting structural improvements in v3 is the new optional Flatpak backend. Flatpak support is now shipped as the separate shelly-flatpak-backend package. The base Shelly CLI package does not link to libflatpak, GLib/GIO, or OSTree for Flatpak operations, and it does not load the backend while running non-Flatpak commands.
The backend communicates through a versioned native ABI with a strict message schema and explicit ownership rules. Shelly checks the ABI before use, rejects an incompatible backend cleanly, and keeps ALPM, AUR, AppImage, help, version, and completion commands available when Flatpak support is not installed.
This split keeps the base install lean for people who do not use Flatpak, while letting anyone add full Flatpak support later without rebuilding or reinstalling Shelly. It is a cleaner design for both kinds of users.
🔄 Upgrade notes
- Existing configuration files are overlaid on the new native defaults, so normal settings should carry forward. Unknown old fields are ignored.
- Flatpak users should install both
flatpakandshelly-flatpak-backend. Shelly will explain what is missing if a Flatpak command is used without them. - The standalone keyring executable is now
shelly-keyinstead ofshelly-keys. The supportedshelly keyring ...commands should be preferred in scripts. - The CLI was substantially rebuilt. Existing automation should be checked against
shelly --help, especially if it depended on exact human-readable output. Use--jsonwhere a command supports it. - Clean-chroot AUR builds are still available from the CLI, but the chroot toggle has temporarily been removed from the graphical AUR page while that workflow is being hardened.
🌍 Translations
The rebuilt UI is arriving with refreshed translation catalogs for Bulgarian, Catalan, Chinese (Simplified), French, German, Greek, Hungarian, Italian, Japanese, Persian, Polish, Portuguese (Brazil and Portugal), Russian, Spanish, and Turkish. Notification translations received updates too, helping more people enjoy v3 in their preferred language from day one.
❤️ Thank you, contributors!
Shelly v3 would not have happened without the extreme dedication, hard work, and occasional wrestling of this enormous rewrite into shape.
Core Contributors:
- @ZoeyErinBauer
- @caroberrie
- @azdanov
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.4.1.4...v3.0.0
v3.0.1
What’s Changed
- UI tweaks by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1467
- Delete wiki directory by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1468
- Fix operation error reporting and add Flatpak install dialog by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1473
- fixing url icon by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1476
- add keybinds by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1477
- fixes connected top nav by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1478
- Add –install-path option for AppImage installation by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1481
- Add AUR package detail view with –detail flag by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1485
- fixed the way package selection is calculated to favor exact matches by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1488
- Fix gnome by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1491
- Pkguild preview update by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1482
- Bug Fixes for v3.0.1 by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1492
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.0+9...v3.0.1
v3.0.1+1
What’s Changed
- Pass remote name to Flatpak install commands and rename functions by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1494
- Remove autogenerated files by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1495
- Update Russian translation by @adem4ik in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1496
- Cli detail output by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1499
- Centralize CLI color handling with semantic palette by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1500
- Add Zed GTK UI build task and debug config by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1502
- Update Spanish translation by @tigce2 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1487
- fix forjego app image issue. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1509
- fix for first seen parsing. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1510
- New warning dialog by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1511
- fix app image install by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1512
- fixed cache clean output. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1515
- fixed app image symlink follow issues. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1526
- Improve PKGBUILD review for binary sources and privilege elevation by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1522
- allowed for better version matching with the url builder by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1527
- update aur page alignment by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1529
- adding update default by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1530
- 1486 bug shelly list updates standard gpfs immediately on cachyos by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1531
- added description and install status by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1533
- in flatpak remote info fix use after free by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1534
- 3.0.1+1 by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1535
New Contributors
- @adem4ik made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1496
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.1...v3.0.1+1
v3.0.2
What’s Changed
- refactor orphans by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1546
- update ci cd and push a broken change to test on pr. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1552
- Zig tray by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1551
- 1548 bug packages with a period symbol are parsed incorrectly by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1553
- update defualt page drop down handling by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1555
- 1542 bug varlibpacmandblck locks shelly without an error message by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1557
- forced confirmation on suspicious pkgbuilds by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1558
- fix locale drop down. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1556
- v3.0.2 by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1559
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.1+1...v3.0.2
v3.0.3
What’s Changed
- repo package search desc. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1567
- Pt br update by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1543
- added experimental aarch64 support to pkgbuilds that are not prebuild by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1577
- update tray. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1579
- 1565 bug aur update error does not mention which package is failing by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1581
- add url to repo and aur packages. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1583
- Updating tray service translations for shelly v3. by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1570
- Update UI term output by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1584
- add install date in installed only mode by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1585
- fix provider selection by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1587
- Fix dropdown filtering and restore selection after model rebuild by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1590
- UI hotkeys by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1593
- flatpak: fix detail page forcing the window abnormally wide by @SunnyKerman in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1562
- Add missing selected_label text by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1596
- Update de_DE.po by @Henry2o1o in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1580
- Fix provider question parsing and answering logic by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1597
- Update release.yml by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1598
- Flag for devel disable by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1599
- Add installed status for package search by @SimoneFelici in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1586
- Update Russian translation by @adem4ik in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1563
- Updated Greek translation and added in language_entries list by @antwnhsx in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1600
- add ui selection for aur and flatpak individual updates by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1601
- locales: Add Basque (eu) translation for Notifications and UI modules by @bingenm in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1437
- Remove unused translation messages by @utuhiro78 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1588
- Translations update by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1603
- Update Polish translation by @juliazero in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1479
- Fix typo (on;y -> only) by @utuhiro78 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1607
- updating startup code in main.zig by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1609
- fix appstream parse bug by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1610
- added cache clean option to upgrade. fixed at 3 versions by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1617
- Add remove repo by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1613
- update transaction page by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1615
- Update Japanese translation by @utuhiro78 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1608
- fix symlink issue by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1618
- changed cache directory by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1619
- fixed user flatpak things for special people who like to only use user by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1620
- v3.0.3 by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1621
- fixed release.yml by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1622
New Contributors
- @SunnyKerman made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1562
- @bingenm made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1437
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.2...v3.0.3
v3.0.4 Latest
What’s New in Shelly 3.0.4
Features & Improvements
- New Shelly search experience (#1681)
- Start of TUI (#1645)
- Add AUR link to the AUR detail view (#1626)
- Improve AppImage integration (#1661)
- Update Polkit warning (#1657)
- Update tray indexing (#1638)
- Update UI D-Bus call (#1627)
- Inject pkgname from array for split packages (#1634)
- Report missing PKGBUILD source files consistently (#1673)
- Remove the legacy Vala tray implementation (#1670)
- Add man page generation and installation for the Shelly CLI (#1677)
Flatpak
- Add end-of-life detection and rebase support (#1650)
- Resolve branch from remote metadata (#1648)
- Show verified status for Flatpak apps (#1651)
- New remove dialog (#1680)
Bug Fixes
- Fix status label (#1631)
- Fix problem installing sabnzbd from the AUR (#1668)
- Fix welcome screen layout (#1672)
- Fix tray icon and reaping of spawned processes (#1676)
Shell Completions
- Fix Zsh autocompletion for install and remove (#1647)
- Improve Bash and Fish argument completions (#1678)
- Add command shortcodes for Bash and Fish completions (#1679)
Testing
- Add test for the install script (#1635)
Translations
- Updated Spanish (#1629), Japanese (#1643), Russian (#1658), Polish (#1665), German (#1667), and Basque translations (#1623)
- Refreshed translation files (#1660)
Contributors
@caroberrie @azdanov @ZoeyErinBauer @adem4ik @utuhiro78 @juliazero @bingenm @Henry2o1o
New Contributors
- @Marks20125 made their first contribution (#1629)
- @mariuskreutzer made their first contribution (#1647)
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.3...v3.0.4
