Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
2.0.0 - 2026-05-10
Added
Bundled default icon (AppImage box + Python logo) used as fallback when no project icon is found — build no longer fails without an icon
Icon is always copied into the AppDir as
{app}.{ext}, matching theIcon={app}entry in the.desktopfileappimagetoolconfig key and--appimagetool PATHCLI option: use a local binary instead of downloading; resolution order is config/CLI →PATH→ build cache → downloadpython_archiveconfig key and--python-archive PATHCLI option: use a local python-build-standalone tarball; resolution order is config/CLI → build cache → downloadexamples/myapp/: minimal example project demonstrating zero-configuration usage
Changed
README: restructured with visual header, badges, RTD button; simplified to highlight unique features
License changed from GPL v3 to Apache 2.0
Project metadata: corrected description, homepage, documentation URL and PyPI classifiers
AppRun and
.desktoptemplates moved from inline strings toappimage/build/templates/and loaded viaimportlib.resourcesgenerate_icon.pydeveloper script moved fromappimage/assets/toscripts/(not part of the installed package)
Documentation
Added Sphinx documentation hosted on Read the Docs (sphinx-rtd-theme)
Covers Quick Start, Configuration, CLI reference, Runtime, Internals, and Changelog
CLI reference completed with missing
--app,--entry-point,--extras,--appimagetool,--python-archiveoptionsAdded
examples.mdpage with minimal project walkthrough and offline/CI build instructionsAdded
internals.mdpage explaining how AppImages are built
1.2.0 - 2026-05-08
Added
--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 environment creation now uses the native
python -m venvinterface via--python-interpreter -m venv ENV_DIR [options]All standard
python -m venvoptions are now supported:--system-site-packages,--clear,--upgrade,--prompt,--without-scm-ignore-filesPython 3.13+:
scm_ignore_filesis now passed toEnvBuilderso.gitignoregeneration can be controlled via--without-scm-ignore-files_activate_venvnow setsVIRTUAL_ENV,sys.prefix,sys.exec_prefix, andsysconfigbase/platbase so activated environments are fully recognised by tooling
Changed
Extracted symlink traversal loop from
setup_virtualenvinto_find_venv_dir_from_symlinkto reduce method complexityRemoved duplicate venv-parsing logic in
parse_python_args; now delegates toparse_venv_commandReplaced monkey-patching of
EnvBuilder.setup_pythonwith a proper_AppImageEnvBuildersubclassBlack formatting check now runs only once (Python 3.11) in CI instead of once per matrix version
CI lint step now uses
hatch run +py=<version> lint:checkto avoid running the full matrix per jobREADME build script now resolves the Python download URL dynamically from the GitHub API using only
PYTHON_MINOR(e.g.3.11), eliminating the need to manually track patch versions and release dates
Fixed
Exception handling in
parse_venv_commandis now narrowed:ValueErroris caught only for the.index()call, preventing unrelated errors from being silently swallowedSymlink depth limit in
setup_virtualenvnow emits a warning to stderr when exceeded instead of failing silentlyFixed infinite loop in
setup_virtualenvwhen following circular symlinks (depth limit: 20 hops)Fixed symlink traversal bug in
setup_virtualenvwherePath.resolve()prevented the loop from ever executingFixed incorrect Python path in module docstring (
opt/python3.11/bin/python3.11→python/bin/python3)Removed false reference to
appimage.iniinAppStarter.__init__docstringFixed
mkdir -p buildin README build script example —build/AppDirwas never created, causingtarto fail
Removed
Removed
--python-venvCLI option; use--python-interpreter -m venv ENV_DIRinstead
1.1.1 - 2026-05-04
Fixed
Fixed
Path.readlink()false positive (assignment-from-no-return) reported by pylint under Python 3.14
Changed
Added Python version matrix to hatch
testandlintenvironments (3.11–3.14)Migrated CI test step from
hatch run test:runtohatch test
1.1.0 - 2026-05-04
Changed
Replaced python-appimage support with astral.sh as the standard AppImage base
Migrated version management from
bumpversiontobump-my-version(config inpyproject.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_PASSWORDsecret
Removed
Removed support for python-appimage by niess
1.0.0 - 2024-05-27
Added
added compatibility for python-appimage
0.0.0 - 2023-11-01
Initial release on pypi.org