CHANGELOG.md, which is
authoritative. Sage follows Semantic Versioning; before 1.0, behavior and configuration may change
between minor releases. For what each release was validated against, see
Limitations and validated configuration.
Unreleased
Changes on Sage’s main branch sincev0.2.0, not yet in a tagged release:
mythic-cli install githubpulls the published release image from GitHub Container Registry instead of building Sage locally. Setsage_use_build_contexttotruein Mythic’s configuration to keep building from source.- The container no longer runs Sage as root. It runs as the owner of the installed service
directory, so a later
mythic-cli installno longer fails on root-owned files. The first start hands back root-owned files left by earlier versions. - The startup version banner appears in the container log at Mythic’s default log level.
- A request’s final message records how the request ended (
completed,blocked,checkpoint,stopped,cancelled, orerror) asturn_outcomein its metadata. Mythic stores onlycomplete,error, andcancelledas a request status, so this field gives the real ending.
v0.2.0 (2026-10-23)
Sage 0.2.0 makes supervised mode objective-led, makes request endings honest, and ships Sage as a published, versioned container image.Added
- Objective-led supervised mode. A supervised channel can pursue a stated objective across turns, one approved action at a time. See Objective-led supervised runs.
- Container images on GitHub Container Registry for
linux/amd64andlinux/arm64:ghcr.io/mythicagents/sage:0.2.0(also:0.2),:latestfor the newest commit on main, and:sha-<commit>for an exact build. - Version reporting. The startup log reports Sage’s version, the image’s build commit, and a fingerprint of the running source.
/toolslists Sage’s tools and their access requirements without a model call, and/reportproduces an operation-wide identity report.- Provider settings. For the
openaiprovider,SAGE_REASONING_EFFORTandSAGE_PROVIDER_RETRY_POLICY=transient-v1are available. Both are optional. - Database location.
SAGE_DATABASE_PATHandPHOENIX_WORKING_DIRmove the Sage and Phoenix databases off the bind-mounted service directory.
Changed
- Mythic shows Sage’s own release version for the chat container, rather than the Mythic framework version.
- Commands for registered executables are built from each tool’s contract, which repairs legacy verbs and option syntax before the approval card is shown.
- Approval cards carry decision context and list all three operator actions. Guard errors name their remedy, and the engagement ledger is surfaced at the end of each turn.
- All Sage tables share one database,
sage.db. - Dependency pins were refreshed, including an updated
certifiCA bundle.
Fixed
- A request that Sage stops on its own (a routing loop, no progress, or a blocker) no longer reports “Completed.” Every turn ends as completed, blocked, or checkpoint.
- When a request ends inside a specialist agent, the final message and reason reach the main Sage window.
- Repeated failures of the same command on the same callback stop the request at a per-request cap, even when credentials or arguments rotate.
- Startup fails with an error naming the path when SQLite cannot open or lock
sage.db.
Known issues
- macOS Docker Desktop and OrbStack need the database override described in SQLite on macOS.
- Some reported dependency vulnerabilities remain because upstream packages pin the affected versions.
- Runtime state written as root can block a later reinstall by a non-root user; fixed in Unreleased.
