Integrity check of (real) AppImages, in scripts
This release brings a series of security improvements to AppImages during the installation process.
As you well know, AM is a database that does not contain packages, but rather scripts that intercept and download such packages from the original source, outside of this repository. In particular, AppImages are sometimes subject to mishandling, both because older runtimes do not allow them to be managed on Musl systems, and because a careless or malicious user could replace the upstream package with an executable file different from the target format.
With the latest change, we were able to patch the scripts during installation to:
- Check whether the downloaded package is truly an AppImage
- Check whether the downloaded AppImage supports --appimage-extract
- Fall back to 7z or 7zz if --appimage-extract fails
If any of these checks fail, the app will still be installed, but it won't be run to extract icons and launchers for security reasons.
For more details, see the latest pull request, by @ivan-hc in #2443
The catalog is increasingly interactive
Thanks to the enormous contribution of @andy5995, the catalog now finally has an interactive search bar, as well as menus to select the apps available for each supported architecture.
Added to this are new categories and new ways to list metapackages. I'll discuss these in the next section; in the meantime, visit our website.
https://portable-linux-apps.github.io
But remember to come back if you want to learn more about this new release.
New lists for cataloging portable apps and AppImages, whether desktop or CLI
New lists have been created for the catalog to distinguish portable apps from AppImages, CLI apps from desktop apps, and regular AppImages from those built on the fly (via portable2appimage).
These lists allow you to add new dedicated categories to the catalog. Here are some:
- https://portable-linux-apps.github.io/appimage-on-the-fly.html
- https://portable-linux-apps.github.io/portable-cli.html
- https://portable-linux-apps.github.io/portable-desktop.html
- https://portable-linux-apps.github.io/metapackages.html
...and speaking of metapackages...
New metapackage management and cataloging
AM currently has four scripts that allow the installation of multiple programs each: kdegames, kdeutils, node, and platform-tools.
Previously, the database included a copy of this script for each installable app name. But that's no longer the case!
The list of installable programs is already contained in a single script. One list for each metapackage.
The user simply types the name of the program they want to install (contained in the metapackage) and will be redirected to the metapackage itself.
Currently, there are 75 total programs available with metapackages, all listed on this page already linked above.
simplescreenrecorder-2026-06-29_02.06.00.mp4
The page is also unique: by clicking on an app's page or accessing it with the -a option in the terminal, you'll see a list of programs that can be used via the metapackage (in the video above, platform-tools, and all the programs listed in -a, including adb and fastboot).
If a program exists both as a standalone program and in the metapackage (see knights, the KDE chess game, included in both kdegames and with its own standalone AppImage), the description displayed will be that of the standalone program, but you can still install both. The metapackage program will have the name of the referenced metapackage in parentheses (in the applications menu).
Try installing knights and kdegames, and you'll see two launchers for the "Knights" game in the applications menu. You'll be able to tell them apart easily!
Modules go from 5 to 4
The sandboxes.am module no longer exists. Its contents are now within the install.am module, as they are often linked together (see the -ias option).
Moved options hide/unhide from APP-MANAGER to management.am
Automatic translation
If a localization is available for your system, it will be set automatically, unless you want to force the English `en'.
by @fiftydinar in #2437
Removed ffwa support
This database will no longer include custom profiles for Firefox, nor will it produce any in the future. Firefox already includes it natively, and existing support in AM has been poorly tested over the years, regardless of new changes.
Conclusion
It was my duty to release this version right now. There are over 200 commits since the last release, most of which are by my fantastic collaborators. Thank you all!
However, I have something to tell you.
I'd like to take this opportunity to let you know that in the near future, I'll be taking a little longer to get on GitHub for various reasons. My projects, especially AM, are what I've dedicated most of my time to in recent years, despite not having much to do, to be honest. But due to a series of personal circumstances, my time here will be more limited.
I'm looking for a good bot to at least keep my workflow dependencies up to date, to keep my packages up to date for those who want to use them, unless the developers themselves want to take care of it. I'm just a packager, after all. I take their programs and export them to AppImages. If they could take my scripts and distribute official AppImages, I'd be incredibly grateful. I have many repositories to maintain, and I hate the idea of suddenly having to abandon them.
NOTE, I'm not saying I'll disappear, I'm just saying I'll have much less time, starting in the first weeks of July. I'll be here to fix bugs on the fly or merge a few pull requests, as I always do. I don't plan any major changes to my projects.
In AM especially, I've always tried to please everyone and make this project future-proof. When I saw an open issue, I'd jump in early to try to fix it. Sometimes, someone would even open an issue asking for features that were actually already there, lost in the documentation or README. I've always tried to anticipate things as much as possible, in anticipation of days like these.
What I won't say in the future is probably written in these lines, or in those past. It's up to you to find out.
PS: Everything I write is always long, I admit, I'm boring. But as the Romans said, "Verba volant, scripta manent." Maybe this "blog" will be useful to you in the future.
What's Changed
- am2pla-site: emit categories list as a CSS grid of pill-links by @andy5995 in #2384
- am2pla-site: emit bullets between category pills by @andy5995 in #2388
- Refactored _check_version_filters() to resolve more incorrect version numbers by @vishnu350 in #2389
- Dev by @ivan-hc in #2390
- Merge sandbox.am into install.am by @ivan-hc in #2391
- Move hide/unhide from APP-MANAGER to management.am by @ivan-hc in #2392
- Improve check for archived and obsolete sources by @ivan-hc in #2393
- Update check-obsolete-sources.yml by @ivan-hc in #2394
- Add 98 new "am-utils" by @ivan-hc in #2396
- Update check-obsolete-sources, prevent checking same repo twice by @ivan-hc in #2397
- Remove ffwa (Firefox WebApp) support by @ivan-hc in #2398
- Added Tux Manager by @Ma5t3rful in #2399
- Change metapkgs detection and do cleanup by @ivan-hc in #2401
- Added new AM Fedora container dockerfile and fine tuned _check_version_filters() awk code by @vishnu350 in #2402
- Add kitshun by @shuvashish76 in #2404
- Update AppImage on-the-fly scripts by @ivan-hc in #2405
- dosemu: switch to theimpossibleastronaut/dosemu2-appimage and add aarch64 by @andy5995 in #2406
- modemu2k: add x86_64 and aarch64 install scripts by @andy5995 in #2407
- Move gtk3 AppImages back from "am-extras" to "AM" by @ivan-hc in #2408
- Update conty (mutiple choices script) by @ivan-hc in #2409
- Added st+ by @vishnu350 in #2410
- Add Miniter video editor by @shuvashish76 in #2411
- KiCad source switch by @schnoog in #2414
- Remove two scripts by @ivan-hc in #2417
- add
brave-originby @Samueru-sama in #2418 - Add variant vars for apps that have multiple by @coyoteclan in #2419
- Update overte and add aarch64 variant by @ivan-hc in #2422
- Add bookdb (x86_64) by @cadwal in #2426
- am2pla-site: tag apps by architecture and add an arch filter to search by @andy5995 in #2424
- Added fuzzy suggest test to regression list and updated test app list. by @vishnu350 in #2429
- Add bookdb (aarch64) by @cadwal in #2430
- Add youplaytx by @ProfP30 in #2432
- Fix youplaytx by @ivan-hc in #2433
- Add safelight to x86_64-apps and programs by @fabiosirna in #2431
- Add safelight by @ivan-hc in #2434
- megaglest: pin x86_64 to stable release, remove aarch64 by @andy5995 in #2435
- fix: Add
translate autocommand as default, allows to revert from hardcoded language by @fiftydinar in #2437 - Fix StartupWMClass in ungoogled-chromium desktop file by @fabiosirna in #2439
- Standardize scripts with multiple launchers/icons by @ivan-hc in #2444
- Added new launcher test and test container updates. by @vishnu350 in #2447
- Remove HarbourMasters Games due to Incompatibilities by @SkyNinja in #2448
- Check AppImage while install and alternate --appimage-extract with 7z by @ivan-hc in #2443
New Contributors
- @Ma5t3rful made their first contribution in #2399
- @cadwal made their first contribution in #2426
- @ProfP30 made their first contribution in #2432
- @fabiosirna made their first contribution in #2431
- @SkyNinja made their first contribution in #2448
Full Changelog: 10.2.1...10.3