Skip to content

This release adds 4 notable features for engineering teams evaluating rollout.

Published 15d AI Coding Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-coding claude claude-code cli codex cursor
+13 more
factory-droid-cli gemini gemini-cli github-copilot-cli hermes-agent llm mistral-vibe opencode orchestrator pi tmux vibe vibe-coding

Affected surfaces

auth deps

Summary

AI summary

Multi-repo workspace support added with Cockpit TUI enhancements, logging and theme overhauls, auth session persistence, web widget fixes, dependency bumps, and expanded testing framework.

Changes in this release

Feature Medium

keep bound devices signed in across token rotation

keep bound devices signed in across token rotation

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Feature Medium

Cockpit in the TUI (native ratatui view + CLI verbs + cross-machine)

Cockpit in the TUI (native ratatui view + CLI verbs + cross-machine)

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Feature Medium

consolidate sink + rotation under logging

consolidate sink + rotation under logging

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Feature Medium

comment on diff + more polishing fixes in cockpit

comment on diff + more polishing fixes in cockpit

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Feature Medium

add --auth=<mode> selector and --behind-proxy for reverse-proxy deployments

add --auth=<mode> selector and --behind-proxy for reverse-proxy deployments

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Feature Medium

honor sandbox mode in cockpit sessions

honor sandbox mode in cockpit sessions

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Feature Low

Add configurable tool sessions

Add configurable tool sessions

Source: granite4.1:30b@2026-05-19-audit

Confidence: low

Dependency Medium

bump tower-http from 0.6.8 to 0.6.10

bump tower-http from 0.6.8 to 0.6.10

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Dependency Medium

bump which from 7.0.3 to 8.0.2

bump which from 7.0.3 to 8.0.2

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Dependency Medium

bump tokio from 1.52.1 to 1.52.3

bump tokio from 1.52.1 to 1.52.3

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

tighten codex status detection

tighten codex status detection

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: high

Bugfix Medium

exempt loopback from passphrase factor and surface TUI startup errors

exempt loopback from passphrase factor and surface TUI startup errors

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

fire web push and play browser chime on approval requests

fire web push and play browser chime on approval requests

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

WorkerHandle leak, approval recovery, stuck spinners, viewport/banner/spinner polish

WorkerHandle leak, approval recovery, stuck spinners, viewport/banner/spinner polish

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

state persistence, WS auto-reconnect, mobile Enter, /clear palette, device binding polish

state persistence, WS auto-reconnect, mobile Enter, /clear palette, device binding polish

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

add interactive-widget=resizes-content to viewport meta

add interactive-widget=resizes-content to viewport meta

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

collapse composer bottom gap when soft keyboard is open

collapse composer bottom gap when soft keyboard is open

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

switch queued-prompt strip from amber to sky palette

switch queued-prompt strip from amber to sky palette

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

dispatch InputEvent from toolbar inserts for popover trigger removeOnExecute

dispatch InputEvent from toolbar inserts for popover trigger removeOnExecute

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

preserve queued prompts on reconnect race

preserve queued prompts on reconnect race

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

slow working-spinner verb cycle from 4s to 18s

slow working-spinner verb cycle from 4s to 18s

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

derive turnActive from prompt/stop seq counters to survive Stopped race

derive turnActive from prompt/stop seq counters to survive Stopped race

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

seed yoloMode from profile config on mount

seed yoloMode from profile config on mount

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

kill terminal and container terminal tmux sessions on removal

kill terminal and container terminal tmux sessions on removal

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

anchor IME candidate windows to active input cursor

anchor IME candidate windows to active input cursor

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

strip ST-terminated OSC sequences for hyperlink text in preview

strip ST-terminated OSC sequences for hyperlink text in preview

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

use atomic writes for all session/config persistence

use atomic writes for all session/config persistence

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

keep command palette selection visible past viewport

keep command palette selection visible past viewport

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

resume-fallback cascade for restart/start paths

resume-fallback cascade for restart/start paths

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Medium

pin sidebar session order to created_at desc, no status reshuffle

pin sidebar session order to created_at desc, no status reshuffle

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Bugfix Low

Mobile composer polish and push notification origin tracking for Cockpit and Serve

Mobile composer polish and push notification origin tracking for Cockpit and Serve

Source: granite4.1:30b@2026-05-19-audit

Confidence: low

Refactor Medium

add tracing to ACP tool-call and permission handlers

add tracing to ACP tool-call and permission handlers

Source: granite4.1:8b-q6_K@2026-05-19

Confidence: low

Full changelog

What's Changed

  • fix: tighten codex status detection by @microHoffman in https://github.com/njbrake/agent-of-empires/pull/1125
  • Cockpit in the TUI (native ratatui view + CLI verbs + cross-machine) by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1114
  • Cockpit polishing 5: WorkerHandle leak, approval recovery, stuck spinners, viewport/banner/spinner polish by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1115
  • feat(logging): consolidate sink + rotation under logging by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1127
  • feat(cockpit): comment on diff + more polishing fixes by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1122
  • Cockpit polishing 7: state persistence, WS auto-reconnect, mobile Enter, /clear palette, device binding by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1137
  • fix(web): add interactive-widget=resizes-content to viewport meta by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1150
  • fix(cockpit): collapse composer bottom gap when soft keyboard is open by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1152
  • fix(cockpit): switch queued-prompt strip from amber to sky palette by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1153
  • fix(cockpit): dispatch InputEvent from toolbar inserts so popover trigger removeOnExecute works by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1154
  • fix(cockpit): preserve queued prompts on reconnect race by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1155
  • fix(cockpit): slow working-spinner verb cycle from 4s to 18s by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1151
  • chore(deps): bump tower-http from 0.6.8 to 0.6.10 by @dependabot[bot] in https://github.com/njbrake/agent-of-empires/pull/1166
  • chore(deps): bump which from 7.0.3 to 8.0.2 by @dependabot[bot] in https://github.com/njbrake/agent-of-empires/pull/1165
  • chore(deps): bump tokio from 1.52.1 to 1.52.3 by @dependabot[bot] in https://github.com/njbrake/agent-of-empires/pull/1164
  • feat(auth): keep bound devices signed in across token rotation by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1167
  • chore(cockpit): add tracing to ACP tool-call and permission handlers by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1157
  • fix(cockpit): derive turnActive from prompt/stop seq counters to survive Stopped race by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1172
  • feat(serve): add --auth= selector and --behind-proxy for reverse-proxy deployments by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1162
  • feat(cockpit): honor sandbox mode in cockpit sessions by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1161
  • fix(wizard): seed yoloMode from profile config on mount by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1156
  • fix: kill terminal and container terminal tmux sessions on removal by @raphaeldavidf in https://github.com/njbrake/agent-of-empires/pull/1210
  • fix(tui): anchor IME candidate windows to active input cursor by @raytrun in https://github.com/njbrake/agent-of-empires/pull/1202
  • fix(tui): strip ST-terminated OSC sequences so hyperlink text appears in preview by @raphaeldavidf in https://github.com/njbrake/agent-of-empires/pull/1182
  • fix(session): use atomic writes for all session/config persistence by @raphaeldavidf in https://github.com/njbrake/agent-of-empires/pull/1208
  • fix(tui): keep command palette selection visible past viewport by @bell-hyun in https://github.com/njbrake/agent-of-empires/pull/1187
  • fix(session): resume-fallback cascade for restart/start paths by @jerome-benoit in https://github.com/njbrake/agent-of-empires/pull/1173
  • fix(web): pin sidebar session order to created_at desc, no status reshuffle by @njbrake in https://github.com/njbrake/agent-of-empires/pull/1171
  • fix(cockpit): exempt loopback from passphrase factor and surface TUI startup errors by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1190
  • fix(cockpit): fire web push and play browser chime on approval requests by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1191
  • refactor(theme): move builtin themes to embedded TOML files by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1214
  • feat(logging): comprehensive coverage + frontend forwarding pipeline by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1179
  • feat: add configurable tool sessions by @raphaeldavidf in https://github.com/njbrake/agent-of-empires/pull/1204
  • fix(cockpit, serve): mobile composer polish and push notification origin tracking by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1194
  • fix(push): delay test notification by 3s so user can lock phone by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1193
  • feat(theme): web dashboard runtime palette swap by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1197
  • fix(cockpit,serve): exit on Ctrl-C with open WS, surface dropped prompts, escalate stuck cancels by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1211
  • feat(cockpit): per-agent profile abstraction for codex/opencode/gemini parity by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1192
  • Add Codex hook-based status detection by @microHoffman in https://github.com/njbrake/agent-of-empires/pull/1141
  • fix: pi install hint → @earendil-works package + correct Pi/Hermes confusion by @jerome-benoit in https://github.com/njbrake/agent-of-empires/pull/1238
  • feat(cockpit): surface set_mode rejection, fold tall queued-prompts strip by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1236
  • feat(theme): add Material Deep Ocean builtin by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1241
  • feat(theme): split default and empire into two distinct builtins by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1239
  • test(web): foundation for Playwright coverage of #986 (harness, fake ACP agent, 9 tracers, coverage matrix, merged coverage CI) by @Seluj78 in https://github.com/njbrake/agent-of-empires/pull/1228

New Contributors

  • @microHoffman made their first contribution in https://github.com/njbrake/agent-of-empires/pull/1125
  • @raphaeldavidf made their first contribution in https://github.com/njbrake/agent-of-empires/pull/1210
  • @raytrun made their first contribution in https://github.com/njbrake/agent-of-empires/pull/1202
  • @bell-hyun made their first contribution in https://github.com/njbrake/agent-of-empires/pull/1187

Full Changelog: https://github.com/njbrake/agent-of-empires/compare/v1.7.0...v1.7.1

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track I've implemented multi-repo workspace support in Agent of Empires

Get notified when new releases ship.

Sign up free

About I've implemented multi-repo workspace support in Agent of Empires

All releases →

Related context

Beta — feedback welcome: [email protected]