Skip to content

v5.0.0 — Context compaction and command approvals

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Nov 01:50
· 7 commits to main since this release

Mods v5.0.0

This release includes the following changes since v4.5.0.

Added

  • Persistent conversation compaction with --compact and opt-in context-max-bytes. Summaries are stored separately from the complete original transcript, and history_read retrieves archived text evidence after compaction. Compaction runs before user turns, not within a tool loop.
  • ChatGPT subscription sign-in and inference through the chatgpt provider and configuration wizard.
  • Per-call Windows UAC elevation for command tools, with bounded output, cancellation, and ordinary command approval before OS consent.
  • Full control (this session) in command approvals disables subsequent tool review for the current invocation, including later chat turns, without changing configuration or saving a permission rule.
  • Project instructions loaded from AGENTS.md now emit a one-time tool-style record (✓ Project instructions: <path>) in interactive sessions, so the automatic context load is visible like a skill load. --no-instructions, --minimal, --raw, --hide-tool-status, and non-interactive runs stay silent.

Changed

  • Refreshed the interactive UI. --config shows a step progress bar, quiet option focus, and a grouped review table; --chat shows provider/model/working-directory context; tool status uses short verb labels (✓ shell go test ./... · exit 0); and command approvals keep a compact, single-row choice menu with a visible cursor.
  • Command guidance prefers reads when sufficient, clear reviewable commands, and appropriate pipelines, variables, loops, and scripts. Prompt evaluations cover normal mode with explicit minimal controls, and debug output reports system/tool-definition byte breakdowns backed by assembled-request budget tests.
  • Command tools require a model-declared effect and nonblank purpose. In auto and always, declared reads run without review and may_write calls require one-call approval, including temporary writes. Mods trusts the declaration without independently analyzing effects. Native/MCP reads run without review; their writes retain target-based rules and safe temporary-directory exemptions. always ignores saved rules.
  • Command reviews show the purpose, normalized working directory, and complete command; long commands remain browsable without a read-every-page approval gate.
  • Download reviews no longer repeat the saved session grant as a separate If A row; their target rows already show the affected directories and origins.
  • Chat invocations reuse MCP transports while refreshing tools and annotations on each turn; failed transports are retired without replaying tool calls.
  • Skill catalogs cache bounded metadata and load current instruction bodies on demand. Applicable installed skills must be loaded, and their full applicability descriptions remain available.
  • OpenCode Go routing follows the configured gateway protocol, with automatic Responses selection on supported official endpoints.

Removed

  • Removed command-effect analysis, its PowerShell parser bridge, and automatic/manual command simplification. Legacy command-simplification and builtin-tools.shell-read-only-commands settings are ignored; saved command rules no longer grant permission.
  • Removed all bundled skills. Skills are now loaded only from installed skill directories.
  • Removed model-based write-target inference. Session write permissions now come from explicit review decisions.

Fixed

  • Mutable filesystem and download tools prepare canonical targets before approval and bind execution to the approved call. Changed targets require fresh preparation and review; continued changes fail closed. fs_apply_patch remains scoped to its root.
  • Aligned provider tool registration, approval, dispatch, and continuation contracts; unsupported tool media fails explicitly instead of being dropped.
  • Improved startup latency by overlapping terminal probing and session lookup and creating Markdown renderers only when needed. Debug output includes startup and first-response timings.
  • Fixed Chinese terminal rendering, multiline prompt editing, duplicate streamed/final output, command review pagination, and sensitive activity details. Todo plans with five or fewer items stay expanded.
  • CI runs the build/test commands directly, avoiding a Go 1.27 incompatibility in the Task runner's transitive dependencies.
  • Windows Git authentication uses bounded pipe buffers to prevent request/response write deadlocks and keeps the pipe open until the helper consumes its response.

Full changelog: v4.5.0...v5.0.0