Releases: ginkida/gokin
v0.55.6: Fix token counting — stop double-counting output tokens
Bug Fix: Token Counter Accuracy
Root cause analysis revealed three bugs in the token counting pipeline:
1. OutputTokens double-counted in streaming layer
Files: client.go, streaming.go
Both Collect() and ProcessStream() used += for OutputTokens while using = for InputTokens. All providers (Gemini, Anthropic, OpenAI) report cumulative totals in each chunk, not deltas.
Example with Anthropic: Three message_delta events with output_tokens 100, 250, 320 (each is the running total). Using +=: 100+250+320 = 670 (wrong). Using =: 320 (correct).
2. Multi-round token loss in executor
File: executor.go
When the executor runs multiple rounds of tool calling (up to 15 rounds), only the last round's output tokens were stored. Previous rounds were overwritten. Now properly accumulates OutputTokens across rounds while keeping InputTokens as latest (since each round's input includes the full history).
3. Missing token reset between Execute() calls
File: executor.go
Added reset of all token counters at the start of executeLoop() to prevent tokens from one request leaking into the next.
Full Changelog: v0.55.5...v0.55.6
Full Changelog: v0.55.5...v0.55.6
v0.55.5: Deep UI polish — welcome, metadata, processing
UI Polish
Welcome Screen
╭──────────────────────────────────────────╮
│ GOKIN │
│ │
│ ~/project · gemini-3-flash │
│ │
│ Ctrl+P commands · Shift+Tab plan mode │
│ · / explore │
╰──────────────────────────────────────────╯
Quick start: "explain this codebase" · "fix the failing test" · /help
- Model name in accent color for emphasis
- Keyboard shortcuts show key + purpose clearly
- Better suggestions for new users
Response Metadata Footer
Before: ─── 2.1k in · 3.4k out · thinking 1.2s · tools 0.8s (3) ───
After: ─── 2.1k in · 3.4k out · thinking 1.2s · tools 0.8s (3) · $0.0042 ───
- Cost estimation shown when pricing data available
- Wider separators for readability
Processing Indicator
Before: ⠋ bash make build 2.1s
After: ⠋ bash → make build 2.1s
- Tool name bold for emphasis
- Arrow separator
→between tool and context
System Messages
Before: info message
After: ▸ info message
- Prefix icon for visual hierarchy
Full Changelog: v0.55.4...v0.55.5
Full Changelog: v0.55.4...v0.55.5
v0.55.4: UI polish — richer icons, friendlier status bar, better hints
UI/UX Improvements
Tool Icons (20+ tool-specific)
| Before | After |
|---|---|
| 🔍 grep | 🎯 grep |
| 🔍 glob | 📂 glob |
| 🔧 everything else | 🤖 agents, 🧪 tests, 🔀 git, 🧠 memory, 🔬 semantic, 🗑️ delete, 📋 plan, 📊 diff, 🔒 ssh, 🗂️ tree |
Status Bar
| Before | After |
|---|---|
plan:3/10 |
📋 3/10 Run migrations |
breaker:req=open,step=half |
🔴 circuit open or 🟡 recovering |
PLAN (amber) |
📝 plan mode |
provider:gemini |
gemini |
Hints (benefit-focused)
| Before | After |
|---|---|
| "Shift+Tab toggles planning mode" | "Shift+Tab — break complex tasks into reviewable steps" |
| "Ctrl+P opens command palette" | "Ctrl+P — quickly find any command" |
| "Ctrl+O shows activity feed" | "Ctrl+O — see what agents are doing in real time" |
| (none) | "Type / to explore all available commands" |
Other
RenderErrornow shows tool execution duration (was success-only)
Full Changelog: v0.55.3...v0.55.4
Full Changelog: v0.55.3...v0.55.4
v0.55.3: Eliminate silent execution paths
Fixes
Continues the plan mode feedback improvements from v0.55.2, addressing three more "silent" execution paths found during comprehensive audit.
1. Done-gate auto-fix no longer silent
When verification checks fail and the system attempts automatic correction, the user now sees:
🔧 Auto-fix attempt 1/2 — resolving 2 incomplete check(s)...
Auto-fix attempt 1 complete.
Previously, these model calls happened invisibly — checks would fail, then magically pass (or fail again) with no indication.
2. Context compaction notification
When a plan is approved and the conversation is cleared to make room:
📋 Context cleared for plan execution. Previous conversation archived.
Previously, conversation history vanished without warning.
3. Delegated mode step overview
Delegated plan execution now shows the same step overview banner as direct mode:
━━━ Executing plan: Refactor auth (3 steps, delegated) ━━━
Modernize the authentication middleware
1. Extract JWT validation
2. Add refresh token support
3. Update integration tests
Previously only showed title and count with no step listing.
Full Changelog: v0.55.2...v0.55.3
Full Changelog: v0.55.2...v0.55.3
v0.55.2: Improve plan mode user feedback
Plan Mode UX Improvements
Addresses the core complaint: "I set a plan but couldn't see it, and during execution got no feedback."
What changed
1. Plan banner now shows step overview
Before:
━━━ Executing plan: Refactor auth (3 steps) ━━━
After:
━━━ Executing plan: Refactor auth (3 steps) ━━━
Modernize the authentication middleware
1. Extract JWT validation
2. Add refresh token support
3. Update integration tests
2. Step headers now include description
Before:
──── Step 1/3: Extract JWT validation ────
After:
──── Step 1/3: Extract JWT validation ────
Move JWT parsing into a dedicated middleware package
3. Progress panel updates for skipped steps (bug fix)
Conditionally skipped steps now send PlanProgressMsg{Status: "skipped"} so the progress panel correctly shows them as skipped instead of frozen on "pending".
4. Progress panel updates for fatal failures (bug fix)
Non-transient step failures now send PlanProgressMsg{Status: "failed"} so the progress panel correctly reflects the error state.
5. Step completion messages include title
Before: Step 2 complete
After: Step 2 complete: Add refresh token support
All fixes applied to both direct and delegated execution modes.
Full Changelog: v0.55.1...v0.55.2
Full Changelog: v0.55.1...v0.55.2
v0.55.1: Fix ambiguous model matching
Bug Fix
- Model command ambiguity —
/model M2.7no longer returns "Ambiguous model name". Added exact short-name matching (first pass) before substring matching (second pass), soM2.7correctly resolves toMiniMax-M2.7without matchingMiniMax-M2.7-highspeed. This also fixes the same issue for other providers with-highspeed/-max/-sparkvariants (e.g./model M2.5,/model 5.3-codex).
Full Changelog: v0.55.0...v0.55.1
Full Changelog: v0.55.0...v0.55.1
v0.55.0: MiniMax M2.7 + Gemini 3 ThoughtSignature fix
New Features
- MiniMax M2.7 models — Added
MiniMax-M2.7(recursive self-improvement, top real-world engineering) andMiniMax-M2.7-highspeed(same performance, faster inference, low latency) as new default models for the MiniMax provider. M2.5 models retained for backward compatibility.
Bug Fixes
- Gemini 3 ThoughtSignature — Fixed
400 Bad Request: Function call is missing a thought_signatureerror that occurred during multi-turn conversations with Gemini 3 models involving function calls. Three root causes addressed:streaming.go: Prioritize original model parts (with ThoughtSignature intact) over manually reconstructed FunctionCall parts, using pointer identity to deduplicategemini.go:sanitizeContentsnow preserves parts containing ThoughtSignature or the Thought flag instead of dropping them as emptygemini_oauth.go: Added ThoughtSignature to SSE JSON parsing structs and preserved Thought/ThoughtSignature fields when constructing genai.Part objects
Changed Files
| Area | Files | Description |
|---|---|---|
| Models | 5 | MiniMax M2.7 registration (client, profiles, presets, provider registry, commands) |
| Streaming | 1 | ThoughtSignature-aware part accumulation |
| Gemini Client | 1 | sanitizeContents preserves Thought parts |
| Gemini OAuth | 1 | SSE parsing + Part construction with ThoughtSignature |
| Tests | 3 | Updated expectations for M2.7 default |
| Docs | 2 | README + setup wizard |
Full Changelog: v0.54.2...v0.55.0
Full Changelog: v0.54.2...v0.55.0
v0.54.2
Bug Fixes
- MiniMax API key validation: Fixed validation endpoint returning HTTP 404 — changed URL to match the actual Anthropic-compatible API path, accept 404 as valid (auth layer still catches invalid keys with 401)
- Auth error messages: Replaced hardcoded "aistudio.google.com" reference with provider-agnostic text so MiniMax, DeepSeek, Kimi and other providers show correct guidance on 401 errors
Full Changelog: v0.54.1...v0.54.2
v0.54.1
Bug fix
- fix: preserve command exit code in pwd probe wrapper —
wrapCommandWithPWDused; echo ...which overwrote the real exit code with 0. Workspace boundary violations (exit 98) were silently treated as successful executions. Now the exit code is saved before the pwd probe and restored after.
Full Changelog: v0.54.0...v0.54.1
v0.54.0
Full Changelog: v0.53.1...v0.54.0