github ivan-hc/AM 9.9.1
"AM" 9.9.1

13 days ago

Introduction

When I publish a release, I want each one in this section to become a step-by-step guide to what I'm doing.

Even though it's been two months since v9.9, significant changes occur in the modules, which commonly function as secondary programs on their own.

Given that over 300 commits have been made in two months, and they are growing every day (also thanks to the increase in apps loaded, but we'll see this shortly), I risk forgetting some important changes while I write my "chapters", if we want to define every release that way.

That said, here are the changes that have occurred up to this release in chronological order, and not in order of importance. If it's "important" you decide.


More modular "help" message (option -h), for translations

The "help" message is now modular, each option has a dedicated variable to easily translate it option by option.

#1839


Made ZSH completion "optional"

Since ZSH has not a secure enough way to use shell-completion (if compared with BASH and FISH), a prompt will ask you to enable this useful feature if you use this type of SHELL.

#1844


Add "integrate" (alias --launcher) and "search" (alias -q)

Many people complain about the lack of options, also if they already exist. Maybe because they don't recognize an option name for what it does.

It's understandable, the project has grown a lot, and with it the number of options and documentation, in which you get lost. There is no point in writing in the issue templates "I declare that I have read the documentation" if the latter is too... too big! I understand it. I'm actually very lazy too, like many of you.

It is the case of the option to "integrate" local AppImages by drag/drop them to the terminal (--launcher, now also integrate) and the option to "search" keywords in the list of the available applications (-q or query, now also search).

#1866


„AM“ auf Deutsch

German Language Added by @Fluke667 in #1868


Improved SourceForge support in templates and set AppImages as default choice

I've been working on a common method for detecting programs from sourceforge.net, and then a set of mechanisms for creating installation scripts that are similar to each other. Expecially for AppImages

#1889

For portable apps instead is a bit different

#1890

I exposed all these discoveries in the template.am module, dedicated to the -t (or template) option, and I took advantage of it to make AppImage (choice "0") the default. Simply press ENTER to use the template dedicated to AppImages.

#1892


Determine if the argument is an installation script (option -i or install)

To prevent users from misusing the installation options, which are intended for scripts, not random files, the argument will be checked to see if it is a script, an AppImage, or another file type.

Istantanea_2025-11-24_13-30-36

#1923


Option -t or template on "steroids"

Now all scripts will be created for x86_64 by default, but if an aarch64 program is in releases, -t will clone and edit the created x86_64 script to convert it into an aarch64 one

#1926

But this is not the only change:

  • added instructions in the "list" file
  • replace already listed item in the "list" file
  • base the entire module on x86_64 as main architecture
  • download x86_64-apps near the x86_64 directory
  • if an aarch64 directory has been created, download also the aarch64-apps file
  • fix descriptions with multiple lines
  • fix syntax of apps description
  • lowercase the first letter of the description and end it with a dot
  • if a description is blank, open the prompt to create it also for apps hosted on GitHub

To resume all the above, in this example, I use a repository that has both x86_64 and aarch64 AppImages, and a repo without a description.

I'll repeat the second one two times:

  • you will receive a prompt to add a custom description
  • if the item already exists in "list", it will be overwrited
simplescreenrecorder-2025-11-25_20.22.08.mp4

#1927


Integrity check for broken download URLs (option -i or install)

The installation scripts include an exit 1 that is executed if a URL download (via wget) fails.

This error is often due to temporary connection drops.

This change checks whether the "tmp" directory created during installation still exists, and if so, checks whether it is empty. If it is empty, up to 5 download attempts will be made, spaced 5 seconds apart.

In this example, I'm testing an installation script from a repository where the "latest" release doesn't exist, but only pre-releases, https://github.com/niess/python-appimage

During the process, I'll modify the running script (they run in ~/.cache/appman or ~/.cache/am, in my case I use am -i --user, so its a local installation, like AppMan) so that it will search for, find, and install the first generic release it finds.

simplescreenrecorder-2025-11-26_22.28.27.mp4

This will also help me with false positives in https://github.com/ivan-hc/amcheck

#1928


The number of programs in third-party databases is now more "realistic" (option -l)

Previously, third-party databases considered the total number of packages (unlike the AM database, which only counts unique packages).

From now on, the total number of commands will appear, while the lists will continue to list variants of the same command.

Before After
before after

#1933


70 new apps added in two months

While I'm writing, here you are the numbers of the "AM" database for this release:

2578 unique programs available (+70 if compared with "AM" 9.9), of these, 2175 are AppImages and 403 are other portable formats.


What's Changed

New Contributors

Full Changelog: 9.9...9.9.1

Don't miss a new AM release

NewReleases is sending notifications on new releases.