All versions since v2.2.3.2 - Rolling With My Gnomies A Dark Mode Fix
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 Latest
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
