版本发布 8
## When the improbable is the solution to everything This release stems from an issue from contributor @fiftydinar, who asked me to fix a bug related to updating the same app installed both system-wide and locally. "Why would someone install the same app twice?" you might say. I was wondering the same thing, too. I never considered this possibility, as it was highly unlikely. I was tempted to ignore it, adding something to prevent it... but then I decided to experiment and see what came out. From that moment on, a cascade of events occurred that turned everything upside down! Stagnant bugs appeared, never really fixed or reported until now. That's what it did: to rewrite everything and further strengthen the existing code! But let's proceed in order. First, know that the database now has 61 more apps: 2,984 unique apps (2,578 Appimage packages and 406 standalone/portable programs). And they are truly unique. The answer is in the next paragraphs. ------------------------------------ ### Improved checksum checking Checksum verification messages are less invasive and more compact. The check is also now more effective.  ------------------------------------ ### Português brasileiro adicionado Obrigado @Link4Electronics https://github.com/ivan-hc/AM/pull/2138 ------------------------------------ ### Option `-f` Applications now display decimal places in full size, for more precise calculations. Symbols (especially checksum symbols) are also more readable.  ------------------------------------ ### Libreoffice The `-e` option has a dedicated template for anyone who decides to install `libreoffice` from another GitHub repository. Furthermore, the installation script in this database allows for the selection of many more genuine builds rebuilt from scratch.  Other languages are in the works. NOTE: The official builds (even if converted) have been completely removed due to disregard for the upstream AppImage. New builds based on the official .deb packages are based on the original LibreOffice project workflows. -------------------------------------- ### Firefox and Thunderbird Official builds of Firefox (5 development branches) and Thunderbird (3 branches) and their AppImage counterparts now share the same installation script.  We've therefore halved this group of scripts. To install the AppImage counterpart, you no longer need to add `-appimage` to the app name; instead, select 2 and press Enter. Press 1 instead for the official build. by @ivan-hc in https://github.com/ivan-hc/AM/pull/2201 by @ivan-hc in https://github.com/ivan-hc/AM/pull/2202 ------------------------------------- ### Option `-t` The `-t` option will now download lists from "main" even when in developer mode. Additionally, for apps from GitHub, if the URL argument is used, it is inserted directly, bypassing the prompt to add a reference URL. You can then add AppImage packages from GitHub by pressing ENTER five times and doing nothing else. ------------------------------------ ### Option `--launcher` Extract the AppImage to a temporary directory and fix support for Anylinux AppImages that were not integrated in the menu. ------------------------------------- ## Manage the same application installed on multiple permission levels As mentioned at the beginning, it is now possible to manage the same installed app on multiple permission levels. For each appname found, the presence of a second path will be detected, based on which it will be possible to dedicate to that app, and only to that app, different managements from the same one installed on another level (for example you can keep two different versions after downgrading one of them, or keep one original and the other converted without depending on libfuse2...). Locally installed apps will have (AppMan) in brackets, to distinguish them from system apps https://github.com/ivan-hc/AM/pull/2204/commits/610d927e17e26c812a300d9c4810529e4a179f7a This implementation fixed many bugs, mostly related to the version not being displayed correctly or not being displayed at all in some cases. | Option `downgrade` | Option `-R` | | - | - | |  |  | Research has also fixed numerous bugs related to sandboxed AppImages, including support for applications with the `lock` option, app path recognition, unwanted terminations, half-finished sandboxing, and, most importantly, a more streamlined way to switch root permissions between a system app and a local app. The `clone` (with the `-i` flag) and `reinstall` (with the `--all` flag) options have also been improved. But one of the main bugs concerns messages related to local apps whose directory was orphaned, meaning it's left over from an incorrect installation, thus preventing reinstallation. The check is very simple: all AppMan-compatible paths are selected. If a directory has fewer than 4 entries, a check is made to see if the number of executable files is less than 3. If so, the lines in the `remove` file are patched to ensure they don't contain paths that don't comply with the AppMan specifications, after which the directory is removed. The message will no longer appear, and you'll be able to reinstall the apps you couldn't install before. But there's more: AppMan finally has a `trap` (like AM) that detects if an installation was interrupted by external causes (for example, pressing CTRL+C), and, as with AM, the incomplete directory is removed. The `unhide` option has been improved to intercept paths and differentiate between local and system apps. Regarding the `-o` or `override` option, the AM-updater/AM-LOCK file and the `remove` file are preserved, to avoid exchanging backups between local and system apps. by @ivan-hc in https://github.com/ivan-hc/AM/pull/2204 ------------------------------------ ## Conclusions I learned one thing from this experience: Never underestimate an issue. Even the seemingly silliest one can prove useful for exponentially improving an entire project, and yourself. ## What's Changed * Use coreutils checksum tools instead of shasum by @ivan-hc in https://github.com/ivan-hc/AM/pull/2131 * Merge am.osowoso.org to main by @ivan-hc in https://github.com/ivan-hc/AM/pull/2132 * Moved AM-VERIFIED removal to beginning of use_verify() function by @vishnu350 in https://github.com/ivan-hc/AM/pull/2133 * Update Serbian translation by @fiftydinar in https://github.com/ivan-hc/AM/pull/2135 * more 6 emulators and games by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2136 * add `commander-genius` by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2137 * add `phantom-satellite` by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2142 * brazilian portuguese translation by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2138 * Fix wrong date in "-f" for obsolete apps / silence xargs by @ivan-hc in https://github.com/ivan-hc/AM/pull/2145 * Add checksum troubleshooting in docs by @ivan-hc in https://github.com/ivan-hc/AM/pull/2147 * add `akhenaten` by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2148 * Added sha256 digest file checking, and softened checksum messages. by @vishnu350 in https://github.com/ivan-hc/AM/pull/2150 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/2151 * small fix for translation by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2154 * Updated documentation on checksum troubleshooting. by @vishnu350 in https://github.com/ivan-hc/AM/pull/2155 * Source digest, DIGEST, sha512/256/1 and md5 for checksum by @ivan-hc in https://github.com/ivan-hc/AM/pull/2153 * add `pokemmo` by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2156 * Fix MODULES_PATH detection for AM in AppMan mode by @ivan-hc in https://github.com/ivan-hc/AM/pull/2158 * Updated app listing to display checksum verification failures. by @vishnu350 in https://github.com/ivan-hc/AM/pull/2159 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/2160 * Add Let's Bend by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2161 * add `rvgl` by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2162 * add `lba2-classic-community` and `zod-engine` by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2163 * Fix for some servers not responding "Not Found" (plex) by @vishnu350 in https://github.com/ivan-hc/AM/pull/2164 * Add OmniRoute AppImage by @zen0bit in https://github.com/ivan-hc/AM/pull/2165 * Add OmniRoute AppImage (#2165) by @ivan-hc in https://github.com/ivan-hc/AM/pull/2166 * add daggerfall-unity by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2167 * add pcsx-redux-enhanced by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2168 * add duckstation and gearlynx by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2170 * add more emulators by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2171 * Option -f, improve ✓ and ✖ readability in table by @ivan-hc in https://github.com/ivan-hc/AM/pull/2172 * Option -f, improve 🔒 readability in table by @ivan-hc in https://github.com/ivan-hc/AM/pull/2173 * Allow am -u to redownload Appimages in the event of checksum failure by @vishnu350 in https://github.com/ivan-hc/AM/pull/2169 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/2174 * Option -e, allow installation of third-party libreoffice Appimages by @ivan-hc in https://github.com/ivan-hc/AM/pull/2178 * fix: handle empty HTTP body in digest checksum verification by @xz-dev in https://github.com/ivan-hc/AM/pull/2176 * fix: correct mismatched hash labels in AM-VERIFIED output by @xz-dev in https://github.com/ivan-hc/AM/pull/2177 * add supermariowar by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2179 * Add `awakened-poe-trade-enhanced` by @fiftydinar in https://github.com/ivan-hc/AM/pull/2180 * add audacity-enhanced by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2181 * Replace audacity-appimage-enhanced with audacity-enhanced by @ivan-hc in https://github.com/ivan-hc/AM/pull/2182 * add xeyes by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2183 * Fixed use_verify curl calls to use the -f switch to simplify error detection by @vishnu350 in https://github.com/ivan-hc/AM/pull/2185 * add `bulky` and `trelby` by @Samueru-sama in https://github.com/ivan-hc/AM/pull/2187 * add more apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2190 * Add the new Rust implementation of "appimageupdate" by @ivan-hc in https://github.com/ivan-hc/AM/pull/2189 * Add Readest-Enhanced and Tamga by @dCo3lh0 in https://github.com/ivan-hc/AM/pull/2192 * Update libreoffice by @ivan-hc in https://github.com/ivan-hc/AM/pull/2193 * database.am: Make `-f`/files` faster, app size calculation accurate + show 2 decimals by @fiftydinar in https://github.com/ivan-hc/AM/pull/2195 * database.am: Small formatting fix in `files`/`-f` (TOTAL SIZE: 142.69GiB vs TOTAL SIZE: 142.69 GiB) by @fiftydinar in https://github.com/ivan-hc/AM/pull/2196 * database.am: Rename 0.00B to 0.00 Bytes when checking `am -f` by @fiftydinar in https://github.com/ivan-hc/AM/pull/2197 * add 3 apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2198 * Update qemu (x86_64, multiple choice script) by @ivan-hc in https://github.com/ivan-hc/AM/pull/2199 * add ruffle by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2200 * Update firefox-related installation scripts by @ivan-hc in https://github.com/ivan-hc/AM/pull/2201 * Update thunderbird-related installation scripts by @ivan-hc in https://github.com/ivan-hc/AM/pull/2202 * add 2 apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2203 * add Lichtblick by @gandres42 in https://github.com/ivan-hc/AM/pull/2205 * Add tfcbm by @dCo3lh0 in https://github.com/ivan-hc/AM/pull/2206 * add amarok qmmp by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2208 * add multiple apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2211 * add multiple apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2216 * add more cool apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2219 * add more apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2220 * more apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2221 * "AM" 10 by @ivan-hc in https://github.com/ivan-hc/AM/pull/2204 * more and more and more by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2222 ## New Contributors * @gandres42 made their first contribution in https://github.com/ivan-hc/AM/pull/2205 **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.9.5...10
## Checksum on the installed programs With this release, the database has 81 new programs, and the number of unique apps has increased to 2,923 (2,505 AppImage packages and 418 programs in other portable formats). In addition, we've introduced the first experimental checksum support for installed programs. These will appear in all options that display the version (-f, -i, -l, -a, etc.) if the installed app has an online .zsync or .DIGEST file to verify the checksum. To use this new feature now, you need to update your applications with the -u option. The first time, applications will appear as if they're updated to a new version, but what's actually changed is the addition of a green checkmark to the version number, indicating that the installed app has passed the checksum check. https://github.com/user-attachments/assets/0a086ca1-3353-4018-92af-fc91fcb3b318 Here's what the app list looks like with the `-f` option and the installed apps when running `-l`. <img width="1280" height="1024" alt="Istantanea_2026-03-08_03-13-35" src="https://github.com/user-attachments/assets/03cb7091-c15a-4ac7-932c-840247defd90" /> Verification will be performed every time apps are installed. https://github.com/user-attachments/assets/03f507ad-abd3-49aa-b0eb-aeccf6c98fcd NOTE: If an application fails the checksum test, it doesn't always mean it's malicious. Checksum verification also serves as an indicator that apps comply with security standards and specifications applicable to modern AppImages, such as the .zsync file, which is also required to indicate that an application supports delta updates (with the advantage of downloading a few bits instead of the entire file during the update). This new feature also serves to encourage AM's user base to contact the developers of a specific application to make it compliant. This new feature, as I mentioned, verifies whether the checksum matches a .zsync or .DIGEST file present where the app is hosted. The application URL is taken from the "version" file already present in your app directories or the AM-updater, to avoid reaching the API rate limit if a site, such as github.com, imposes one. Packaged apps are already subject to integrity verification, so they are automatically marked as valid. The new feature specifically affects AppImage packages and portable programs whose host includes a .zsync or .DIGEST file. For more, see https://github.com/ivan-hc/AM/pull/2125 Thanks @vishnu350 for this new feature! ---------------------------------------------- ## What's Changed * add 3 apps by @Samueru-sama in https://github.com/ivan-hc/AM/pull/2082 * Add GPU-T and Schildi-Revenge by @dCo3lh0 in https://github.com/ivan-hc/AM/pull/2084 * Add GemRB Game Engine. by @spinktvis in https://github.com/ivan-hc/AM/pull/2086 * Add helion by @spinktvis in https://github.com/ivan-hc/AM/pull/2087 * Add crawl-tiles and crawl-ncurses by @spinktvis in https://github.com/ivan-hc/AM/pull/2088 * Add Hangar, WindUSB-GUI by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2089 * Remove citron (repo unavailable due to DMCA takedown) by @ivan-hc in https://github.com/ivan-hc/AM/pull/2090 * Updated error msg printf for "am -u am". by @vishnu350 in https://github.com/ivan-hc/AM/pull/2092 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/2093 * Update AM-SAMPLE-soarpkg - add check for AppImages by @ivan-hc in https://github.com/ivan-hc/AM/pull/2094 * add 3 apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2095 * Add ZapZap Enhanced by @dCo3lh0 in https://github.com/ivan-hc/AM/pull/2096 * Update 0ad (use official AppImage) by @ivan-hc in https://github.com/ivan-hc/AM/pull/2097 * Add Stacer Fork and Nexis Qt6 Stacer Fork by @dCo3lh0 in https://github.com/ivan-hc/AM/pull/2100 * add multiple apps by @Samueru-sama in https://github.com/ivan-hc/AM/pull/2101 * Add DNS Changer, IReader, PearPass by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2102 * Option -f, simplify function to determine the AppImage's status by @ivan-hc in https://github.com/ivan-hc/AM/pull/2103 * Add Yamata Launcher by @dCo3lh0 in https://github.com/ivan-hc/AM/pull/2105 * Prevent unused workflows to run in forks by @ivan-hc in https://github.com/ivan-hc/AM/pull/2109 * Add DLMan by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2113 * Add Cake Wallet by @jrsteneman in https://github.com/ivan-hc/AM/pull/2114 * Update orcaslicer and merge dev builds (orcaslicer-devel) by @ivan-hc in https://github.com/ivan-hc/AM/pull/2115 * Move all gnome3 apps to the dedicated "gtk3" third-party database by @ivan-hc in https://github.com/ivan-hc/AM/pull/2116 * add multiple apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2118 * Add Hammer by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2117 * add 16 enhanced apps by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2119 * Add chezmoi, fdroidcl by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2121 * add doom64exultra by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2123 * add multiple apps by @Samueru-sama in https://github.com/ivan-hc/AM/pull/2126 * add multiple games by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2128 * Add goanime, omniget, pear-desktop by @shuvashish76 in https://github.com/ivan-hc/AM/pull/2127 * add 2 more games by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2129 * add more games by @Link4Electronics in https://github.com/ivan-hc/AM/pull/2130 * "AM" 9.9.5 - add checksum verification by @ivan-hc in https://github.com/ivan-hc/AM/pull/2125 ## New Contributors * @jrsteneman made their first contribution in https://github.com/ivan-hc/AM/pull/2114 **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.9.4...9.9.5
## Clone and share your configurations and relocate AppMan apps This release brings two brand new options: one to pre-clone your configuration or install someone else's, and another long-awaited option for many AppMan users, and others. But let's proceed in order. -------------------------------------- ### Option `clone` or `--clone` The `clone` or `--clone` option allows you to detect or create a file called "am-clone.source" from which AM/AppMan can obtain the information needed to install apps from one system to another. This allows you to choose whether to keep distinct system and local installations, or whether to install everything system-wide or locally. File detection starts (in order of priority): 1. from the XDG_DESKTOP_DIR directory (usually Desktop) 2. from the HOME directory (any directory except Thrash) 3. from the entire system, starting from the root, and then from mounted devices (in case you want to install a configuration via USB stick) If you want to create a new "am-clone.source" file, simply remove the other one or rename it. **This option supports both AM and third-party databases.** The basic command is ``` am clone ``` without arguments. This allows you to read the list. <img width="747" height="582" alt="Istantanea_2025-09-18_16-02-20" src="https://github.com/user-attachments/assets/cbc497ea-5a95-4568-8a48-6d3199a057b6" /> By default, the new file is created in XDG_DESKTOP_DIR, or HOME as a fallback. It contains "dummy" paths to allow AM/AppMan to distinguish between locally and system-wide installed apps (depending on whether the line starts with /opt or not). You can also set a different file by exporting the "$CLONE_FILE" variable and specifying a path and a text file with a different name, for example ``` export CLONE_FILE="/path/to/your/file.txt" ``` But make sure the paths begin with /opt if you want system installations. But what we've seen so far is just a basic way to view and/or create/use the list. The new `clone` option also supports flags. To install the listed apps in their original layout, run ``` am clone -i ``` or ``` am clone install ``` A confirmation prompt will appear. <img width="747" height="582" alt="Istantanea_2025-09-18_16-10-42" src="https://github.com/user-attachments/assets/226d9259-7f46-4076-9cbb-c3cab6594163" /> In AM, to install everything locally like AppMan, add the `--user` flag ``` am clone -i --user ``` <img width="747" height="582" alt="Istantanea_2025-09-18_16-12-38" src="https://github.com/user-attachments/assets/ff8ee528-ca65-4ebc-96ed-ff7b7b025a2a" /> While to install everything at system level, add the `--system` flag ``` am clone -i --system ``` <img width="747" height="582" alt="Istantanea_2025-09-18_16-14-02" src="https://github.com/user-attachments/assets/4927e4f6-9b03-4283-b6c4-edd41bffacbe" /> Of course, AppMan only supports local installations, no apps will require root privileges or system installations. ------------------------------------------------------------------------ ### Option `relocate` or `--relocate` ## Change the destination path of installed programs In AM, programs are always installed in /opt, following the LSB (Linux Standard Base) [specifications](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s13.html). It is not possible to change this path. In contrast, AppMan and "AM" in AppMan mode can install all programs locally or in non-privileged locations, chosen by the user. No root password is required for this. The path chosen at first launch is specified in the $XDG_CONFIG_HOME/appman/appman-config file. Editing this file directly disconnects AM and AppMan from that location, thus removing any interaction with locally installed programs. Furthermore, installed programs all have a symbolic link and (often) a .desktop file, which breaks if the program directory is moved. The only solution is to run the `relocate` or `--relocate` option, which will allow you to: 1. Identify local apps installed, even from third-party databases 2. Remove these apps, noting the scripts used to install them 3. Choose a different location to install the apps 4. Reinstall the previously removed apps in the new location indicated All this requires your confirmation in the prompt that appears. Just run ``` am relocate ``` or ``` am --relocate ``` or ``` appman relocate ``` or ``` appman --relocate ``` https://github.com/user-attachments/assets/1b721a62-a8eb-43df-9d2f-e5f7a0c4f63d This is definitely the option that many AppMan users have been waiting for. ------------------------------------------------------------------------ ## Among other changes - Removed all "zsync" mentions from AppImage's stuff by @ivan-hc in https://github.com/ivan-hc/AM/pull/1768 - The `file` command is now an optional dependency, so AM can run also on Maemo Leste by @ivan-hc in https://github.com/ivan-hc/AM/pull/1771 - Now updating third-party database lists is faster by @ivan-hc in https://github.com/ivan-hc/AM/pull/1774 - Replaced `gnome-calculator` with the one from Pkgforge's repo by @fiftydinar in https://github.com/ivan-hc/AM/pull/1776 - Fix to `gpu-screen-recorder` script by @Samueru-sama in https://github.com/ivan-hc/AM/pull/1779 - Option `-f`, startup times reduced by @ivan-hc in https://github.com/ivan-hc/AM/pull/1781 - Removed all Pake apps by @ivan-hc in https://github.com/ivan-hc/AM/pull/1792 - Fix puddletag script by @Samueru-sama in https://github.com/ivan-hc/AM/pull/1794 - Now the option `-t` no longer creates catalog pages (they are [created in automatic via github actions](https://github.com/Portable-Linux-Apps/Portable-Linux-Apps.github.io/actions/workflows/sync-with-AM.yml)) by @ivan-hc in https://github.com/ivan-hc/AM/pull/1806 - "AM" 9.9 - clone configurations and relocate AppMan apps by @ivan-hc in https://github.com/ivan-hc/AM/pull/1818 ## New Contributors * @tsuri21 made their first contribution in https://github.com/ivan-hc/AM/pull/1764 * @andy5995 made their first contribution in https://github.com/ivan-hc/AM/pull/1770 * @yzctzl made their first contribution in https://github.com/ivan-hc/AM/pull/1791 **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.8.2...9.9
# Steam Deck SteamOS support! SteamOS is configured to prevent the user from accessing /usr/local. "AM" normally uses that directory to install symlinks in $PATH and launchers for the application menu. To solve this [issue](https://github.com/ivan-hc/AM/issues/1687) we have set "AM" to run only in [AppMan](https://github.com/ivan-hc/AM?tab=readme-ov-file#what-is-appman) mode, so that it can install and manage apps locally, and rootless. ###### photo by @Utopiah |  |  | | - | - | | `am -l` | `am -h` | The INSTALL script has also been updated to support Steam Deck. The "`am`" link to /opt/am/APP-MANAGER will be placed in the user's HOME directory, in ~/.local/bin, so that it can be used in $PATH, from the command line, along with all other programs. ----------------------------------- ### Other changes * Don't install desktop files for CLI AppImages by @fiftydinar in https://github.com/ivan-hc/AM/pull/1618 https://github.com/ivan-hc/AM/pull/1619 * Add lazygit, delta, taskwarrior, vicut by @00sapo in https://github.com/ivan-hc/AM/pull/1625 https://github.com/ivan-hc/AM/pull/1626 https://github.com/ivan-hc/AM/pull/1648 https://github.com/ivan-hc/AM/pull/1676 * Update italian locale / Add strings to translate by @ivan-hc in https://github.com/ivan-hc/AM/pull/1636 * Optimizations with shell builtins by @Samueru-sama in https://github.com/ivan-hc/AM/pull/1639 * Fix main-index point by @emmanuel-ferdman in https://github.com/ivan-hc/AM/pull/1643 * Improved option "about" by @ivan-hc in https://github.com/ivan-hc/AM/pull/1650 https://github.com/ivan-hc/AM/pull/1668 * Update `ppsspp` to upstream releases by @Samueru-sama in https://github.com/ivan-hc/AM/pull/1656 * Remove any AppDir and squashfs-root directories in -c and -i by @ivan-hc in https://github.com/ivan-hc/AM/pull/1663 * Improve option "-f" or "files" by @ivan-hc in https://github.com/ivan-hc/AM/pull/1667 https://github.com/ivan-hc/AM/pull/1669 https://github.com/ivan-hc/AM/pull/1670 * Add gpu-screen-recorder, transmission-qt by @Samueru-sama in https://github.com/ivan-hc/AM/pull/1674 https://github.com/ivan-hc/AM/pull/1677 * Update AM-SAMPLE-AppBundle - fix icons handler by @ivan-hc in https://github.com/ivan-hc/AM/pull/1678 * Update and fix Serbian translation by @fiftydinar in https://github.com/ivan-hc/AM/pull/1680 https://github.com/ivan-hc/AM/pull/1681 * "AM" 9.8.1 - add support for SteamOS by @ivan-hc in https://github.com/ivan-hc/AM/pull/1688 ## New Contributors * @emmanuel-ferdman made their first contribution in https://github.com/ivan-hc/AM/pull/1643 **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.8...9.8.1
## Ti "AM" in tutte le lingue del mondo This title in Italian is a play on words, where "I love you" is said "ti amo", the sentence should be "ti amo in all the languages of the world". But mine is not a declaration of love... on the contrary: "AM" now supports languages other than the classic English you were used to! Here are three screenshots of AM that performs updates in four different languages |  |  |  |  | | --- | --- | --- | --- | | Spanish (es) | Czech (cs) | Serbian (sr) | Italian (it) | From now on, you will be able to download and compile translations for your language with any .po editor (e.g. Poedit). All you need to do is add your .po file to this directory of the repository, via a pull request on the "dev" branch: - *https://github.com/ivan-hc/AM/tree/dev/translations/po-files* The workflow will do the rest, including synchronization with the source files, APP-MANAGER (the main AM script), modules and most importantly the creation of the .mo files needed to use the languages in "AM". A new option, `translate` or `--translate`, has also been introduced, it can be used with or without an argument. The input must be a "trusted" language code (e.g. "it" for Italian, "sr" for Serbian). Otherwise, "en" (English) will be set by default. Likewise, if a language is not available in the database, "en" will be set by default. You will be notified when a new language pack is available for you, simply by updating AM/AppMan (option `-s` or `sync` or option `-u` or `update`). If you want to use English as usual, and by explicit choice, you can run the command `am translate en` or `am translate` and no input. For more information on translations, click on the link below ### *https://github.com/ivan-hc/AM/tree/main/translations* My special thanks go to @zen0bit for the idea and the effort put into making this release. Also here are the languages currently available: - Czech (cs) by @zen0bit - Serbian (sr) by @fiftydinar - Spanish (es) by @xplshn - Italian (it) by me, @ivan-hc NOTE: Deutch (de) and Russian (ru) have been generated by AI, so they are subject to possible syntax errors, anyone who is expert in these languages is invited to review the translations... or rewrite them if necessary. ### I'm waiting for your pull requests, GRAZIE! ---------------------------------------------------------- ## Other changes - AM users who use AppMan mode or install programs locally from AM will use AM modules instead of creating new ones for AppMan, avoiding duplication. Pure AppMan users will have their own modules as usual. - added improvements for AM packaging in distributions that include it in their package manager, by @fiftydinar. - added a message to warn users if their distro maintainer is distributing `wget` as a link to `wget2` (see Fedora). - added a new template to select and install multiple variants of the same program, and based on this many scripts have been merged (see `mercury` and `thorium`) reducing the amount of dedicated scripts. - the update output (option `-u`) is colored (see screenshots above, in various languages). - added support for the NO_COLOR variable, allowing users who set it to remove colors from AM output (for example, on systems that require screen readers). **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.7.1...9.8
## Permanently remove notifications, if you want With this release, you can simply run the existing command ``` am --disable-notification ``` ...to permanently remove update notifications, even for apps installed later. ------------------------------------------------- ## Control of scripts requiring root Fixed a bug with scripts named "remove", which in "AM" are set to run only with root privileges. By @Samueru-sama ------------------------------------------------- ## Usage in Fedora Atomic Added support for Fedora Atomic and distributions where /opt is a link in /var. By @fiftydinar ------------------------------------------------- ## More AppImages, less portable apps Started a transition where many standalone portable apps will have their own repository where they can be converted to AppImage packages, without alterations, and to allow isolation, sandboxing, and delta updates via `appimageupdatetool` (a big plus, especially for large packages). Some examples, all the development branches of [Blender](https://github.com/ivan-hc/Blender-appimage), [UrbanTerror](https://github.com/ivan-hc/UrbanTerror-appimage), [Telegram](https://github.com/Portable-Linux-Apps/Telegram-AppImage)... but also [Calibre](https://github.com/ivan-hc/Calibre-appimage), [Floorp](https://github.com/Portable-Linux-Apps/floorp-AppImage) and [Mullvad](https://github.com/Portable-Linux-Apps/mullvad-browser-AppImage). Among the communities open to this transition, there is [portable-linux-apps](https://github.com/Portable-Linux-Apps), which you may already know from our catalog, https://portable-linux-apps.github.io ------------------------------------------------- ## Rehost/reassembly of old, unmaintained (and badly maintained) AppImages Some apps hosted on problematic hosting services and others that have poor maintenance (for example, [Libreoffice](https://github.com/ivan-hc/LibreOffice-appimage) and the AppImages of [Firefox](https://github.com/ivan-hc/Firefox-appimage) and [Thunderbird](https://github.com/ivan-hc/Thunderbird-appimage)) have been rehosted on github repositories. ------------------------------------------------- # AppImage is dying, again! Many upstreams are removing them! "AM" serves not only as a centralized database, but also as a solution for daily monitoring of hosting services, sites and platforms that produce and distribute AppImage packages, with the intent of preserving their maintenance and adoption by developers. Monitoring is done through cataloging these packages and daily testing via "[amcheck](https://github.com/ivan-hc/amcheck)". Unfortunately there is an alarming fact to report: **many upstream developers have abandoned the AppImage format or have completely removed their historical builds from their archives, apparently to prevent users from using legacy versions of their apps.** My efforts and those of my collaborators seem to be of no use. The lack of information leads many upstream developers to move all their work to more renowned platforms, such as Flatpak and Snap, which guarantee centralization in an official way. About AppImages, their unavailability and lack of centralization are their weakness. I wrote "AM", 5 years ago. "AM" is not the arrival, but the starting point, if you want to continue supporting portable packages. Probably also due to the low visibility of this project, which offers to provide a centralized solution for all portable apps and AppImages. I invite you to promote "AM" to make people understand that you don't have to look for AppImages. They are (and will be) here, if you want them! Contribute to our cause! Help us support AppImage! ------------------------------------------------- ## New Contributors * @candrapersada made their first contribution in https://github.com/ivan-hc/AM/pull/1522 * @CODJointOps made their first contribution in https://github.com/ivan-hc/AM/pull/1527 * @coyoteclan made their first contribution in https://github.com/ivan-hc/AM/pull/1544 **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.7...9.7.1
## Endless... In this new release, support for `torsocks` has been removed in favor of proxies! By default, the one provided by the [PkgForge](https://github.com/pkgforge) team will be used to update and install apps from this site, but it will be possible to set your own proxy by exporting the `ALT_GH` variable (HTTPS domain). In order not to force the proxy, an uncrossable limit of API calls will be granted for installations (10) and updates (5). For the occasion, it is suggested to install the new fork of `appimageupdatetool` provided by the PkgForge team, as an alternative to the original one. The installation script will suggest you to install it by pressing 1 or to choose the original by pressing 2. The choice is yours. **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.6.2...9.7 --------------------------------------- ## Conclusions <details> <summary>For you who read this... try to hold on to the important things. Nothing is forever, except the regret of not having done enough...</summary> --------------------------------------- *If there is something I always have cared about, it is honesty, and what I do not lack is the desire to do things well, and the ever-increasing anger when I see things not going as they should.* *After all, we all grew up with different stories, developing different characters and nuances... we are children of what we have learned.* *I, personally, owe the desire to do things and the possibility of doing them to a single great person, who taught me to be humble. An honest, sociable person, loved by everyone... especially by me. A person with whom I spent most of my time and who now more than ever I miss, and I know I will miss him in the future.* *A person, who I still struggle to believe I will never see again, since that damned April 7th in which, unexpectedly, he left an unfillable void in my life, and in that of my family.* *That man was my father.* ### *Ciao papà, ti voglio bene* *Nothing will be the same again now that you are no longer here.* </details> ---------------------------------------
## Various improvements Since "AM" is a modular program, modules can receive updates separately, independently of changes in the main CLI "APP-MANAGER"... which is why three-digit releases can bring with them much more news than two- or one-digit ones, and vice versa. This three-digit release brings with it the following. ------------------------------------------------ ### New option `-HC` (or `-CH` if you prefer) This new option is nothing more than the combination of the options `-H`/`--home` and `-C`/`--config`, useful to set dedicated $HOME and $XDG_CONFIG_HOME directories for one or more AppImages, this time in one go. You will need to run ``` am -HC {PROGRAM} ``` instead of ``` am -H {PROGRAM} && am -C {PROGRAM} ```  ...and of course you can use multiple arguments at once. DISCLAIMER: AppImage dotfile isolation works in most cases, but it all depends on the default settings wanted by the upstream developer/packager. Please use `--sandbox` to ensure dotfile isolation, as well as improve security. In this sense, the above-mentioned `-C` and `-H` options have been moved from the sandboxes.am module to the management.am module, and the former will be completely dedicated to actual sandboxing via Aisap and BubbleWrap. ------------------------------------------------ ### "Limited" Type 1 AppImage support Installation scripts for obsolete, optionless Type 1 AppImages have all been removed. However, they will still be manageable using the `--launcher` option. "AM" discourages the use of Type 1 AppImage packages and encourages users to contact upstream developers to upgrade to a more recent and widely supported runtime, for security reasons. Typically, Type 1 AppImages are the kind of files that, once downloaded, cannot be extracted using `--appimage-extract` nor respond to the other options commonly found on most Type 2 AppImages (both the older ones that depend on libfuse2 and the newer ones that don't)... and instead, the program is launched directly. That's why I preferred to remove that type of AppImage. ------------------------------------------------ ### Workflows Scripts are now tested at 250 at a time every hour, every day, to ensure control and review of the applications that can be installed from the "AM" database. While the workflow is currently disabled in this repository, it is still active in our test repository maintained by @zen0bit See https://github.com/ivan-hc/amcheck/actions/workflows/test-apps.yml for all results. ------------------------------------------------ ### Option `apikey` Fixed an issue with updating outdated ghapikeys, by @nazdridoy ------------------------------------------------ ### Options `-l`/`list` and `-q`/`query` options, new `--portable` flag It is now possible to list and search for only portable apps (not AppImages) in the "AM" database using the `--portable` flag  ------------------------------------------------ ### `-o`/`overwrite` and `-b`/`backup` options Both backup/restore options and other options of the same type that use selection can be undone by pressing ZERO, no undo with CTRL+C is needed. ------------------------------------------------ ### Options `-a`/`about` and `-f`/`files` Apps outside of supported databases, i.e. AppImages installed with the `-e` or `extra` option, can now be referenced as being from the `extra` database (which does not exist) in `-f`, just like programs installed from supported third-party databases. ------------------------------------------------ ### Conclusions I know that bombarding a release with information like this is difficult and may seem confusing (especially for some sites that specialize in reporting releases and that, in an attempt to rework a text with AI, write something completely different from what I wrote here... in fact, unlike Agent Smith in the Matrix, I say "never let a machine do a human's job")... but I have my logic on how releases should be. They should describe real changes... and they should not be aimed at attracting attention and visibility by pushing your project to the top of search results with every commit... just to appear high in a site or catalog (like Flathub, for example). I prefer that each release is like an updated "guide" to what changes in my project. Users need to know what I did and what has changed. So much so that even my AppMan repository has a link connected to this release, to every AppMan release (and probably you who are reading this came from there too). Today some developers prefer to attract attention instead of focusing on how to improve their project and consequently supporting an ecosystem by externalizing its dormant potential. Well, I prefer to be boring, and reveal to the people that AppImages evolve and that they have internal options capable of isolating dotfiles while keeping the system clean... or that they support delta updates... that they can be closed in a sandbox or that they can be converted so as not to depend on libfuse2! This is how you support an ecosystem: revealing its best, and involving the community to improve it! There are those who work to support a community idea... and those who work for themselves (begging for donations), causing only damage to that community... pushing users towards another community, even if unconsciously. I took AppImage as something to save, and there are those who have followed my idea by setting up interesting projects supported by entire communities. But as expected, there are always some leeches ready to make all this fail, disguising their project as something extremely useful, but which in fact belongs to an ecosystem opposite to the one we support, who really love AppImages! Beware of appearances. If you really want to support AppImages and those who work to improve them... do it properly! Support all those projects that work directly on AppImage packages! Support whoever builds your favorite AppImage packages! It doesn't matter how (donations, bug reports, pull requests...)... as long as it's directly with those who really understand AppImages. It's the only way to keep this ecosystem alive. ## What's Changed * Delete programs/x86_64/unified-communications / Update emacs* by @ivan-hc in https://github.com/ivan-hc/AM/pull/1403 * Delete programs/x86_64/dragoman by @ivan-hc in https://github.com/ivan-hc/AM/pull/1404 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/1405 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/1406 * CI: cache dependencies by @zen0bit in https://github.com/ivan-hc/AM/pull/1407 * Remove obsolete AppImages / fix some broken scripts by @ivan-hc in https://github.com/ivan-hc/AM/pull/1408 * Delete programs/x86_64/ryujinx-mirror by @ivan-hc in https://github.com/ivan-hc/AM/pull/1409 * Delete programs/x86_64/shell-assistant by @ivan-hc in https://github.com/ivan-hc/AM/pull/1410 * CI update by @zen0bit in https://github.com/ivan-hc/AM/pull/1411 * Option "reinstall", add flag "--all" to reinstall everything by @ivan-hc in https://github.com/ivan-hc/AM/pull/1414 * fix: broken ghapikey validation by @nazdridoy in https://github.com/ivan-hc/AM/pull/1416 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/1417 * Update APP-MANAGER by @ivan-hc in https://github.com/ivan-hc/AM/pull/1418 * Update appimage-lister-uniq.sh - create also lists of portable apps by @ivan-hc in https://github.com/ivan-hc/AM/pull/1419 * Add --portable flag in "-q" or "query" and "-l" or "list" by @ivan-hc in https://github.com/ivan-hc/AM/pull/1420 * Use a common versions list for all apps from non-standard sites by @ivan-hc in https://github.com/ivan-hc/AM/pull/1422 * Delete programs/x86_64/revealed by @ivan-hc in https://github.com/ivan-hc/AM/pull/1424 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/1425 * Add citron nightly by @Samueru-sama in https://github.com/ivan-hc/AM/pull/1426 * AM-SAMPLE-AppBundle: Handle AppBundles without a PNG icon by @xplshn in https://github.com/ivan-hc/AM/pull/1434 * Delete programs/x86_64/qtmips by @ivan-hc in https://github.com/ivan-hc/AM/pull/1435 * Dev by @ivan-hc in https://github.com/ivan-hc/AM/pull/1436 * fix(APP-MANAGER): Use _clean_all_tmp_directories_from_appspath by @albertonoys in https://github.com/ivan-hc/AM/pull/1437 * Use magic bytes to detect AppImages/Runimages by @ivan-hc in https://github.com/ivan-hc/AM/pull/1438 * Update maintainer for ghostty by @psadi in https://github.com/ivan-hc/AM/pull/1439 * Update appimagetool and appimageupdatetool by @ivan-hc in https://github.com/ivan-hc/AM/pull/1440 * Update management.am by @ivan-hc in https://github.com/ivan-hc/AM/pull/1441 * "AM" 9.6.2 by @ivan-hc in https://github.com/ivan-hc/AM/pull/1442 ## New Contributors * @albertonoys made their first contribution in https://github.com/ivan-hc/AM/pull/1437 **Full Changelog**: https://github.com/ivan-hc/AM/compare/9.6.1...9.6.2