Skip to content

v1.10.9

Choose a tag to compare

@github-actions github-actions released this 18 Jul 09:24
52fd17a

Agent Deck v1.10.9

Terminal session manager for AI coding agents.

Installation

Homebrew (recommended):

brew install asheshgoplani/tap/agent-deck

Quick Install:

curl -fsSL https://raw.githubusercontent.com/asheshgoplani/agent-deck/main/install.sh | bash

Go Install:

go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@v1.10.9

Changelog

  • 5786ff7 Merge main into Codex approval command
  • 6d41e7c Merge main into Pi status fix
  • 30221b7 Merge main into UI test-worker fix
  • f0dc827 Merge main into fix/issue-1595-copy-visible-pane
  • f1a7f5b Merge main into last-activity fix
  • 946e7f7 Merge main into relative-time feature
  • 8968cb9 Merge remote-tracking branch 'origin/main' into fix/ui-test-worker-leak
  • f9b2a05 Merge remote-tracking branch 'origin/main' into maintainer/1503
  • 6b026c8 Merge remote-tracking branch 'origin/main' into maintainer/validate-1560
  • b4ae312 Merge remote-tracking branch 'origin/main' into maintainer/validate-1565
  • a6302e3 Merge remote-tracking branch 'upstream/main' into maintainer/review-1603
  • 8d8dcc4 Merge remote-tracking branch 'upstream/main' into maintainer/validate-1514
  • 60eba47 Merge remote-tracking branch 'upstream/main' into maintainer/validate-1514
  • 00c1319 Merge remote-tracking branch 'upstream/main' into maintainer/validate-1514
  • cdad11b Merge remote-tracking branch 'upstream/main' into maintainer/validate-1566
  • 582ad4d Merge remote-tracking branch 'upstream/main' into perf/tui-liveness-freeze
  • c770ce5 Merge remote-tracking branch 'upstream/main' into perf/tui-liveness-freeze
  • 3c44089 chore(deps): bump actions/attest-build-provenance (#1542)
  • f253738 chore(deps): bump actions/cache from 5 to 6 (#1543)
  • 5d49a68 chore(deps): bump actions/checkout from 6 to 7 (#1519)
  • 905b767 chore(deps): bump the go-minor-patch group with 2 updates (#1516)
  • ed4a485 chore(deps): bump the go-minor-patch group with 3 updates (#1575)
  • ce85b23 chore(deps): bump the go-minor-patch group with 5 updates (#1613)
  • 0c3b7f3 chore(lint): document tmux argv safety
  • dfb1cf2 chore(release): bump to v1.10.4, update CHANGELOG for #1518
  • 80026f3 chore(release): bump to v1.10.5, update CHANGELOG for #1511
  • 6b0edd9 chore(release): bump to v1.10.6, update CHANGELOG for #1529 #1531
  • 030a258 chore(release): bump to v1.10.7, update CHANGELOG for #1541
  • 0e11487 chore(release): bump to v1.10.8, update CHANGELOG for #1548 #1545
  • f70f19e chore(release): bump to v1.10.9, update CHANGELOG for #1544 #1532
  • 59cca0e chore(release): bump to v1.9.74
  • c908962 chore(release): bump to v1.9.75
  • 5e65b38 chore(release): bump to v1.9.76
  • d9b51e5 chore(security): bump Go toolchain to 1.25.12 for GO-2026-5856 (stdlib crypto/tls)
  • 2af7279 ci(release): notify via ntfy on release workflow failure (#1538)
  • 5a481ad ci: green main after the upsert-only save merge and the toolchain bump (#1594)
  • 40f4255 docs(fleet): preflight checklist + independent (--no-parent) session guidance (#1572)
  • 92f67c0 docs(fleet): use --parent (not -p) for explicit child parenting (#1531)
  • 905c415 feat(cli): --message-file (path or '-' for stdin) for launch, session start, session send (#1618)
  • 1f18c78 feat(cli): add 'session cleanup' to purge dead, stale sessions (#1602)
  • e2c1366 feat(cli): fleet fan-out — launch parented children & track completions (#1518)
  • e28dbbe feat(cli): session children --follow — JSONL event stream for fleet supervision (#1619)
  • 4a0bb20 feat(cursor): pre-seed workspace trust before session start
  • 7944ba7 feat(cursor): pre-seed workspace trust before session start (#1467)
  • f750d09 feat(discord): add mentions_all_channels listen mode (#1493)
  • f9b98bd feat(discord): tag forwarded messages with channel context
  • f496004 feat(focus): drive the running TUI
  • 46453af feat(groups): declarative groups in config.toml (#1456)
  • a385735 feat(groups): default new-group max_concurrent via [group_defaults] config (#1541)
  • 2cf7ad7 feat(hooks): conductor fleet snapshot injected at turn start (#1620)
  • e65c75f feat(hooks): sync project_path from Claude Code /cd (#1557)
  • c3b775e feat(mcp): add Codex management
  • 87f6c24 feat(sandbox): per-instance-scoped hook status bridge (#1500)
  • 3eeb24c feat(send): session send --defer-if-busy — hold delivery until the target is turn-finished (#1578) (#1643)
  • fa5a32c feat(session): add archive and unarchive CLI commands
  • 10189df feat(ui): add pin-cycle hotkey with stable selection (#1598)
  • 65e4228 feat(ui): add preview-below orientation toggle for portrait terminals (#1626)
  • 86d80d5 feat(ui): copy visible terminal pane text
  • 007528c feat(ui): in-attach scrollback pager for the deck view (#1491) (#1629)
  • 9cd3b8d feat(ui): make Sessions and Preview divider draggable
  • cd9fdc9 feat(ui): surface worktree setup-script failures in TUI (#1624)
  • e048002 feat(ui,web): compact compound relative-time units (TUI + web parity)
  • 47ae459 feat: add ',' hotkey to cycle session pin (top/bottom/off)
  • 85dba80 feat: add Codex session approve command
  • f9d00c4 feat: implementation split terminal next to agents session #1470
  • ebecd80 feat: inject environment variables on session restart (#1621)
  • d3ac809 feat: per-group/per-conductor claude command, model, env, and default_path config (#1483)
  • 10f0ee1 feat: pin protects sessions from auto/bulk stops (#1521)
  • 7ab4452 feat: preseed Codex workspace trust on session launch
  • 643cb51 fix(approve): keep Codex prompt verification fail-closed
  • 740e504 fix(ci): align Go toolchain pins with go.mod
  • 9ae8f10 fix(ci): align Go toolchain pins with go.mod (#1597)
  • b32be9e fix(ci): force current toolchain for Lighthouse base build
  • 5aa8a14 fix(claude): group config_dir beats ambient CLAUDE_CONFIG_DIR (#1508) (#1637)
  • 1941c64 fix(claude): resolve transcript path by session-id when project-dir name mismatches
  • 5a492c7 fix(cli): stop global -p/--profile from shadowing a subcommand's -p (#1529)
  • c099b58 fix(codewhale): add deepseek TUI readiness preset (#1577) (#1646)
  • e24dda8 fix(codex): add -n -P and a hard timeout to the lsof status probe (#1581) (#1632)
  • 8d2480c fix(codex): deliver the initial prompt as an argument instead of typing it (#1616)
  • 14f713e fix(codex): gate subagent-thread rebinds and fork subagent bindings (#1622)
  • 8c946b0 fix(conductor): default HeartbeatInterval to 15 for fresh conductors (#1511)
  • 536cac3 fix(conductor): stop bridge.py from spawning duplicate conductor sessions (#1609)
  • f7ca6cf fix(cursor): harden remote trust seeding
  • 16db87e fix(groups): preserve group create/rename/move across the save-abort reload race (#1585)
  • 69d11f7 fix(groups): reject rename when target path collides (#1556)
  • 0c04309 fix(groups): stop empty groups from vanishing via additive group saves (#1523)
  • 52fd17a fix(loadout): integrate declarative group and conductor loadouts (#1606)
  • 6eeaed7 fix(mcp): write .mcp.json with trailing newline and skip no-op rewrites (#1627) (#1636)
  • 3628970 fix(output): EOF-anchored last-assistant extraction survives /compact oversized records (#1568) (#1640)
  • abab546 fix(reviver): break reconnect storms on a wedged tmux server (#1579) (#1644)
  • 69f3634 fix(scrollback): don't hijack PageUp from alternate-screen apps (#1648)
  • 1a8c849 fix(session): deliver completions for parented conductor children
  • f09e914 fix(session): grouped children use group config_dir over ambient env (#1532)
  • 3b3871f fix(session): prevent conversation loss when switching Claude accounts (#1549)
  • b3d7f4e fix(session): restore idle-watcher safety net for archived orphan panes
  • 4d3a898 fix(session): surface spawn/exec failures instead of bare "error" (#1580) (#1645)
  • 81f511d fix(settings): persist "Sync Session Title" toggle to disk (#1562)
  • 1145387 fix(statedb): announce targeted archive writes so a running TUI cannot clobber them (#1611)
  • a9ea185 fix(statedb): preserve detected session-id keys on stale full-table saves (#1526)
  • 0879ef3 fix(status): improve TUI session status accuracy (#1544)
  • ddccade fix(status): treat clean OpenCode /exit as stopped, not error (#1617) (#1634)
  • d6f0d7b fix(storage): make routine saves upsert-only — stale TUI snapshots can no longer delete concurrent sessions (#1551)
  • 92c29a2 fix(switch-account): locate conversation across config dirs when account field is empty (#1571) (#1641)
  • 4a3ae00 fix(sysinfo): don't block TUI startup on a wedged netstat (#1548)
  • 7672b1b fix(title-sync): ignore Claude's auto-derived session names (nameSource=derived) (#1545)
  • d550d70 fix(tmux): bound cadence polls and reap orphaned tmux clients
  • 982067b fix(tmux): bound tmux send-keys with a per-call deadline + process-group kill
  • 6106954 fix(tmux): idempotent kill + socket-complete existence cache (#1517)
  • 0d5f130 fix(tmux): integrate bounded send keys with poll deadlines
  • 16ed0e5 fix(tmux): let explicit user tmux config win over forced key options (#1625) (#1635)
  • 77b9502 fix(tmux): preserve liveness on probe errors
  • f3a58b4 fix(tmux): reap orphaned control clients server-wide + close eval/test process leaks (#1486)
  • b169223 fix(tmux): spawn pane commands as argv tokens, not a $SHELL-wrapped string (#1567) (#1639)
  • d80b2b1 fix(tui): free group-create Tab and typed-path Enter (#1536) (#1630)
  • ed15068 fix(tui): sink empty/archived-only groups below the view-mode divider (#1522)
  • 23d3f8f fix(ui): accept numeric epoch zero in relative time
  • ed73e08 fix(ui): guard MoveSessionToGroup against creating-session placeholder (#1540) (#1638)
  • 58d5d4d fix(ui): keep selection on session while cycling pin
  • 4503c24 fix(ui): nest remote sessions under their groups (#1553) (#1631)
  • aeac000 fix(ui): persist manual shift+up/down session order (#1582) (#1633)
  • 7f86c59 fix(ui): preserve lowercase h navigation for shell split
  • 88edc2d fix(ui): show real last-active time for inactive sessions, not TUI load time
  • 5856c3b fix(worktree): sweep transition-notifier state on worktree finish (#1576) (#1642)
  • b6ab823 fix: apply fixes
  • e0cddd4 fix: claude title sync reverting locked renames (#1623)
  • 9bbf544 fix: detect atuin pty-proxy and warn about TUI incompatibility
  • 3c44704 fix: manual rename reverts to folder default after a reload race (TitleLocked lost on reapply) (#1570)
  • 157d2e6 fix: pi subagent status detection + running to waiting debounce fix
  • efeae5b fix: preserve explicit session titles on creation (#1607) (#1610)
  • 65f981b fix: reposition cursor after pin cycle + document RemoteSession gap
  • 39659fa fix: restart archived sessions from TUI (#1647)
  • 0e5ae31 fix: restore correct v1.9.77 content (previous commit had placeholder text)
  • 1c317ae perf(session): cache group DefaultPath resolution to kill the reload freeze (#1601)
  • 0949118 perf(ui): keep tmux liveness probes off the bubbletea goroutine
  • 8f1ce7f perf: opt-in claim-based polling dedup for concurrent multi-instance setups (#1612)
  • f3b11d0 refactor(session): fork OpenCode via native --fork
  • 8da7e36 test(status): cover Pi subagent detection regressions
  • b068d3c test(title-sync): end-to-end guard — derived Claude name never clobbers the session title (#1574)
  • 23814d7 test(ui): disable eager Home workers under TestMain
  • 6c02f6a test(ui): gate hook watchers with background workers
  • 59fa6e1 test(ui): hard os.Exit watchdog for orphaned ui.test
  • f6b155b test(visual): re-baseline snapshots for Command Center nav (#1462), fix #1506 (#1507)

Full Changelog: v1.9.73...v1.10.9