Skip to content

v0.6.4

Choose a tag to compare

@github-actions github-actions released this 21 Sep 08:49
· 22 commits to main since this release

Scheduler recovery (M106)

  • Replace the scheduler's PID sentinel with a permanent OS-locked file. Exiting or crashing releases ownership without leaving a stale modern lock behind.
  • Already-running bingo processes stand by and retry once a second, automatically taking over when the owner leaves.
  • Wait for an in-flight dispatch to finish before releasing ownership during shutdown. Cancelled scheduler and wake loops do not begin new deliveries.
  • Distinguish a running owner, standby, migration barriers, and storage errors in scheduler status. gateway doctor --fix preserves modern lock files whether held or free.

One-time scheduler upgrade procedure

Older releases used a different locking protocol. Stop all bingo processes sharing the data directory before migrating an existing legacy schedules/runner.lock. Run one bingo gateway doctor --fix to remove a dead PID sentinel, then start the upgraded binaries. Inspect empty or unrecognized legacy files before removing them. Do not run concurrent repair commands or mix old and new scheduler binaries.

Once migrated, the modern runner.lock is permanent: do not delete or replace it while bingo is running. Normal exits and crashes release the OS lock automatically. This release does not change channel locks, the 60-second cross-process schedule-directory rescan, or expired one-shot creation behavior.

Settings and plugin controls (M97–M101)

  • Read and write settings as TOML, preserving comments when updating a setting. Existing JSON settings migrate to TOML at startup, with the old file retained as a backup and the paths reported.
  • Inspect and persist plugin switches through /plugins (alias /modules) and bingo plugins list|enable|disable. Disabled external plugins are not spawned; plugins required for the current configuration cannot be disabled.
  • Add the configurable persona plugin and its guide-persona page.
  • Complete command arguments after the verb, including plugin names, and update bundled guides for the new configuration format and controls.

Sub-agent management (M102)

  • Stop a running child with StopAgent or /agents stop, and dismiss an idle child with DismissAgent or /agents dismiss.
  • Reopen an existing child with SpawnAgent { reopen: true }, retaining its session and memory.
  • Show each agent's model, message count, and token usage in the roster.
  • Keep child transcripts across replayed close events and remove deleted children from the TUI tree.

Images and file access (M103–M105)

  • Remove image payloads from subsequent model requests after three assistant responses, retaining a textual reference and the original journal/transcript record.
  • Bound images before sending them to the model, reducing repeated large uploads.
  • Report when Read returns a bounded rendering and identify the source file's type and byte size. Use Read { original: true } to inspect the original within the journal's size cap.

Terminal fixes

  • Continue walking command history past a recalled command.
  • Enable the required tmux passthrough mode for picture rendering.

Full changelog: v0.6.3...v0.6.4