Skip to content

dosforge 0.3.1

Choose a tag to compare

@github-actions github-actions released this 22 May 04:28
· 199 commits to main since this release

dosforge v0.3.1 — TUI bundle fix

Critical bug-fix release. The Windows bundle in v0.3.0 (both the
full and lite variants) crashed when launching the TUI with:

The dosforge TUI requires the 'textual' package, which is not available in this build.
...
Underlying import error: No module named 'textual'

What was broken

The PyInstaller spec listed textual (and rich, py7zr, markdown_it,
etc.) as hiddenimports, but that directive only collects the top-level
__init__.py for each named package. The actual package tree — source
modules and the .tcss stylesheets Textual loads at runtime — was
silently absent. The bundle shipped with only textual-8.2.6.dist-info/
metadata and no textual/ package directory.

What's fixed

Both windows/dosforge.spec and windows/dosforge-lite.spec now use
PyInstaller.utils.hooks.collect_all() for every Python dependency,
which pulls in:

  • the entire source tree of each package
  • all submodules (recursively)
  • all bundled data files (CSS, themes, encoded resources)

The CI release workflow also gained a smoke-test step that fails the
build if _internal\textual\__init__.py is missing OR if
dosforge.exe --help doesn't exit cleanly — so this class of
regression cannot ship again.

Verified

  • dosforge.exe tui launches cleanly (273 textual files bundled)
  • dosforge.exe check-deps and dosforge.exe --help work
  • All 299 unit tests still pass

Assets

File Size (approx) Purpose
dosforge-0.3.1-windows-x64.zip ~120 MB Full bundle with all DOS payloads
dosforge-0.3.1-lite-windows-x64.zip ~95–105 MB Readmes-only — provide your own install media

Upgrade

Drop-in replacement for v0.3.0 — no config or asset migration required.
Delete the old dist\dosforge\ folder, unzip the new bundle in its
place, and you're set.