Skip to content

v6.0.0

Choose a tag to compare

@w4ffl35 w4ffl35 released this 29 Aug 10:19

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_client is 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-prebuilt pins 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, faulthandler and thread failures are now captured
    (#105).

Packaging, legal, security

  • Version and shared requirements single-sourced from
    airunner_common.package_metadata so the four surfaces cannot drift (#2044).
  • Project relicensed metadata to GPL-3.0-only, consistent across the
    LICENSE file, every license= field and the PyPI classifiers (#2058).
  • THIRD_PARTY_NOTICES.md added, with a CI check keeping it honest (#2059).
  • Previously undeclared runtime dependencies now declared (#2037, #2040).
  • Dev dependencies consolidated behind a single development extra (#2054).
  • Daemon API requires a per-user loopback auth token on every non-health
    request (#2033).
  • facehuggershield archive install is hash-pinned (#2036).

Quality

  • Large complexity-hotspot refactors across the LLM, services, art and API
    layers.
  • Pragmatic mypy baseline 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.