Changelog

Every release, newest first.

  1. v0.109.0 2026-07-23 latest
    • Export a chat thread to Markdown — secrets scrubbed, ready to read and share.
    • Project Manager archetype — a one-click agent type in the new-agent picker.
    • Generated documents download again from the artifact panel.
    • Plugin panels no longer render dead on a sister agent.
  2. v0.108.0 2026-07-23
    • Human approval gates for workflows — pause a run at any step, then approve, edit, or reject.
    • execute_code runs in the packaged desktop app — a managed Python runtime, provisioned on demand.
    • Cowork's document skills (Word, Excel, PowerPoint, PDF) now work on the desktop app.
    • Plugins install their own dependencies on desktop — into the managed runtime, or as pure-Python wheels.
    • Fleet Room — summon the fleet from ⌘K, with presence, DMs, and broadcast.
    • Workflows honor a recipe's own fan-out width, with per-step timings.
    • The agent runtime setting now sits with the model it depends on.
    • Multi-server MCP bundles can seed each server with its own input value.
    • Fixes: creating a Cowork agent on desktop, knowledge-recall provenance, orphaned paused runs, and a host-gated "New agent".
  3. v0.107.0 2026-07-22
    • Generated files are now versioned artifacts — save_file_artifact.
    • The desktop app ships the document-generation stack, on by default.
    • Fleet agents accept operator inputs + secrets at create time.
    • Deterministic persona-drift detection.
    • Chat tab context menu — Close Others / Left / Right.
    • Cowork and every catalog archetype now appear in the new-agent picker on desktop and pip installs.
    • More reliable PyPI publishing — releases fire on the tag push.
  4. v0.106.0 2026-07-21
    • A2A client-side spec coverage: resubscribe() and push-notification registration.
    • Tutorial: two agents talking over A2A
    • A2A conformance reference
    • The conformance prober now drives real calls, not just method probes.
    • scripts/a2a_conformance.py — point it at any A2A 1.0 agent and get a conformance report.
    • Jump from a telemetry row to its Langfuse trace.
    • An a2a:<delegate> span around each outbound A2A dispatch.
    • Goal detail drawer.
    • Goal lifecycle actions.
    • Panel goals drive in a dedicated chat tab.
    • Shell/filesystem policy and Work folders moved onto the Filesystem tool group.
    • The agent card declares only the extensions this runtime actually emits.
    • One guided goal-creation wizard.
    • A goal set from the console starts driving immediately
    • The watch tools are gated behind watches.enabled and now default OFF
    • Mobile: the last row of content sat under the home indicator.
    • npm 10 can no longer install a silently-wrong dependency tree.
    • The A2A docs taught a wire format that 1.0 removed.
    • The documented version-negotiation model was wrong, including in our own test docstring.
    • Langfuse's A2A root span is a2a-stream, not a2a.task
    • docs/reference/a2a-endpoints.md's fleet auth predated ADR 0089 (the proxy *swaps* the Authorization header for the fleet service token; it doesn't forward the caller's verbatim), docs cited modules deleted in #453, ADR 0014 claimed a hitl-mode-v1 capability that exists nowhere, and ADR 0089/0075 statuses were stale.
    • No-progress detection now works for fuzzy (llm) goals.
    • A goal set could 500 after being persisted
    • Retired dead monitor-mode UI
    • PR review read the code as it was BEFORE the pull request.
    • The installed PWA painted its status bar with the brand accent.
  5. v0.105.2 2026-07-20
    • Plugin panels load again on a sister agent viewed from a token-gated hub.
  6. v0.105.1 2026-07-20
    • A fleet member's live console streams work again (/api/events).
  7. v0.105.0 2026-07-20
    • Plugins work again on sister agents in a fleet — over both HTTP and WebSocket.
    • Third-party attribution can no longer be silently wiped to UNKNOWN.
    • Fleet members no longer run open on loopback.
  8. v0.104.5 2026-07-20
    • A token-gated instance's own desktop app can reach it again.
    • The /code-review panel got sharper prompts
    • Settings ▸ Devices is hidden behind a developer flag (settings.devices, default off).
    • graph.sdk.start_goal_loop / stop_goal_loop are back — watch-based this time
  9. v0.104.4 2026-07-19
    • "Allow devices on my network" can no longer stop the app from starting.
  10. v0.104.3 2026-07-19
    • Enabling network access no longer hands you a secret you can't see.
    • The token prompt says where the token lives.
    • The desktop app authenticates itself instead of asking you for a token it already has.
  11. v0.104.2 2026-07-19
    • The desktop app no longer hangs on launch after enabling network access.
  12. v0.104.1 2026-07-19
    • Pairing works in the desktop app.
  13. v0.104.0 2026-07-18
    • Mobile is a chat-first app, not a shrunken console.
    • Add a phone by scanning a QR, and revoke it individually.
    • A managed Node runtime, provisioned on demand.
    • Bundles can seed MCP servers
    • A read-write-no-delete fence mode for the filesystem toolset
    • Telemetry extensions moved to URI-keyed metadata
    • Settings ▸ Integrations is now Plugins, matching what the section actually contains.
    • The console consumes @protolabsai/ui 0.57, which ships the touch floor upstream
    • A chat tab doing background work shows a processing dot
    • "+" no longer piles up empty chats.
    • Dropped the per-row "open in new window" action from the fleet switcher, which duplicated the row's own click behaviour.
    • uv is pinned to 0.11.29 in both release workflows
  14. v0.103.2 2026-07-17
    • Overlays no longer inherit the styles of the surface that opened them
  15. v0.103.1 2026-07-17
    • Dialogs opened from inside Settings are usable again.
    • QuickSetting chip dialogs honour depends_on.
    • uv.lock re-locked after the protolabs-agent PyPI rename: it still recorded protolabs-a2a as a git ref pinned to v0.2.0 while pyproject.toml had moved to the PyPI range >=0.2.1,<0.3
  16. v0.103.0 2026-07-17
    • Cowork mode — a prepackaged knowledge-worker archetype.
    • Archetype preview — see what you're committing to before you pick.
    • The wizard now finishes the mechanical setup it starts.
    • Notes render markdown as you type
    • Two core settings sections no longer file themselves under Integrations by accident.
    • A rejected settings save no longer leaves disk ahead of the running agent.
    • The shared note is guarded against lost updates
    • Console responses are gzip-compressed
    • ADR 0084
  17. v0.102.0 2026-07-16
    • Registered ACP coding agents now surface in the runtime + model pickers (#1993).
    • The agent can refine its own persona — a guarded edit_soul tool, off by default (#1985).
    • Chat: a stalled turn self-heals, so a large answer never spins "Working…" forever (#1982).
    • Chat: currency amounts no longer render as LaTeX math (#1983).
    • Console: chat report cards and system notes share a quieter, consistent elevation (#1992).
  18. v0.101.0 2026-07-12
    • HITL forms honor schema defaults and are fully keyboard-operable (#1978).
    • Plugins: uninstall now tears down live state (#1955).
    • MCP tool calls reuse one persistent session per server (default ON).
    • Favorite models + /model quick-switch (#1957).
    • Chat image controls: top-right action cluster + fullscreen Lightbox (#1960).
    • Chat image attachments are bridged into the media store so tools can act on them (#1969).
    • HITL forms float above the chat instead of shifting it (#1973).
  19. v0.100.0 2026-07-12
    • Secrets manager: pull env vars from external secrets managers — Infisical first (#1963).
    • Console: Settings ▸ Secrets panel for the secrets manager (#1965).
    • Plugins: surfaces reconcile on config hot-reload (#1961).
    • Plugins: refresh the last boot-only plugin wiring on hot-reload (#1958).
    • MCP: normalize discovered tool names to the documented <server>__<tool> form (#1962).
    • Plugins: consolidate the seam reference; fill gaps; fix drift (#1959).
  20. v0.99.0 2026-07-12
    • Plugins: an optional tier for requires_pip (#1953).
    • CI guard: the public roadmap can't rot silently (#1945).
    • Console: wait tool blocks surface a real waiting state (#1914).
    • Console: server-relative /media/ URLs render cross-origin (#1946).
    • Console: multimodal tool results render their text, not the raw envelope (#1947).
    • OpenAI-compat: /v1/chat/completions accepts multimodal content lists (#1943, #1949).
    • Console: the selected agent theme renders on first load (#1916).
    • Console: the mobile notch/status bar matches the header, not the accent (#1923).
  21. v0.98.0 2026-07-11
    • Autonomous operating model — goals · tasks · scheduling · watches as one OODA loop.
    • Media output channel for plugin tools (#1929).
    • Multimodal ToolMessage — a tool can return an image the vision model actually sees (#1930).
    • Reusable gateway HTTP client for plugins (#1931).
    • orgChart plugin (#1925).
    • Guide: safely exposing a protoAgent to the world (#1920)
    • Goal turns fire on turn 1 and are headless-safe (#1910/#1911/#1912).
    • Console: a completed long tool-call turn could render its reply twice (#1938).
    • Console: the auth dialog is a blocking modal (#1926)
    • task_output background-job tool.
    • Fleet delegation biases to fire-and-forget.
  22. v0.97.0 2026-07-08
    • Fleet trace export → the agent-fleet flywheel (the "Observe" seam, #1897).
    • Fleet-trace sink + PII redaction (scripts/sync_fleet_traces.sh, scripts/redact_fleet_traces.py).
    • Portable per-rig setup (scripts/setup_fleet_tracing.sh).
    • Bigger touch targets on phones.
    • Docs reader is a master-detail flow on phones.
    • Settings collapses to a single column on phones.
    • Modals/overlays use dvh on mobile.
    • Mobile viewport correctness for the console.
  23. v0.96.0 2026-07-07
    • Hermes is a first-class agent runtime
    • Fleet-wide distributed Langfuse tracing.
    • filesystem.allow_run defaults OFF on the headless tier
    • A fleet member's plugin views 401'd through a token-gated hub
    • A subagent hitting max_turns failed its whole delegation (GRAPH_RECURSION_LIMIT).
    • Fleet members no longer inherit the hub's identity.
    • An agent tracing to its own Langfuse project now produces a whole trace
    • A background knowledge-ingest job now wakes the agent when it finishes
    • Quieter plugin hot-reload logs
  24. v0.95.1 2026-07-07
    • A2A producer tasks GC'd while pending at turn end (#1713).
    • Classic A2A message/send got -32601 Method not found (#1854).
    • Artifact panel kept the stale palette after an app-theme switch (#1872).
    • Installed-plugin workflow recipes were silently invisible (#1867).
  25. v0.95.0 2026-07-06
    • Findings source attribution — non-LLM panel members.
  26. v0.93.1 2026-07-05
    • Supervisor on_crash bounded retry — RetryAfter + on_crash_max_attempts (#1823).
  27. v0.93.0 2026-07-05
    • protoagent model — point at a local LLM in one line.
    • Operator-MCP profiles + an env override, so "operate over MCP" is safe by default.
    • A first-class protoagent command — the terminal control plane.
    • React artifacts get a full design-system component set (@pl/ui), not just 9 primitives.
    • The shared ops/ layer — one operation, three projections.
    • GET /api/mcp/exposed — see which tools the operator MCP would hand a foreign client.
    • BREAKING: the goal API is only under the plural /api/goals* now.
    • /v1/chat/completions reports real token usage now, not zeros.
    • The plugin update-CHECK now authenticates private repos too, not just install.
    • The operator MCP no longer hands a foreign client HITL tools that hang it.
    • plugin install of a PRIVATE GitHub repo now works on the default git path.
  28. v0.92.0 2026-07-05
    • System lifecycle events
    • Bulk delete-by-source in the Knowledge view
    • web_search (DuckDuckGo) failed with CERTIFICATE_VERIFY_FAILED in the desktop app.
  29. v0.91.0 2026-07-04
    • Goal completion contracts
    • Fleet members can autostart on boot
    • Guided goal-creation form
    • Composer/HITL forms support conditional fields
    • /goal {json} carries the completion contract
    • delegate_to no longer hard-fails on member turns >60s
    • Memory ▸ Injections is legible to non-developers
  30. v0.90.0 2026-07-04
    • Background fan-outs report back in ONE briefing, not N
    • Career Coach in the plugin catalog
    • Server-initiated turns show a "responding…" indicator
    • Shift over the add-chat button previews incognito
    • Chat errors surface as a toast, not an inline banner
    • Browser-style UI zoom (⌘/Ctrl + / - / 0)
    • A saved theme survives a reload
    • Scaffolded plugins that register a subagent or use Knobs pass their own smoke test
  31. v0.89.0 2026-07-04
    • Quick-chat with any fleet agent from the command palette
    • SOUL.md keeps a version history — never lose a persona iteration
    • Telemetry is tagged with the active persona revision
    • Browser-style UI zoom — ⌘/Ctrl + / - / 0
    • Plugin setup: a "needs setup" cue + guided config for unconfigured plugins
    • Plugins declare required config and degrade gracefully when it's missing
    • Opt-in plugin auto-update policy
    • coder.solve() can run one forced rung, for testing
    • Plugins can open a form in the chat, not just reply
    • /effort opens a picker in the composer
    • Watches honor their per-watch interval_s cadence
    • Hot-reloading a plugin refreshes its goal/watch verifier + hook registries
    • Plugin smoke tests can assert surface lifecycle wiring
    • The plugin loader no longer nags about the prescribed /api/plugins/<id> data router
    • A manifest-less ghost dir under plugins/ no longer blocks install/uninstall
    • A dropped provider stream reconnects instead of killing the turn
    • A locked checkpoint write no longer silently kills a background turn
  32. v0.88.0 2026-07-03
    • The Memory inspector tells the truth about what injects
    • Memory view accuracy and polish
  33. v0.87.0 2026-07-03
    • wait no longer stacks wake-ups — one pending wait per thread
    • Dismiss a hard turn-error bubble in place
  34. v0.86.0 2026-07-03
    • Declining a command is no longer a scary full-screen error
    • Long commands and errors scroll instead of filling the chat
  35. v0.85.0 2026-07-02
    • Semantic recall (embeddings) now ships OFF by default
    • Windows reinstall over kept data no longer fails on a running server
    • current_time works on Windows (and database-less hosts)
    • A hung gateway embedding route can no longer freeze chat
  36. v0.84.0 2026-07-02
    • The Windows desktop sidecar no longer self-kills ~2s after boot
    • Desktop's system-wide hotkeys are now rebindable, visible, and self-healing
  37. v0.83.0 2026-07-02
    • One-line background results render as a compact inline note, not a report card
    • Per-subagent tool fences now apply to detached background jobs
    • Desktop no longer aborts on launch when a global hotkey is already taken
    • Desktop no longer launches into a silently dead window when port 7870 is taken or the server dies
    • Release-tag-pinned plugins now see updates.
  38. v0.82.0 2026-07-02
    • The console now says what each subagent does
    • Plugin metric timeseries — sdk.record_metric / metric_history / metric_last
    • Typed event contracts — emits: entries can declare payload schemas
    • Knowledge lifecycle — sdk.knowledge_purge + epoch scoping
    • Plugin-view event bridge: replay-on-subscribe + hidden delivery
    • graph.sdk.react_on — reactive-rule sugar
    • Plugins own their recurring cadence — and it dies with them
    • Plugins can now enumerate and remove watches
    • graph.sdk.spawn_background + graph.sdk.background_status
    • Parallel approval-gated tool calls no longer crash the resume.
    • Re-installing a plugin from its own origin converges instead of erroring.
    • Testkit FakeRegistry now mirrors the full PluginRegistry surface
  39. v0.81.0 2026-07-02
    • seccomp-profile.json moved to deploy/.
    • The in-app update notes now match the Discord release announcement
  40. v0.80.0 2026-07-02
    • Remote fleet members are fully manageable from the console
    • A down or mis-tokened fleet agent gives you a way out instead of a boot hang.
    • Background results are pushed, indexed, and worker-disposable
    • The Work surface is card-first — no tabs
    • The background report card is a real card
    • /compact is now behind the chat.compact developer flag
    • tools.disabled now actually removes any tool — including run_command — and the filesystem knobs are per-agent Settings toggles.
    • Fleet: the hub no longer lends a remote member's token over an unauthenticated WebSocket, and live events now work through a token-gated hub.
  41. v0.79.0 2026-07-01
    • Memory-regression evals
    • Memory inspector console surface
    • Incognito thread toggle in the console
    • Trust-tiered injection
    • Hot-memory write visibility
    • Supersede-don't-delete staleness
    • Namespace-scoped auto-injection
    • Incognito threads
    • Per-turn memory-injection record
    • Memory-inspector REST surface
    • recall_session(session_id) starter tool
    • Knowledge Base view — collapsible source grouping + Shift+click quick-delete.
    • One-command install
    • Agent archetypes are a data-driven registry
    • CI workflows are fork-friendly
    • Fleet "New agent" now applies the archetype's persona
    • Cross-session memory injection is now an attributed digest inside an untrusted-reference envelope
    • Memory rows carry provenance.
    • The docs build now gates every PR.
    • Settings string_list fields can now carry an empty-string entry
    • Chat code blocks: no empty header gap, a distinct lighter well, and no panel-stretch.
    • Chat session-identity hygiene
    • Artifact plugin (0.15.0) — pointer lock now works in games/canvas/3D artifacts.
    • Artifact plugin (0.15.0) — SVG / Mermaid now render crisply instead of pixelating on zoom.
    • Artifact plugin (0.15.0) — the selected artifact + version now survive a tab switch.
    • A stale untracked plugin copy no longer shadows a newer bundled one.
    • Plugin install git clone --no-hardlinks
    • Console dev server no longer defaults to the prod backend.
    • Removed the broken built-in "Project Manager" archetype.
    • Instance collision warning no longer false-alarms on a shared box root
    • Setup wizard: the archetype bundle-install result is no longer swallowed.
    • Setup wizard: picking a persona-less archetype no longer blanks the editor.
  42. v0.78.0 2026-07-01
    • Developer panel — view & toggle developer flags
    • Developer flags — backend foundation
    • Chat composer: terminal-style input history
    • Artifact panel: pan & zoom for diagrams
    • registerKeybinding on the fork extension seam
    • Watch primitive — supervise many external conditions at once
    • sdk.run_in_session(session_id, prompt)
    • Two-credential auth: auth.federation_token
    • Console set-goal form
    • Chat: slash commands trigger mid-input + render as command bubbles
    • Agent switcher: always available, with a Fleet-settings shortcut
    • Chat: Cmd/Ctrl+O toggles the latest tool-call block
    • Chat: /compact — summarize + archive a long thread
    • Knowledge panel: Upload / Add now open in a dialog
    • Goal mode is now drive-only; the monitor disposition is retired
    • Goal continuation protocol → tools
    • The A2A-streaming and non-streaming goal drive loops are unified (#1497), fixing a fresh-context thread-id drift.
    • Settings sub-panels share one container
    • wait tool output is conversational
    • Desktop app builds are on-demand
    • RCE-via-chat closed
    • Watch evaluation is serialized per watch id
    • New ADR 0066 (federation token + operator channel) and ADR 0067 (watch primitive); ADR 0030 marked superseded
    • PROTO.md § Run it
  43. v0.77.0 2026-07-01
    • Cross-machine fleet hardening — A2A federation is fault-transparent
    • Remote fleet members surface their health immediately
    • Discovery auto-sweeps on hub boot
    • config explain diagnostic
    • Real multi-instance fleet test harness
    • Artifact is now a bundled core plugin, on by default
    • Artifact render errors feed back to the agent
    • Multi-step wizard + choice-card HITL forms
    • The agent can ingest documents & media into its knowledge base
    • Two-tier instance paths (box / instance) — one resolution rule, no more double-scoping
    • React artifacts are more forgiving + the render loop is proactive
    • Docs reader: in-content cross-reference links route in-app instead of breaking the iframe
    • A crashed co-located fleet member is now detected and restartable
    • Autonomous turns no longer deadlock on a human-input pause
    • HITL tools are hard-denied to subagents
    • Settings surfaces when the agent config shadows a host-scoped field
    • The ⌘K command-palette chat survives being closed mid-turn
    • Knowledge: fleet/commons sharing + the reusable background-job primitive
  44. v0.76.0 2026-06-30
    • "Manage plugins…" in the rail context menus
    • Reveal toggle on secret fields
    • Settings true-up — one canonical config system
    • Settings surfaces no longer swallow load/save errors
    • Identity name and fleet delegates save through the canonical settings cascade
  45. v0.75.0 2026-06-29
    • Egress allowlist in Settings
    • Custom model gateway no longer blocked on the connection test
    • Plugin config appears without a restart
  46. v0.74.0 2026-06-29
    • Bypass-permissions mode
    • run_command runs shell operators
    • Slash-command notices render as system notes
  47. v0.73.0 2026-06-29
    • Background batch delegation
    • Live tool-card feed for background agents
    • Settings ▸ Knowledge split into sub-sections
    • Tools view — MCP tools grouped by server
    • Settings IA — domain-first
    • Tools view — grouped by plugin + subsystem
    • Built-in subagents answer natively
    • CI off the deprecated Node 20 action runtime
    • Structured-output parser retired
    • Concurrent same-conversation turns no longer corrupt chat history
    • Chat answers no longer truncated; A2A tasks return the real final answer
    • Subagent token streams isolated from the live chat
    • Cross-tab chat no longer clobbers itself
    • ACP coding-agent eviction race closed
    • Cross-context streaming guard
    • File uploads restore the token prompt on auth failure
    • Secure defaults for metrics and MCP secrets
    • Backend launch-hardening — ingestion SSRF guard + credential hardening
    • Plugin auth-bypass and event-loop hardening
    • Fail-safe plugin secret redaction
    • Operator-token storage guidance
  48. v0.72.0 2026-06-28
    • Context-window meter + per-turn cost/time
    • Vision-describe pass for text-only models
    • "Get models"
    • Inline components re-enabled
    • Per-stimulus Activity attribution
    • Inline action feedback → toasts
    • Deduped inbox/Activity now-item notifications + deliver-before-fire
    • Clear error for images on a text-only model
    • Chat-tab trash only on the hovered ✕
  49. v0.71.0 2026-06-27
    • Panel-focus keybindings
    • ⌘K palette chat streams with live text↔tool interleave
    • Streaming answer text is full-width, no loading side-bar
    • No hardcoded emojis in the UI
    • Full-screen document viewer
    • Keyboard shortcuts
    • Quick-delete a chat tab
    • Hide a rail surface without disabling its plugin
    • Configure a plugin from its rail icon or util-bar widget
    • Chat tab context menu
    • Fork-safe console behavior seams
  50. v0.70.0 2026-06-24
    • Plugins can own /<name> chat control commands
    • "Report a bug" link in the hamburger menu
    • GitHub is no longer in core — it's a standalone plugin
  51. v0.69.0 2026-06-24
    • Native reasoning — the agent's thinking now streams from the model, not a forced text protocol.
    • Chat markdown now renders through the design system's Markdown renderer
    • Heavy research turns no longer wedge the server.
  52. v0.68.0 2026-06-23
    • scripts/reset.sh — factory-reset the default (prod) instance from the CLI.
    • Chat tool-call rendering overhaul.
    • show_component (inline component rendering, ADR 0051) is temporarily disabled
    • The Goals and Tasks panels refresh on a bus push instead of polling every 5s.
    • Failed or user-cancelled task delegations now close as error cards (the X).
    • A subagent's own tool calls reliably nest under the delegation card.
    • Mid-stream output rendering no longer rescans the whole response on every chunk.
    • Empty-rail panel toggles fully disable.
    • Console-poll handlers no longer block the event loop.
    • The Docker image now serves the React console and stays in dep-lockstep with pyproject.
  53. v0.67.0 2026-06-22
    • Per-agent ACP launch overrides are honored.
    • ACP delegate health probe is initialize-only — it no longer opens a session every 120s.
    • macOS desktop app finds Homebrew/nvm/Volta/asdf-installed binaries.
    • Workspace port assignment skips OS-occupied ports.
    • The per-agent theme is instance-scoped.
    • The browser tab favicon + theme-color follow the active per-agent theme.
    • ACP coding-agent subprocesses no longer leak as orphaned processes.
    • Dialogs no longer render their content cramped flush to the body edge.
    • Coding-agents guide: Codex needs the codex-acp adapter.
  54. v0.66.0 2026-06-21
    • The agent's task board is now "tasks", not "beads."
    • Create a task from a dialog.
    • Dropped the dead br fallback from the core task board.
  55. v0.65.0 2026-06-21
    • Schedule view: open a job to read the full prompt + edit it in place.
    • Chat: reasoning renders inline, in emission order.
    • Deleting a scheduled job confirms first.
    • Removed the Workstacean scheduler backend.
    • Chat: assistant text and tool calls render in emission order.
    • Settings: Host-console edits stop "resetting."
    • ACP: load_skill works through the operator sidecar.
    • Chat: no stray gap between tool calls.
  56. v0.64.3 2026-06-20
    • Adding or editing a delegate now opens in a dialog instead of pushing the Delegates panel around.
    • The New/Edit skill dialog has more breathing room — roomier padding and field spacing.
  57. v0.64.2 2026-06-20
    • The "Browse common servers" dialog now fills its height with the card grid — search stays pinned, no dead space below the cards.
  58. v0.64.1 2026-06-20
    • Desktop: the "Browse common servers" picker now lists the curated MCP servers — they weren't being bundled into the packaged app.
    • The "Host · box defaults" badge moved into the Settings dialog header so it no longer pushes the panel content down.
    • More breathing room in the "Browse common servers" dialog — the search and cards no longer sit flush to the edge.
  59. v0.64.0 2026-06-20
    • Quick-add common MCP servers from a curated picker in Settings ▸ MCP — one click (or a path/token) and the server's tools are live.
    • Share MCP servers across the box: a layered agent runs a shared commons of servers alongside its own, with one-click share/unshare and tier badges.
    • The desktop in-app updater now shows the curated changelog for the new version instead of raw commit subjects.
  60. v0.63.1 2026-06-20
    • Uninstall works again for git-installed plugins — a regression had left them installable and toggleable but not removable.
    • Plugin management is consolidated into one surface, and Install-from-URL is now a dialog opened from the Installed toolbar.
    • The host-scope cue in Settings is a compact "Host · box defaults" badge instead of a full-width banner.
    • Tightened the Execute Code plugin's catalog-card description so it fits the display.
  61. v0.63.0 2026-06-20
    • Shared knowledge tier — a commons every agent on the box can read, with tier badges and share/unshare in the console.
    • Skills got progressive disclosure (an always-on index + load-on-demand) and tier-aware curation.
    • execute_code is now an opt-in plugin — enable it under Plugins; it's out of the default tool set.
    • A new desktop download page with a signed macOS installer.
    • Honest middleware surfaces — dropped a dormant capture path and made the session-memory and enforcement surfaces say what they actually do.
  62. v0.62.0 2026-06-20
    • The Knowledge rail icon no longer disappears.
    • The active tab's underline is the brand accent again, not white.
    • Removed the "This is the memory the agent retrieves into context…" footer
    • Docs accuracy pass.
  63. v0.61.0 2026-06-20
    • An ACP coding-agent runtime now gets protoAgent's full toolset by default.
    • Removed the redundant "working…" status strip above the chat composer
  64. v0.60.0 2026-06-19
    • The app side drawer now has a Changelog link.
    • Goal mode is always on.
    • The frozen desktop app now bundles config/skills.
  65. v0.56.1 2026-06-19
    • The in-app ⌘K palette no longer inherits the desktop launcher's frosted styling.
    • Plugin entries in the palette dropped their "open here" hint.
  66. v0.56.0 2026-06-19
    • The command palette (⌘K) is now command-driven.
  67. v0.55.1 2026-06-19
    • The desktop quick launcher (⌥Space) is now a frosted, rounded floating panel.
  68. v0.55.0 2026-06-19
    • Chat can dock at the bottom panel.
    • The chat "still streaming" pulse now shows on the right rail and bottom dock.
  69. v0.54.0 2026-06-19
    • Raycast-style global quick launcher (desktop).
    • Background agents widget no longer needs a page reload to appear.
  70. v0.53.0 2026-06-19
    • Docs plugin — read and ask about protoAgent's own docs
    • user_only skills
    • Desktop update notice is now a full modal with a markdown changelog.
    • Plugin views are themed in the desktop app
  71. v0.52.0 2026-06-19
    • Desktop app catches up to v0.51.x.
  72. v0.51.1 2026-06-19
    • Utility bar in the console.
    • Documentation overhaul.
    • The marketing changelog no longer shows empty releases.
  73. v0.51.0 2026-06-18
    • "Skills loaded" chip in chat.
    • Author/edit skills in a modal dialog
    • Dropped the never-used emit_skill capture path.
    • Desktop sidecar bundles config/plugin-catalog.json
  74. v0.50.0 2026-06-18
    • Skills CRUD in the console.
  75. v0.49.1 2026-06-18
    • Background-job dialog shows the full result
  76. v0.49.0 2026-06-18
    • Native command-palette chat
  77. v0.48.0 2026-06-18
    • Command palette (⌘K).
    • Unified plugin manager.
    • Always-on hamburger menu
    • Discord is no longer bundled
    • Plugin git refs are validated before fetch
    • ADRs 0057 / 0058 / 0059
  78. v0.47.0 2026-06-18
    • Google (Gmail + Calendar) and Slack are no longer bundled — they move to standalone external plugins.
  79. v0.46.0 2026-06-17
    • In-app update notice with the changelog
  80. v0.45.0 2026-06-17
    • Real chat streaming in the desktop app
    • Desktop in-app updater no longer 404s
  81. v0.44.0 2026-06-17
    • Desktop updater public key now matches the signing key
  82. v0.43.0 2026-06-17
    • Portfolio plugin.
    • Mid-turn steering.
    • Drag-to-reorder chat session tabs.
    • Setup wizard + forms rebuilt on the design system
    • Instance-scoped agents resolve their installed-plugin config correctly
    • ADR 0056
  83. v0.42.0 2026-06-17
    • ACP forget_session — start a coder fresh when its workdir was recreated.
    • dream & distill — scheduled self-curation subagents.
    • New-user setup wizard, rebuilt around archetypes.
    • ACP coding-agent client: a real coding turn died on its own output.
    • operator.project_dir actually drives the workspace root.
    • Setup probe could 500 or hang the runtime step.
    • Out-of-graph subagent runs now see the lead's full tool set.
  84. v0.41.0 2026-06-15
    • Knowledge search returns the RRF relevance score.
    • wait resumes now appear live in the chat tab.
    • Inbox: a fired now item is now marked delivered.
    • The fallback-models setting picks from the gateway list.
    • Scheduler startup catch-up no longer logs scary tracebacks.
    • The scheduler retries the jobs.db owner-lock instead of giving up.
    • **set_goal rejects an unknown verifier instead of creating an unsatisfiable
    • Settings model fields offer the gateway's model list.
    • The settings schema is cached client-side.
    • Per-tab model selection.
    • One-call goal-driven recurring loop (graph.sdk.start_goal_loop / stop_goal_loop).
    • **Plugin telemetry + agent decision-log kit (graph/telemetry.py, `from graph.sdk import
    • **Runtime knobs + presets control surface (graph/knobs.py, `from graph.sdk import Knobs,
    • Host-free plugin test harness (graph/plugins/testkit.py).
    • Supervised background-task helper (graph/supervisor.py, from graph.sdk import supervise).
    • The Tools tab shows exactly what the agent can call.
    • Slash-command palette can't drift from the dispatcher.
    • Background subagent results are delivered back to the chat that started them.
    • Non-streaming chat no longer returns a silent empty 200.
    • First-party web-research skill is reachable again.
    • set_goal is now actually bound to the agent.
    • wait's same-session resume now works.
  85. v0.40.0 2026-06-14
    • Left panel no longer springs back to ~50% when resized smaller.
    • Opt-in JSON logging (LOG_FORMAT=json)
    • Deploy guide: backup/restore + shutdown semantics.
    • wait resumes in the same conversation
    • Background-agent notifications render legibly again.
    • wait tool — yield instead of busy-polling
    • Paste images + large text as attachments
    • File-only chat send
    • User-facing skills — trigger a skill with a slash command
    • Chat message toolbar — copy, fork, regenerate
    • scheduler.fired event + orphaned push-config sweep
    • Native vision in chat
    • A2A alignment polish + realtime cost/goal events
    • Renderable chat components over A2A
    • Background jobs: realtime progress + stop/inspect controls
    • Reasoning display in chat
    • Background-jobs console widget
    • Chat file upload (composer UI).
    • Background subagents wake the agent on completion
    • Chat attachments — tiered context (backend)
    • Background subagents
    • Smarter subagent delegation
    • Audio & video ingestion
    • Document ingestion engine
    • Contextual enrichment on knowledge ingest
    • Document chunking on knowledge ingest
    • Retrieval-quality eval harness
    • Host config settings regrouped
    • Chat composer migrated to the design-system PromptInput
    • Batched embedding on document ingest
    • Parallel contextual enrichment on ingest
    • Semantic recall tuned + made tunable
    • Setup wizard slimmed to the essentials.
    • GitHub Copilot is now selectable as the ACP runtime
    • Chat composer focus polish.
    • Embedding circuit breaker clears on a passing connection test.
    • Knowledge embeddings default to qwen3-embedding.
  86. v0.39.0 2026-06-13
    • Restart the server from the console — a gated POST /api/restart plus a Settings▸Plugins button (no terminal needed for a change that can't hot-load)
    • The left console panel can be dragged down to 200px without snapping back to 280
    • OpenShell deploy path validated end-to-end against OpenShell v0.0.59
  87. v0.38.0 2026-06-13
    • ACP client: restart-surviving sessions + thought streaming
    • Settings: a scalar multiline text field + conditional depends_on visibility
    • SSRF: the model-probe and fleet-remote registration now run egress checks
    • **A plugin's declared secret can no longer slip into the tracked config YAML when
  88. v0.37.0 2026-06-13
    • graph.sdk.complete() — a bare LLM completion for plugins.
    • Settings is a vertical-nav + collapsible-groups layout now.
    • Design system bumped to @protolabsai/ui 0.30.0
    • The topbar Settings overlay panel fills the full dialog height
  89. v0.36.0 2026-06-13
    • The committed plugins.lock now ships empty.
    • One-click plugin sync from the console.
    • Knowledge base CRUD from the console.
    • Harvest-on-delete is now opt-in.
    • Drag-and-drop rail positions for plugin views now survive a reload.
    • A render error no longer white-screens the console
    • The documented kit-loading pattern for plugin views was broken
    • The console prompts for the operator token on 401
    • The Notes plugin editor adopts the DS plugin kit (rule 4)
    • Design system bumped @protolabsai/ui 0.26.2 → 0.29.0 (+ @protolabsai/design 0.5.1).
    • ADR 0049 — bundle pin lifecycle
    • Force re-install no longer claims a live hot-mount it can't deliver (#942).
    • Annotated-tag pins no longer report a permanent false "Update available".
  90. v0.35.3 2026-06-12
    • **Identity panel: the "Saving writes SOUL.md…" helper + save status now sit
    • Desktop first-run: panels no longer flash "Load failed" and need a reload.
    • macOS desktop: the brand again clears the native traffic lights.
  91. v0.35.2 2026-06-12
    • Switching agents in the desktop app no longer breaks the window.
    • The app version is shown in Settings ▸ Host / App ▸ Overview
  92. v0.35.1 2026-06-12
    • **The desktop app's backend now actually starts (it was dead on arrival in
    • Desktop release builds now write logs.
  93. v0.35.0 2026-06-12
    • **Box-runtime knobs (bind interface, fleet ports, discovery, warm policy) are now
    • An app update can no longer silently strand fleet members on the old binary
    • The desktop app updates itself in place.
    • **Session memory now persists on non-container hosts (and stops writing to the drive
    • The console is an installable PWA (manifest-only — deliberately no service worker).
    • **A secret saved for an installed-but-DISABLED plugin now routes to secrets.yaml,
    • **The devkit's "edit then reload_plugins" loop now picks up edits to EVERY file, and
    • Settings are reorganized around *scope* — a two-home shell + contextual quick-settings.
    • The shared-skill commons is now legible in the console.
    • macOS desktop releases are now verified pristine — and the DMG itself is notarized.
    • Desktop builds for Linux and Windows.
    • A configured plugin/model secret now shows a clear "set" badge in Settings.
    • Adopt @protolabsai/ui@0.26.2
    • **A fleet member's plugin secret (e.g
    • Switching to a not-yet-running fleet agent no longer flashes errors in its panels.
    • A declined or failed tool now shows the red X on its card, not a green "done".
    • Approving a gated action no longer dumps an "approved" bubble into the chat.
    • Resizing panels felt sloppy and "wouldn't close right" over plugin views.
    • Swapping between fleet agents wiped the chat view.
    • The fleet proxy now forwards WebSocket upgrades (#883).
    • Installing a plugin from the console now auto-enables + runs it
    • Grouped the loose root-level modules into packages
    • The Gradio chat UI (the --ui full tier).
    • **The desktop app reported its version as 0.0.0 (version-coherence Cross-cutting
    • **Fleet members render plugin views with no design system (version-coherence
    • The plugin devkit can now build a plugin AND run it live — no restart
    • plugin new / plugin new-bundle CLI
    • Spin local fleet members down when the host exits (version-coherence Axis 1).
  94. v0.34.0 2026-06-10
    • CSS comment corruption that silently shrank plugin iframes (build guard).
    • Design-system 0.26 + slug-aware plugin-kit apiFetch/apiUrl (protoContent#208).
    • Plugin update / version-awareness.
  95. v0.33.0 2026-06-10
    • Architectural import contracts in CI
    • Hub↔remote version handshake — fleet version skew is visible now
    • Design-system 0.25 adoption + theme.css decomposition (#832).
    • Layered settings cascade + settings IA.
    • Plugin-view authoring hardening (#884).
    • Light mode works on the hand-rolled chrome (#842).
    • **Enabling a plugin's console view works immediately
    • Plugin views resolve on fleet members, not the hub (#879).
    • Host defaults renders as one cohesive panel (#878)
    • A single Ctrl-C shuts the server down cleanly (#882).
    • config_to_dict now emits the complete plugins section
    • A2A task records no longer accumulate forever on an always-on agent
    • Webhook DNS resolution no longer blocks the event loop
    • min_protoagent_version is actually enforced
    • Autostart launches the server again
    • Knowledge embedding no longer blocks the event loop
    • Chat no longer rewrites localStorage on every streamed token
    • Token-less non-loopback binds now refuse to start.
    • **Persistence hardening
    • Pinned the release-tools clone in the PR gate
  96. v0.32.0 2026-06-10
    • Layered settings cascade — host-shared defaults agents inherit and override
    • Remote fleet members — the agent there, the UI here
    • Tenant guard
    • Tailnet discovery
    • Co-located-instance warning
    • Cross-agent "turn finished" toasts
    • Opaque agent ids + rename
    • Enable delegates without a restart
    • Cold agents resume on navigation
    • Discover no longer lists a co-located agent twice
    • mDNS advertise actually works
    • A2A task reconcile had rotted against a2a-sdk 1.1
    • Each fleet hub owns its own registry
    • pyproject.toml is the dependency source of truth
    • Config is a single source of truth
    • Shell + settings banners are the design system's Alert
    • Retired the deprecated peer_consult / peer_list tools
  97. v0.31.0 2026-06-10
    • Intro splash shows once per session
    • Plugin devkit refreshed (v0.2.0)
    • Artifact plugin is now external
    • Design system → @protolabsai/ui 0.18, with console polish
    • The /active global-pointer proxy machinery
    • Retired Module Federation
    • Fleet console — run a fleet of agents from one console.
    • Chat panel is a slot
    • Plugin-driven console navigation
    • Goals come alive in the console
    • Goals broadcast on the event bus
    • Telemetry opt-out in Settings
    • Plugin notification dots + event relay
    • Plugin event bus
    • Fork extension seam
    • Generative-UI artifacts
    • Generative-UI artifacts
    • Secret-scan CI gate
  98. v0.30.0 2026-06-09
    • Notes plugin — the first-class React reference plugin
    • Plugin trust gate
    • Plugin-UI SDK: host bridge + reference remote
    • Plugin-UI SDK foundation
    • Mobile shell
    • Everything-swappable rails
    • Right-click context menus
    • Design-system foundation
    • Swap surfaces between rails
    • Resizable right panel — real handle
    • Symmetric dual rails
    • Persisted UI state
    • Plugin UI — first-class React
    • ACP persona reaches GitHub Copilot
    • ACP turns attributed correctly in telemetry
    • Console upgraded to React 19
  99. v0.29.0 2026-06-08
    • ACP answer-text streams
  100. v0.28.0 2026-06-08
    • ACP tool calls surface as cards
    • ACP runtime adopts your persona
    • Runtime selector leads the Agent settings
    • Auto-scoping for co-located instances
    • ACP-only setups need no gateway
    • Agent runtime selectable in the console
    • ACP delegate teardown
    • ACP runtime: agent now uses protoAgent's operator tools, not its own
    • ACP runtime: request-metadata scope cross-context reset
    • Instance-scoped config
    • code_with tool + the coding_agent plugin
  101. v0.27.0 2026-06-08
    • Run protoAgent's brain on a coding agent — proto, Codex, or Claude can now drive the runtime over ACP, while protoAgent stays the operable A2A / console / goals / scheduling shell around it.
    • Publish protoAgent's tools as an MCP server — point Claude Desktop, Cursor, or a coding agent at an instance and operate it (notes, beads, memory, workflows), allowlist-gated.
    • Context is assembled cache-friendly under the hood — a stable persona prefix plus per-turn deltas — so the coding agent's own prompt caching stays intact.
  102. v0.26.0 2026-06-08
    • Settings now live where they belong — agent settings in the Agent view, memory settings in Knowledge, and a leaner central Settings (Overview, Telemetry, Plugins, System).
    • The Plugins page is tabbed (Local, Market, Download) with one-click enable/disable — no config editing or restart for most plugins.
    • Add MCP servers right from the console — fill a quick form or paste a standard JSON config blob, and they connect live.
  103. v0.25.0 2026-06-08
    • Reorganized console — the agent's makeup (identity, tools, MCP, subagents, skills, middleware) lives in one Agent section; Knowledge is a single panel; status + telemetry moved to Settings.
    • Schedule is now a one-click right-rail panel with a friendly editor — calendar, presets, and timezones, no hand-written cron.
    • Plugins can contribute middleware and right-rail panels now, and a plugin view can use any icon (no allowlist).
    • Leaner core — GitHub tools are an opt-in plugin and the tool list is grouped by subsystem.
    • Reliability — scheduled tasks no longer fire duplicates or run away, and goals no longer leak between agents.
  104. v0.24.0 2026-06-08
    • A new Features page comparing protoAgent to the alternatives, plus headless docs — run it over the OpenAI-compatible API or A2A with no UI.
    • Telemetry you can act on — export to CSV, see on-disk size, and a retention guardrail so it can't grow unbounded.
    • Pin a specific model per subagent from config.
    • A friendlier Schedule tab and a consistent panel layout across the console.
  105. v0.23.0 2026-06-07
    • Pluggable knowledge backend — swap the default SQLite store for your own vector database as a plugin.
    • Monitor goals — long-running objectives the agent checks on a cadence and reacts to.
    • A communication-plugin standard with a first-party Slack plugin, alongside Discord and Telegram.
    • "Playbooks" renamed to "Skills" for clarity.
  106. v0.22.0 2026-06-07
    • The agent can set its own standing goals, ground-truthed by plugin verifiers, with lifecycle hooks.
    • Plugins can contribute goal verifiers and a wider set of console-view icons.
  107. v0.21.0 2026-06-07
    • Plugin Devkit — a featured plugin that teaches the agent to build its own plugins (a scaffold tool, a plugin-architect subagent, and the authoring skill, in one bundle).
    • Clean plugin delete — uninstall now also removes a plugin's enabled reference, with --purge to wipe its config + secrets too.
  108. v0.20.0 2026-06-06
    • Install plugins from a git URL — `python -m server plugin install <url>`, pinned in a lockfile, with the safety model built in (install ≠ enable ≠ trust).
    • A plugin repo is a full bundle: tools, subagents, skills, workflows, and console views all come in.
    • Console Plugins panel — paste a URL, review, install, uninstall.
  109. v0.19.0 2026-06-06
    • Plugins can add their own console rail views — a dashboard or page, no console rebuild.
  110. v0.18.0 2026-06-06
    • Token-by-token answer streaming in the console chat.
    • Chat keeps going when you navigate away and back, and self-heals an interrupted stream.
    • Brand favicon across the app + docs.
  111. v0.17.0 2026-06-06
    • Unified delegate registry + a hot-swappable console panel — manage the agents and endpoints your agent talks to (a2a / openai / acp) from Settings.
  112. v0.16.0 2026-06-06
    • Spawn CLI coding agents over ACP — hand a real coding job to protoCLI, Claude Code, Codex, or Gemini CLI.

Full release notes + source on GitHub.