v6.0.0
AI Runner 6.0.0 is a major release that consolidates the codebase into a
four-package surface and lands a large round of services, LLM and packaging
work accumulated since 5.6.1.
Package surface
The project now builds and versions four coordinated packages, all pinned to
the same version from airunner_common.package_metadata:
| Package | Role |
|---|---|
airunner |
PySide6 desktop GUI |
airunner-services |
Headless daemon + LLM / STT / TTS / art runtimes |
airunner-native |
Native launcher |
airunner-common |
Shared foundation and single source of build metadata |
Highlights
Services / daemon
- Legacy HTTP server and handler modules removed; all routes migrated onto
FastAPI (#103). services/daemon_clientis now the canonical client (#102).- VRAM / dtype detection moved into the daemon; local torch utilities deleted.
- LLM idle auto-unload is now env-configurable (#128).
Settings
- Settings mixin chain replaced by an explicit
SettingsController(#202). - Client-local fields routed through
QSettings, resolving the settings-store
split (#301).
LLM
- Many streaming and tool-calling fixes: Qwen3 first-turn thinking directive,
streamed-token spacing, langgraph tool-call arguments, and continuation
nudges when a prompt ends on a tool result. langgraph/langgraph-prebuiltpins made self-consistent so a clean
install resolves.
GUI
- New Prompt Builder tool window (Tools ▸ Stable Diffusion ▸ Prompt
Builder): a madlibs-style prompt assembler with a live preview, targeting
Z-Image Turbo or SDXL. No LLM involved. - Uncaught exceptions,
faulthandlerand thread failures are now captured
(#105).
Packaging, legal, security
- Version and shared requirements single-sourced from
airunner_common.package_metadataso the four surfaces cannot drift (#2044). - Project relicensed metadata to GPL-3.0-only, consistent across the
LICENSEfile, everylicense=field and the PyPI classifiers (#2058). THIRD_PARTY_NOTICES.mdadded, with a CI check keeping it honest (#2059).- Previously undeclared runtime dependencies now declared (#2037, #2040).
- Dev dependencies consolidated behind a single
developmentextra (#2054). - Daemon API requires a per-user loopback auth token on every non-health
request (#2033). facehuggershieldarchive install is hash-pinned (#2036).
Quality
- Large complexity-hotspot refactors across the LLM, services, art and API
layers. - Pragmatic
mypybaseline added (#2052).
Note for contributors
The git history was rebuilt to strip roughly 50 GB of model-weight files that
had been committed by accident; a fresh clone is now about 60 MB. If you have
an existing clone from before this release, take a fresh clone (or hard-reset
your master to origin/master). Release tags from the 2.x–5.x line remain
in place for provenance but are not ancestors of master, so git describe
against them will not resolve.
Distribution
This release ships the source tree and the ghcr.io/capsize-games/airunner
Docker images. The PyPI packages are not updated in this release.