Skip to content

Releases: startvibecoding/vibecoding

v0.1.47

21 Jun 12:45

Choose a tag to compare

Changelog

v0.1.47

✨ Features

  • Expanded Model Catalog
    • Added new Anthropic models: Claude Opus 4.8, Claude Opus 4.1, Claude Opus 4, Claude Sonnet 4.0, Claude Haiku 4.5, Claude Fable 5, and legacy Claude 3 series models.
    • Added new OpenAI models: GPT-5.5, GPT-5.5 Pro, GPT-5.4 series, GPT-5.3 Codex/Spark, GPT-5.2 Pro/Codex, GPT-5.1 Codex variants, GPT-4.1 series, o4-mini, o3/o3-pro/o3-deep-research, o1-pro, and legacy GPT-4 variants.
    • Added OpenRouter provider models: Claude Sonnet 4.6/4.5, Claude Opus 4.8, Claude Haiku 4.5, GPT-5.5/5.5 Pro/5.4, Gemini 3.5 Flash/2.5 Pro, DeepSeek V4 Flash/Pro, Qwen 3.7 Plus, Kimi K2.7 Code, MiniMax M3, Llama 4 Scout, GLM 5/5.2, Grok 4.3, and GPT-OSS-120B (free).
    • Added Vercel AI Gateway models: Claude Sonnet 4.6/4.5, Claude Opus 4.8, Claude Haiku 4.5, GPT-5.5/5.4, Gemini 3.5 Flash, DeepSeek V4 Flash/Pro, Qwen3.6 Plus, MiniMax M3, Kimi K2.7 Code, Grok 4.3, and GLM 5.2.
    • Reordered Anthropic and OpenAI model lists to show newest models first.

🐛 Bug Fixes

  • TUI Approval Details Visibility in Live View

    • Fixed queued approval requests not showing details in the live transcript while waiting for user input.
    • The current approval message index is now tracked so it stays visible during the approval prompt.
    • Index is properly cleared after approval is answered and reset on state/clear paths.
  • TUI Tool Modal Performance and Display

    • Added line-level caching for tool modal rendered output to avoid re-parsing the full transcript on every render.
    • Added per-entry caching for expanded tool results to avoid repeated formatting.
    • invalidateToolModalCache() is now called at all transcript state mutation points to keep the cache consistent.
    • Fixed edit tool results duplicating diff excerpts in the expanded view by extracting a dedicated edit header formatter.
    • Tool modals now open at the top (offset 0) instead of scrolling to the bottom.

🧪 Tests

  • Added regression test verifying expanded edit output does not duplicate diff excerpts.

v0.1.46

21 Jun 11:44

Choose a tag to compare

Changelog

v0.1.46

✨ Features

  • Workflow Agent Instance Keys

    • Added :key for repeated logical workflow agents, so bounded while loops can keep literal agent names while storing per-round results as phase.agent[key].
    • Added result-key and result-latest, plus (result "phase.agent" :key "r0"), for explicit keyed result lookup and latest-instance lookup.
    • Keyed workflow workers use instance-aware runtime IDs such as agent-worker[r0], preventing repeated loop workers from colliding while preserving the logical agent name.
  • Workflow Lint Tool

    • Added workflow_lint to validate workflow Elisp DSL without running worker agents.
    • Linting checks Elisp syntax, workflow/phase/agent forms, keyword arguments, required prompts, and result references.
    • Registered the lint tool alongside workflow run/status/cancel tools and updated workflow prompt guidance to lint non-trivial generated or edited workflows before execution.
  • Configurable Context Compaction

    • Added compaction settings for tokenizer, tokenizerModel, and template, wired through CLI, print mode, ACP, Gateway, Hermes, TUI mode switches, and delegated agent factories.
    • Added built-in compression summary templates: default, code, and conversation, so long sessions can preserve task-appropriate checkpoints.
    • Introduced a token estimator abstraction while preserving the existing generic chars/4 estimator for auto and generic.
    • Compaction entries now record summary version, previous compaction ID, and last summarized entry ID for better session replay/debugging.

🐛 Bug Fixes

  • Context Compaction Replay

    • Print mode now restores replayed session history before running the agent, preserving prior conversation context.
    • Manual and forced compaction now check for genuinely compactable older history instead of compacting only recent context.
    • Replayed compacted messages strip stale usage metadata from kept messages to avoid leaking obsolete token accounting into future runs.
  • Concurrent File Writes

    • Added a process-wide in-memory file lock manager shared by default tool registries.
    • write and edit now acquire per-file locks before reading and modifying files, preventing concurrent agents from interleaving writes to the same target.
    • Lock waits honor context cancellation/deadlines and report the current owner when interrupted.

🔧 Refactoring

  • Pre-release Packaging

    • npm-publish-pre now syncs and builds npm packages with a -pre version suffix before publishing pre-release packages.
    • Updated npm package metadata and optional platform dependency versions to the pre-release version.
  • Named Workflow Worker Agents

    • Workflow worker agents now use deterministic IDs derived from DSL agent names (agent-<name>), improving event attribution and background agent visibility.
    • Workflow skill guidance now documents the ID mapping and recommends unique agent names within a workflow.

📚 Documentation

  • Updated Workflow mode docs, tool reference, and the workflow-elisp skill to document :key, keyed result lookup, and bounded while-loop patterns.
  • Documented context compaction tokenizer, tokenizerModel, and template settings, including the built-in template choices and the current reserved/deprecated status of idle compaction settings.
  • Clarified Ctrl+O details modal key hints for target switching, paging, scrolling, and closing.
  • Documented the TUI scrollback trade-off: completed transcript blocks are printed to native terminal scrollback for stable selection/history, while user input should remain block-printed rather than unbuffered streaming to avoid interfering with Bubble Tea live rendering.

🧪 Tests

  • Added workflow runner, lint, integration, and skill coverage for keyed repeated agents and keyed result lookup.
  • Added context compaction tests for custom token estimators, template resolution, configured summary prompts, compaction metadata, compactability checks, and session replay usage cleanup.
  • Added Gateway and Hermes coverage for /compact when only recent context can be kept.
  • Added workflow lint tests for valid source collection and missing result reference errors.
  • Added workflow integration coverage verifying DSL agent names are reflected in runtime worker agent IDs.
  • Added file lock tests for wait/cancel behavior, shared default managers, and write/edit context handling.

v0.1.45

21 Jun 11:35

Choose a tag to compare

Changelog

v0.1.45

✨ Features

  • Workflow Skill with Progressive References

    • Extracted workflow Elisp/DSL documentation from the system prompt into a dedicated workflow-elisp skill, reducing system prompt size.
    • Introduced progressive reference structure: skill index page lists 9 reference files loaded on demand, with core rules loaded by default.
    • Eight pattern guides: research & investigation, serial & parallel composition, decision routing, bounded while loops, horizontal multi-agent collaboration, master-slave small teams, evaluator-optimizer review passes, and governance & human checkpoints.
    • Each reference file includes copy-ready Elisp skeleton examples and pattern selection guidance.
    • EnsureProjectSkill automatically creates the skill and all reference files under .skills/workflow-elisp/ without overwriting user-customized content.
  • Workflow Timeout Control

    • Added optional timeoutSeconds support to workflow_run, allowing bounded long workflows to choose an appropriate timeout and intentional continuous workflows to set 0 to avoid the default agent-level deadline.
  • vibeEmacsLispVm v0.0.2 Upgrade

    • Upgraded vibeEmacsLispVm dependency from v0.0.1 to v0.0.2 with expanded Elisp surface.
    • Added support for backquote/comma, let*/while/cond/catch/throw/lambda/defun/defmacro/with-current-buffer/save-current-buffer special forms.
    • Added builtins: cons/car/cdr/nth/append/reverse/member/assoc/funcall/apply/macroexpand, arithmetic and predicate functions, and in-memory buffer + marker builtins.
    • Added comprehensive test coverage for v0.0.2 Elisp features.

🔧 Refactoring

  • Gateway Session-Level Skills Support

    • Gateway sessions now support independent SkillsMgr and ExtraContext, so delegate sub-agents inherit per-session state.
    • /skill and /skills commands now operate on session-level skills instead of global server-level skills.
  • System Prompt Streamlining

    • Detailed workflow Elisp VM syntax and DSL form descriptions removed from the system prompt, replaced by a reference to the workflow-elisp skill.
    • Only key constraints and usage notes remain in the system prompt, significantly reducing token usage.
  • Workflow Skill Reference Clarity

    • Renamed reference file titles for clarity: "Continuous Loops and Iterative Tasks" → "Bounded While Loops", "Evaluator-Optimizer and Critic Loops" → "Evaluator-Optimizer Review Passes".
    • Split pattern selection guidance: bounded while loops for runtime repetition with stop conditions; evaluator-optimizer for one-pass draft/critique/revise pipelines.
    • Added constraint: do not simulate loops with numbered phases.
    • Unified progressive reference status labels to English ("loaded" / "load on demand") for consistency.

📚 Documentation

  • Added Workflow mode usage guide and best practices documentation (EN/ZH) covering quick start, core concepts, common patterns, and pitfalls.
  • Synced workflow references across docs pages: added Dynamic Workflows section to features overview, workflow orchestration scenario to use cases, and cross-links from tools references.
  • Clarified workflow hidden defaults and limits in the workflow-elisp skill and docs: worker :max-iterations default/failure behavior, workflow_run timeoutSeconds, concurrency default, inherited :mode, default :tools, current work directory behavior, disabled nested orchestration, and unsupported per-worker options.

🧪 Tests

  • Added workflow skill tests verifying skill file and 8 reference file creation, non-overwrite behavior, and missing reference auto-creation.
    • Expanded workflow runner and lisp test coverage.
    • Added tests for reference content clarity and non-overlap of loop vs evaluator-optimizer patterns.

Full Changelog: v0.1.44...v0.1.45

v0.1.44

18 Jun 08:58

Choose a tag to compare

Changelog

v0.1.44

✨ Features

  • Dynamic Workflows

    • Added --workflows mode for CLI, ACP, and Gateway, independent from --multi-agent.
    • Added Elisp workflow tools: workflow_run, workflow_status, and workflow_cancel.
    • Added workflow runtime support for phases, series/parallel execution, concurrency limits, worker-agent tasks, result fan-in, and run logs.
    • Added persistent workflow run state under the VibeCoding workflow store and /workflows status commands in TUI and Gateway.
    • Added in-process active-run cancellation so workflow_cancel and /workflows cancel <id> can interrupt running workflows.
  • Z.AI Vendor Adapter

    • Added vendor_zai.go with a dedicated zai vendor adapter, registering domains api.z.ai and open.bigmodel.cn with thinkingFormat: zai.
    • Updated zai and zai-coding-cn provider configs: set Vendor: "zai", ThinkingFormat: "zai", updated base URL to the coding endpoint, added glm-5v-turbo vision model.
  • Kimi Provider Updates

    • Added api.kimi.com domain to the kimi vendor adapter for automatic vendor detection.
    • Added User-Agent: KimiCLI/1.5 header to the kimi-coding provider config.
    • Added Kimi K2.7 Code and K2.7 Code HighSpeed models to moonshotai, moonshotai-cn, fireworks, and opencode-go providers.
  • New Models

    • Added GLM-5.2 model to the opencode-go provider (1M context, 262K max output).
    • Added Kimi K2.7 Code Fast model to fireworks provider.

🐛 Bug Fixes

  • TUI Agent Event Handling

    • Fixed partial response text not being committed to terminal scrollback when an error event occurs mid-stream, ensuring partial content is not lost.
    • Added regression test verifying stream indices and print queue behavior on error.
  • Version Strings

    • Fixed Makefile to use --abbrev=0 with git describe for clean tag versions without commit count/hash suffix.
    • Fixed sync-npm-version.sh to strip commit count and hash suffix from version strings.
    • Updated npm/bin/vibecoding to use GitHub raw URL for install script fallback.

🔧 Refactoring

  • Agent Manager Deterministic Ordering
    • AgentManager.List now sorts agents by start time then ID for stable, deterministic ordering.
    • Extracted resetAgent/abortAndResetAgent helpers to reduce code duplication in TUI commands.
    • Agent ID is now set in config when creating agents in TUI.

📦 Dependencies

  • Added github.com/startvibecoding/vibeEmacsLispVm v0.0.1 as the embedded Elisp subset evaluator used by workflow DSL execution.

📚 Documentation

  • Added the dynamic workflows Elisp proposal under docs/proposal/.
  • Updated English and Chinese tool docs with workflow tool usage, Elisp-only DSL guidance, and cancellation scope.

🧪 Tests

  • Added workflow runner/store/tool tests covering Elisp execution, parallel workers, result fan-in, persistence, tool registration isolation, and active-run cancellation.
  • Added prompt and CLI flag tests ensuring workflow mode does not leak into multi-agent mode, delegate mode, or worker-agent prompts.
  • Added VendorFromBaseURL test cases for api.kimi.com, api.z.ai, and open.bigmodel.cn.
  • Added agent manager tests verifying deterministic list ordering.

Full Changelog: v0.1.43...v0.1.44

v0.1.43

16 Jun 18:32

Choose a tag to compare

Changelog

v0.1.43

🐛 Bug Fixes

  • TUI Input Flush
    • Fixed flushInputQueue in TUI app to properly return the queued input as a tea.Cmd, ensuring queued keystrokes are flushed before processing key events (Enter, Tab, Up, Down). Previously the command was called but its return value was discarded.

🔧 Refactoring

  • Remove Unused mergeSettings
    • Removed the unused mergeSettings() function and its related tests. Project settings merging is now handled directly by LoadSettings.
    • Rewrote settings_zero_test to test via actual file I/O with LoadSettings() instead of direct JSON unmarshaling.

📦 Dependencies

  • GoStreamingMarkdown Update
    • Updated github.com/startvibecoding/GoStreamingMarkdown from v0.0.2 to v0.0.3.

🧪 Tests

  • Added test verifying that Enter flushes queued input before applying command suggestions.

v0.1.42

16 Jun 04:57

Choose a tag to compare

Changelog

v0.1.42

✨ Features

  • TUI Multiline Input
    • Replaced the prompt input with the reusable TUI editor component, enabling true multiline prompt composition.
    • Alt+Enter and Ctrl+J now insert newlines; Enter still submits the prompt.
    • Small multiline pastes are preserved as multiline text instead of flattening newlines to spaces, while large pastes still use paste markers.
    • Up / Down now move within multiline input first and only browse prompt history at input boundaries.

🐛 Bug Fixes

  • TUI Input Editing
    • Home / End editing keys now reach the input editor correctly instead of being swallowed by top-level TUI handling.
    • Restored draft-preserving prompt history navigation when queued keystrokes have not yet flushed.
    • /clear now resets printed-message bookkeeping after emitting the clear confirmation, avoiding stale transcript print state after clearing.

📚 Documentation

  • Updated TUI keyboard shortcut documentation for multiline input, newline insertion, history navigation, and tool modal behavior.

🧪 Tests

  • Added tests for multiline prompt input, Alt+Enter / Ctrl+J, small multiline paste preservation, prompt history boundary navigation, Home/End input editing, and /clear transcript state reset.

Full Changelog: v0.1.41...v0.1.42

v0.1.41

16 Jun 02:24

Choose a tag to compare

Changelog

v0.1.41

✨ Features

  • TUI Redesign

    • Added a startup header with the Vibe logo, version, provider/model, and current working directory.
    • Added a redesigned footer showing mode, model, cwd, elapsed/last request duration, sandbox, context window usage, cache metrics, and key hints.
    • Added an inline loading indicator while the agent is running, with spinner, elapsed time, and cancel hint.
    • Added a sticky todo list for active non-done plan tool steps, so long-running tasks remain visible while the transcript scrolls.
    • Added a multi-agent tab bar showing active agents and their states when more than one agent is running.
    • Added compact tool display mode, toggled with Ctrl+G, to collapse tool outputs into one-line summaries while keeping details available through Ctrl+O.
  • Terminal Scrollback Transcript

    • Completed transcript blocks are now printed to native terminal scrollback via Bubble Tea Program.Println, leaving only live streaming content inside the managed TUI view.
    • This improves mouse scrolling, terminal selection/copying, and behavior for long transcripts.
  • TUI Component Foundation

    • Added reusable editor, suggestion list, and vertical scroll components under internal/tui/components/ with CJK-aware buffer and rendering behavior.
  • Response Formatting Guideline

    • Updated the system prompt to discourage excessive bold text, headers, and bullet lists unless structure is needed or requested.

🐛 Bug Fixes

  • TUI Tool Result Printing

    • Tool result updates now go through one-time transcript printing instead of only refreshing in-memory live content, preventing completed tool output from disappearing from terminal scrollback.
  • Viewport Cleanup

    • Removed obsolete viewport state resets after the TUI moved transcript history to terminal-native scrollback.

📦 Packaging

  • Updated npm installer package metadata and optional platform package versions to 0.1.40.

🧪 Tests

  • Added component tests for the new TUI editor, suggestion list, and vertical scroll models.
  • Updated TUI cache/render tests for header, footer, native scrollback transcript printing, compact display mode, and simplified viewport behavior.

v0.1.38

13 Jun 06:38

Choose a tag to compare

Changelog

v0.1.38

✨ Features

  • Custom Provider Model Fallback

    • When a provider is explicitly requested (via CLI, Gateway, or Hermes) but no model ID is specified, the factory now automatically falls back to the provider's first available model instead of using settings.DefaultModel (which belongs to the default provider).
    • This prevents configuration mismatches and "model not found" errors when using non-default providers without a specified model.
  • Hermes Configuration Default Resolution

    • Updated Hermes default model resolution so that when DefaultProvider is specified in hermes.json but DefaultModel is left blank, the system correctly falls back to the custom provider's first available model instead of propagating the global DefaultModel from settings.json.
  • Refined Exposed Agent SDK Package & Examples

    • Completed the mapping for all missing events and fields inside the top-level agent bridge (including Messages, TurnMessage, TurnToolResults, Message, ToolCall, ToolDiff, ToolError, PartialResult, Plan, Usage, and ContextUsage).
    • Fixed a critical enum misalignment on StreamEventType caused by internal-only types (like StreamThinkSignature), implementing explicit, robust mapping helpers.
    • Implemented PublicProviderAdapter to seamlessly bridge internal providers back to the public agent.Provider interface, and wired them up automatically to avoid package import cycles.
    • Added two rich top-level examples in the example/ directory (simple_agent and custom_provider) with dual-language READMEs, showing custom provider and tool loop execution.

🧪 Tests

  • Added TestCreateFallbackToFirstModel in internal/provider/factory_test.go to cover fallback behavior for both custom and built-in providers when the model ID is blank.
  • Added test coverage in internal/hermes/config_test.go for GetDefaultModel when DefaultProvider is specified in Hermes config but DefaultModel is empty.

v0.1.37

13 Jun 04:29

Choose a tag to compare

Changelog

v0.1.37

✨ Features

  • Vertex AI API Key Authentication
    • Added support for authenticating directly with Google Vertex AI using API keys (x-goog-api-key) instead of requiring gcloud OAuth tokens (ya29.).
    • When an API key is used, the default base URL automatically routes to https://aiplatform.googleapis.com/v1/publishers/google/models (which doesn't require project/location parameters).
    • Keeps backward compatibility with existing OAuth bearer tokens.

🐛 Bug Fixes

  • Google Tool Thought Signatures

    • Correctly extract and forward Gemini reasoning/thought signatures in tool calls, preventing any misalignment or signature mismatches.
  • TUI Raw Bash Output Preservation

    • Preserved ANSI escape codes and raw spacing/newlines in Bubble Tea TUI rendering for bash tool results, avoiding accidental italic style inheritance from the TUI framework.

v0.1.36

12 Jun 19:27

Choose a tag to compare

Changelog

v0.1.36

✨ Features

  • Doctor Subcommand (vibecoding doctor)
    • New diagnostic command that checks environment, configuration, providers, sandbox, MCP servers, sessions, skills, and context files
    • Reports OS/arch, Go version, shell, home/working directory
    • Validates settings, gateway, and MCP config files with parse checks
    • Lists configured providers with masked API keys, models with context window/max tokens/reasoning flags
    • Checks bwrap sandbox availability and version
    • Shows MCP servers, session counts, skills directories, and discovered context files
    • Unconfigured providers (no API key) are silently skipped

🐛 Bug Fixes

  • TUI Session State

    • Fixed /clear to reset transcript rendering state, tool results, assistant markdown caches, active stream indices, plan panel, and tool modal state consistently with session switching
    • Extracted shared transcript/input reset helpers to reduce divergent cleanup paths
  • TUI Mode Switching

    • Pressing Tab to cycle mode now aborts an active request before changing mode, matching /mode behavior and preventing approval/question responses from targeting a stale agent
  • TUI Question Tool

    • Numbered question selections now resolve to the selected option text instead of sending raw numbers back to the model
    • Clearing question state now also clears the current question metadata
  • TUI Warnings and Details Modal

    • Context-pressure and budget-pressure agent events are now displayed in the TUI
    • Ctrl+O now reports when there is no conversation detail to show instead of opening an empty modal
  • Context Pressure Threshold Comparison

    • Fixed Context Pressure threshold unit mismatch: Percent (0-100) was compared directly against threshold (0-1), causing the warning to fire at ~0.5% usage instead of the intended 55%
    • Fixed InitHermesConfig project template to include explicit context_pressure_threshold and budget_pressure_threshold defaults, preventing them from being serialized as 0 (disabled)
  • Live Message Rendering

    • Live assistant messages render fenced code blocks as Markdown while keeping normal prose on the plain-text wrapping path to avoid awkward word splitting
  • Model Validation and Compaction

    • Pass ModelID in ChatParams so providers know the active model
    • Forward model to compaction/summary generation, preventing silent fallback to default model
    • Return errors with available model list when model is not found instead of silently falling back
    • Consistent model error messages across factory, gateway, and TUI
  • Google/OpenAI Tool Result Text Extraction

    • Fixed Google and OpenAI providers sending empty content when tool results use rich Contents blocks instead of plain Content string
    • Added googleToolResultText() to extract text from Contents blocks in Google provider
    • Fixed responseToolOutput() usage in OpenAI rich tool result branch

🧪 Tests

  • Added regression coverage for /clear transcript cleanup, question state tracking, empty details modal handling, pressure warnings, live code-block rendering, and prose wrapping
  • Added agent-level integration test (TestToolResultIsIncludedInNextProviderTurn) verifying tool results with rich Contents blocks reach the next provider turn
  • Added provider-level unit tests for Google and OpenAI tool result text extraction from Contents blocks