All versions since v3.1.8
v3.1.8
What’s Changed
- 3.1.7 release by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2049
- Fix icon fetch for github being weird and idk at this point. by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2053
- Master merge back by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2054
- update aur build flag by @caroberrie in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2055
- added functionality by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2065
- fixed pkgbuilds by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2068
- version bump by @ZoeyErinBauer in https://github.com/Seafoam-Labs/Shelly-ALPM/pull/2069
Full Changelog: https://github.com/Seafoam-Labs/Shelly-ALPM/compare/v3.1.7...v3.1.8
v3.1.9
Shelly-ALPM v3.1.9 Release Notes
Shelly v3.1.9 adds file migration support to RLPM, allowing packages to take ownership of eligible existing files while preserving their contents. Devario gains automatic adoption of unowned files, and package authors can declare specific migrations for replacements and upgrades.
This release also fixes first-upgrade failures for AUR -git packages, preserves proxy settings during native builds, and improves repository refreshes and update previews.
📦 File migration with RLPM
Files installed by an installer or an earlier system setup can now become package-managed without being overwritten. RLPM can adopt existing regular files and symlinks, keeping their contents and attributes while recording the destination package as their owner.
Package authors can declare exact paths through the new shelly_migrate PKGBUILD array. Declarations support unowned files and files belonging to an accepted replacement or the previous version of the same package. They can also mark missing paths as optional and establish backup tracking for eligible files.
Shelly carries these declarations through generated .SRCINFO and package archives, including overrides for individual split packages. Explicit migrations can adopt files absent from the incoming archive; RLPM retains those ownership records across later upgrades until normal package payload handling takes over.
CLI and GTK transaction previews show which paths will be preserved, their source and destination, and whether the migration was declared or discovered automatically. Ownership and file-type checks still apply. See the migration guide for declaration syntax and lifecycle details.
⚙️ Automatic adoption on Devario
Devario builds enable automatic adoption of eligible unowned files that are also supplied by an incoming package. Once the package owns a file, later upgrades use normal extraction and backup rules. Files already owned by another package are not automatically adopted.
The setting lives under [options] in the native configuration file, /etc/shelly.conf on Devario:
[options]AutoMigrateUnowned = trueSet it to false to disable automatic discovery. Explicit migration declarations remain available. The pacman path profile defaults to false; this feature requires the RLPM backend.
🏗️ More reliable AUR builds
- Fixed
-gitpackages failing their first upgrade after upstream changes withReviewedCheckoutChanged. Shelly now recognizes controlledpkgverandpkgrelupdates made during metadata generation while continuing to reject unrelated changes to reviewed inputs. (#2081) - Fixed PKGBUILD parsing for negated and conditional brace groups, including constructs such as
if ! { ...; }; then. (#2076) - Preserved standard HTTP, HTTPS, all-proxy, and no-proxy environment variables when elevated native builds return to the invoking user.
- Improved AUR failure reporting so errors identify the affected package and retain the underlying cause.
🔄 Smoother updates and previews
- Reuse repository databases already synchronized by the libalpm manager, avoiding a duplicate refresh during the same update flow. (#2066)
- Keep root-run update previews in root’s own cache, preventing them from leaving root-owned database files in the regular user’s preview cache. (#2072)
🔧 Packaging and maintenance
- Pin the affected source PKGBUILDs to Zig 0.16.0 and use the patched compiler package consistently in CI and release builds.
- Build the stable Devario packages from the matching release tag; the separate
shelly-gitrecipe continues to track development. - Update the AUR release helper to refresh checksums and
.SRCINFOthrough Shelly, with package builds optional during release preparation.
🔄 Upgrade notes
File migration requires Shelly 3.1.9 with RLPM. Upgrade Shelly before deploying packages that depend on shelly_migrate. Shelly’s libalpm backend rejects installation of archives declaring these migration semantics; older Shelly releases and other package managers may ignore them.
RLPM may download package archives before final installation confirmation to prepare the migration preview. Cancelling at that confirmation leaves installed files and ownership unchanged.
🌍 Translations and thanks
This release updates German and Russian UI translations and Polish notification translations.
Thank you to Zoey Bauer (@ZoeyErinBauer), Rani Charradi (@treshaun), Hen_Ry (@Henry2o1o), Andrei Stepanov (@adem4ik), Julia (@juliazero), and Piotr Górski for their contributions.
Full Changelog: v3.1.8…d89a8338
v3.1.10
🐚 Shelly-ALPM v3.1.10 Release Notes
Shelly v3.1.10 improves AUR build reliability, resolves system upgrades and explicitly requested repository packages together, and makes RLPM failures easier to understand. The CLI gains a shell progress animation and package-name output for scripts and completions, while the desktop app gets better keyboard navigation and more accurate package lists.
Behind the scenes, Shelly moves to Zig 0.17.0, updates its build and packaging workflows, and removes Arch Linux news from Devario builds.
🧱 More reliable AUR builds
Build dependencies are now discovered and installed before prepare() runs, including when an AUR package needs other AUR packages to build. Dependency planning reads metadata without downloading sources, running lifecycle functions, or changing the reviewed PKGBUILD. Normal source preparation and version updates happen after dependencies are available. (#2110)
This release also improves compatibility with package recipes:
- 🧩 Support prefix and suffix trimming on quoted indexed array elements, including expressions such as
${source[0]%%::*}, fixingUnsupportedArrayExpansionfailures for these constructs. - 📝 Collapse whitespace in multiline
pkgdescvalues when writing.PKGINFO, keeping descriptions on one valid metadata line. (#2100) - 📥 Accept larger HTTP response headers during downloads, fixing failures involving GitHub security headers and redirects. (#2096)
🔄 Upgrades and package configuration
shelly install standard --upgrade now resolves the system upgrade and explicitly requested repository packages in one transaction. This fixes dependency failures when a requested package and its updated libraries need to move together, including explicit targets from another repository. The confirmation preview explains the combined operation. (#2105)
Changes to IgnorePkg now preserve the separation between the main configuration and included files. Adding or removing an entry no longer copies inherited entries into pacman.conf. (#2101)
🐛 Clearer RLPM errors and progress
RLPM reports more useful explanations for failures involving configuration, database locks, downloads, filesystem operations, hooks, and scriptlets. Diagnostics retain the underlying technical error and add relevant context, including action names and exit status when available.
File-conflict reporting carries the conflicting paths and package identities into the transaction diagnostics. Download verification and publication progress bars also clear when their work finishes, keeping subsequent hook output readable while other downloads continue.
🐚 A little more shell in your terminal
The new Shell progress style opens and closes a small ASCII shell as it advances along the bar. It becomes the default when no style is saved; existing style choices are preserved. To select it:
shelly config set ProgressBarStyle ShellBlocks and Pacman remain available. Redirected output prints completed progress lines without animation.
The CLI also adds --names-only to standard and AUR package lists and standard searches. Each matching package name appears on its own line, and standard searches bypass pagination:
shelly list standard --names-onlyshelly list aur --names-onlyshelly search standard --names-only --show-hiddenBash, Fish, and Zsh package completions now query Shelly directly, removing their dependency on pacman for those package lists.
🧭 Desktop navigation and package lists
- ♿ Give pages an accessible focus stop so keyboard traversal reaches their content. The first-run wizard also moves focus into each new page, helping keyboard and screen-reader users follow the setup flow. (#2107)
- 📦 Keep the Packages tab based on repository results, using installed-package data to annotate installation status. Foreign and local-only packages no longer appear there as repository packages with unsuitable actions. (#2108)
🌊 Devario defaults
Builds using the Devario path profile no longer fetch or display Arch Linux news during upgrades. News commands are omitted from help, generated manuals, and shell completions; explicitly invoking them reports that news is unavailable. This follows the build’s distribution profile, so selecting another runtime backend does not change it. Builds using the pacman path profile retain Arch news. (#2109)
📦 Build and packaging updates
- ⚡ Move the native components and build recipes to Zig 0.17.0, with matching API and build-option updates. (#2117)
- ✅ Install checksum-verified official Zig archives in CI for the runner’s architecture.
- 🧩 Replace vendored dependency copies with upstream dependencies pinned by URL and content hash.
- 📦 Add a dedicated CachyOS packaging directory and update Arch and Devario build workflows.
🚀 Upgrade notes
Source builds now require Zig 0.17.0. Populate the dependency cache before building offline with zig build --fetch=all in each component you intend to build.
install standard --upgrade cannot be combined with --build-deps; upgrade the system separately before installing build dependencies.
🌍 Translations and thanks
🇫🇷 This release updates the French UI translation.
❤️ Thank you to Zoey Bauer, VinnyQF, Anton Ždanov, Mohit Mishra, Tomás Arribas, and Thierry M for their contributions, and to everyone reporting issues and testing fixes.
📋 Full Changelog: v3.1.9…55a23eb0
🔀 Release pull request: #2120
🐚 Shelly-ALPM v3.2.0 — The Bug Bash Latest
🐚 Shelly-ALPM v3.2.0 — The Bug Bash
Shelly v3.2.0 is a bug bash: a round of fixes for the things that get between you and your packages. Since v3.1.10, we’ve tackled Flatpak failures, stubborn tray icons, missed restart detection, AUR build errors, and package information that wasn’t telling the whole story.
A few quality-of-life improvements came along too, including multi-package downgrades, AppImage update discovery, and a choice of terminal for updates.
🐛 Flatpak and permissions, untangled
Fixed the Flatpak regression affecting Arch Linux after v3.1.10. Elevated operations now hand work back to the invoking user with setpriv, preserving the login session context needed for Flatpak’s system-helper authentication.
User-cache handling also gets a cleanup. Shelly writes the invoking user’s cache using that user’s credentials, including when launched through supported privilege-elevation tools, and preserves absolute XDG_CACHE_HOME overrides.
Existing ownership problems can be repaired from your regular user session with:
shelly utility --fix-permissionsThis repairs Shelly’s directories; it does not change ownership of the parent ~/.cache directory.
🔔 A tray icon that keeps up
- 🔄 Stale update status: The notification service now watches package database changes and refreshes its status after package operations. (#2151)
- 🔌 Endless reconnect loops: When
DBUS_SESSION_BUS_ADDRESSis missing, Shelly falls back to$XDG_RUNTIME_DIR/bus. If neither provides a usable address, it reports the problem instead of retrying forever. (#2137) - 🖥️ Your terminal, your updates: Choose the terminal used to launch updates from the notification service. (#2148)
🔄 Restart detection, actually detecting
Post-upgrade restart and reboot checks were reading some /proc files as empty because those files report a size of zero. Shelly now reads their contents correctly, restoring the information those checks depend on.
The scan also stops treating a deleted /etc/ld.so.cache mapping as a stale shared library, avoiding misleading restart recommendations after ldconfig runs. (#2149)
🧱 AUR builds with fewer surprises
- 🧩 Computed architecture lists: Fix
InvalidArchitectureDirectivefailures when a PKGBUILD derivesarchfrom an associative array. Unresolved values are validated after evaluation. (#2144) - 🌿 Git source races: Finish cached Git mirror maintenance before cloning build sources, preventing the two operations from racing. (#2123)
- 📝 Useful metadata errors: Package-assembly failures now name the rejected metadata field, making broken recipes easier to diagnose. (#2113)
- ⚙️ Clearer build configuration: Expanded
shellybuild.confdocumentation explains configuration precedence, compiler flags, and portable versus host-specific settings.
📦 Package information you can trust
Installed package versions now take priority in the UI and CLI search results, rather than being replaced by the repository version. RLPM also correctly reports installation status and dates. (#2044, #2143)
Upgrade previews now include repository package replacements, making it clearer what will change before you confirm. (#2119)
Behind the scenes, unnecessary RLPM database snapshot hashing has been removed, reducing repeated database work.
🧹 Cleaning up the cleanup
purify now recognises leftover pacman download-XXXXXX directories, including those containing partial downloads, and includes them in its cleanup plan. (#2150)
Removing a stale database lock from the desktop app also runs asynchronously, keeping the interface responsive while authentication completes. (#2142)
🖼️ AppImages, better connected
AppImage desktop integration now uses the application’s shipped desktop-file identity and removes superseded launcher entries during updates, addressing naming mismatches and duplicate menu entries. (#2134)
Update support gains embedded update-information discovery and .zsync control-file support. GitHub asset matching honours embedded filename patterns, and release selection receives additional fixes. (#2146, #2147)
✨ A few extras between the fixes
- ⏪ Downgrade packages together: Select older versions of multiple installed packages and install them in one transaction.
--targetremains a single-package option. (#2132) - 🎨 Readable console output: The desktop transaction view gains ANSI colour and formatting support. (#2138)
- 📥 Download speeds: CLI progress lines now show transfer speed. (#2139)
- ✅ Recommended apps in batches: Select multiple applications from the Recommended page for installation.
🌍 Translations and thanks
🇻🇳 Added Vietnamese translations for the desktop UI and notifications.
🇦🇩 Updated the Catalan translation.
❤️ Thank you to everyone who reported a bug, supplied a reproduction, tested a fix, or contributed a patch. This bash was built around those reports.
