Skip to content

Releases: ssh-mitm/appimage

2.0.0

10 May 18:31

Choose a tag to compare

What's Changed

New Features

  • Local appimagetool support — point the build to an existing binary via --appimagetool PATH or appimagetool in [tool.appimage.build]. Resolution order: config/CLI → PATH → build cache → download. If appimagetool is already installed system-wide, it is picked up automatically without any configuration.
  • Local Python archive support — skip the python-build-standalone download with --python-archive PATH or python_archive in [tool.appimage.build]. Useful for CI caches, air-gapped environments, or sharing a single download across multiple projects.
  • Bundled fallback icon — builds no longer fail when no project icon is found. A default icon (Python-blue snake gear with AppImage arrow) is used automatically; replace it by dropping myapp.png into your project root.

Changes

  • License changed from GPL v3 to Apache 2.0
  • AppRun and .desktop templates are now external files (appimage/build/templates/) loaded via importlib.resources — easier to inspect and contribute to
  • generate_icon.py moved to scripts/ (developer tool, not part of the installed package)

Documentation

  • New Sphinx documentation covering Configuration, CLI reference, Runtime, and Internals
  • New Examples page with a minimal project walkthrough and offline/CI build guide
  • Added examples/myapp/ — a minimal working example requiring zero appimage-specific configuration

Full Changelog: 1.2.0...2.0.0

1.2.0

08 May 14:27

Choose a tag to compare

What's Changed

Breaking Change

The --python-venv option has been removed. Use the native venv interface instead:

# before
--python-venv ENV_DIR

# after
--python-interpreter -m venv ENV_DIR

All standard python -m venv options (--system-site-packages, --clear, --upgrade, --prompt, --without-scm-ignore-files) are now supported directly.

New Features

  • --python-list-entry-points — lists all available console script entry points (name = module:function) and exits
  • --python-appimage-debug — prints startup debug information to stderr (venv detection, symlink traversal, entry point resolution, interpreter invocation)
  • Virtual environments activated inside AppImage now correctly set VIRTUAL_ENV, sys.prefix, sys.exec_prefix, and sysconfig base/platbase, so tools like pip and mypy fully recognise the environment
  • Python 3.13+: .gitignore generation in new venvs can be suppressed via --without-scm-ignore-files

Bug Fixes

  • Fixed infinite loop when following circular symlinks in setup_virtualenv (depth limit: 20 hops)
  • Fixed symlink traversal bug where Path.resolve() prevented the loop from ever executing
  • Symlink depth limit now emits a warning to stderr instead of failing silently
  • Narrowed ValueError catch in parse_venv_command to prevent unrelated errors from being swallowed

Full Changelog: https://github.com/ssh-mitm/appimage/blob/main/CHANGELOG.md

1.1.1

04 May 11:15

Choose a tag to compare

Fixed

  • Fixed Path.readlink() false positive (assignment-from-no-return) reported by pylint under Python 3.14

Changed

  • Added Python version matrix to hatch test and lint environments (3.11–3.14)
  • Migrated CI test step from hatch run test:run to hatch test

1.1.0

04 May 10:37

Choose a tag to compare

Changed

  • Replaced python-appimage support with astral.sh as the standard AppImage base
  • Migrated version management from bumpversion to bump-my-version (config in pyproject.toml)
  • Updated GitHub Actions to current versions (actions/checkout@v4, actions/setup-python@v5)
  • Migrated PyPI publishing to Trusted Publisher (OIDC), removing the need for a PYPI_PASSWORD secret

Removed

Full Changelog: 1.0.0...1.1.0

1.0.0

27 May 12:03

Choose a tag to compare

What's Changed

Added

Full Changelog: 0.0.0...1.0.0