Skip to content

v1.10.0

Choose a tag to compare

@github-actions github-actions released this 07 Jun 02:15
· 24 commits to trunk since this release

Added

  • Path confinement: morph_edit resolves requested paths against the OpenCode worktree/directory context and rejects out-of-root targets before file access.
  • No-network execute coverage: Production executeMorphEdit() is dependency-injected and directly tested for missing API key, readonly blocks, marker refusals, unsafe Morph output, and successful write/diff flow.
  • Secret-safe failure classification: Morph API failures return stable non-secret failure kinds and scrub API keys/Bearer tokens from returned error text.

Fixed

  • Import preservation guard: Declaration-level import comparison now covers TypeScript type-only imports, combined default+named imports, and CommonJS destructuring aliases as local bindings.
  • Bun lockfile policy: bun.lock is tracked, npm lockfile state is removed, and CI/release install steps use bun ci.
  • No-marker small-file guard gap: Marker-less edits on small files now run the truncation and marker-leakage guards before writing — catastrophic shrink and merged-in marker text are blocked instead of silently written. No-marker full replacements are validated against the provided code_edit rather than the original file.
  • Abort timeout classification: A request abort during response body parsing is now classified as api_timeout instead of api_parse_error.

Changed

  • README: Fixed stale version pin (v1.8.2 → v1.9.0) in installation examples.
  • README: Expanded Safety guards section to document dropped imports guard, path confinement, and secret scrubbing behavior.
  • README: Added Bun lockfile policy note to Contributing section.