Repository navigation
IT'S OVER 9000!!!
The database has tripled in less than two months. The number of applications has increased exponentially, despite removals:
As I write this, these are the data: 9233 unique apps (8819 AppImage packages + 414 standalone/portable programs).
Check them all at https://portable-linux-apps.github.io
This has been made possible through improvements to the automation of the -t option—which is used for creating scripts—as well as the addition of new workflows to identify sources tracked by appimage.github.io, all of which have been carefully reviewed by hand by myself and other users.
I will return to the -t option later. But for now, here are all the updates, in chronological order.
Prevent the user from installing the same app twice in parallel
This is an improvement for the parallel installations introduced in "AM" 9.5 and 9.6
Use "find -H" with "-maxdepth 2" to set $ARGPATHS
Fixed a bug involving apps installed in symbolically linked directories that caused a loop in the identification of installed applications.
did-you-mean: notify about apps sharing the same name prefix
When an installation begins, the names of apps similar to the one being installed are displayed.
Update template.am (option -t)
The -t option now supports automation when used with -y; descriptions appear in green and can be translated on the fly using trans, while URLs ending in "appimage" are highlighted in yellow.
This has significantly streamlined the creation of installation scripts, speeding up the local process while also tracking errors in the descriptions (so they can be corrected by the script's creator). This is particularly beneficial for AppImages hosted on GitHub that are available as standalone files (i.e., not bundled within TAR or ZIP archives).
Templates are cached to reduce the load from repeated downloads—a highly useful feature when generating hundreds or thousands of scripts at once.
Performance has also seen a substantial improvement.
Personally, I compile lists of applications from GitHub repositories—gathered from pull requests and issues on appimage.github.io, which has been very active lately in tracking such entries—into a sources.txt file, using the format "USER/PROJECT". I then use this file with the following simple command:
export APPIMAGE_DEFAULT="1"; ARGS=$(cat sources.txt); for a in $ARGS; do am -y -t https://github.com/"$a"; done
Having become quite adept at reading through the quick prompts, I’ve managed to clock my own workflow, reaching a pace of 15 scripts created per minute (provided no corrections were needed).
The new -t option automatically extracts the project name—stripping away any unnecessary parts—displays the GitHub repository, and asks for confirmation of the name. If you approve (and the $APPIMAGE_DEFAULT variable is set), the process completes automatically—especially when the -y flag is included alongside -t, as shown in the command above. The only exception is if the description is empty; in that case, it will ask you to provide one, while also linking back to the source repository so you can look it up yourself.
Want to add your own AppImage from GitHub?
Run the command
am -y -t https://github.com/user/project
or just
am -t https://github.com/user/project
You’ll likely find yourself doing this quite often!
by @ivan-hc in #2788 #2810 #2892 #2905
Also, option -t now warn about similar app names.
Suggest installed apps on remove when the name does not match
Now, removal options take into account your installed apps, even if you mistype the name.
by @cheack in #2797 #2800 #2802
Update install.am - check/fix appimages with broken/missing icons
While working on adding apps via the -t flag, I discovered that many of them—specifically Tauri-based AppImages—do not comply with the .DirIcon specifications, which govern the inclusion of valid icons within an AppImage's AppDir. Consequently, these icons cannot be extracted from the package.
This change addresses the issue in a way that differs from the approach mandated by the AppImage specifications (as well as the workflows used on appimage.github.io itself—a point of significant frustration for its maintainer and owner), fixing it completelly.
Merge enhanced scripts into multi-choice scripts
Many scripts related to pkgforge-dev's "enhanced" apps are now combined into multiple-choice scripts, where official or alternative variants of certain applications exist. This significantly reduces duplicates of the same apps in our lists.
by @kazam0180 in #2850
NOTE: If you still want to install the same app from two different sources on the same system, consider using the -e option.
Option apikey
Fixed a bug related to the API key, where the user's key was being saved and not removed from within the AM-updater files—even when it had expired or the file containing it had been deleted.
Also, am apikey without an argument printed only "ERROR: Wrong expression, validation failed!", which doesn't say that a token is expected. Passing the token as an argument also leaves it in the shell history.
Now am apikey asks for the token with hidden input, and the errors say what is wrong (empty input, or not a ghp_/ghs_/github_pat_ token). am apikey TOKEN and am apikey del work as before.
by @cheack in #2880 #2952 #2965
Notify the user that the proxy is starting
AM now notifies the user if the proxy is in use once the limit has been reached.
Remove the 178 "am-utils", now moved to "am-extras"
The am-utils (basic command line utilities) have now been moved to a third-party database. Use the .amutils extension or the --amutils flag to install them.
Run -h and scroll to the bottom of the manual to see flags and commands related to third-party databases.
These removals have significantly reduced the number of portable apps in the AM database, but they haven't made a major dent in it, given the increase in the number of AppImages currently available.
Add markdown option for about command
Added a --markdown flag (or -m sub-option), to be used after the -a (or about) option, to display app descriptions and sources in Markdown format directly in the terminal.
by @kazam0180 in #2931
Add backup/restore support for .env files
This will be the focus of the upcoming releases. Stay tuned ;)
Refactoring
AM and its modules strive to be increasingly POSIX-compliant
by @cheack in #2956 by @cheack in #2960
Option reinstall to save the previous choice
For those who install apps using multiple-choice scripts, there are some important updates:
- Reinstallation now includes apps with a locked version (if forced).
- Your previous selections are automatically reapplied during reinstallation.
Do you often choose specific app versions across various scripts and find it tedious to make those same selections every single time? Now you don’t have to!
The appimagetool "drama": I switch AppImage/appimagetool to ivan-hc/appimagetool (fork)
To prevent further unfortunate incidents down the line, "AM" will use a fork of appimagetool as a fallback, until we are certain that appimagetool continues to function as it should.
The installation script will keep let the choice for the official one, but it will be a multi choose one.
Conclusions
It took me an hour and a half to write these release notes. But it was worth it!
There have been so many changes to this project and our catalog (https://portable-linux-apps.github.io) that it could arguably justify a version 11 release; however, I’ve held off, as more radical changes are still on the horizon.
The only downside is the aforementioned incident involving the AppImage/appimagetool project. While they did listen to my feedback—and that of other users—the situation has left me increasingly wary of the decisions being made upstream. I invite you to check the linked issue for a full picture of what happened.
Thanks to the Pkgforge team, I have already migrated my "classic" AppImage projects to their uruntime-based appimagetool (which includes DWARFS support)—I’m even using it right now for the Firefox AppImage I’m writing this from. Meanwhile, Archimage and portable2appimage are using my own fork of appimagetool, which I’ll keep as a fallback—a precautionary measure to avoid any further unpleasant surprises. I’ve also forked type2-runtime, just in case any unwelcome changes are introduced there without warning.
I would have gladly continued working with the main AppImage project and its tools, promoting them as I always have. But this latest incident has made me deeply distrustful of their decision-making. I wish I could trust their lead, but after five years of conflict, I believe it’s time to keep my distance.
As I’ve mentioned before, my new job often keeps me away from my PC—and by extension, GitHub—and I’d prefer to spend the limited time I do have refining my own projects. For context, the pull request that led to this release took two weeks to be merged.
That’s just too long for my standards. I have wasted too much time fixing things that previously worked, but which the AppImage project leader suddenly decided to break.
My solution is drastic, yet necessary to ensure that my projects can continue even if I were to suddenly disappear from GitHub. It is the users who make a project great. This project grows thanks to all of you—by reporting bugs and contributing to the code—and I thank each and every one of you!
What's Changed
- Add kromacut by @shuvashish76 in #2746
- Add absotui by @shuvashish76 in #2752
- Add zalo for aarch64 and zalo variants by @imngkhang in #2751
- Prevent the user from installing the same app twice in parallel by @ivan-hc in #2747
- Update kcc (Kindle Comic Converter) by @shuvashish76 in #2755
- Use "find -H" with "-maxdepth 2" to set $ARGPATHS by @ivan-hc in #2756
- vn video editor by @Pratyay360 in #2757
- Remove omniget by @ivan-hc in #2760
- Add Photon Studio by @cheack in #2763
- add opencoduo by @kazam0180 in #2762
- Add 104 appimages by @ivan-hc in #2766
- did-you-mean: notify about apps sharing the same name prefix by @cheack in #2767
- Add 426 appimages by @ivan-hc in #2768
- Add 403 appimages by @ivan-hc in #2769
- merge opencoduo client and server by @kazam0180 in #2770
- Add warpinator by @aashiashique in #2771
- Add wuDict by @shuvashish76 in #2772
- Add xreader : A generic Document Reader by @aashiashique in #2775
- Add 500 appimages by @ivan-hc in #2776
- Add rox by @shuvashish76 in #2777
- Add 600 appimages by @ivan-hc in #2783
- Add xed text editor by @aashiashique in #2780
- add 116 apps by @kazam0180 in #2784
- Add spectra-pdf by @shuvashish76 in #2785
- Add compare-all by @jasonulbright in #2786
- Add 1000 appimages by @ivan-hc in #2787
- Update template.am by @ivan-hc in #2788
- Add pybient by @Pybient in #2789
- add 130 x86_64, 23 aarch64 apps by @kazam0180 in #2790
- add 116 x86_64, 18 aarch64 apps by @kazam0180 in #2791
- Rename 5ch-browser-template to ember by @ivan-hc in #2792
- Add 400 appimages by @ivan-hc in #2793
- Add neo by @shuvashish76 in #2795
- Suggest installed apps on remove when the name does not match by @cheack in #2797
- Add 148 appimages by @ivan-hc in #2798
- Keep dev in sync with main by @ivan-hc in #2799
- Add photocraft, vectorcraft, filmcraft, lightcraft, printcraft, effectcraft, designcraft by @cheack in #2796
- Update version retrieval for x86_64 AppImage by @MrAbhi19 in #2794
- Show each installed app once and use the picker for multiple install paths on remove by @cheack in #2800
- Don't report an installed app as invalid when its path choice is aborted by @cheack in #2802
- Dev by @ivan-hc in #2801
- Add 257 appimages by @ivan-hc in #2804
- Add arm64 script for photon-studio by @Nemo-010 in #2805
- Add hoptodesk by @hoptodesk in #2807
- feat: Add PhotoSuite by @jonasw234 in #2809
- Update template.am by @ivan-hc in #2810
- Add 483 appimages by @ivan-hc in #2811
- Added logseq og (File version) by @VentByte in #2813
- Add ZapFast by @swever826 in #2808
- Remove kylinwork by @ivan-hc in #2815
- Keep dev in sync with main by @ivan-hc in #2816
- Add missing pkgforge's appimages by @ivan-hc in #2814
- Add 9 appimages by @ivan-hc in #2817
- Some code refactoring by @ivan-hc in #2818
- Revert #2818 by @ivan-hc in #2820
- Add 194 appimages by @ivan-hc in #2821
- Update install.am - check/fix appimages with broken/missing icons by @ivan-hc in #2822
- Add crunchyroll-linux, disc-xplorer, reblue,chatgpt-community, nearcade and steam-art-manager to AM by @zany130 in #2819
- Remove 3 apps by @ivan-hc in #2824
- Add gridcraft, cadcraft, deckcraft, soundcraft, wordcraft. Rename printcraft to pdfcraft by @cheack in #2828
- Add github-stars-manager by @cheack in #2829
- Kiro ide appimage by @Pratyay360 in #2830
- Add 20 appimages by @ivan-hc in #2833
- Remove 3 apps by @ivan-hc in #2836
- fix: select x86_64 AppImages for raspberry-pi-imager by @arndtc in #2837
- Delete 3 apps by @ivan-hc in #2842
- Add 38 appimages by @ivan-hc in #2843
- drawx by @Pratyay360 in #2845
- Add IMSProg by @aashiashique in #2846
- Remove 2 apps by @ivan-hc in #2848
- Handle ALT_GH in a centralized way by @ivan-hc in #2849
- merge enhanced scripts into multi-choice scripts by @kazam0180 in #2850
- Add solidping by @fclairamb in #2847
- Remove "official" from 9 app names by @ivan-hc in #2851
- update zapzap scripts by @kazam0180 in #2852
- Add figcraft by @cheack in #2855
- Remove 10 apps by @ivan-hc in #2856
- Remove 2 apps by @ivan-hc in #2857
- Restore eudic by @lulu-trans in #2860
- Add: wemeet by @laishulu in #2859
- Add 86 appimages by @ivan-hc in #2861
- Add ting (Daily English Listening) by @lulu-trans in #2864
- Feat: add wpsoffice-cn by @laishulu in #2863
- Adds MeMoTo (memoto) for x64 and arm64 architectures by @RaphaelMartin83 in #2862
- remove more -enhanced scripts by @kazam0180 in #2868
- Add 114 appimages by @ivan-hc in #2869
- Remove marginalia by @ivan-hc in #2870
- Rename talktype to tuxtalk by @ivan-hc in #2872
- unmerge qbittorrent-enhanced x86_64 by @kazam0180 in #2873
- Remove full variants for zalo (x86_64) by @imngkhang in #2874
- add Pitivi and SaveDesktop, and Fix JDownloader2 aarch64 asset filter by @Shikakiben in #2876
- Add 46 appimages by @ivan-hc in #2877
- fix(t3code): skip preview releases by @z00rat in #2878
- apikey del: strip token from updaters even if ghapikey.txt is missing by @cheack in #2880
- Update x86_64 AppImages from Pkgforge-dev by @ivan-hc in #2881
- Add 36 appimages by @ivan-hc in #2882
- Delete 3 apps and fix other 2 by @ivan-hc in #2885
- Delete dardcor-code by @ivan-hc in #2886
- Added freerouting. by @vishnu350 in #2888
- add wps-office-cn by @laishulu in #2884
- ref: add Office to WPS Office CN application category by @laishulu in #2889
- fix: missing trailing back slash by @laishulu in #2890
- Add 27 appimages by @ivan-hc in #2891
- Update template.am by @ivan-hc in #2892
- Notify the user that the proxy is starting by @ivan-hc in #2893
- Rename GH_API_ALLOWED to GH_API_REMAINING by @ivan-hc in #2894
- Remove the 178 "am-utils", now moved to "am-extras" by @ivan-hc in #2895
- Fix installation of "wget" from third-party databases by @ivan-hc in #2896
- Delete deepseek-harness-code by @ivan-hc in #2897
- Add 90 appimages by @ivan-hc in #2900
- Replace solidcraft-perf with solidcraft by @alberto743 in #2901
- Delete mirrorshard by @ivan-hc in #2902
- Rename podman-desktop-companion to container-desktop by @Shikakiben in #2903
- Update template.am by @ivan-hc in #2905
- Remove 4 apps and fix one by @ivan-hc in #2908
- Add 69 appimages by @ivan-hc in #2909
- Delete 2 apps (repositories removed) by @ivan-hc in #2910
- kurobayomi: repository moved, install the latest stable release by @anas1412 in #2913
- Remove 3 apps by @ivan-hc in #2914
- Add Wren Desktop by @shuvashish76 in #2916
- Add srs-sysinfo by @eugenesflanagin-spec in #2917
- Removing ente-ensu-stripped by @melvinquick in #2918
- Keep dev in sync with main by @ivan-hc in #2919
- Remove mercury and thorium browsers (too old unsafe projects) by @ivan-hc in #2921
- Keep dev in sync with main by @ivan-hc in #2922
- Add 43 appimages by @ivan-hc in #2924
- Keep dev in sync with main by @ivan-hc in #2925
- feat: add DSH NEXT by @laishulu in #2927
- feat: add DSH Desktop by @laishulu in #2926
- Add 9 appimages and update srs-sysinfo by @ivan-hc in #2928
- Keep dev in sync with main by @ivan-hc in #2929
- Add streamhub by @zany130 in #2933
- add markdown option for
aboutcommand by @kazam0180 in #2931 - Update translations and keep dev updated by @ivan-hc in #2934
- add ddnet by @kazam0180 in #2935
- Add backup/restore support for .env files and sync with main by @ivan-hc in #2936
- Add 183 appimages by @ivan-hc in #2938
- Keep dev in sync with main by @ivan-hc in #2939
- Add livefaceswap by @cabbagehao in #2940
- add zyrngis by @grangedevgroup-code in #2941
- add treesheets by @kazam0180 in #2942
- add skippy-xd by @danrobi11 in #2944
- Add vivifylive by @cabbagehao in #2943
- Keep dev in sync with main by @ivan-hc in #2945
- Added windwaker-hd-editor. by @vishnu350 in #2946
- Add 108 appimages by @ivan-hc in #2948
- Keep dev in sync with main by @ivan-hc in #2949
- Add texturecraft by @cheack in #2950
- Fix doubled "/repos" in the GitHub AppImage check of template by @cheack in #2951
- apikey: ask for the token instead of requiring it as an argument by @cheack in #2952
- Keep dev in sync with main by @ivan-hc in #2955
- Regenerate 29 scripts that wrongly used the archive template by @cheack in #2959
- Drop "local" from the simple helpers in APP-MANAGER by @cheack in #2956
- Drop "local" from the modules by @cheack in #2960
- Remove strings related to apikey due to inconsistencies (dev) by @ivan-hc in #2961
- Add 39 appimages by @ivan-hc in #2962
- Keep dev in sync with main by @ivan-hc in #2963
- Remove arkdraw by @ivan-hc in #2964
- Make the apikey strings easier to translate by @cheack in #2965
- Translate non-English app descriptions to English by @cheack in #2969
- yamusic: use the AppImage template, fix the description by @cheack in #2970
- Remove duplicate catalog scripts by @fhaefele in #2972
- Keep dev in sync with main by @ivan-hc in #2973
- template: warn about similar app names by @cheack in #2975
- Redo mysteryx93 hanuman institute apps by @ivan-hc in #2976
- Fix f9e5834 by @ivan-hc in #2977
- Keep dev in sync with main by @ivan-hc in #2978
- Remove 2 apps by @ivan-hc in #2979
- "AM" 10.7 by @ivan-hc in #2912
New Contributors
- @Pratyay360 made their first contribution in #2757
- @aashiashique made their first contribution in #2771
- @jasonulbright made their first contribution in #2786
- @Pybient made their first contribution in #2789
- @Nemo-010 made their first contribution in #2805
- @hoptodesk made their first contribution in #2807
- @VentByte made their first contribution in #2813
- @swever826 made their first contribution in #2808
- @zany130 made their first contribution in #2819
- @fclairamb made their first contribution in #2847
- @lulu-trans made their first contribution in #2860
- @laishulu made their first contribution in #2859
- @z00rat made their first contribution in #2878
- @alberto743 made their first contribution in #2901
- @anas1412 made their first contribution in #2913
- @eugenesflanagin-spec made their first contribution in #2917
- @cabbagehao made their first contribution in #2940
- @grangedevgroup-code made their first contribution in #2941
- @danrobi11 made their first contribution in #2944
Full Changelog: 10.6...10.7