Releases: tailcallhq/forgecode
Releases · tailcallhq/forgecode
v1.31.2
Changes
🐛 Bug Fixes
- fix(codex): stop forcing low text verbosity @ssddOnTop (#2501)
- fix(model): consolidate gpt-5.4 model ids and update context lengths @ssddOnTop (#2500)
v1.31.1
v1.31.0
Changes
🚀 Features
- feat(model): add gpt-5.4 and gpt-5.4-pro to provider catalog @amitksingh1490 (#2487)
- feat(shell-plugin): rename login to provider-login (keep login alias) @tusharmath (#2483)
- feat(todo): add todo_write tool for task tracking @amitksingh1490 (#2362)
- feat(cli): add setup and doctor alias commands for zsh integration @tusharmath (#2473)
📝 Documentation
- fix: improve zsh doctor diagnostics and error messaging @tusharmath (#2489)
- docs: rename 'Forge Services' to 'ForgeCode Services' in readme, ui, and comments @tusharmath (#2480)
- docs(readme): clarify 'secure by design' with restricted shell mode @tusharmath (#2479)
- docs(readme): remove 'secure by design' bullet point @tusharmath (#2478)
🐛 Bug Fixes
- fix: cap parallel file reads and tighten zsh doctor diagnostics @tusharmath (#2482)
- fix(model-zsh): truncate the model names @laststylebender14 (#2493)
- fix: improve zsh doctor diagnostics and error messaging @tusharmath (#2489)
- fix(shell-plugin): change fzf preview to bottom and set reverse layout @tusharmath (#2477)
🧰 Maintenance
- refactor(context-engine): use git ls-files instead of walker for file discovery @tusharmath (#2481)
- refactor(skill): rename pr-description skill to github-pr-description @tusharmath (#2475)
v1.30.0
Changes
🚀 Features
- feat(model): cross-provider model switching with concurrent fetching and persistent cache @laststylebender14 (#2437)
- feat(cli): add --model and --provider flags, deprecate env vars @laststylebender14 (#2463)
- feat(update): update forge in bg @laststylebender14 (#2466)
- feat(shell-plugin): add :copy command to copy last assistant message to clipboard @tusharmath (#2471)
- feature: add gpt-5.3-codex to provider catalog @amitksingh1490 (#2458)
- feat(REPL): add deprecation warning for repl mode @laststylebender14 (#2455)
📝 Documentation
- fix(doctor-command): update installation command in doctor script @laststylebender14 (#2469)
🐛 Bug Fixes
- fix(openai): enhance github copilot disabled model error message @laststylebender14 (#2345)
- fix(doctor-command): update installation command in doctor script @laststylebender14 (#2469)
- fix(repo): add legacy variant support for conversation deserialization @ssddOnTop (#2465)
- fix(porcelain): remove duplicate column from models output @laststylebender14 (#2459)
- fix(requesty): add reasoning_effort parameter support @laststylebender14 (#2435)
🧰 Maintenance
- feat(command): add github PR description command @laststylebender14 (#2470)
- chore(deps): bump minimatch from 9.0.5 to 9.0.7 @dependabot[bot] (#2461)
- chore(ci): remove Coveralls upload from CI @laststylebender14 (#2460)
v1.29.1
Changes
🐛 Bug Fixes
- fix(installation): use new installation URLs @ravshansbox (#2450)
🧰 Maintenance
- chore(deps): bump the minor group across 1 directory with 6 updates @dependabot[bot] (#2446)
v1.29.0
Changes
🚀 Features
- feat(env): support auto-dumping conversation via FORGE_AUTO_DUMP env var @tusharmath (#2441)
- feat(system_prompt): add file extension statistics @laststylebender14 (#2384)
- feat(subagent): handle interrupts for sub-agents @laststylebender14 (#2330)
🐛 Bug Fixes
- fix(crlf): Handling files with CRLF line endings (windows) @soerennielsen (#2379)
- fix(pipeline): enable caching for minimax models via open router @amitksingh1490 (#2448)
- fix(porcelain): use char count instead of byte len for truncation @laststylebender14 (#2443)
- chore(deps): bump the patch group across 1 directory with 14 updates @dependabot[bot] (#2430)
- fix(catalog): normalize tool names with trimming and case-insensitive catalog matching @tusharmath (#2439)
- fix(context_engine): improve file sync logging @tusharmath (#2438)
- fix: preserve accumulated usage during compaction @ssddOnTop (#2425)
- fix(ui): hide api key and show credentials path after forge auth creation @tusharmath (#2426)
- fix(sync): normalize file paths to absolute form to fix workspace sync detection @tusharmath (#2421)
🧰 Maintenance
- refactor: replace rust-embed with include_dir for template and zsh embedding @tusharmath (#2447)
- chore(deps): bump the patch group across 1 directory with 14 updates @dependabot[bot] (#2430)
- fix(context_engine): improve file sync logging @tusharmath (#2438)
- chore(provider): add gemini-3.1-pro-preview model @amitksingh1490 (#2434)
- chore: remove unnecessary clone in get_all_providers method @laststylebender14 (#2431)
- chore(hooks): move title generator to its own hook @laststylebender14 (#2397)
v1.28.0
Changes
🚀 Features
- feat(sync): add sync-status and sync-info commands @laststylebender14 (#2414)
- feat(workspace): add workspace init command @laststylebender14 (#2413)
🐛 Bug Fixes
- fix(zsh): move workspace indexed check to background @laststylebender14 (#2408)
- fix(github): streamline bug report template @tusharmath (#2403)
- fix(result_stream): stream reasoning before content in stream @laststylebender14 (#2398)
🧰 Maintenance
- chore(provider): add claude-sonnet-4-6 model to anthropic and vertex providers @amitksingh1490 (#2422)
- refactor(context_engine): remove retry logic and simplify error handling @tusharmath (#2407)
- refactor(update): switch to github releases and curl @tusharmath (#2383)
- chore(ui): remove verbose agent response log @tusharmath (#2406)
v1.27.0
Changes
🚀 Features
- feat(skills): add create-github-issue skill @tusharmath (#2390)
- feat(zsh): add parameters on all ZSH commands @laststylebender14 (#2385)
🐛 Bug Fixes
- fix(openai): treat subsequent system messages as developer inputs @amitksingh1490 (#2401)
- fix(schema): convert nullable fields to anyOf for strict mode compatibility @amitksingh1490 (#2396)
- fix(context_engine): prevent retry loop on connection refused errors @tusharmath (#2395)
- fix(vertex-anthropic): accumulate usage tokens across streaming events @amitksingh1490 (#2393)
- fix(context_engine): retry only transient gRPC errors @laststylebender14 (#2391)
- fix(context_engine): prevent retry on unauthenticated errors @laststylebender14 (#2377)
v1.26.0
Changes
🚀 Features
- feat(zsh): add currency conversion support for cost display @tusharmath (#2382)
🐛 Bug Fixes
- fix(zsh): reorder zle calls for correct prompt reset @laststylebender14 (#2386)
- fix(sem_search): add semantic search quality evaluation with llm judge and improve descriptions @amitksingh1490 (#2370)
- fix(file_tracking): use raw content hash for consistent change detection @amitksingh1490 (#2381)
- fix(dump): dump loading @laststylebender14 (#2356)
- fix(context_engine): avoid explicitly deleting modified files @laststylebender14 (#2378)
- chore: fix clippy warnings for sort_by and div @amitksingh1490 (#2376)
- chore(deps): bump the patch group with 23 updates @dependabot[bot] (#2374)
🧰 Maintenance
- chore(provider): add GLM-5 and GLM-4.7 flash models @amitksingh1490 (#2388)
- chore(deps): upgrade schemars from 0.8 to 1.0 @amitksingh1490 (#2375)
- chore: fix clippy warnings for sort_by and div @amitksingh1490 (#2376)
- chore(deps): bump the major group with 10 updates @dependabot[bot] (#2372)
- chore(deps): bump the patch group with 23 updates @dependabot[bot] (#2374)
- chore(deps): bump the minor group with 10 updates @dependabot[bot] (#2373)
v1.25.0
Changes
🚀 Features
- refactor(orch): move compaction logic to response hook handler @tusharmath (#2366)
- feat(codex): support image inputs in Responses API request mapping @amitksingh1490 (#2360)
- feat(codex): add OpenAI Codex provider with headless device auth @amitksingh1490 (#2358)
🐛 Bug Fixes
- fix(openai): infer model input modalities to prevent image read failures @amitksingh1490 (#2365)
- fix(zsh): clear buffer after commit action to prevent stale prompt state @amitksingh1490 (#2343)
- fix(fs_search): handle empty string file type from LLM tool calls @amitksingh1490 (#2355)
🚀 Performance
- perf(tool_registry): lazily resolve model lookup for modality checks @amitksingh1490 (#2359)
🧰 Maintenance
- refactor(orch): move compaction logic to response hook handler @tusharmath (#2366)
- chore(deps): bump time from 0.3.44 to 0.3.47 @dependabot[bot] (#2353)
- chore(deps): bump bytes from 1.11.0 to 1.11.1 @dependabot[bot] (#2352)