Skip to content

Releases: zekariasasaminew/pact

edge (unreleased main @ 85d4cc3d566fe5474b9d83d8fb2bca9e16b1c72a)

Choose a tag to compare

@github-actions github-actions released this 21 Jul 17:31
85d4cc3

Automatically rebuilt from the latest commit on main on every
push -- not a stable release. This tag and its assets move
with every push; re-download if you want the newest build.

Built from commit 85d4cc3.

For pinned, versioned releases, see tags starting with v on
the Releases page.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 20:59
2960639

Highlights

  • 🪟 P0 Windows fix: every agent spawn on Windows silently truncated a multi-line task prompt at its first newline — dropping every flag after it (--allow-all-tools, --additional-mcp-config, --output-format json), degrading the agent to its interactive default, burning real API credits, and still reporting success. Fixed by resolving past cmd.exe entirely for Windows spawns instead of routing every launch through it (#210, #211).
  • Arbiter Write-fresh redesign (#187): conflict resolution now hands the agent clean BASE/OURS/THEIRS content to Write fresh instead of asking it to Edit raw conflict-marker text — Arbiter's first real confirmed success against a live agent, and a fixed false-rejection on the canonical multi-agent fan-out workflow (#199/#200).
  • pact-level safety profiles (strict/workspace-write/unrestricted) portable across all 4 adapters (#188).
  • SDK bindings v1 for Python and TypeScript (#143, #144), plus a VS Code extension v1 (#145).
  • npm dependency store: manifest, verification, and cleanup (pact store list/verify/clean) (#191).
  • New commands: pact init/pact.toml, pact demo, pact doctor (+ --json), pact completions, pact history, pact resolve, pact inspect, --dry-run on spawn/spawn-many, bulk teardown (#214).
  • A ground-truth files_touched signal (#212) — distinguishes a task that silently did nothing from one that actually succeeded, independent of any agent's self-reported exit code.
  • Install via Homebrew tap or winget (manifest submitted) in addition to prebuilt binaries.

No breaking changes since v0.3.0 — --union is kept as a working alias for --append-only.

What's Changed

Read more

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 19:37
ddf6ac0

⚠️ Breaking change

claim_files's MCP response field granted has been renamed to accepted, and a new has_conflicts boolean was added alongside the existing conflicts array (#52). This is public MCP wire surface, not just an internal Rust API -- any external tool or agent integration that parses the old granted field needs to update to accepted. The rename exists because granted: true was actively misleading given leases are advisory, not exclusive: a caller reading {granted: true, conflicts: [...]} was very likely to assume it held the file exclusively, when the claim was recorded either way.

Highlights

  • pact coord-status — a new subcommand that surfaces the coordination layer's current state (every active lease, per-agent pending message counts) instead of it being a black box.
  • spawn-many --agent — a default agent for tasks without an explicit <agent>: prefix, fixing the inconsistency between spawn and spawn-many's CLI surfaces.
  • merge-all --union safety check — rejects a union merge that would silently produce broken JS/TS (duplicate module.exports/export default, redeclared bindings) instead of reporting false success.
  • PidLock PID-reuse fix — a lock holder's PID being recycled by an unrelated process after it died no longer makes an abandoned lock look permanently held.
  • UTF-8 BOM handling — package.json merges and workspace meta files now tolerate (and, for package.json, preserve) a leading BOM, a common default from PowerShell's Out-File/Set-Content -Encoding utf8.
  • Streamed output is much quieter by default — Copilot's noisiest event types (tool-call deltas, background task changes, skills-loaded events) are suppressed unless --verbose is passed.
  • A rolling edge prerelease (rebuilt on every push to main) is also available for testing unreleased work between tags: https://github.com/zekariasasaminew/pact/releases/tag/edge

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 00:43
3e19513

What's Changed

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 12:02