All versions since v2.1.1
v2.1.1
What’s Changed
- Initialize setup window for shelly on first install. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/538
- Updated bindings for remove and manage by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/540
- Flatpak install from bundle by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/541
- Improving memory usage of session logger by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/545
- Chel intro page. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/546
- Add animated and configurable progress bar support across CLI commands by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/547
- Switch AUR RPC requests to POST with enhanced error handling and cust… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/548
- Symbolic icon by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/549
- 473 feature request section for managing pacsave and pacnew files by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/552
- Pacfile ui + settings page visual update by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/555
- Adding a enter to close after upgrade runs from notifcation service by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/556
- Addiong Keybinds for and fixing overlay hitting on behind pages by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/557
- Fixing flatpak upgrade command is shelly upgrade all by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/551
- Adding an alias command for –version and -v by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/558
- App image icons by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/560
- 543 feature request consider using xdg paths by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/561
- Fixing bug with appimage path handling by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/563
- AUR install overlay help text by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/564
- Updating package references by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/566
- 550 feature request preview to browse package file contents and add build dates by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/572 This feature has been deactivated till we can swap to protobuff instead of json as our pipe transfer
- Adding option within the package search to exit the process. by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/570
- Files expander management by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/575
- Bump version to 2.1.1 across projects and PKGBUILD files by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/580
- Typo fix by @onebitboy in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/581
New Contributors
- @onebitboy made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/581
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.0...v2.1.1
v2.1.2
Bug Fixes
- Modify
SetupWindowbehavior to usecontentAreainstead of `mainOv… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/583 - Setup window fix by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/584
- fixing symbolic tray by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/585
What’s Changed
- Initialize setup window for shelly on first install. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/538
- Updated bindings for remove and manage by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/540
- Flatpak install from bundle by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/541
- Improving memory usage of session logger by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/545
- Chel intro page. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/546
- Add animated and configurable progress bar support across CLI commands by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/547
- Switch AUR RPC requests to POST with enhanced error handling and cust… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/548
- Symbolic icon by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/549
- 473 feature request section for managing pacsave and pacnew files by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/552
- Pacfile ui + settings page visual update by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/555
- Adding a enter to close after upgrade runs from notifcation service by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/556
- Addiong Keybinds for and fixing overlay hitting on behind pages by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/557
- Fixing flatpak upgrade command is shelly upgrade all by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/551
- Adding an alias command for –version and -v by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/558
- App image icons by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/560
- 543 feature request consider using xdg paths by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/561
- Fixing bug with appimage path handling by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/563
- AUR install overlay help text by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/564
- Updating package references by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/566
- 550 feature request preview to browse package file contents and add build dates by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/572 This feature has been deactivated till we can swap to protobuff instead of json as our pipe transfer
- Adding option within the package search to exit the process. by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/570
- Files expander management by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/575
- Bump version to 2.1.1 across projects and PKGBUILD files by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/580
- Typo fix by @onebitboy in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/581
New Contributors
- @onebitboy made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/581
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.0...v2.1.1
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.1...v2.1.2
v2.1.3
What’s Changed
- Fix tray for QS by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/591
- adding fluxer link by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/592
- Gtk theming fix by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/593
- Modify
SpawnTerminalWithCommandAsyncto removesudofrom `shelly … by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/596
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.2...v2.1.3
v2.1.4
What’s Changed
- Updating how how we display dialog for shelly by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/599
- fixing appimages icons by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/600
- Fixing appimage extraction by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/601
- Resolve AUR split packages by ensuring
pkgnameis translated to `pk… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/602 - Removing unnecessary Dbus message by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/603
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.3...v2.1.4
v2.1.5
What’s Changed
- Adding args by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/605
- Fixing nav-button styling by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/610
- Adding hotkey for flatpaks 608 by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/611
- Handle exceptions in
ConfigManagerand enhanceXdgPathsuser home… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/614
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.4...v2.1.5
v2.2.0 UI Simplification
What’s Changed
- Major UI overhaul to simplify usage primarily developed by @caroberrie and assisted by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/646
- pushing install name change. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/618
- Handle installation failures gracefully and show appropriate toast me… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/623
- Display available update count dynamically in the HomeWindow UI. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/624
- Resolve AUR split packages by retrieving
pkgbaseinstead of `pkgnam… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/637 - Handle divergent Git history in AUR packages by attempting a fresh cl… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/639
- Chown xdg paths by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/643
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.1.5...v2.2.0
v2.2.1
What’s Changed
- Preserve environment variables in
AppRunner, fix%Uargument hand… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/648 - Handle AUR upgrade failures gracefully in
UpgradeCommandwith error… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/649 - fixing race condition in package management reload by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/650
- Fix automatic return if no standard packages are available to update.
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.0...v2.2.1
v2.2.2
Shelly Search is Back
You can enable it in advanced options.
What’s Changed
- Add
PackageSearchutility for null-safe filtering and refactor pack… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/652 - Monospace pkgbuild label by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/657
- Moving flatpak ui components around by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/653
- fixing out of date package data by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/656
- Restore shelly search by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/658
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.1...v2.2.2
v2.2.3
What’s Changed
- Changing SingleSelection property “Autoselect” from “false” to “true” by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/662
- Adding default page config option by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/664
- 665 bug fix by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/667
- 606 sort buttons dont work by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/621
- Custom Tray Icons for shelly by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/668
- fixing icon downloader. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/682
- fixing inconsitent issues with settings page render by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/683
- manage should not have checks being in manage already implies installed. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/684
- Re added vertical nav by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/692
- Refactor styles to use theme variables for improved consistency and m… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/694
- Refactor package install logic: introduce
BindStatefor managing si… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/696 - UI tweaks to ui, including margin adjustments and style changes by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/693
- Add variable expansion support in
VcsSourceParserand enhance branc… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/698 - Adding a PKGBUILD preview window by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/697
- Fixing “AurWindow.ui” to match with previous design. by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/699
- 537 feature requestadd cli function that reutrns simple integer count of all available updates by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/702
Configuration Information
To achieve looks like this :
Apply the below configurations to your config file in ~/.config/shelly/config.json . Further configuration information will be on the wiki shortly to explain how to achieve different animation styles and looks.
"ProgressBarStyle": "Pacman", "ProgressBarFps": 7, "ProgressBarWidth": 24, "OutputMode": "singlepane", "SinglePaneMaxStickies": 6Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.2...v2.2.3
v2.2.3.1
Summary
-
Corrected support for GTK Theming on Gnome to enable make sure you download and install a GTK4 Theme
nwg-lookis one of the best ways to do this if you are unsure.
-
Finished cleanup of updated UI
-
Fixed -git tracking bugs for the aur
What’s Changed
- Add ui tweaks by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/700
- 705 bug dark mode stopped working on gnome by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/707
- Aur object refactor by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/711
- Aur update fix by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/713
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.3...v2.2.3.1
v2.2.3.2 - Rolling With My Gnomies A Dark Mode Fix
What’s Changed
- Add Last Updated Date Column to Shelly Search Results by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/717
- Add GNOME-specific theme detection and setup in
Program.csand enha… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/718
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.3.1...v2.2.3.2
Release - v2.2.4.0
Release Notes v2.2.4
Highlights: Smarter fuzzy search across every package list, fingerprint-auth interference detection with guided fixes, and a polished Recommended page that’s now opt-in. A brand-new alpha release of Shelly.Keys companion binary for GPG keyring bootstrapping.
🐚 Features
Shelly.Keys— new AOT-compiled CLI for one-shot GPG/pacman keyring initialization. Ships its own PKGBUILD, packaging workflow, andGlobalSettingsfor global keyserver configuration.- Recommended page — a new curated landing experience for package discovery (
recomendpage, JSON context, refreshed UI). - Package group search — search now resolves and lists pacman package groups alongside individual packages.
- Sortable search columns in
ShellySearch— click any column header to sort results. Ctrl+Fsearch shortcut wired intoAurInstall,AurRemove,AurUpdate,PackageInstall,PackageManagement,PackageUpdate, andFlatpakInstalldialogs.- Fingerprint authentication detector — new
FingerprintAuthDetector+FingerprintAuthStateservices automatically spotsudo/fprintdPAM interference and surface a helper banner andFingerprintFixDialogwith guided remediation. - Build Date field added to
AlpmPackageand shown in package details. ilovecandy-style bottom bar —BottomBarRegionnow conditionally renders ANSI markup or an ASCII fallback based on terminal capability.
⚡ Improvements
- Smarter fuzzy matching across every list view —
ListInstalled,ListAvailable,AurListInstalled,AurListUpdatesnow use a unified scoring filter. ShellySearchrefactor — scoring moved into a localMatchObjectmethod, class madesealed, fields converted to locals.InitializeCommandstreamlined — leaner GPG config setup, optimized keyring creation, new trust-database update step, andMarshal.StringToCoTaskMemUTF8/ThrowIfErrorStringadoption.- CLI path resolution consolidated into a single central class, restricted to
.slnx, rewritten with LINQ. - Auto-select first list item so users aren’t locked out of package details.
- About dialog — added proper credit sections.
- Privileged operation hint clarifies biometric support and suggests temporarily disabling fingerprint auth.
FingerprintAuthDetector— configurable PAM directories/service names, betterinclude/substackhandling, directsudohit checks,fprintdservice integration, expanded tests.FingerprintFixDialog— simplified copy, removed security warning and issue-reference button, tightened default height.- Recommended page is now opt-in — disabled by default, toggleable from settings.
🐞 Bug Fixes
- Arch News order reversed —
ArchNewsDialognow displays news items newest-first. JsonException: 'P' is an invalid start of a valueinGetAurPackageBuildresolved.SearchPackagesAsyncfilter syntax corrected.- Bottom of lockout view no longer visually cut off.
- AppImage
.desktop— removed an invalidTryExecentry. - Renamed
firmware version→Shelly versionand made it required. - Added missing colon after
Versionand a missing space in installed-size output.
Changes since v2.2.3.2
- delete tryexec invaliding the AppImage .desktop file by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/723
- Rename firmware version to Shelly version and make required by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/724
- Add search to package group dropdown by @Terrabade in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/726
- Refactor CLI path resolution into central class and use improved debug path by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/725
- Add Build Date to AlpmPackage by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/719
- Add sorting functionality to ShellySearch columns by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/727
- Fixing bottom of lockout getting cut off visually by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/731
- 619 feature request keyboard shortcut for search by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/733
- Improve search matching by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/732
- 559 create cli implementation for pacmankey by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/729
- About by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/741
- Fix first item not selected by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/740
- 728 bug jsonexception p is an invalid start of a value in getaurpackagebuild by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/742
- Refactor
BottomBarRegionto conditionally render bar lines with ASC… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/743 - Recomendui by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/744
- Reverse order of fetched Arch News items in
ArchNewsDialog. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/745 - Bump version to
2.2.4.0across projects and packages. by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/746
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.3.2...v2.2.4.0
v2.2.4.1
What’s Changed
- Resolving Recommended Crash Fix
- fixing recomended by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/748
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.4.0...v2.2.4.1
v2.3.0.0 There and pack again a memory tale
Release Notes v2.3.0.0
Highlights: There and pack again a memory tale. We have updated from json to memorypack for the cli talking to the ui! This brings better performance with less overhead from json! The other major highlight is shelly ui now supports the ability to be translated so watch out for future translation or contribute!
🐚 Features
- MemoryPack — Added memorypack to the ui and cli to increase performance!
- Translation Support — Added the ability for the shelly ui to be translated to your locale! Check for future translation and our guide if you wish to contribute!
- Local Install — Remove locally installed package(s) in manage ui.
⚡ Improvements
- MemoryPack — Added memorypack to the ui and cli to increase performance!
- Translation Support — Added the ability for the shelly ui to be translated to your locale! Check for future translation and our guide if you wish to contribute!
- Rec Page — Cleaned up rec page and removed header.
- PKGBUILD — Update to our pkgbuilds to add descriptions to the .desktop files.
- Refactor of package selection — Refactored package selection.
🐞 Bug Fixes
- ZstdSharp — Added ZstdSharp sharp reference to rd.mxl.
- Aur — VCS package in AUR is not detected for updates.
- Revert Json — Revert to JSON output in non UI mode to fix issues with unwanted changes to output.
- Opt Depdencies — Fixed optional deps being ignored during installation.
- Flatpak Bug — Fixed bug in flatpak ui from memorypack updates.
Changes since v2.2.3.2
- Cleaned up Rec Page ui by @NateKing204 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/753
- Update PKGBUILD by @phoropter in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/757
- Add ZstdSharp reference to rd.xml by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/756
- VCS package in AUR is not detected for updates by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/773
- Memory pack implementation by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/770
- Revert to JSON output in non UI mode by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/774
- Remove locally installed package by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/766
- 772 bug optional dependencies ignored during installation by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/776
- Refactor package selection logic in
DefaultCommandand improve hand… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/777 - Translation support by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/775
- Fix bug on FlatpakRemoteRefInfo.cs by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/783
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.2.3.2...v2.2.4.0
v2.3.0.1
What’s Changed
- Hotfix memory pack by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/789
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.0.0...v2.3.0.1
v2.3.0.2
What’s Changed
- Hotfix for upgrade all installing aur packages
- Adding Brazilian Portuguese (pt_BR) translations to Shelly GTK by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/782
- Add project reference for Shelly. Adding utility project. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/781
- Sync .desktop file contents between files by @toboil-features in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/791
- Replace ZstdSharp with native ZstdDecompressStream binding by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/795
New Contributors
- @toboil-features made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/791
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.0.1...v2.3.0.2
v2.3.1.0
v2.3.1.0 A Polyglot’s Pact with the Package Manager
Release Notes v2.3.1.0
Highlights: Shelly now speaks more languages. This release adds or updates seven translations — Russian, French, Bulgarian, Polish, German, and Hungarian — so more people can use Shelly in their own tongue. Inside, we moved LocalManager into PackageManager, added a real message-event system, made the config flatter, and shipped a new systemd user unit for Shelly Notifications. The Tray gets a welcome screen, the settings look cleaner, and CLI docs can now build themselves. The new improved docs can be viewed on Shelly ALPM - CLI Reference page. We also fixed AUR updates, made the bottom bar play nice with prompts, and switched to the system libzstd for smaller builds.
🐚 Features
- Add Russian (
ru_RU) translation for UI (#794) - Add French (
fr_FR) translations to Shelly GTK (#812) - Add Bulgarian (
bg_BG) translations to Shelly GTK (#787) - Add Polish (
pl_PL) translation (#808, updated in #832) - Add German (
de_DE) translation (#785) - Add Hungarian (
hu_HU) translation (#822, updated in #836) - Include a systemd user unit for Shelly Notifications (#802)
- Generate CLI docs (
Gen CLI docs) (#810) - Tray welcome screen (#818)
- Add
'quit'action with<Ctrl>Qaccelerator to Gtk application (#847) - Add
Http.UserAgentand refactor User-Agent handling (#835) - Auto generation for CLI which can be viewed here
⚡ Improvements
- Use system
libzstdinstead of bundled (#796) - Flatten config (#803)
- Move
LocalManagertoPackageManagerand implement message events (#801) - Remove cache on uninstall (#806)
- Refactor: add
PackageBuilderDiffGenerator, enhanceAur*Commandclasses (#813) - Fix settings spacing to be more readable (#817)
- Update heading level for Package Management help documentation (#821)
- Update
README.mdto include JetBrains sponsorship (#828) - Comply with JetBrains logo guidelines (#830)
- Update JetBrains logo for dark mode (#831)
- Add suspension handling to
BottomBarRegionfor interactive prompts (#841) - Hide unavailable optional dependencies on standard (#843)
- Refactor settings logic to optimize default page handling and dynamic content (#844)
- Replace
SizewithInstalledSizeas the sorting and display field (#845) - Introduce
QuestionResponsewithProviderOptionfor ALPM question handling (e29a1b2)
🐞 Bug Fixes
- Remove duplicated
msgidinshelly-ui.pot(#819) - Fix
shelly aur update <package>unable to run (#834, fixes #793) - General fixes to German translation tooling (#840)
Changes since v2.3.0.2
This release brings 30 merged pull requests, six new contributors, and broad internationalization coverage across the GTK frontend, alongside meaningful refactors in PackageManager, BottomBarRegion, and AUR command handling.
Full Changelog: v2.3.0.2…v2.3.1.0
Contributors
- @azdanov
- @caroberrie
- @ZoeyErinBauer
- @Landeli7 (new)
- @compulsions (new)
- @juliazero (new)
- @Henry2o1o (new)
- @Impostor0729 (new)
- @therealmate (new)
- @VinnyQF
New Contributors 🎉
A warm welcome to our six first-time contributors:
- @Landeli7 — French translation (#812)
- @compulsions — Bulgarian translation (#787)
- @juliazero — Polish translation (#808)
- @Henry2o1o — German translation (#785)
- @Impostor0729 — Hungarian translation (#822)
- @therealmate — Hungarian translation updates (#836)
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.0.2...v2.3.1.0
v2.3.2.0 The Downgrade, the Downstream, and the Downright Polished
v2.3.2.0 The Downgrade, the Downstream, and the Downright Polished
Release Notes v2.3.2.0
Highlights: Shelly takes a confident step forward by learning how to step backward — with a brand-new downgrade
UI, a fully-featured ignore command group for managing IgnorePkg entries, and a long-requested Flatpak repair
workflow. The cli gets a proper event-driven rewrite, recommendations gain a remove button, and the package detail
views now show Build Date, Install As, and Required By for richer at-a-glance information.
On top of all that, Shelly continues its globe-trotting tour, adding Catalan, Portuguese (Portugal), Turkish,
and Brazilian Portuguese (tray) translations, plus updates to Polish translation.
🐚 Features
Downgrade UIignorecommand groupFlatpak repair(#704)Remove buttonon recommendationsca_ES,pt_PT,tr_TR,pt_BR(tray service) translationsBuild Date,Installed AsandRequired Byadded to package detail viewsConsole → EventconversionTray translationspipeline (po compile + package step)CLI help docsgeneration in CITooltipsacross the UI (#859)
⚡ Improvements
HttpClientinRecommend.cs— now uses compression and HTTP/2 + HTTP/3DowngradePackageCommandcorrectnessAurPackageManager— PKGBUILD no longer shown twiceRemove Optional Depscheckbox enabled by defaultUI framesrefactor and simplified downgrade logicLoadingindicators polishSearch behaviorclarified (#860)Checkbox visibilityimprovementsShellyTeamcategory description clarifiedFlatpakManager— tracks updated package names and reports them on successGitHub Actionsbumped to latest versionsPolishTranslationrefreshTurkishTranslationfollow-up updatesrelease.ymlindent fixAUR PKGBUILDparsing improvements for optional dependencies
🐞 Bug Fixes
Sizeformatting — valid suffix selection (#886)optdepends— validate and handle malformed entries with proper package naming (#887)Searching behavioris now clear and predictable (#888)Missing tooltipsrestored across UI (#890)- General fixes for German translation by @Henry2o1o (#849, #862)
- Scaling improvements should be resolved for scaling above 1.5
Changes since v2.3.1.0
This release contains 34 merged pull requests and three new contributors, with the spotlight on the new **downgrade
UI
**, the ignore command group, Flatpak repair, and a substantial console-to-event refactor. Package detail views
get more useful metadata (Build Date, Install As, Required By), recommendations become more actionable, and the
AUR + Flatpak pipelines are noticeably steadier. Localization continues to expand with four fresh languages joining the
family.
Full Changelog: v2.3.1.0…v2.3.2.0
Contributors
Thanks to everyone who contributed to this release: @azdanov, @caroberrie, @VinnyQF, @ZoeyErinBauer, @celonfix, @Henry2o1o, @NyaPuma, @dtalens, @juliazero.
New Contributors 🎉
A warm welcome to our three first-time contributors:
- @NyaPuma — Portuguese (Portugal) translation (#856)
- @dtalens — Catalan translation for shelly-ui (#855)
- @celonfix — Turkish translation (#889)
**Full Changelog **: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.1.0…v2.3.2.0
Pull Requests Merged
- Fix — @Henry2o1o (#849)
- Portuguese (Portugal) translation — @NyaPuma (#856)
- i18n: Add Catalan translation for shelly-ui — @dtalens (#855)
- Update Polish translation — @juliazero (#852)
- Fix
DowngradePackageCommandand addIgnorePkgsupport — @azdanov (#863) - Add
ignorecommand group for managingIgnorePkgentries — @azdanov (#864) - Add remove button functionality to recommendations — @azdanov (#869)
- Tray translation — @caroberrie (#867)
- Add compression and h2/h3 to
HttpClientinRecommend.cs— @azdanov (#868) - Creating
pt_BRtranslations for the tray service — @VinnyQF (#875) - Update GitHub Actions for latest versions and add CLI docs generation — @azdanov (#866)
- Fix — @Henry2o1o (#862)
- Build steps to compile and package po’s for tray service — @caroberrie (#876)
- Fix
release.ymlindent — @azdanov (#881) - Add downgrade UI — @azdanov (#885)
- Loading — @caroberrie (#882)
- Convert console to event — @ZoeyErinBauer (#879)
- Fix size formatting logic — @ZoeyErinBauer (#886)
- Validate and handle malformed
optdepends— @ZoeyErinBauer (#887) - 860 — searching behavior is unclear — @ZoeyErinBauer (#888)
- 704 — feature: flatpak repair — @VinnyQF (#877)
- 859 — bug: no tooltips — @ZoeyErinBauer (#890)
- Refactor UI frames and simplify package downgrade logic — @azdanov (#891)
- Add Turkish translation — @celonfix (#889)
- Enable “Remove Optional Deps” checkbox by default — @azdanov (#892)
- Track updated package names in
FlatpakManager— @ZoeyErinBauer (#893) - Add “Build Date” and “Install As” to package views and CLI — @ZoeyErinBauer (#894)
- Clarify
ShellyTeamcategory description — @azdanov (#897) - Add required by — @caroberrie (#900)
- Update Turkish translations — @celonfix (#899)
- Fix
AurPackageManagerPKGBUILD handling to avoid showing twice — @azdanov (#898) - Improve UI by hiding checkboxes — @azdanov (#901)
- Update Polish translation — @juliazero (#895)
- Moving Development to Release — @ZoeyErinBauer (#902)
v2.3.2.1 Pride
What’s Changed
- Added a Pride Month Surprise
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.2.0...v2.3.2.1
v2.3.2.2
Shelly-ALPM v2.3.2.2
Release date: 2026-06-06
This release introduces drag-and-drop AppImage installation, CachyOS updater parity with downgrade support, a Shelly CLI implementation of pacman-key --populate used by going shelly-keys populate {keyring}, several UI/UX refinements, expanded translations (including new Japanese, German, and Hungarian locales), and important reliability fixes.
✨ New Features
- Drag-and-drop AppImage installation — Added drag-and-drop functionality for installing AppImages. (#946 by @azdanov)
- CachyOS updater parity — Brought the CachyOS updater path to feature parity. (#953 by @ZoeyErinBauer)
- CachyOS archives downgrade command — Added a command to downgrade via CachyOS archives. This now automatically detects the repository of choice. (#954 by @azdanov)
shelly-keys populateCLI implementation — Created CLI support for populating gpg keyring. (#948 by @ZoeyErinBauer)- Selectable/copyable text in pop-ups — Made text in pop-ups select- and copy-able. (#909 by @VinnyQF)
- Package size column sorting — Added sorting for package size columns. (#916 by @azdanov)
- Arch news parsing — Parse Arch news from HTML to Markdown. (#942 by @azdanov)
--nowflag support — UpdatedUnprivilegedOperationServiceto enable the--nowflag for system operations. (#952 by @ZoeyErinBauer)noConfirmhandling — Handle thenoConfirmflag inQuestionHandlerto skip user input. (#956 by @ZoeyErinBauer)
🎨 UI / UX Improvements
- Added loading state and improved the description box on the
Recommendpage. (#936 by @azdanov) - Improved the visual presentation of installed packages in the question dialog. (#933 by @azdanov)
- Improved details expander box margins and alignment. (#935 by @azdanov)
- Switched to Summary in
ShellySearchfor more compact rows. (#939 by @azdanov) - Fixed spacing and made the close button circular in
GenericOverlay. (#924 by @azdanov)
🐛 Bug Fixes
- Fixed failure of “upgrade all” with the upgrade list during partial failures. (#930 by @caroberrie)
- Resolved downgrade issues. (#955 by @azdanov)
- Changed
db.locktodb.lck. (#922 by @utuhiro78)
🌐 Translations
- Initial Japanese translation. (#912 by @utuhiro78)
- Initial German (
de_DE.po) translation. (#944, #950 by @Henry2o1o) - Added a Hungarian translation and updated a few older lines. (#923 by @Impostor0729)
- Updated Polish translation. (#917 by @juliazero)
- Updated Brazilian Portuguese (pt-BR) translations. (#910 by @VinnyQF)
- Updated Catalan translation. (#932 by @dtalens)
🔧 Internal & Build
- Refactored
Program.csto update the activation flow. (#914 by @azdanov) - Refactored the build job and added a CLI reference generation command. (#913 by @azdanov)
- Bumped version to 2.3.2.2 across all projects and updated
PKGBUILDfiles. (#957 by @ZoeyErinBauer) - Master mergebacks. (#904, #919 by @ZoeyErinBauer)
🎉 New Contributors
- @utuhiro78 made their first contribution in #912
Full Changelog: v2.3.2.1...v2.3.2.2
More details available at the Shelly-ALPM changelog.
v2.3.2.3
What’s Changed
- Fix
LoadCachedFeedreturn value logic inArchNewsby @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/958 - Fix
Systemdservice not creating correctly. - Merge dev to master for release by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/962
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.2.2...v2.3.2.3
v2.3.2.4
What’s Changed
- Post install attack mitigation by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/993
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.2.3...v2.3.2.4
v2.3.2.5
What’s Changed
- Consolidate pre-operation PKGBUILD review and warnings into unified `… by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/996
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.2.4...v2.3.2.5
v2.3.3.0 Imagine the AppImage
Release Notes v2.3.3.0
Highlights: Shelly grows more multilingual and more capable. This release adds three brand-new translations — Spanish, Chinese (Simplified), and an expanded Hungarian — alongside refreshed German and general localization updates. Under the hood, package management gets smarter with a new MarkCommand for setting install reasons, a PurifyPackages flag for clearing orphans, an AUR upgrade diff view in the UI, and a repository column in the upgrade summary. We also squashed a Wayland crash, fixed Flatpak addon installs, and refactored AppImage and AppStream handling.
🐚 Features
- Show diff in the UI during AUR upgrade (#985, closes #907)
- Add
MarkCommandto set install reason for packages (explicit, depends) (#1005) - Implement
PurifyPackagesflag to remove orphaned packages (#1004) - Add repository column to
UpgradeCommandpackage summary table (#967) - Add
TryRenderWireFrameto decode and log structured wireframe events (#968) - Add Spanish translation (#999)
- New Chinese (Simplified) translation (#838)
- New text segments added to the Hungarian translation (#994)
- Aur preventions for the post_install attack as well as a framework for handling further PKGBUILD review tool implementation (#996)
⚡ Improvements
- Remove AppStream as an optional dependency, replaced by Shelly icon stream (#961)
- Refactor AUR package management logic (#965)
- Refactor
BottomBarRegionfor improved readability and add_asciiOn…(#966) - AppImage refactor (#984)
- Improve Tray handling and prevent multiple instances of notifications (#987)
- Set
Homogeneousproperty to ensure consistent sizing (#974) - Flatpak permissions handling (#1006)
- Update translations (l10n) (#1000)
- Update
de_DE.poGerman translation (#998)
🐞 Bug Fixes
- Schedule Recommend UI updates on the GTK main thread to fix Wayland crash (#971)
- Fix addons installation issue in
FlatpakInstallCommand(#991) - Fix wrong references in
rd.xml(#1007)
🔧 Maintenance
- Bump version to 2.3.3.0 across all projects and update PKGBUILD files (#1008)
- Dev merge back (#995)
- Master merge back (#997)
- Release 2.3.3.0 (#1009)
Changes since v2.3.2.5
This release brings 24 merged pull requests and three new contributors, with broad internationalization gains (Spanish, Chinese, Hungarian, German) and substantial package-management features in MarkCommand, PurifyPackages, the AUR upgrade diff view, and AppImage/AppStream refactors.
Full Changelog: v2.3.2.5…v2.3.3.0
Contributors
- @azdanov
- @caroberrie
- @ZoeyErinBauer
- @VinnyQF
- @Impostor0729
- @Henry2o1o
- @juliazero
- @artemkaVG (new)
- @tigce2 (new)
- @llmj-zts (new)
New Contributors 🎉
A warm welcome to our three first-time contributors:
- @artemkaVG — Wayland crash fix for Recommend UI updates (#971)
- @tigce2 — Spanish translation (#999)
- @llmj-zts — Chinese (Simplified) translation (#838)
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.2.5…v2.3.3.0
v2.3.3.1
What’s Changed
- Updated post_install validation to handle additional cases.
- Update cli docs by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1011
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.3.0...v2.3.3.1
v2.3.3.2
What’s Changed
- Backmerge by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1012
- Master by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1015
- fix bug with bad id’s by removing .desktop by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1014
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v2.3.3.1...v2.3.3.2
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
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
v3.0.5
What’s Changed
- back merge into dev by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1686
- Polkit warning by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1689
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.4...v3.0.5
v3.0.6
What’s Changed
- Master merge back by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1691
- Fix comma splice in aur_page.ui by @mpatankar6 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1692
- Remove quotes from TryExec desktop entries by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1694
- Fix menu item ID handling by @azdanov in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1699
- Valgrind by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1703
- fix a few tiny leaks by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1708
- ver bump to 3.0.6 by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1713
- 3.0.6 release by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1714
New Contributors
- @mpatankar6 made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1692
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.0.5...v3.0.6
v3.1.0
Shelly-ALPM v3.1.0 — Building Arch Packages, the Shelly Way
Shelly v3.1 is here, and its headline feature is something we have wanted since before the Zig rewrite began: Shelly can now build Arch Linux packages itself.
Until now, Shelly handled AUR discovery, dependency resolution, package review, and installation while handing the actual PKGBUILD execution to makepkg. In v3.1, that final handoff is gone from the default AUR workflow. Shelly now owns the complete build pipeline, from reviewing a PKGBUILD to publishing a signed, pacman-compatible package archive.
This is not a wrapper around makepkg. The new builder is part of Shelly’s native package-management library and can be used directly through the new shelly build command.
🏗️ Meet shelly build
Point shelly build at a PKGBUILD and Shelly will turn it into an installable Arch package:
# Build ./PKGBUILDshelly build
# Build a PKGBUILD somewhere elseshelly build /path/to/PKGBUILD
# Install missing dependencies and then buildshelly build --sync-deps /path/to/PKGBUILDShelly follows the familiar PKGBUILD lifecycle while managing the entire process internally:
- Parse the PKGBUILD without immediately executing its top-level shell code.
- Display the PKGBUILD, related files, and security findings for review.
- Lock the approved contents with an integrity digest.
- Safely evaluate dynamic metadata and re-review any newly discovered files.
- Download and verify sources.
- Run
verify(),prepare(),pkgver(),build(), andcheck()when present. - Run
package()or the appropriate split-package function. - Generate package metadata, assemble the archive, and optionally sign it.
- Publish the finished artifacts and clean temporary work directories.
The result is still a normal Arch package. Shelly writes makepkg-compatible .PKGINFO, .BUILDINFO, .MTREE, .INSTALL, and .CHANGELOG entries and produces archives that pacman and other Arch tools understand.
📦 Full PKGBUILD support
The builder is designed around Arch’s existing PKGBUILD format rather than introducing a Shelly-specific recipe format.
It supports:
- Standard
verify(),prepare(),pkgver(),build(),check(), andpackage()functions. - Single packages and split packages, including package-specific metadata overrides.
- Dynamic package names and package arrays resolved by top-level Bash logic.
- Architecture-specific sources, checksums, dependencies, and metadata.
- The usual
$startdir,$srcdir,$pkgdir,$CARCH, and$CHOSTbuild variables. - PKGBUILD helper functions and makepkg-style
msg,msg2,plain,warning, anderroroutput helpers. - Local files, HTTP and HTTPS downloads,
file://sources, and Git repositories. - Renamed sources using the
name::urlsyntax. - Git branches, tags, commits, and signed Git objects.
noextract=()handling and automatic extraction of supported archives.- MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, and BLAKE2 checksums.
- Detached
.sig,.sign, and.ascsignatures, including compressed signatures. validpgpkeys=()fingerprint enforcement.- Dynamic
pkgver()results and package metadata changed insidepackage()functions. - Package architecture validation and correct
anypackage output. - Split-package selection using the advanced, repeatable
--package <name>option. - Configurable build flags, LTO flags, make flags, ccache, and distcc.
- Detached signing of completed package archives.
Shelly also provides virtual root-ownership handling during package(). Common commands such as chown root, chgrp root, and install -o root -g root work without changing ownership on the host. The archive writer records the correct root ownership in the package itself. Device-node creation and unsupported privileged metadata operations are rejected.
🛡️ Beyond makepkg and improving trust
makepkg is the official Arch package-building tool. Shelly’s builder keeps the parts package maintainers expect while adding protections and package-manager integration that makepkg does not provide on its own.
Review before execution
Shelly does not begin by blindly sourcing the PKGBUILD. It parses the file first and presents it for review before allowing package-controlled code to run.
The review includes:
- The complete PKGBUILD.
- Local source files.
- Install scripts and changelogs.
- Binary-file warnings.
- Suspicious post-install commands.
- Homograph and lookalike-character warnings.
- Unsafe local-source references.
- Top-level command substitutions that will execute during the build.
If dynamic PKGBUILD evaluation discovers additional sources, install scripts, or split-package members, Shelly stops and asks for a supplemental review.
Review integrity protection
Approving a file is not enough if that file can be changed before it executes. Shelly hashes the PKGBUILD and every related reviewed file, then checks those contents again immediately before execution.
The same digest is carried across privilege elevation when --sync-deps is used. If the PKGBUILD, install script, changelog, or local source changes after approval, the build is rejected.
Packaging also uses the exact reviewed bytes for install scripts and changelogs instead of reopening those files later.
Optional Landlock confinement
Shelly can place every untrusted PKGBUILD lifecycle step inside a Linux Landlock filesystem sandbox.
When enabled, the build functions can access the build directory and normal system toolchain paths, but they cannot freely browse or modify the user’s home directory. Extra read-only or writable paths can be granted for tool caches such as Cargo, Gradle, npm, or ccache.
The sandbox applies to:
- Dynamic PKGBUILD evaluation
verify()prepare()pkgver()build()check()package()and split-package functions
Source downloads, package assembly, logging, and GPG signing stay outside the sandbox, so the user’s GPG keyring never needs to be exposed to package-controlled code.
Landlock is opt-in. When enabled on a system without Landlock support, Shelly fails before executing the first build step instead of silently running the build without protection.
AUR-aware dependency installation
--sync-deps resolves dependencies through Shelly’s package manager rather than simply passing them to pacman.
That means it can:
- Detect dependencies already satisfied by installed packages or
provides=(). - Install missing repository dependencies.
- Locate and build dependencies that are only available from the AUR.
- Resolve dependencies for every requested split-package member.
- Include
checkdependsonly when tests are enabled. - Keep runtime dependencies installed.
- Remove newly installed build-only and check-only dependencies afterward.
- Perform that cleanup after both successful and failed builds.
By comparison, makepkg’s documented --syncdeps delegates missing dependencies to pacman, while --rmdeps removes them only following a successful build. It does not independently build missing AUR dependencies. See the official makepkg documentation.
The elevated Shelly process only coordinates dependency transactions. The PKGBUILD itself is always executed again as the original non-root user, with NO_NEW_PRIVS applied to the builder and inherited by its children.
Guided PGP key handling
When a PKGBUILD pins source-signing keys through validpgpkeys=(), Shelly checks the invoking user’s keyring before downloading and building.
If a required key is missing, Shelly shows the complete fingerprint and asks whether it should be imported using shelly keyring recv --user. After import, the key is checked again before the build continues.
Detached signatures and signed Git objects must match the pinned primary fingerprint. Bad, revoked, missing, or unexpected keys fail the build.
Safer source handling
Shelly’s source pipeline adds several defensive boundaries:
- Every non-VCS source must have integrity checks.
- Cached downloads are written to temporary files and atomically committed.
- A cached HTTP source that fails its checksum is discarded, downloaded again, and rechecked.
- Git sources use reusable mirrors that are refreshed before local materialization.
- All sources are acquired and verified before any archive is extracted.
- Archive extraction rejects absolute paths, directory traversal, unsafe symlink destinations, and oversized entries.
- Source trees are assembled in staging directories and only moved into place after preparation succeeds.
Atomic package publication
Completed archives are written under randomized temporary names. Shelly publishes them with an atomic rename only after archive creation and optional signing succeed.
If any member of a split-package build fails, already published artifacts from that build are removed. Signatures are rolled back with their corresponding packages, avoiding partial split-package results and orphaned .sig files.
Structured progress and mandatory logs
Every build is a structured Shelly operation. Output can be streamed into the normal CLI or the GTK transaction interface, with phase changes, package names, errors, progress percentages, cancellation, review questions, and completed artifact paths preserved as distinct events.
Every build also receives a log before source processing begins. Logs:
- Record phase boundaries.
- Label stdout and stderr separately.
- End with
success,failed, orcancelled. - Are retained for every outcome.
- Fail the build if Shelly cannot create or continue writing the log.
Logging in makepkg is optional through --log; Shelly makes the audit trail part of the build contract. See makepkg(8).
🎛️ shelly build options
--reviewed,-r— skips the interactive review prompt when the caller has already reviewed the package. Integrity hashing and change detection remain active.--sync-deps,-s— installs missing repository and AUR dependencies, runs the build as the invoking user, and removes build-only dependencies afterward.--check,-c— runscheck()and includescheckdepends.--no-check— skipscheck()and does not installcheckdepends.--sign— creates a detached OpenPGP signature beside every package archive.--nosign— disables signing even when it is enabled in configuration.--key <fingerprint>— selects the GPG key used to sign the finished package.--noverify— skips the PKGBUILD’s customverify()function. It does not disable built-in checksum or source-signature verification.--package <name>— builds only the selected split-package member. It may be repeated to select several members.--isolated,-i— reserved for the future isolated-root builder and currently nonfunctional.
The usual Shelly global options, including noninteractive and UI operation modes, continue to apply.
⚙️ Introducing shellybuild.conf
The new builder has its own configuration file, shellybuild.conf. It replaces makepkg.conf for Shelly’s in-process builder only.
Shelly merges:
/etc/shellybuild.conf$XDG_CONFIG_HOME/shelly/shellybuild.conf~/.config/shelly/shellybuild.confwhenXDG_CONFIG_HOMEis unavailable
The system file installed by Shelly is a commented template, so upgrading does not silently replace the builder’s compiled defaults. It is also registered as a pacman backup file so local administrator changes are preserved.
Configuration covers:
- Target architecture and host triplet.
- C, C++, preprocessor, linker, LTO, and make flags.
- Default
check()behavior. - ccache and distcc.
- Packager identity and package archive format.
- Package options and strip flags.
- Signing defaults and signing key.
- Separate build, package, source-cache, and log destinations.
- Landlock enablement and additional read or write paths.
Unlike makepkg.conf, which is sourced as shell code, shellybuild.conf is data-only TOML. Unknown keys, unsupported options, malformed values, unsafe extensions, and relative destination paths fail before the PKGBUILD runs. See the official description of sourced makepkg configuration in makepkg.conf(5).
PKGBUILD options=() entries still override configured package options using the familiar option and !option form.
🐚 A better AUR workflow everywhere
The standalone command and Shelly’s regular AUR installs use the same builder. Improvements made to shelly build therefore also apply when installing or upgrading AUR packages from the CLI or GTK application.
This release also improves compatibility with real-world PKGBUILDs:
- Added dynamic scalar and indexed-array evaluation.
- Fixed dynamically generated split-package members.
- Improved architecture-specific metadata and package selection.
- Added support for top-level Bash expansion and source command substitution.
- Fixed local source names containing spaces.
- Improved Linux kernel and NVIDIA DKMS package builds.
- Added source-signing key support needed by packages such as Spotify.
- Improved handling for source-less packages, bare Git sources, package metadata overrides, and makepkg message functions.
- Made PKGBUILD review contents selectable and copyable in the GTK interface.
- Improved failure reporting so the failing package and lifecycle stage are easier to identify.
✨ More v3.1 improvements
Beyond the builder, v3.1 includes another substantial round of reliability and usability work:
- Added
run0as a supported privilege-elevation backend. - Improved shell completion for bare actions and combined shortcodes.
- Fixed terminal table wrapping and rendering artifacts.
- Made optional-dependency prompts identify the package they belong to.
- Improved transaction completion and failure output.
- Allowed combined updates to continue when an optional backend is disabled or unavailable.
- Improved ALPM errors, package cache recovery, hooks, and human-readable transaction logging.
- Added gzip and deflate HTTP response support and fixed TLS initialization and stalled response-body timeouts.
- Improved AppImage update detection, static URL validation, symlink handling, metadata cleanup, icons, and update editing.
- Removed the remaining C# AppImage database migration bridge.
- Updated German, French, Hungarian, Polish, Russian, and other translations.
🔄 Upgrade notes
shelly buildcreates packages but does not install its standalone output. Shelly’s normal AUR install workflow handles both building and installation.- Landlock confinement is disabled by default and must be enabled in
shellybuild.conf. - The sandbox restricts filesystem access, not networking.
/tmpremains shared and/procremains visible. - Clean or isolated root builds are still being developed. The current
--isolatedoption must not be relied on. - The current source pipeline supports local files,
file://, HTTP, HTTPS, and Git. Other makepkg VCS protocols and arbitraryDLAGENTSare not yet supported. - Source-package creation,
SRCPKGDEST, repackaging, integrity generation, and arbitrary shell configuration are not currently provided byshelly build. - Shelly’s content-changing tidy phase currently implements binary and library stripping. Some additional makepkg package options are recognized for compatibility but are not yet fully modeled.
- External
makepkgand clean-chroot workflows do not readshellybuild.conf.
❤️ Thank you, contributors!
Shelly v3.1 represents months of work across the package builder, PKGBUILD parser, AUR manager, CLI, GTK interface, AppImage support, networking, translations, and transaction system.
A huge thank you to everyone who helped build and test this release:
- @ZoeyErinBauer
- @caroberrie
- @azdanov
- @VinnyQF
- @Henry2o1o
- @hotline1337
- @adem4ik
- @ethanhawkes-gif
- @Impostor0729
- @juliazero
- @Scott-Nx
- @roxfr
Full Changelog: v3.0.6…v3.1.0
Release pull request: #1793
v3.1.1
What’s Changed
- Update pt br translations by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1791
- added makesrcinfo by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1795
- No search result by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1797
- Various builder fixes @ZoeyErinBauer
- Proxy env variable support
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.1.0...v3.1.1
v3.1.2
What’s Changed
- Merge back + parenthesis fix by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1798
- Fix by @Henry2o1o in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1796
- updating package page list view by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1800
- Master by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1805
- update how tray watches for config edits, and how we handle the loop by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1807
- updating aur warning dialog by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1810
- improve ux by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1811
- fix so flatpak doesn’t show when flatpak isn’t installed by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1813
- fixed parsing for braces issues by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1816
- fix literal identifier by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1817
- Move the desktop entries out of the PKGBUILDs and add Russian translations by @wehrwolfmann in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1799
- Make the cache-clean confirmation translatable by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1806
- Adding .crate suffix to isExtractableArchive() by @VinnyQF in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1819
- i18n(pl): add desktop entries and extra cache cleanup prompt by @hotline1337 in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1822
- i18n: improve Japanese translation for Install Anyway by @Olangelemon in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1823
- Fix focus inssues on flatpak causing search enter to not correctly re by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1826
- Add sorter to multiple pages for checks, update verbiage used in search by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1827
- 1820 bug aur build failures unsupportedvcschecksum and privilegedpackageoperationunsupported on legitimate aur packages by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1828
- 3.1.2 release by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1829
New Contributors
- @wehrwolfmann made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1799
- @Olangelemon made their first contribution in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/1823
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.1.1...v3.1.2
Shelly-ALPM v3.1.3 — A Little Housekeeping, a Lot of Building
Shelly v3.1.3 gives your AUR cache a cleanup button, your AppImages their own environment settings, and the package builder another round of fixes for the PKGBUILDs you use every day.
There is plenty happening on the desktop, too: Flathub links take you to the app you wanted, package conflict prompts explain what is being removed, and the parallel download setting now does what it says. Behind the scenes, isolated builds gain Shelly’s own provisioning helper and new tools for build automation.
🧹 Give your AUR cache some breathing room
Built AUR packages can add up. You can now preview and remove those archives with --aur-cache:
# See what would be removedshelly purify standard --aur-cache --dry-run
# Review and confirm the cleanupshelly purify standard --aur-cacheThis removes all built AUR package archives and their matching signatures from Shelly’s cache. Your PKGBUILDs, checkout history, sources, and build directories stay in place. You can also combine it with --cache to clean the standard package cache in the same command.
Prefer to handle cleanup yourself after upgrades? There is a setting for that:
shelly config set DisableCacheClean trueIt skips the cleanup prompt and deletion during shelly upgrade all and its aliases. Cleanup remains enabled by default, and standalone shelly upgrade standard keeps its existing behavior.
🎛️ Your AppImages, your environment
Each installed AppImage can now have its own environment variables, configurable from the UI or CLI:
shelly config appimage "MyApp" --set-env "MY_VARIABLE=my-value"shelly config appimage "MyApp" --unset-env "MY_VARIABLE"Replace MyApp with the exact installed AppImage name. Overrides apply when launching from the desktop or through shelly run, and they survive AppImage updates. The CLI also supports clearing or replacing the full set of overrides.
StaticURL update checks now follow redirects correctly, too.
🏗️ More PKGBUILDs feeling at home
This release fixes several cases where valid package recipes could trip up Shelly’s native builder:
- Fixed shell here-string and command-substitution parsing that could leave build wrapper scripts with syntax errors.
- Added a consistent
SOURCE_DATE_EPOCHthroughout PKGBUILD evaluation, build steps, and package metadata. - Improved dependency planning for conditional arrays, architecture-specific dependencies, and split packages.
- Improved archive detection and extraction, including extensionless archives.
- Added standalone gzip/Unix compress, bzip2, xz, and zstd decompression before
prepare(), respecting source aliases andnoextract. - Fixed empty optional file assignments such as
install=''being rejected as unsafe paths. - Failed binary stripping now produces a warning and keeps the original file. This fixes builds such as
pithat include binaries the host’s strip tool cannot process. - Fixed source verification with multiple PGP signatures to follow signature-status handling, plus keyserver argument ordering during key imports.
🛠️ Shellystrap and build automation
Isolated builds now use shellystrap, Shelly’s own libalpm-based helper, to provision fresh build roots. This replaces the pacstrap dependency and keeps provisioning inside private namespaces.
Required public source-signing keys can now travel from the invoking user’s keyring into the isolated build. Reviewed-file staging, dependency checks against freshly synchronized private repository databases, and cancellation cleanup across privilege elevation have also been improved.
For automated builders, this release adds:
shelly --version --jsonfor version and capability discovery.- JSON build review and result output, with review-digest validation.
- Configurable package output destinations.
shelly resolveto map exact repository or AUR package names to package bases.
Using isolated builds? You need unshare from util-linux alongside systemd-nspawn. For unattended builds, import required source-signing keys into the invoking user’s keyring beforehand; --no-confirm does not approve missing-key imports.
✨ A smoother desktop
- Flathub links open the right app, even if Shelly is already running or still loading its catalog. Flatpak reference files and AppStream links are handled, too.
- Flatpak details gain uninstall controls, installed and verified indicators, better remote selection, and clearer loading feedback.
- Conflict prompts name the packages involved, including which installed package will be removed and what replaces it.
- Tray checks can follow your schedule with a cron mode that waits for the configured weekly time before the first check. Weekly scheduling also no longer depends on the symbolic tray icon setting.
- Fixed the installed AUR view failing to restore correctly after a reload.
- Improved dependency download progress, long package-name display, and error messages across the CLI, TUI, and GTK interface.
- Support setup now skips dependencies you already have installed.
⚡ Parallel means parallel
Repository database and package downloads now respect ParallelDownloadCount. The setting accepts 1–255, with a default of 100. Older configurations with invalid values fall back to the default.
🌍 Translations and thanks
Italian and Simplified Chinese translations have been updated. Thank you to everyone contributing translations, reporting troublesome packages, and helping test the fixes in this release!
Full Changelog: v3.1.2…234f1e0a
Release pull request: #1876
v3.1.4 A slice of builds
Shelly Pi 3.14 gives the native builder another round of fixes for real-world PKGBUILDs, adds a way to reclaim space from the AUR build cache, and makes package reviews easier to navigate.
There is plenty happening on the desktop, too: Flathub links open the app you wanted, package conflicts explain what will be removed, and package details are easier to read and copy. Behind the scenes, isolated builds gain Shelly’s own provisioning helper, stronger PGP support, and more reliable dependency handling.
🧹 Give your AUR cache some breathing room Built AUR packages can add up. You can now preview and remove cached build archives with –aur-cache, making it possible to recover disk space without manually digging through Shelly’s cache.
shelly purify standard –aur-cache
Standard purge behavior has also been corrected.
🏗️ A sturdier native builder The native builder now supports more complex PKGBUILDs and fixes failures involving SOURCE_DATE_EPOCH, install declarations, shell parsing, unsafe source paths, and sources that share the same filename.
Git sources are cloned from their original URLs, required files are detected more reliably, and regression tests cover the corrected behavior. Package-specific failures affecting Anydesk, Mandolin, Remora, and Pi have also been addressed.
🛠️ Shellystrap and isolated builds Isolated environments now use Shellystrap, Shelly’s own provisioning helper. Required PGP keys can be handed off to isolated builds, dependency handling has been improved, and systemd home-directory issues have been corrected.
🔍 Review upgrades your way AUR PKGBUILD reviews now support collapsed diffs, making large changes easier to navigate. Individual upgrades can also be reviewed separately before continuing.
Optional dependencies are handled more clearly, ignored packages remain visible in filtered lists, and conflict prompts identify which installed package will be removed.
✨ A smoother desktop experience Package columns now use ellipses instead of overflowing, while package-detail text can be selected and copied. Installation status updates display more reliably, and PGP key-import confirmations no longer crash the interface.
Flathub links open directly to the requested application, Flatpak pages show the correct installed and update versions, and dependency download progress is represented more accurately.
📦 AppImage, Flatpak, and tray improvements Each installed AppImage can now have its own environment variables, and StaticURL update checks correctly follow redirects.
Flatpak installation and update flows have been refined, including fixes for application selection and version display. The notification tray can now follow a cron schedule, and tray-service updates initiated from the CLI work correctly.
⚡ Downloads and package operations Parallel package and repository downloads now respect the configured setting. Package installation places –needed correctly, package status is updated more reliably, and command output uses clearer wording.
🌍 Translations This release updates the Simplified Chinese, Italian, Brazilian Portuguese, and Japanese translations. It also introduces Azerbaijani translations for the UI and notification components.
❤️ Thank you, contributors! Thank you to everyone who contributed fixes, translations, testing, and improvements to this release:
@VinnyQF, @caroberrie, @ZoeyErinBauer, @azdanov, @square-235, @Mattyan89, @StKob, @jamalkamaladdin, and @utuhiro78.
A special welcome to first-time contributors @square-235, @StKob, and @jamalkamaladdin!
v3.1.5 - A Better View, a Better Build
Release Notes
Shelly v3.1.5 brings an optional Atoll-powered AUR browser, a build-and-install command, and native tools for maintaining your own package repositories. The builder also gets another round of compatibility fixes, from dependency-only metapackages to packages with unusual permissions and source archives.
Everyday package management gets some attention, too: standard searches return matching packages again, AUR installs gain --needed, AppImages are easier to remove, and errors explain more of what went wrong.
🏝️ Explore the AUR with Atoll
Enable Atoll Powered AUR in Advanced settings to use the new AUR page. Browse a paginated package list, sort by votes or popularity, and choose Best Match, Name, Provides, or Words from the Search By dropdown. Package details include dependency information, with installed and out-of-date indicators in the list.
The option is off by default. Switching it on also points Shelly’s CLI AUR service at Atoll; switching it off restores the Arch AUR service.
Terminal AUR search results now include clickable package links when using the Arch AUR or Atoll. Other configured services keep plain-text package names, and failed AUR requests provide more useful diagnostics.
🏗️ Build it, then install it
shelly build now supports --install (-l). Combine it with --sync-deps to install missing build dependencies, build the package, and install the resulting archives:
shelly build --sync-deps --install# Short form:shelly build -s -lAdministrator credentials are requested up front, while the build runs as your regular user. Installation also works with isolated builds after the completed archives are exported.
The install shortcut is -l; -i remains the shortcut for --isolated.
🛠️ More PKGBUILDs, fewer build failures
This release improves several parts of the native builder:
- Dependency-only metapackages, including recipes without a
package()function, can now produce valid packages. - Empty or zero epochs no longer introduce a leading colon into package versions. AUR update comparisons also handle affected installed versions correctly, fixing repeated update offers.
- Packages with restrictive directory permissions, such as snapd, can be assembled and cleaned up without leaving failed builds that block retries.
- Global build dependencies are kept separate from split-package runtime dependencies, allowing conflicting outputs to be built together.
- Source extraction handles hard links, forward hard-link chains, and literal backslashes in filenames more accurately. Array expansion and here-string parsing have also been improved.
- Isolated builds run guest package hooks during provisioning, improve compatibility with restrictive umasks, and preserve virtual ownership for external packaging helpers.
These changes address build failures involving packages such as Heroic, GStreamer, libblockdev, CUPS, and FUSE, alongside improvements for automated builds.
⚙️ Take control of your build environment
Native builds now use a predictable system PATH, fixing failures caused by inheriting an unsuitable path from privilege elevation. Add custom toolchain directories through build.extra_path in shellybuild.conf.
The new build.env setting supplies literal environment variables to the unprivileged builder:
[build]extra_path = ["/home/your-user/.cargo/bin"]env = { JAVA_HOME = "/usr/lib/jvm/default" }Elevated native builds also preserve the caller’s locale settings, with C.UTF-8 as the fallback for a missing or empty LANG.
Upgrade note: tools previously found only through your terminal’s PATH must now be listed in build.extra_path. Use absolute paths; shell variables and ~ are not expanded. For isolated builds, configured paths must exist inside the guest.
📦 Repository tools built into Shelly
The new shelly repo-db commands maintain pacman-compatible repository databases directly:
shelly repo-db add ./myrepo.db.tar.zst ./example-1.0-1-x86_64.pkg.tar.zstshelly repo-db list ./myrepo.db.tar.zstshelly repo-db remove ./myrepo.db.tar.zst exampleshelly repo-db verify ./myrepo.db.tar.zstDatabase updates maintain both package and file indexes. Options cover signing, downgrade prevention, waiting for database locks, and removing replaced package archives after publication.
🔍 Search and install improvements
shelly search standardandshelly -Sssearch available repository packages by default again, including compound names such asphonon-qt6. Use--detailfor one exact package’s metadata or--installedto search installed packages.- AUR installs now accept
--neededto skip building and reinstalling matching installed versions, including individual split-package members. Dynamic versions and VCS packages may still require a build. - AUR installs verify that requested packages and AUR build dependencies are still listed by the configured service. Removed packages cannot be installed from a leftover checkout; when an exact repository match exists, Shelly suggests a standard install. Explicit local builds remain available.
- Fixed repository
Includeparsing so server URLs and policies stay associated with the correct repository. - Expanded TLS support fixes secure-connection failures with repositories such as BlackArch.
- Added Nerd Font progress-bar rendering for compatible terminal fonts. For this release, enable it by setting
"ProgressBarStyle": "Nerdfont"directly in the CLI’sconfig.json;shelly config setdoes not yet accept the new value.
✨ Desktop and AppImage improvements
- Install optional dependencies directly from package details, with clearer selection controls and installed-state indicators.
- Package details load more smoothly, reducing content flicker while navigating.
- Open local
.flatpakrefand.flatpakfiles with Shelly to start installation. Shelly now appears in the file manager’s Open With choices for these files. - Remove stale AppImage entries even when their files are missing, and correctly handle installations whose recorded name differs from the filename.
- Improved AppImage desktop-entry detection and icon selection, including choosing higher-resolution icons.
- Malformed JSON settings recover to defaults across the CLI, desktop, and tray, keeping a
.corruptcopy when possible. Settings writes also better withstand interruption. - Clearer errors across package operations explain the failure and retain technical details for troubleshooting.
🌍 Translations and thanks
This release completes the European Portuguese translation and updates German, Italian, Polish, Russian, and Turkish translations.
Thank you to everyone who contributed code, translations, testing, and reports: @ZoeyErinBauer, @caroberrie, @azdanov, @VinnyQF, @NateKing204, @Henry2o1o, @Mattyan89, @adem4ik, @juliazero, @pdf, @Ricardo-Simoes, and @mehmetakifongun.
Full Changelog: v3.1.4…4a0d0348
Release pull request: #1972
3.1.6 Bug Fix Latest
Fixes Bug in UI using wrong CLI command to fetch information.
