Skip to content

Releases: usewhale/Whale

v0.1.57

22 Jun 09:01
68012a3

Choose a tag to compare

v0.1.57 (2026-06-22)

🐛 Bug Fixes

  • fix(tui): interleave text and tool rows by render sequence (#323) by @shayne-snap
  • fix(agent): recover when the model leaks tool calls as plain text (#324) by @shayne-snap

Full Changelog: v0.1.56...v0.1.57

v0.1.56

22 Jun 06:41
8f666c1

Choose a tag to compare

v0.1.56 (2026-06-22)

🚀 New Features

  • feat(agent): replace proposed_plan XML block with plan-as-reply model (#322) by @shayne-snap
  • feat(tui): surface human-readable shell exit messages in results (#319) by @shayne-snap
  • feat(worktree): always prompt on exit, even when worktree is clean (#318) by @shayne-snap

🐛 Bug Fixes

  • fix(agent): add storm-breaker guard for identical-tool-call loops in plan mode (#321) by @shayne-snap
  • fix(agent): add progress guard for redundant read-only re-visitation loops (#320) by @shayne-snap

🔧 Maintenance

  • chore: rename repo from DeepSeek-Code-Whale to Whale by @shayne-snap

Full Changelog: v0.1.54...v0.1.56

v0.1.55

21 Jun 11:17
a6a7bfa

Choose a tag to compare

v0.1.55

✨ New Features

  • feat(worktree): always prompt on exit, even when worktree is clean (#318) by @shayne-snap
  • feat(tui): surface human-readable shell exit messages in results (#319) by @shayne-snap

🐛 Bug Fixes

  • fix(agent): add progress guard for redundant read-only re-visitation loops (#320) by @shayne-snap
  • fix(agent): add storm-breaker guard for identical-tool-call loops in plan mode (#321) by @shayne-snap

Full Changelog: v0.1.54...v0.1.55

Contributors

  • shayne-snap

v0.1.54

21 Jun 04:35
af2f155

Choose a tag to compare

v0.1.54

🐛 Bug Fixes

  • fix(agent): remove main-agent tool-iter cap, add storm loop-guard (#315) by @shayne-snap
  • fix(deepseek): retry reasoning-only empty completions (#316) by @shayne-snap
  • fix(tools): surface match locations in multi_edit search_not_unique error (#313) by @shayne-snap
  • fix(agent): nudge plan-mode turns that finish without a proposed_plan block (#317) by @shayne-snap

Full Changelog: v0.1.53...v0.1.54

v0.1.53

20 Jun 13:19
9086b28

Choose a tag to compare

v0.1.53

🐛 Bug Fixes

  • fix(agent): surface concrete JSON parse error when request_user_input args are malformed (#311) by @shayne-snap
  • fix(service): show only command name in unrecognized slash command error (#312) by @shayne-snap

🔧 Maintenance

  • agent: remove plan prefill recovery, simplify turn loop (#307) by @shayne-snap
  • agent: deduplicate worktree root path and co-locate isolation instruction (#308) by @shayne-snap
  • refactor(telemetry): split usage.jsonl into per-session files (#314) by @shayne-snap

Full Changelog: v0.1.52...v0.1.53

v0.1.52

20 Jun 08:36
78089a7

Choose a tag to compare

v0.1.52 (2026-06-20)

🚀 New Features

  • feat(policy): extend external directory grants to shell commands (#296) by @shayne-snap
  • feat(ps): compact single-line format with status first (#293) by @shayne-snap
  • feat(agent): project-scoped external-directory approvals and shell command arity grouping (#302) by @shayne-snap

🐛 Bug Fixes

  • fix(tools): allow edit/multi_edit to omit replace field for deletion (#292) by @shayne-snap
  • fix(tools): add schema-driven recovery hints for invalid tool inputs (#294) by @shayne-snap
  • fix(tools): force CRLF line endings for new .bat/.cmd files (#295) by @shayne-snap
  • fix(tools): handle glob patterns in search_files and improve ripgrep fallback (#297) by @shayne-snap
  • fix(workflow): remove keyword trigger and hide workflow tool when disabled (#298) by @shayne-snap
  • fix(app): s/current goal/current request/ in agent mode instruction (#299) by @shayne-snap
  • fix(tui): tolerate description field on all tool calls and fix timeout misclassification (#300) by @shayne-snap
  • fix(agent): block update_plan in Plan mode and emit proposed_plan guidance (#301) by @shayne-snap
  • fix(agent): improve plan mode timing and recovery behavior (#303) by @shayne-snap
  • fix(core): resolve model-facing tool names back to internal registry (#304) by @shayne-snap
  • fix(agent): recover plan finalization when model omits <proposed_plan> block (#305) by @shayne-snap
  • fix(agent): hide parent checkout path in worktree prompt (#306) by @shayne-snap

Full Changelog: v0.1.50...v0.1.52

v0.1.50

18 Jun 04:43
7b10b88

Choose a tag to compare

v0.1.50 (2026-06-18)

Fixes

  • Resolve deadlocks on hung providers by replacing sync.WaitGroup with channel-based cancellation in ParallelReason and adding ctx.Done() select in Subagent drainEvents (#291)
  • Add stuck-TUI quit escape: 3 Ctrl+C presses while stopping triggers the 2s double-tap exit mechanism (#291)
  • Fix ~/ path resolution: safeReadPath now checks workspace membership after ~ expansion so home-relative paths inside the workspace are accepted (#291)

Features

  • Add tool-name renaming layer: models see conventional names (Bash, Read) at the provider boundary while internal code and persisted sessions stay unchanged (#291)

v0.1.49

17 Jun 13:17
e1d9342

Choose a tag to compare

v0.1.49 (2026-06-17)

Features

  • tools: remove read_file-before-edit requirement (#287)

Fixes

  • fix(tool_repair): restore truncation recovery for trailing key without value (#288)
  • fix(tui): show 'Running ' for in-progress shell tasks in timeline (#289)

Chores

  • chore: remove checkpoint/rewind and shell mutation tracking (#290)
  • scripts/install.sh: extract curl retry opts into shared CURL_RETRY_OPTS

v0.1.48

11 Jun 13:32
5022bd5

Choose a tag to compare

v0.1.48 - 2026-06-11

🔧 Refactors

  • Replace apply_patch with a new multi_edit tool that provides atomic multi-step SEARCH/REPLACE edits (#285)
  • Split workflows_local_result.go into focused files: display, summary, util (#286)
  • Remove transitional ToolResult.Content and IsError fields (#283)
  • Extract parseBeginPatch into smaller focused functions (#284)

🐛 Bug Fixes

  • Preserve UTF-8 rune boundaries in tool result summary truncation to avoid garbled output (#282)

📦 Downloads

Platform binaries and npm packages will be built automatically by the release workflow.

v0.1.47

10 Jun 08:25
781ecc9

Choose a tag to compare

v0.1.47

Highlights

  • Smarter shell handling — Foreground yield-timeout tasks are now auto-backgrounded and managed via task lifecycle. Shell read-only decisions show user-facing explanations.
  • Edit tool robustness — Search-not-found errors now include divergence diagnostics and whitespace-relaxed patch matching for better recovery.
  • Plan mode improvements — Turn reminders and improved blocked messages keep the flow clear when collaboration modes are active.
  • Error handling refinements — User interrupts are now clearly distinguished from provider timeouts; HTML-escaping of model-facing JSON has been fixed; proposed_plan XML tags are stripped from visible TUI output.

What's Changed

  • feat(shell): auto-background foreground yield-timeout tasks by @lnnttoo (#273)
  • feat(policy): default web_search and web_fetch to allow instead of ask by @shayne-snap (#274)
  • feat(tui): show user-facing explanation when shell command cannot be proven read-only by @shayne-snap (#275)
  • fix(tui): strip proposed_plan XML tags from visible content by @shayne-snap (#276)
  • fix(edit): add search-not-found divergence diagnostics and whitespace-relaxed patch matching by @lnnttoo (#277)
  • feat(plan): add plan-mode turn reminders and improve blocked messages by @shayne-snap (#278)
  • feat: add Windows version requirement check to install script by @shayne-snap (#279)
  • fix(core): stop HTML-escaping model-facing JSON, consolidate exit-1 no-match semantics by @shayne-snap (#280)
  • fix(agent): distinguish user interrupt from provider timeout in error handling by @shayne-snap (#281)

Thank You

Thanks to @lnnttoo for the shell auto-background and edit diagnostics contributions, and to all contributors for making Whale better with every release.