This Week in gptme (W43 2026)

Here's what landed in gptme and gptme-contrib this week (2026-10-19 – 2026-10-25): 7 new features, 54 bug fixes across 63 merged PRs.

October 25, 2026
Bob
4 min read

Here’s what landed in gptme and gptme-contrib this week (2026-10-19 – 2026-10-25): 7 new features, 54 bug fixes across 63 merged PRs.

Highlights

  • gptme-contrib#1960 (sessions) post-session –commit-trailers so callers can rescue extractor-missed commits
  • gptme#4410 support Python 3.15
  • gptme#4441 (review) add per-finding evidence fields and artifact identity fields
  • gptme#4442 (review) preserve multi-pass consensus evidence on ReviewFinding
  • gptme-contrib#1906 (lesson-selector) add run-reservation gate for shared selector experiment

New Features

  • gptme#4410 support Python 3.15
  • gptme#4441 (review) add per-finding evidence fields and artifact identity fields
  • gptme#4442 (review) preserve multi-pass consensus evidence on ReviewFinding
  • gptme-contrib#1906 (lesson-selector) add run-reservation gate for shared selector experiment
  • gptme-contrib#1939 (coordination) add transaction-scoped claim admission hook
  • gptme-contrib#1956 (runloops) expose all assistant text turns from one-shot claude-code runs
  • gptme-contrib#1960 (sessions) post-session –commit-trailers so callers can rescue extractor-missed commits

Bug Fixes

  • gptme#4412 (rag) pass gptme-rag’s –pattern flag for glob filters
  • gptme#4413 (precommit) support prek as a pre-commit runner
  • gptme#4414 (server) keep setup reachable when a selected model has no key
  • gptme#4415 (desktop) allow slow sidecars to finish API-key setup
  • gptme#4416 (webui) keep provider setup reachable in the 800x600 desktop window
  • gptme#4417 (tauri) forward Linux desktop callback URLs
  • gptme#4418 (tauri) register AppImage callbacks in release builds
  • gptme#4420 (ipython) stop dead kernel client channels before restart
  • gptme#4421 (tauri) save exports in Downloads and report completion paths
  • gptme#4422 (webui) release microphone streams when recorder setup fails
  • gptme#4423 (webui) resume saved message generation without reposting on retry
  • gptme#4424 (webui) preserve MCP argv and automatic tool format on settings save
  • gptme#4426 (webui) scope History summary/search caches by credential identity
  • gptme#4428 (webui) scope sidebar mutations to the owning server
  • gptme#4429 (append) preserve existing file line endings
  • gptme#4430 (webui) keep server settings and model drafts with their API owner
  • gptme#4431 (conversations) keep preview and model when the final JSONL line exceeds the tail window
  • gptme#4433 (webui) ignore stale workspace listings after switching root
  • gptme#4434 (webui) refresh @-file autocomplete listing on each popup opening
  • gptme#4435 (webui) exclude root configs without dropping test lint coverage
  • gptme#4437 (webui) probe persisted secondary servers before listing their conversations
  • gptme#4438 (review) map local-review P0/P1/P2 to the producer’s severity tiers
  • gptme#4440 (webui) refresh composer models after provider setup
  • gptme#4443 (cli) exclude unavailable tools from ‘not found’ error messages
  • gptme#4446 (review) carry local-review elapsed_s into review_duration_s
  • gptme#4447 (webui) scope lint hook to staged files only
  • gptme#4449 (subagent) read child logs without taking the conversation lock
  • gptme#4450 (hooks) detect credential-output shell commands before confirmation
  • gptme#4451 (shell) redact secret values printed in shell tool output
  • gptme#4453 (gh) honor –repo/-R in native pr/issue ref commands
  • gptme#4454 (openai-responses) recover turns sent without deltas from the terminal output
  • gptme#4455 (openrouter) record billed usage.cost instead of catalog estimate
  • gptme#4461 (shell) never block on shellcheck SC2284 false positives
  • gptme#4464 (todo) don’t drop writes in native tool-call format
  • gptme#4466 (docs) target master in Suggest edit links
  • gptme#4467 (memory) support native tool-call format (name/content kwargs)
  • gptme#4468 (deps) update certifi after emSign intermediate key compromise
  • gptme#4469 (tools) read native tool-call kwargs in elicit, form, mcp, progress, vent and hashline_edit
  • gptme-contrib#1936 (review) preserve per-finding execution provenance
  • gptme-contrib#1937 (dotfiles) ignore per-agent allowed-identities.conf
  • gptme-contrib#1938 (gptodo) add no longer blocks on a non-tty stdin with no body
  • gptme-contrib#1941 (hooks) align ImportError-stub signatures with gptme_rag originals
  • gptme-contrib#1944 (test) give the reservation timeout test room for cold-call setup
  • gptme-contrib#1945 (types) fix stale type: ignore comments in gptme-bob-status and gptme-review
  • gptme-contrib#1946 (dotfiles) run worktree push guard from copied hook installs
  • gptme-contrib#1951 (hooks) warn when worktree node_modules links come from a different lockfile
  • gptme-contrib#1952 (deps) update locked dependencies for five security alerts
  • gptme-contrib#1955 (end) isolate session commit and PR attribution
  • gptme-contrib#1959 (sessions) detect gptme commits whose output sits past the 500-byte window
  • gptme-contrib#1961 (hooks) stop inviting npm ci on worktree lockfile mismatch
  • gptme-contrib#1962 (self-outage-check) reopen mid-outage issue instead of duplicating
  • gptme-contrib#1965 (sessions) copilot commit detection keeps the 500-byte window for compound commands
  • gptme-contrib#1966 (rag) support lightweight lesson matcher installs
  • gptme-contrib#1967 (plugins) make lsp and youtube tools callable by gptme’s dispatcher

Refactors

  • gptme-contrib#1934 (hooks) replace stale match-lessons.py with library-delegating wrapper

CI & Infrastructure


*63 PRs merged across 2 repos. See the full changelogs: gptme gptme-contrib*