Optimizing for APM

As a developer, you don’t need to change your build process to support APM. Any standard AppImage will work. However, there are a few things you can do to make your app run even better in the APM ecosystem.

1. Provide Zsync Metadata

APM uses zsync to perform delta updates. To enable this, ensure that your build pipeline generates a .zsync file and hosts it alongside your .AppImage.

Most AppImage creation tools (like appimagetool) support this with the -u (update information) flag.

2. Define Permissions Externally

Since APM uses external metadata, you don’t need to put a manifest.json inside your AppImage. Instead, define your permissions when you sign/publish your app.

This keeps your build process clean and lets you update permissions (e.g. if you forgot to allow network access) without rebuilding the binary.

3. Standardize Desktop Entries

APM reads your app’s .desktop file to determine its name, categories, and potential permissions. Ensure your desktop file is valid and follows the Freedesktop.org standards.

4. Signing for DNS Verification

If you want to provide maximum security, you can sign your AppImage using APM’s signing tools. This allows APM to verify the integrity of your app via DNS records, ensuring that users are getting the authentic version directly from you.

See DNS Verification for details.