Skip to content

News from 2026

2026 UpdatesLink to section

August 2026Link to section

agentgrepLink to section

agentgrep shipped four alphas, v0.1.0a47v0.1.0a50, sharpening what the explorer copies and what the catalogue admits it holds:

  • Copying follows the highlight: select text with the mouse and Ctrl-C copies it, while an empty selection keeps its old job of stopping the search. Notifications now report what was sent to the terminal rather than claiming a clipboard write nothing acknowledged
  • depth:, effort:, and kind: join the query language, so search depth and record kind are typed terms across the CLI, MCP, and explorer instead of flags. A misspelled field predicate now warns with a suggestion rather than quietly running an empty search
  • Every store an agent keeps is catalogued — including app state, derived caches, and encrypted stores agentgrep deliberately does not read — so find tells a deliberate omission from an undiscovered one
  • Origin data returns to three backends: Cursor IDE records carry their working directory, branch, model, and worktree again, Grok transcripts are dated instead of dropping out of date filters, and Gemini stops reporting a project name as a workspace hash
libtmux-mcpLink to section

libtmux-mcp gives an AI agent a tmux terminal. v0.1.0a21 tries a new shape for scoping what that agent can reach: LIBTMUX_TOOLSETS names the groups of tools the server hands out — inspect, manage, execute, teardown — so inspect on its own is an agent that reads panes and never types into one. What shape fits a tmux MCP is still being worked out; the trust page carries the current thinking.

It also keeps caller-supplied names and paths literal instead of letting tmux expand them as formats, and search-panes no longer stalls on a pathological pattern.

vcspullLink to section

libvcs v0.46.0 stops a repository URL or a configured revision from doing more than checking code out. A value starting with - reached git and svn as an option — through git pull, a revision, and svn checkout, three places an end-of-options -- cannot guard — where it could run a command or truncate a file. Those are now rejected. An external report prompted the audit that found them. Progress-callback timestamps are now aware UTC values rather than naive local time.

vcspull v1.67.0 picks this up with no configuration or CLI changes.

django-search-queryLink to section

django-search-query v0.1.0a1 opens the Django floor move that three git-pull packages made on 2026-08-08: a Django 5.2 LTS minimum with 6.0 and 6.1 added, after 4.2 LTS and 5.1 both left security support. Behavior is untouched in each — only the supported range moved. It also fills out its documentation site: a runnable tutorial, how-to guides, an API reference, and a dedicated query-language page whose worked examples are checked against a live table.

django-docutilsLink to section

django-docutils v0.31.0 makes the same move — Django 6.1 and 6.0 added, minimum raised to 5.2 — with rendering unchanged, so upgrading needs no code changes beyond the floor. v0.31.1 puts the project links on the PyPI page and trims the source distribution to the package, its tests, and its docs.

django-slugify-processorLink to section

django-slugify-processor v1.11.0 completes the set and rebuilds its documentation around a purpose-built landing page. slugify(), its template filter, and SLUGIFY_PROCESSORS are unchanged.

gp-sphinxLink to section

gp-sphinx v0.1.0a38 lets a project say what its MCP tools are in its own words. sphinx-autodoc-fastmcp classified every tool against one fixed vocabulary and rendered a single badge, so a project using different tags had everything badged read-only — including the tools that run commands. Tools are now classified on axes the project declares, drawn from tags, MCP’s own ToolAnnotations, or meta, with one badge per axis. Projects on fastmcp_toolsets must move to fastmcp_axes.

July 2026Link to section

agentgrepLink to section

agentgrep searches your local AI-agent prompts and history. July was its heaviest month — fifteen alphas, v0.1.0a32v0.1.0a46 — finishing the explorer and giving every search an explicit depth.

The agentgrep ui explorer stopped being an experiment, across three releases:

  • v0.1.0a36 — controls move inside the input: type / for a compact, filterable menu of commands, /maximize zooms a pane without hiding the input, and /screenshot saves a clean SVG. The experimental --layout and --workflow flags retire in favour of one supported explorer
  • v0.1.0a37 — agentgrep dark, light, and Tokyo Night themes with a first-run chooser, a welcome screen offering runnable query examples, and large result sets that stream instead of building every row first
  • v0.1.0a42 — a detail pane worth reading in: Markdown and source render as styled, selectable text with clickable links, v and y do tmux-style visual select and yank, and a single keymaps.toml keeps vim, emacs, and arrow bindings all working at once

v0.1.0a44 gives every search a depth. The default reads fast prompt history, --deep adds conversations selected from matching prompt evidence, and --exhaustive reads every eligible backend; the MCP server and the explorer offer the same three rungs. Results now say whether they are exact, bounded, or approximate and what to run next, so a shallow miss reads as one rung’s miss rather than an empty corpus. MCP search cursors are gone in favour of one ordered response, and the transcript-only agents leave the default search.

v0.1.0a33 and v0.1.0a34 thread project context through results, so prompts from different checkouts of one repository no longer look alike: working directory, repository, worktree, branch, and workspace hash travel with a record and drive --only-here, cwd:, branch:, and model:. Every MCP tool now advertises that agentgrep is read-only, which lets a host stop asking permission on each call.

v0.1.0a32 realigns the backends to what today’s CLIs actually write — VS Code Copilot Chat had moved to a per-session event log that left recent sessions invisible — and reaches Cursor IDE chat written by the Windows-host UI when running under WSL. v0.1.0a41 makes Pydantic a required dependency and removes the optional serialization bridge, a breaking change for library callers that imported its helpers.

libtmuxLink to section

libtmux shipped two releases in July.

v0.62.0 teaches libtmux objects to locate themselves and to resolve shared windows the way tmux does:

  • Self-location: Pane.from_env() and its Server, Session, and Window siblings let code running inside tmux — a script in a split, a hook, a test harness, an agent — ask where it is, and the answer survives a move-window
  • Shared windows: Window.linked_sessions lists every session that holds a window, and point lookups now let tmux resolve the session and index it would act on rather than whichever sorted last by name
  • Query errors join the LibTmuxException hierarchy — a breaking change for handlers that caught the general exception first

v0.61.0 hardens the tmux 3.7 patch line: break_pane() keeps tmux’s own default window name on 3.7a/3.7b instead of forcing libtmux, and the new get_version_str() returns the version with its point-release suffix intact.

tmuxpLink to section

tmuxp v1.74.0 pairs the libtmux 0.61.0 upgrade with a documentation overhaul. tmuxp debug-info now reports the exact tmux patch release — 3.7a rather than a normalized 3.7 — which is what a bug report needs when patch releases differ in behavior. The docs gain theme-aware inline diagrams in place of static ASCII art and a concept-first rewrite that leads with what each feature is before its configuration.

libtmux-mcpLink to section

libtmux-mcp shipped four alphas, v0.1.0a16v0.1.0a19, led by v0.1.0a19: an agent waiting on a pane now sees the output it was told to watch for.

  • wait-for-text matches the line it was waiting on: the wait began one row past the cursor, which on an idle pane is exactly where the next line arrives — so watching for a daemon’s single ready line could never match at all
  • A wait says how it ended: whether the command never ran, the output did not match, or a full-screen program owns the pane. No wait outruns LIBTMUX_MCP_WAIT_MAX_SECONDS, and cancelling one no longer leaves its tmux child running

v0.1.0a17 keeps an agent’s commands out of your shell history by default, and v0.1.0a18 makes a stale pane id fail once with advice instead of twice in silence.

vcspullLink to section

vcspull v1.66.0 lets you register a repository before you have cloned it: vcspull add now accepts a URL where it required a checkout on disk, and vcspull sync clones it on the next run. A pip-style revision on the URL is recorded as options.rev, so git+https://github.com/pallets/[email protected] stores flask pinned to v1.0. This restores declaring an un-cloned repository at all — something the path-based rework in v1.43.0 had removed.

v1.65.0 turns a failed checkout into guidance: the error names the requested revision, suggests how to repair the configuration, and lists the branches Git actually reported. libvcs v0.45.1 unbreaks suites that build their documentation before running pytest — the bundled plugin was overriding pytest’s own collection-ignore rules.

gp-sphinxLink to section

gp-sphinx — the autodoc design system for git-pull Sphinx projects — shipped six alphas, v0.0.1a32v0.1.0a37.

  • v0.0.1a32 adds sphinx-gp-mermaid: fenced mermaid blocks render to inline SVG at build time in light and dark variants — no client-side runtime, no pop-in, no layout shift
  • v0.0.1a33 gives those diagrams a :responsive: option, and sphinx-gp-highlighting a tree lexer for directory layouts plus inline roles for commands and paths
  • v0.1.0a37 gives every class-level name — a field, a typed-dictionary key, an enum member, a constant — exactly one description with the live signature beside it, and carries a description written on a base class to the subclasses inheriting it. An undescribed ClassVar is now withheld rather than shipped bare

v0.0.1a34 hides # doctest: +HIDE setup lines from rendered docs while still running them, pairing with gp-libs v0.0.19, which adds the flag itself.

django-search-queryLink to section

django-search-query v0.1.0a0 is a new project: a Lucene-inspired search query language for Django, plus an optional admin integration.

  • Core: search_query_to_q() turns a user’s search string into a Django Q — field-scoped terms, quoted phrases, boolean AND/OR/NOT with grouping, comparisons, ranges, and wildcards. Half-typed or unparseable input degrades to a match instead of raising, so a query runs while the user is still typing
  • A field registry declares what is searchable and maps user-facing names to ORM lookups, keeping the search surface decoupled from your models
  • django-admin-search-query: SearchQueryAdminMixin teaches the admin changelist the language, behind a search box that colors the query as you type and suggests field names and enum values entirely client-side. Anything it cannot parse falls back to Django’s search_fields, and with JavaScript off it degrades to the plain box

As an alpha, the APIs may still change before 0.1.0.

django-docutilsLink to section

django-docutils v0.30.1 fixes a failed import on installations without typing-extensions, which the library imported at runtime without declaring. Django, docutils, and Pygments are now the only runtime dependencies, and CI checks that on every push.

June 2026Link to section

agentgrepLink to section

agentgrep searches your local AI-agent prompts and history — Claude Code, Codex, Cursor, Gemini, Antigravity, Grok, Pi, OpenCode. June added a redesigned explorer, a query language, and two new backends, across alphas v0.1.0a16v0.1.0a31.

A pi- and Claude-Code-inspired TUI redesign of the agentgrep ui explorer, across three releases:

  • v0.1.0a27 — a calmer look: the terminal background shows through, headers and scrollbars are gone, and panes use light rule headers instead of boxes. Adds find-within-a-result (/, Ctrl-F) and a staged Ctrl-C so a stray keypress no longer quits.
  • v0.1.0a28 — pi-style slash commands (/clear, /help, /exit), Ctrl-R history recall, and a one-line progress header.
  • v0.1.0a30 — stays responsive on big stores: searching, stepping matches, and filtering no longer freeze the keyboard.

v0.1.0a23 adds a Lucene-style query language to search, grep, and find — booleans, phrases, field filters (agent:, model:, role:, path:, timestamp:), wildcards, and date ranges. It works the same over the MCP server, with as-you-type completion in the TUI.

Two new backends: v0.1.0a25 adds VS Code GitHub Copilot Chat (Code, Insiders, VSCodium, OSS), and v0.1.0a22 adds Google Antigravity (antigravity-cli, antigravity-ide). Plus faster searches over large Codex, Claude, and Cursor histories.

libtmuxLink to section

libtmux rounded out its tmux 3.7 support across three June releases.

v0.60.0 brings tmux 3.7’s floating panes into the typed Python API:

  • Floating panes: Window.new_pane() / Pane.new_pane() open a popup-like pane above the tiled layout — sized, positioned, styled, and optionally kept open after its command exits
  • Broad 3.7 coverage: new options, variables, and command flags, typed in Python — including new flags on capture_pane() and split()
  • Backward compatible: tmux 3.2a–3.6 keeps working unchanged

v0.59.0 adds tmux 3.7 to the test matrix and works around a 3.7 crash when breaking out a pane, so break_pane() and rejoining work again. v0.58.1 restores pytest 9.1 support.

tmuxpLink to section

tmuxp v1.73.0 makes the workspace build step pluggable:

Existing workspaces are unaffected. v1.72.0 / v1.71.0 pull in libtmux 0.60.0 / 0.59.0 — surfacing floating panes and tmux 3.7 through tmuxp’s API and tmuxp shell — and v1.70.1 picks up the pytest 9.1 fix.

libtmux-mcpLink to section

libtmux-mcp — terminal control for AI agents — refined the tools it exposes across five alphas (v0.1.0a11v0.1.0a15):

  • Keystroke batches: send an ordered run of keys and text to a pane in one call with send-keys-batch
  • Clearer errors: failures surface the original exception plus a hint on what to fix and where to look next
  • Tighter safety: read-only tools are blocked from spawning a shell, an unknown safety setting defaults to read-only, and a vulnerable dependency was patched (CVE-2026-48710)
ai-workflow-pluginsLink to section

ai-workflow-plugins — a plugin marketplace for Claude Code, Codex, and Gemini — added pytest-optimizer (#24), which finds and applies safe speedups for a slow pytest suite:

  • Finds what’s actually slow — the tests and fixtures costing you the most time
  • Measures before it changes anything — each speedup is checked against real timings, not estimated
  • Lands each change as its own commit — verified passing and easy to roll back
  • Safe by default — risky changes are flagged for review, not auto-applied

It also moved skills that use Google agents to the Antigravity CLI (agy) (ai-workflow-plugins#21).

gp-sphinxLink to section

gp-sphinx — the autodoc design system for git-pull Sphinx projects — extended its autodoc coverage and refreshed its build stack across five alphas (v0.0.1a27a31):

  • v0.0.1a29 auto-documents the whole docutils/Sphinx extension family — transforms, readers, parsers, writers, nodes, translators, builders, domains — with the same reference cards, via sphinx-autodoc-docutils and sphinx-autodoc-sphinx; components are now linkable from prose
  • v0.0.1a28 moves the theme build stack to current majors — Zod 4, Vitest 4, TypeScript 6, Tailwind 4.3, Vite 8 (Rolldown-powered)
  • v0.0.1a31 gives FastMCP resources and prompts the same linkable cards as tools

gp-libs v0.0.18 moved its own docs onto the published gp-sphinx stack and the shared Library Skeleton layout.

vcspullLink to section

libvcs v0.44.0 now returns Git, Mercurial, and SVN output as printed — without the previous per-line trimming — so a captured git diff re-applies cleanly instead of arriving mangled (a breaking change for code that leaned on the old trimmed output). vcspull v1.64.0 / v1.63.0 pick this up with no config or CLI changes, and libvcs v0.45.0 makes the test fixtures order-independent.

cihaiLink to section

The cihai CJK character stack shipped a coordinated release on 2026-06-28, led by unihan-etl v0.43.0: a corrupt or interrupted UNIHAN download now repairs itself instead of crashing first-time setup. cihai v0.38.0, cihai-cli v0.34.0, and unihan-db v0.21.0 move in step and shift their docs onto the shared gp-sphinx platform — no changes for existing code.

social-embedLink to section

The social-embed docs site moved to Astro 7 (#61) and Astro’s faster native Rust “Sätteri” Markdown engine (#63) — pages and links render identically. No library or web-component changes this month; see the news & release notes.

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:

  • CLIagentgrep 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 / --vimgrep for pipeline consumption.
  • TUI — Textual app with live-streaming results, vim-style navigation, and format-aware JSON/Markdown rendering. Accessible via bare agentgrep or --ui on any subcommand.
  • Libraryrun_search_query() and typed event-stream iterators for embedding in other tools.
  • MCP serveragentgrep-mcp exposes search, catalog, discovery, and validation tools plus agentgrep:// 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:

v0.57.0 adds a typed client model and tmux-native filtering:

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_pane restarts a stuck pane in place, preserving pane_id and window layout
  • Layout-relative targeting: find_pane_by_position resolves 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_text redesigned to match only new output, reframing wait_for_channel as the primary synchronization primitive
  • Polling correctness: Wrapped-line matching in search_panes, history-limit trim warnings, pane lifecycle detection in wait_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/-vv for 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):

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:

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/--prune to also remove entries lacking import provenance
  • Provenance tracking: metadata.imported_from tags 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, and fmt no longer silently corrupt .json config 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: --url for GitHub Enterprise, GitLab, Gitea, and Forgejo instances
  • GitLab subgroups: Nested group hierarchies map to workspace roots automatically; --flatten-groups to collapse them
  • SSH clone URLs by default; --https to 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 --color flag (auto/always/never) with NO_COLOR/FORCE_COLOR support 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/--ndjson output
  • Enhanced tmuxp ls: --tree for grouped display, --full for complete config, --json/--ndjson for 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