Skip to content

Releases: msmfai/concierge

v0.12.1 — first-user friction fixes

Choose a tag to compare

@msmfai msmfai released this 25 Jul 16:34

Fixes from the latest test-user round (the ones verifiable in code — layout/rendering items are tracked separately).

What's fixed

  • Minecraft mods actually work now. A Modrinth/Fabric .jar is deployed whole into mods/ instead of being unpacked into hundreds of loose files, so it's a loadable mod.
  • Downloading while the catalog syncs. The one-time catalog "Sync now" no longer greys out Download, Apply, and the rest of the action row — you can add and download mods while it finishes in the background.
  • Modrinth/Minecraft packs are cleaner. Nexus-only bits (the "Premium vs free" download note and the nxm:// link field) no longer show up where they don't apply.
  • No more stale "all set" banner. Adding a mod correctly clears the "all archives present — Apply can complete" message.
  • Windows/dialogs close reliably. The quick-start guide and the Browse/Settings dialogs now close on Escape and via a clear in-app Close button, even where the title-bar X isn't honored.
  • Plainer language. "not realized" → "not installed yet — run Apply", clearer checksum/installed status, and the guide now explains that your whole setup is one portable file (with export-pack/import-pack).
  • CLI: concierge-cli modrinth now points you at the real fetch command and records the resolved Minecraft version + loader.

Update from Settings → Updates, or grab the platform build below.

v0.12.0 — Concierge is the app; agent CLI is concierge-cli

Choose a tag to compare

@msmfai msmfai released this 23 Jul 15:19

One app, Vortex-style

concierge (concierge.exe) is now the whole app: launching it opens the window, starts the download service in the same process, and puts a Concierge icon in the tray. Quitting stops everything; hiding to the tray (click the icon) keeps downloads running. Launching it again while it's open just raises the existing window — no second windows, ever.

  • One-click downloads now register the app itself as the nxm:// handler (Settings → Enable 1-click downloads to re-register).
  • The command-line tool is concierge-cli — used by the AI assistant inside the sandboxed shell. Typing concierge <command> still works and forwards to it, so existing packs and habits keep working.
  • Updating from an older version is seamless: the updater understands both layouts, your Start-menu/desktop shortcuts keep launching the current build, and old nxm:// registrations keep working until you re-register.

Under the hood: the standalone daemon is no longer spawned (it ships only for backward compatibility), the updater handles the rename transition with tests covering every install layout, and the sandbox keeps concierge … meaning the CLI for provisioned packs.

v0.11.7 — daemon-owned tray (clean release)

Choose a tag to compare

@msmfai msmfai released this 22 Jul 16:24

Clean tagged release capturing the current tree — the daemon-owned tray work plus the CI fix (main had advanced one commit past the v0.11.6 tag). No runtime change versus v0.11.6.

Highlights (since the split landed):

  • Background download daemon owns the queue over a local socket; the GUI is a client and downloads keep running while the window is closed.
  • The tray / menu-bar icon lives in the daemon — a persistent presence (macOS status item / Windows notification area). Open Concierge / Downloads: N / Quit.
  • nxm:// one-clicks land in the daemon (queued + a GUI ensured), never a second window.

Windows note: a new tray icon may hide in the "^" overflow — drag it onto the taskbar to pin it.

v0.11.6 — tray icon moves into the daemon (persistent, Vortex-style)

Choose a tag to compare

@msmfai msmfai released this 21 Jul 23:31

The system-tray / menu-bar icon now lives in the daemon (the always-on process), not the GUI — so it's a persistent presence whenever Concierge is running, even with the window closed.

  • The daemon hosts a system-tray icon (macOS menu-bar status item / Windows notification-area icon) via a small event loop on its main thread; the download server runs behind it. On macOS it's a menu-bar agent (no Dock icon).
  • Menu: Open Concierge (launches a window if none is open) / Downloads: N / Quit (closes any window, then stops the daemon — the whole app stops).
  • The GUI is now ephemeral: closing the window fully quits it; the daemon + tray + downloads keep running. Reopen from the tray.

Fixes the Windows report where running the daemon showed no toolbar icon — the tray was in the GUI before. Note: Windows may tuck a new tray icon into the hidden "^" overflow; drag it onto the taskbar to keep it visible.

v0.11.5 — daemon owns the nxm handoff (no second window)

Choose a tag to compare

@msmfai msmfai released this 21 Jul 18:14

Completes the daemon split: the file-based heartbeat and the nxm:// handoff move off the GUI onto the daemon.

  • The daemon is now the registered nxm:// handler. A browser "Mod Manager Download" one-click launches the always-on background service (windowless), which queues the download and ensures a GUI is up to process it — spawning a GUI only if none is already open. So a one-click lands in the daemon, never a second window.
  • The daemon writes its own liveness heartbeat (shared concierge-platform helpers); the GUI keeps a heartbeat so the daemon can tell a window is open.
  • The daemon gets its own firehose log file, so handoffs and downloads are diagnosable on disk.

Verified: one-click with no GUI running → service + GUI spawned and the URL processed; one-click with a GUI already open → no second window, the running GUI handles it.

v0.11.4 — background download daemon + tray icon

Choose a tag to compare

@msmfai msmfai released this 21 Jul 17:20

Concierge splits into a background download daemon (server) and the GUI (client), with a platform tray/menu-bar icon.

Daemon + client/server split

  • concierge-daemon: a windowless background process that owns the download manager and serves it over a local socket (Unix domain socket on macOS/Linux, named pipe on Windows).
  • The GUI spawn-or-connects the daemon and routes downloads to it, so a download keeps running while the window is hidden to the tray. If the daemon is unreachable, downloads run in-process exactly as before — no regression.
  • The IPC protocol carries the same closed action-id vocabulary both views share; no parallel RPC surface. The daemon is the model in another process.

Tray / menu-bar icon (macOS status item, Windows notification area)

  • Menu: Open Concierge / Downloads: N / Quit. Clicks flow through the one dispatch path (new show_window/quit Intents, projected + handled in the headless view, covered by the contract tests).
  • Closing the window hides to the tray and keeps running; Quit from the tray is the real exit (minimize_to_tray defaults on).

Also fixed: a pre-existing startup hang where bg3::validate read modsettings.lsx (under iCloud-managed ~/Documents) synchronously — an evicted file froze launch. The read is now time-bounded.

v0.11.3 — settings projected into the view-model

Choose a tag to compare

@msmfai msmfai released this 20 Jul 18:56

Completes the by-construction model / view-model / two-view split.

Settings values are now projected as set:<key>=<value> actions, so the
machine/agent (headless) view can read and change every setting the human GUI
exposes — the last coupling needed for the two views to be drift-proof for both
actions and settings. A closed action vocabulary, forward/reverse
contract tests, a dispatch assert, and a ratchet guard keep them impossible to
drift by construction.

v0.11.2

Choose a tag to compare

@msmfai msmfai released this 20 Jul 18:36

Patch release v0.11.2 — the two views are now fully coupled for every action.

Concierge renders one view-model into two views: the GUI for people, and a text/automaton view an AI drives for testing. This release finishes coupling them across the entire action surface — every button (settings, sign-in, updater, browse filters, the agent terminal, the download session, per-mod row controls, game/profile selectors) now goes through the same shared model, so anything a person can click, the agent can drive, and vice versa. Two contract tests prove the two views' action sets are identical, and a build-time guard makes it impossible to add a control that bypasses the model. No user-facing behaviour change — this is correctness machinery.


Binaries for Linux, macOS, and Windows are attached below.

v0.11.1

Choose a tag to compare

@msmfai msmfai released this 20 Jul 15:00

Patch release v0.11.1 — architecture: the two views are now impossible to drift apart, by construction.

Concierge renders from one view-model into two views — the GUI for people and a text/automaton view an AI drives for testing. This release makes it structurally impossible for them to diverge: the action vocabulary is generated from a single source, both views are validated against it, and a build-time guard rejects any GUI control that doesn't go through the shared model. No user-facing change; this is correctness machinery so automated agent tests always cover the same surface humans use.


Binaries for Linux, macOS, and Windows are attached below.

v0.11.0

Choose a tag to compare

@msmfai msmfai released this 20 Jul 14:33

Minor release v0.11.0 — architecture: the download manager is now a true two-view surface.

Concierge renders from one view-model into two views: the egui GUI for people, and a text/automaton view an AI can drive headlessly (for agentic testing). This release brings the background download manager fully into that shared model, so the agent view can observe the queue (progress, speed, state) and drive every control — open/close, pause/resume/cancel per download, pause-all, clear — exactly as a human does. A drift-guard test locks it in.

No user-facing behaviour change; the download manager looks and works the same. This is groundwork so automated agentic tests cover the same surface humans use.


Binaries for Linux, macOS, and Windows are attached below.