2026 UpdatesLink to section
May 2026Link to section
agentgrepLink to section
agentgrep is a new project for searching local AI agent prompts and history across Claude Code, Codex, Cursor, and Gemini CLI. It ships four consumption surfaces from one codebase:
- CLI —
agentgrep grep(rg/ag-shaped content search),agentgrep find(fd-shaped file discovery),agentgrep fuzzy(fzf-shaped ranking). A Lucene-style query language threads through all subcommands with field predicates (agent:,mtime:,model:,role:), boolean operators, and date ranges.--json/--ndjson/--vimgrepfor pipeline consumption. - TUI — Textual app with live-streaming results, vim-style navigation, and format-aware JSON/Markdown rendering. Accessible via bare
agentgrepor--uion any subcommand. - Library —
run_search_query()and typed event-stream iterators for embedding in other tools. - MCP server —
agentgrep-mcpexposes search, catalog, discovery, and validation tools plusagentgrep://resources to any MCP client.
Backed by a Pydantic-modelled storage catalog mapping every known prompt and history store across agents. Seven alpha releases (a0–a6) shipped in May.
libtmuxLink to section
libtmux shipped three feature releases in May:
v0.56.0 is the command-parity release — 50+ new Python methods covering tmux’s full command surface:
- Interactive commands:
display_popup(),display_menu(),command_prompt(),confirm_before(),choose_tree(),choose_buffer(),choose_client() - Buffer I/O:
set_buffer(),show_buffer(),delete_buffer(),save_buffer(),load_buffer(),paste_buffer() - Rearrangement:
Window.swap(),Pane.swap(),Pane.join(),Pane.break_pane(),Pane.move(),Window.rotate(),Window.link(),Window.unlink() - Key bindings and server control:
bind_key(),unbind_key(),run_shell(),source_file(),lock_server() - Headless testing: New
control_modepytest fixture starts a realtmux -Cclient so interactive commands can be tested without a TTY
v0.57.0 adds a typed client model and tmux-native filtering:
Clientobject: Typed access to attached terminals withattached_session,attached_window,attached_panelive-attachment propertiesServer.clients: QueryList accessor for all attached clients- Native filtering:
search_sessions(),search_windows(),search_panes()pass filters directly to tmux’s-fflag display_message()on Server and Window, joining the existing Pane method
v0.58.0 fixes subprocess output decoding on non-UTF-8 locales, where the Unicode format separator was corrupted and list accessors silently returned empty results.
libtmux-mcpLink to section
libtmux-mcp shipped six alpha releases (v0.1.0a4 through v0.1.0a9) maturing the agent-facing terminal control surface:
- Pane recovery:
respawn_panerestarts a stuck pane in place, preservingpane_idand window layout - Layout-relative targeting:
find_pane_by_positionresolves window corners (top-left, bottom-right, etc.) to a typed pane — no more parsing tmux format variables - Typed geometry: Pane responses now carry window-relative coordinates and edge predicates so agents can reason about layout without extra queries
- Agent discovery rework: Bare “pane”, “window”, “session” prompts now activate the server; registration slug standardized to
tmux - Deterministic command completion:
wait_for_textredesigned to match only new output, reframingwait_for_channelas the primary synchronization primitive - Polling correctness: Wrapped-line matching in
search_panes, history-limit trim warnings, pane lifecycle detection inwait_for_content_change
April 2026Link to section
vcspullLink to section
v1.59.0 overhauls vcspull sync with timeout guards, live progress, and a per-invocation debug log:
- Per-repo timeout: Each repo runs under a 10-second deadline; override with
--timeout SECONDS. The end-of-run summary lists timed-out repos with copy-pasteable rerun commands. - Live status indicator: Terminal spinner shows the active repo name and elapsed time; piped output emits periodic heartbeat lines.
- Streaming output trail: A 3-line panel above the spinner shows recent git output and collapses when each repo finishes; tunable with
--panel-lines. - Per-invocation debug log: Drops debug logs under
$TMPDIR/vcspull/(npm/pnpm style), surfaced automatically on failure or timeout. - Ctrl-C aborts shell chains: Exits via signal so chained
vcspull sync && ...stops on first interrupt. - Quieter default output: libvcs logs are silenced by default; pass
-v/-vvfor verbosity.
Built on libvcs v0.40.0, which adds a timeout= keyword to Git.run()/Hg.run()/Svn.run() and fixes a perf regression on ref-heavy repos (2400+ refs).
libtmux-mcpLink to section
libtmux-mcp — terminal control for AI agents, built on libtmux and FastMCP — landed its first public alphas: v0.1.0a1 (2026-04-13) through v0.1.0a3 (2026-04-19). It exposes 30+ MCP tools across the tmux hierarchy (server → session → window → pane):
- Read/write/wait:
send_keys,snapshot_pane,capture_pane,wait_for_text,wait_for_content_change,wait_for_channel - Pane lifecycle:
respawn_panefor in-place shell recovery preservingpane_idand window layout - Buffer orchestration:
load_buffer,paste_buffer,show_buffer,delete_buffer— agent-namespaced via UUID to prevent cross-session collisions - Middleware stack: Audit logging, safety-tier gating (
readonly/mutating/destructive), readonly retry, bounded output - Self-guards: Refuses to kill the agent’s own pane; auto-GC of namespaced buffers on shutdown
gp-sphinxLink to section
gp-sphinx — an integrated autodoc design system for git-pull Sphinx projects — landed its first public alphas: v0.0.1a10 (2026-04-25) through v0.0.1a12 (2026-04-27). It bundles 12 Sphinx packages that replace ~300 lines of duplicated docs/conf.py with ~10 lines:
- Domain autodocumenters:
sphinx-autodoc-argparse(CLIs),sphinx-autodoc-pytest-fixtures(pytest),sphinx-autodoc-fastmcp(MCP tools),sphinx-autodoc-typehints-gp(Python types) - Theme + UX:
sphinx-gp-theme,sphinx-fonts(IBM Plex via Fontsource),sphinx-ux-badges,sphinx-ux-autodoc-layout— unified badge palette and layout across all autodoc sources - Site infrastructure:
sphinx-gp-opengraph,sphinx-gp-sitemap - Sphinx 8.1+ floor, namespaced under
gp-sphinx-*CSS
Already powering the docs for libtmux v0.55.1, libvcs v0.40.0, and vcspull v1.59.0.
March 2026Link to section
vcspullLink to section
v1.58.0 adds --sync and --prune flags to vcspull import for full bidirectional config reconciliation, a --prune-untracked flag, and a granular options.pin metadata field to protect specific entries from mutation:
--sync: Updates changed URLs and prunes stale entries, fully reconciling config with the remote--prune: Standalone cleanup — removes stale entries without updating URLs--prune-untracked: Extends--sync/--pruneto also remove entries lacking import provenance- Provenance tracking:
metadata.imported_fromtags scope pruning — manually added repos are never removed options.pin: Per-repo, per-operation mutation guard (pin: true,pin: {import: true},allow_overwrite: false)- Bug fix:
vcspull add,discover, andfmtno longer silently corrupt.jsonconfig files
Available on all six import providers. Pruning is config-only — cloned directories on disk are not deleted. Uses a consistent CRDT action model (classifier → enum → apply) across all five config-mutation operations.
February 2026Link to section
vcspullLink to section
vcspull shipped two feature releases:
v1.55.0 adds vcspull import for bulk-importing repositories from remote hosting services into your vcspull configuration:
- 6 services: GitHub (
gh), GitLab (gl), Codeberg (cb), Gitea, Forgejo, and AWS CodeCommit (cc) - 3 modes: user (default), organization, and search
- Filtering:
--language,--topics,--min-stars,--archived,--forks - Self-hosted support:
--urlfor GitHub Enterprise, GitLab, Gitea, and Forgejo instances - GitLab subgroups: Nested group hierarchies map to workspace roots automatically;
--flatten-groupsto collapse them - SSH clone URLs by default;
--httpsto switch
No new dependencies — HTTP is handled with stdlib urllib.
v1.56.0 adds vcspull worktree for declarative git worktree management. Configure worktrees per-repo in YAML targeting tags, branches, or commits, then list, sync, and prune them. Dirty worktrees are reported as BLOCKED (never force-updated), and --include-worktrees on vcspull sync handles repositories and their worktrees in one pass.
January 2026Link to section
tmuxpLink to section
tmuxp v1.63.0 modernizes the CLI with semantic colors and new commands:
- Semantic colors: New
--colorflag (auto/always/never) withNO_COLOR/FORCE_COLORsupport per no-color.org tmuxp search: Find workspace files with field-scoped search (name:,session:,path:,window:,pane:), matching options (-i,-S,-F,-w), and--json/--ndjsonoutput- Enhanced
tmuxp ls:--treefor grouped display,--fullfor complete config,--json/--ndjsonfor automation, local workspace discovery from cwd tmuxp debug-info --json: Structured output for issue reporting- Beautiful
--help: Usage examples with syntax highlighting PrivatePath: Masks home directory as~in output for privacy
Documentation now features enhanced CLI command pages via a new pretty_argparse Sphinx extension with syntax-highlighted usage blocks.
See release notes.
social-embedLink to section
social-embed received a major site overhaul:
- Interactive playgrounds on homepage: Try the web component and library directly from the front page with live code editing
- Migrated from Starlight to pure Astro: Custom layouts, mobile navigation, and full control over styling
- New React search modal: Keyboard navigation, Algolia-style breadcrumbs, and title/excerpt highlighting
- Custom Aside component: Callout/admonition component with multiple styling variants