Changelog

v0.4.0 (2026-11-15)

Highlight: req2flatpak requires Python 3.11 or newer.

Breaking changes:

  • Python 3.8, 3.9 and 3.10 are no longer supported. Python 3.10 reached end-of-life on 2026-10-01. This applies to the Python that runs req2flatpak. Target platforms can still use other Python versions.

  • Invalid requirements and unsupported architectures now raise a ValueError instead of an AssertionError. The checks now also work when python runs with -O.

Fixes:

  • The --cache option now fills the persistent cache. An empty cache file was replaced by an in-memory dict before, so nothing was ever stored.

  • The --outfile is only created once the output is ready. A failing run no longer leaves an empty file behind. (This also replaces the deprecated argparse.FileType. - still means stdin or stdout.)

Improvements for Development:

  • ruff now also checks docstrings, import order, python syntax upgrades and security issues. It replaces bandit and pydocstyle.

  • Type checking with ty.

  • Updated all dependencies. The pre-commit hooks and CI use the same pinned Poetry version (Poetry 2).

  • CI uses actions that run on Node.js 24 and runs on ubuntu-24.04. The devcontainer uses Python 3.11.

  • The online documentation has a menu for switching between the documentation of different releases. It was provided by a package that is no longer maintained (sphinx-rtd-theme-github-versions). We replaced it with a small template in this repository and a small script that lists the published versions when the documentation is published. The documentation now uses the standard sphinx_rtd_theme. The menu looks and works the same as before, and the addresses of already published documentation are unchanged.

Full Changelog: https://github.com/johannesjh/req2flatpak/compare/v0.3.2…v0.4.0

v0.3.2 (2026-11-15)

Improvements:

  • Relaxed the version constraint for the packaging dependency from ^21.3 to >=21.3, see #92

Fixes:

  • Close output stream which was causing empty outfile files on Python 3.14, see #91

Full Changelog: https://github.com/johannesjh/req2flatpak/compare/v0.3.1…v0.3.2

v0.3.1 (2025-03-30) “Python 3.12”

Highlight: Compatibility with Python 3.12

Improvements for Development:

  • Improved CI #73 #79 #82

  • Added devcontainers configuration #65

  • Now using ruff for linting #87

Fixes:

  • Fixed an error when no urls are found in a pypi release in #71

Maintenance and dependency updates:

  • Updated dependencies in #62 #74

  • Improved docs in #77 #81 #86

  • Now using packaging instead of the deprecated pkg_resources package #76

Full Changelog: https://github.com/johannesjh/req2flatpak/compare/v0.2…v0.3

v0.2 (2023-06-04) “Yaml”

Highlight: req2flatpak can now generate yaml output.

Features:

  • Adds yaml output. It is now possible to generate yaml output by specifying a .yaml file extension or by specifying the --yaml commandline option.

Bugfixes:

  • Fixes sorting when architecture is None - #34

  • Fixes exception handling with invalid platforms - #39

v0.1 (2022-12-23) “Initial Release”

Highlight: This is the initial release of req2flatpak.

Features:

  • Generates a flatpak-builder build module for given python package requirements; the module will install the required packages as part of a flatpak build.

  • This initial release already comes with documentation, a clean code style, and automated tests that are run using continuous integration.