Changelog

All releases and what changed in each version.

v1.9.0

Latest

May 10, 2026

Features

  • Feature(commands) allow markdown commands to execute workflows directlyee97bb0

Bug Fixes

  • Bug Fix(028) built-in model tier classifier (F-24, T-C15)74dc2a7
  • Bug Fix(028) qwen-xml formatter accepts Hermes envelope (F-23, T-C14)169c142
  • Bug Fix(028) reset streaming filter between agent iterations (F-25, T-C16)a7c71df
  • Bug Fix(tests) stuck test prompt loop7975bc3
  • Bug Fix(tests) use os.tmpdir() instead of hardcoded /tmp for cross-platform CI0fc6bdb
  • Bug Fix(workflows) fix on_max_iterations engine bugs and add skip renderinga3ff2ed

v1.8.0

Release

May 5, 2026

Features

  • Feature(028) add small model harness and Phase B core features9f3728d
  • Feature(028) small model harness, ask_user, task_complete, and command intake (Phase B)cdcbe1a#26

Bug Fixes

  • Bug Fix(028) three small-model compat bugs found during Gemini Flash Lite testing3d47f39
  • Bug Fix(command) slash command render issue7bff150
  • Bug Fix(commands) parse full arg definitions and map positional args to named args85d4674
  • Bug Fix(ui) add InputRequestHandler to unfreeze Ink UI during arg collection0059997

v1.7.0

Release

April 27, 2026

Features

  • Feature(028) wire git branch into Ink StatusBar (F-07)651e074
  • Feature(ux) detect and surface context-limit failures gracefully (spec 028 F-05)e691bcc
  • Feature(ux) rolling spinner text during streaming, git branch in REPL prompt (spec 028 F-06/F-07)e77529c
  • Feature(ux) show diff preview at approval prompt before execution (spec 028 F-03)b4c5256

Bug Fixes

  • Bug Fix(028) make path glob matching and PathGuard test cross-platformf5900aa
  • Bug Fix(lint) remove unused streamedText variable in anthropic provider9aa2264
  • Bug Fix(security) enforce approval gate for all write paths (spec 028 F-01, F-02, F-04)8465e11
  • Bug Fix(security) harden allow-list paths, gate session keys, and cross-repo boundary (spec 028 T-A11/T-A12)ed340f3
  • Bug Fix strip internal gate flags from approval UI display; add cross_repo_read audit eventb0c7940
  • Bug Fix(ux) show cross-repo read warning in approval promptba024e7
  • Bug Fix(ux) show cross-repo warnings in Ink approval prompt4b6e2d7

v1.6.0

Release

April 15, 2026

Features

  • Feature(build) minify dist bundles + add npm provenance (spec 025 track A)b20ade3#22

v1.5.0

Release

April 14, 2026

Features

  • Feature(cli) unify --version output as "copair <version> (<edition>)"42fa6cd

v1.4.5

Release

April 14, 2026

Bug Fixes

  • Bug Fix(ci) use bash shell for release download step on Windowsc8a5613

v1.4.4

Patch

April 14, 2026

Bug Fixes

  • Bug Fix(ci) windows path matching and perf test varianceb10b062
  • Bug Fix(lint) remove unused var2d63952
  • Bug Fix resolve 8.3 short names via file realpathSync, not directorydf14286
  • Bug Fix resolve remaining Windows test failuresf03a18a
  • Bug Fix Windows compatibility for path handling, shell, file modes, and tests1f5644b

v1.4.3

Patch

April 12, 2026

Bug Fixes

  • Bug Fix(ci) add contents:write permission to SEA build workflow5407642

v1.4.2

Patch

April 12, 2026

Bug Fixes

  • Bug Fix(ci) run build before test in SEA workflow082c921

v1.4.1

Patch

April 12, 2026

Bug Fixes

  • Bug Fix(ci) drop macOS x64 from SEA build matrixe101a5b

v1.4.0

Release

April 12, 2026

Features

  • Feature(024) add plugin system, bootstrap extraction, and dual-entry builde558298
  • Feature(ci) switch Homebrew formula to SEA binary distributionac1716c

Bug Fixes

  • Bug Fix(ci) pin SEA build checkout to release tag63abc2b
  • Bug Fix(ci) validate SEA binaries before updating Homebrew formula1f1793d
  • Bug Fix(sea) add esbuild as explicit devDependency598d8db
  • Bug Fix(sea) disable useCodeCache for ESM compatibilitya2fca22
  • Bug Fix(sea) overhaul SEA build pipeline for Node 22 compatibilityc4efb2d
  • Bug Fix(sea) use pnpm exec instead of npx for CI compatibility8760a8e

v1.3.0

Release

April 1, 2026

Features

  • Feature(023) input UX enhancements — word nav, paste fix, ActivityBar, suggestionsb4d7ccb

Bug Fixes

  • Bug Fix(input) copy paste broken textboxf2f3d9f
  • Bug Fix(keyscape) delete on macd6210d9
  • Bug Fix(lint) lint issuese01563d

v1.2.0

Release

April 1, 2026

Features

  • Feature(022) T-22 release prep — perf benchmark + CHANGELOGab7f9f8
  • Feature(p0) close p0 security requirementscc2bb82
  • Feature(p1) T-23 — PathGuard PathPolicy, BUILTIN_DENY, allow/deny_paths config3521480
  • Feature(p1) T-24 — AuditLog module with redaction, truncation, 0o600 writesca12141
  • Feature(p1) T-25 — integrate AuditLog into ToolExecutor, ApprovalGate, session bootstrapecfb58d
  • Feature(p1) T-26 — copair audit CLI commandae1000b
  • Feature(p1) T-27 + T-28 — MCP server validation and env filtering5efbc54
  • Feature(security) implement P0 security foundation and integration (spec 022)857e5f5
  • Feature(security) T-35 bash sensitive path warning + audit1f3bd20

Bug Fixes

  • Bug Fix(lint) disable no-control-regex in ansi-sanitizer.ts0eb162e
  • Bug Fix(schema) update PermissionsConfigSchema default to include allow_paths/deny_pathsc51dbe8

v1.1.0

Release

March 29, 2026

Features

  • Feature(021) implement project init enhancementsc279054
  • Feature(sync) changesbd75c44
  • Feature(web-search) automatic fallback to provider native search on failurea91e014
  • Feature(web-search) copair-first web search pipeline with HIML gate54743f4

Bug Fixes

  • Bug Fix(e2e) isolate tests from ProjectInitManager CI exit0c70b8f
  • Bug Fix(security) block agent writes to config.yaml and allow.yaml via trusted path05d7db3
  • Bug Fix(test) unit tests7e221d3

v1.0.2

Release

March 24, 2026

Bug Fixes

v1.0.1

Patch

March 23, 2026

Bug Fixes

  • Bug Fix(publish) use @dugleelabs/copair as package name9257351

v1.0.0

Release

March 23, 2026

Features

  • Feature(author) configurable co-author150a5ad
  • Feature(banner) cli bannerefbc00b
  • Feature(cli,core) add command history and improve tool system prompts • Add persistent command history to REPL with 500-item limit • Enhance tool system prompts with stricter execution rules • Support unclosed tool_call tags for better model compatibility46c72e1
  • Feature(cli) add enhanced UI components for better user experience8c9c55f
  • Feature(cli) enhance renderer with rich tool execution displayc363fa4
  • Feature(cli) improve tool call display and git workflowb9e8321
  • Feature(context) better context handlingb189a15
  • Feature(core) add allow-list, approval-gate, tool-executor4d9935c
  • Feature(core) add allow-list, approval-gate, tool-executor7921423
  • Feature(fallback) add DeepSeek DSML tool-call format parsingb4ba4d5
  • Feature implement agent core — Phase 3f4244b1
  • Feature implement Phase 6 — polish & releaseaa4ee9a
  • Feature implement phases 4-5 and add docs2cc9ad6
  • Feature implement provider layer — Phase 2f044e5c
  • Feature initialize project — Phase 1 Foundationbe2f5cd
  • Feature(release) prepare copair for v0.1.0 open source releaseb4815cf
  • Feature(src:cli) update REPL functionality37fafb1
  • Feature(src:core) enhance tool fallback mechanismf3ea1db
  • Feature(src:core) enhance tool fallback mechanism658d333
  • Feature(src) update repl functionality5afea9f
  • Feature(status-bar) derive context percent from session token summary - Add optional contextPercent field to TokenUsage interface - Compute contextPercent in main loop using session totals vs provider maxContextWindow - Remove redundant contextPercent state in StatusBar; read from usage object instead927d70b
  • Feature(ui/ux) 017 phase1 enhancements1f2f09b
  • Feature(ui/ux) wrap up core componentscdb3b0b
  • Feature(ui) replace Repl with full ink UI and wire AgentBridge - Migrate src/index.ts from readline Repl to renderApp (ink); add token tracking, input history persistence, and tab completion engine - Update Renderer to run in inkMode: suppress direct terminal writes, emit all events (thinking-start/stop, stream-text, tool-start/complete, diff, usage) through AgentBridge - Overhaul app.tsx: Static scrollback, thinking spinner, live tool indicator, forwardRef AppHandle, double-Ctrl+C exit, phase machine (input → thinking → streaming → input) - Upgrade bordered-input.tsx: history navigation (↑/↓ arrows), tab completion with common-prefix fill, full-width border, drop model header - Add FilePathProvider, ModelNameProvider, SessionIdProvider to completion-providers.ts - Add ink approval flow to ApprovalGate (bridgePrompt + similarSessionKey); keep legacyPrompt for non-ink fallback; unicode-encode box-drawing chars - Harden ContextWindowManager: ÷3 char/token estimate, size-guard before summarization, try/catch fallback to simple truncation - Add new UI components: ApprovalHandler, CollapsibleSection, CommandPicker, InputHistory, OscLink, SuggestionHint, ToolResultView, ViModeInput - Add unit tests: color-support, completion-providers, input-history, osc-link, suggestion-hint, ui-configb88f1e9

Bug Fixes

  • Bug Fix(agent) merge native and DSML tool calls from same response6265c4c
  • Bug Fix(agent) use last input tokens for context window calculation - Add `lastInputTokens` to `handleMessage` return type to track exact input tokens of the final API call in a turn - Update `index.ts` to calculate `contextPercent` using `lastInputTokens` instead of the aggregate sum - Ensures the UI displays true context window fullness instead of an overinflated cumulative totala981041
  • Bug Fix(agent) use last request inputTokens for context window % - Replace cumulative totalInput+totalOutput with result.usage.inputTokens - Last request's inputTokens reflects actual payload sent to the API - More accurate measure of how full the context window truly is4a825a3
  • Bug Fix(ci) remove explicit pnpm version to avoid packageManager conflictaa461ba
  • Bug Fix(ci) use glob package for Node 20 compat, build before test622c1f0
  • Bug Fix(cli) improve REPL exit handling and prevent accidental termination228074b
  • Bug Fix(dsml) parameter closing tag has slash, regex was missing it5a79f9b
  • Bug Fix local changes6317663
  • Bug Fix resolve all TypeScript type errorse9f449e
  • Bug Fix(sessions) enforce max_sessions limit after new session creation - Reduce default max_sessions from 20 to 1 - Call SessionManager.cleanup after create so disk never exceeds the limitf982837
  • Bug Fix(tools) improve path handling for weaker models0a04691
  • Bug Fix(ui) detect terminals with ink ghosting issues and fall back to plain prompt - Add hasInkGhostingIssue() detection for iTerm2 and Apple Terminal - Fall back to plain prompt when ghosting issues detected - Prevents frozen bordered boxes in scrollbackd5e483d
  • Bug Fix(ui) hide input box when not in input phase - Conditionally render BorderedInput only during input phase - Removes always-mounted pattern with isActive flag - Avoids rendering input UI while agent is processingba41a2f

Other

  • Performance(src) improve API entry pointb4665dd
  • Performance(src) improve API entry point1c6e8c7

Last updated May 12, 2026