Skip to content

v1.2.27

Choose a tag to compare

@shuv1337 shuv1337 released this 20 Mar 10:16
· 24 commits to integration since this release
  • Fix: restore fork markers and account config merge
  • Sync: merge upstream v1.2.27 into shuvcode-dev
  • Fix: vcs watcher if statement (anomalyco#17673)
  • Tweak(ui): remove open label (anomalyco#17512)
  • Chore(permission): delete legacy permission module (anomalyco#17534)
  • Fix(question): clean up pending entry on abort (anomalyco#17533)
  • Remove sighup exit (anomalyco#17254)
  • Refactor(permission): effectify PermissionNext + fix InstanceState ALS bug (anomalyco#17511)
  • Fix(app): handle multiline web paste in prompt composer (anomalyco#17509)
  • Refactor(schema): inline branded ID schemas (anomalyco#17504)
  • Refactor(question): effectify QuestionService (anomalyco#17432)
  • Tweak: ensure that compaction message is tracked as agent initiated (anomalyco#17431)
  • Fix(core): increase default chunk timeout from 2 min to 5 min (anomalyco#17490)
  • Fix(opencode): lost sessions across worktrees and orphan branches (anomalyco#16389)
  • Fix(app): model selection persist by session (anomalyco#17348)
  • Fix(app): polish prompt composer controls (anomalyco#17388)
  • Fix(app): sidebar sync
  • Tweak(ui): use new-session icon in sidebar buttons
  • Fix(app): avoid clipping new session during sidebar anim
  • Fix(app): animate titlebar controls on sidebar open
  • Fix(app): restore sidebar dash and sync session spinner colors (anomalyco#17384)
  • Feat(schema): scaffold effect-to-zod bridge (anomalyco#17273)
  • Fix(app): fork should copy prompt into new session (anomalyco#17375)
  • Fix(app): sidebar spacing + session list spinner transition (anomalyco#17355)
  • Fix(app): terminal cloning without retry (anomalyco#17354)
  • Fix(app): scroll falls behind prompt input
  • Fix(app): todo spacing
  • Fix(app): better optimistic prompt submit (anomalyco#17337)
  • Fix(opencode): serialize config bun installs (anomalyco#17342)
  • Fix(app): support text attachments (anomalyco#17335)
  • Chore(app): i18n sync (anomalyco#17283)
  • Perf(app): use cursor session history loading (anomalyco#17329)
  • Perf(server): paginate session history (anomalyco#17134)
  • Fix(opencode): sessions lost after git init in existing project (anomalyco#16814)
  • Fix(e2e): fail fast on config dependency installs (anomalyco#17280)
  • Fix(app): list item background colors
  • Fix: filter empty content blocks for Bedrock provider (anomalyco#14586)
  • Fix(cli): hide console command from help output (anomalyco#17277)
  • Fix(app): stabilize todo dock e2e with composer probe (anomalyco#17267)
  • Refactor(provider): effectify ProviderAuthService (anomalyco#17227)
  • Desktop: multi-window support in electron (anomalyco#17155)
  • Feat(cli): add console account subcommands (anomalyco#17265)
  • Refactor(auth): effectify AuthService (anomalyco#17212)
  • Tweak: rm openrouter warning (anomalyco#17259)
  • Fix(app): increase CI e2e workers (anomalyco#17263)
  • Reorder provider list in providers login (anomalyco#17262)
  • Fix(app): sidebar re-rendering too often
  • Fix(app): task error state
  • Fix(app): message loading
  • Fix: if server password exists, use basic auth for plugin client by default (anomalyco#17213)
  • Feat(app): follow-up behavior (anomalyco#17233)
  • Fix(app): optimistic revert/restore
  • Fix(app): not loading message nav
  • Fix(app): titlebar cleanup (anomalyco#17206)
  • Feat: session load perf (anomalyco#17186)
  • Fix: non openai azure models that use completions endpoints (anomalyco#17128)
  • Refactor(import): use .parse() at boundaries instead of manual .make() (anomalyco#17106)
  • Refactor(provider): flow branded ProviderID/ModelID through internal signatures (anomalyco#17182)
  • Fix(web): fix broken mobile sidebar (in workflows mode) sizing issue by adding flex-1 (anomalyco#17055)
  • Fix(app): terminal animation
  • Feat(id): brand ProviderID and ModelID (anomalyco#17110)
  • Fix(app): sidebar quirks
  • Refactor(desktop): rework default server initialization and connection handling (anomalyco#16965)
  • Fix terminal e2e flakiness with a real terminal driver (anomalyco#17144)
  • Fix(desktop): set default WebSocket username and prevent repeated calling of terminal spawn properly closing the terminal (anomalyco#17061)
  • Fix(electron): theme Windows titlebar overlay (anomalyco#16843)
  • Fix(app): guard comment accessor in message timeline (anomalyco#17126)
  • Merge remote-tracking branch 'origin/dev' into dev
  • Core: remove external sourcemap generation to reduce build artifacts
  • Fix(e2e): re-focus prompt after terminal opens in slash-terminal test (anomalyco#17113)
  • Feat(id): brand PermissionID, PtyID, QuestionID, and ToolID (anomalyco#17042)
  • Feat(windows): add arm64 release targets for cli and desktop (anomalyco#16696)
  • Feat(id): brand PartID through Drizzle and Zod schemas (anomalyco#16966)
  • Feat(id): brand WorkspaceID through Drizzle and Zod schemas (anomalyco#16964)
  • Fix: resolve symlinks in Instance cache to prevent duplicate contexts (anomalyco#16651)
  • Feat(id): brand SessionID through Drizzle and Zod schemas (anomalyco#16953)
  • Core: restore plugin serverUrl getter so plugins can connect to local server
  • Feat(app): restore to message and fork session (anomalyco#17092)
  • Fix: re-enable snapshot in acp (anomalyco#14918)
  • Tweak: adjust skill presentation to be a little less token heavy (anomalyco#17098)
  • Feat(id): brand ProjectID through Drizzle and Zod schemas (anomalyco#16948)
  • Fix(app): todos not clearing
  • Fix(app): skip editor reconcile during IME composition (anomalyco#17041)
  • Refactor(account): tighten effect-based account flows (anomalyco#17072)
  • Fix(core): read stdout and stderr in PackageRegistry.info before waiting for the process to exit (anomalyco#16998)
  • Chore(app): simplify review pane (anomalyco#17066)
  • Tweak: adjust way skills are presented to agent to increase likelyhood of skill invocations. (anomalyco#17053)
  • Perf(app): trim session render work (anomalyco#16987)
  • Sync: merge upstream v1.2.24 into shuvcode-dev
  • Fix(electron): hide Windows background consoles (anomalyco#16842)
  • Fix: add GOOGLE_VERTEX_LOCATION env var support for Vertex AI (anomalyco#16922)
  • Fix(account): resilient orgs fetch (anomalyco#16944)
  • Chore(app): fix tests
  • Fix(app): terminal jank
  • Fix(app): terminal focus issues and jank
  • Fix ESM imports for @opencode-ai/plugin (anomalyco#16916)
  • Core: make account login upgrades safe while adding multi-account workspace auth (anomalyco#15487)
  • Fix(core): don't permit access to system directories (anomalyco#16891)
  • Feat(core): allow passing workspaceID into session create endpoint (anomalyco#16798)
  • Fix(core): a chunk timeout when processing llm stream (anomalyco#16366)
  • Fix(core): make worktrees read the project id from local workspace (anomalyco#16795)
  • Fix(opencode): add thinking variants support for SAP AI provider (anomalyco#14958)
  • Chore(app): debug window
  • Upgrade opentui to v0.1.87 (anomalyco#16772)
  • Fix(mcp): fix OAuth auto-connect failing on first connection (anomalyco#15547)
  • Refactor(server): extract createApp function for server initialization
  • Chore(app): dev stats
  • Fix(app): terminal state corruption
  • Fix(core): put workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag (anomalyco#16775)
  • Merge remote-tracking branch 'origin/dev' into dev
  • Refactor: replace bun semver with npm semver package
  • Fix(tui): wait for model store before auto-submitting --prompt (anomalyco#7476)
  • Refactor(opencode): replace Bun shell in core flows (anomalyco#16286)
  • Refactor: change pathToFileURL imports from bun to url module
  • Fix(tui): handle error when creating a session (anomalyco#16767)
  • Fix: Multiple jdtls LSPs eating memory in java monorepos (anomalyco#12123)
  • Fix(app): scroll jitter/loop
  • Fix(app): session title turn spinner (anomalyco#16764)
  • Fix(app): dismiss toast notifications when questions or permissions a… (anomalyco#16758)
  • Feat(tui): add initial support for workspaces into the tui (anomalyco#16230)
  • Feat(gitlab): send context-1m-2025-08-07 beta header to enable 1M context window (anomalyco#16153)
  • Add copilot gpt-5.4 xhigh support (anomalyco#16294)
  • Fix(app): remove oc-1 theme
  • Tui: fix sidebar workspace container sizing by adding box-border class to prevent content overflow issues
  • Fix(app): don't animate review panel in/out
  • Revert(app): "STUPID SEXY TIMELINE (anomalyco#16420)" (anomalyco#16745)
  • Fix(app): sanitize workspace store filenames on Windows (anomalyco#16703)
  • Fix(opencode): pass missing auth headers in run --attach (anomalyco#16097)
  • Feat(app): generate color palettes (anomalyco#16232)
  • Disable fallback to free nano for small model
  • Guard tui exit (anomalyco#16640)
  • Fix(tui): canonicalize cwd after chdir (anomalyco#16641)
  • Tui: fix sidebar background color when collapsed
  • App: suppress hover when opening project menu or right-clicking to prevent flickering
  • Fix: trim retained desktop terminal buffers (anomalyco#16583)
  • Fix(app): messages not loading reliably
  • Fix: prune and evict stale app session caches (anomalyco#16584)
  • Fix(opencode): avoid TTY corruption from double cleanup (anomalyco#16565)
  • Fix(tui): fix broken /mcp toggling (anomalyco#16431)
  • Revert "tui: dock auto-accept after thinking and move Add file to bottom-left"
  • Revert "tui: keep model + thinking selectors beside Add file"
  • Revert "tui: add more editor bottom padding for prompt controls"
  • Revert "tui: expose auto-accept as a permissions select"
  • Revert "tui: use text-base color for prompt selects"
  • Revert "tui: remove prompt model/thinking/permissions selectors on dev so the composer stays simple"
  • Tui: remove prompt model/thinking/permissions selectors on dev so the composer stays simple
  • Tui: restore new-session logo on dev so users recognize OpenCode immediately
  • Tui: revert new-session logo on dev so this UI change only ships with auto-accept-permissions
  • Tui: add opencode logo to new session screen so users can immediately identify the app when starting a fresh session
  • Tui: use text-base color for prompt selects
  • Tui: expose auto-accept as a permissions select
  • Tui: add more editor bottom padding for prompt controls
  • Tui: keep model + thinking selectors beside Add file
  • Tui: dock auto-accept after thinking and move Add file to bottom-left
  • Tui: revert prompt control docking
  • Tui: dock auto-accept after thinking and move Add file to bottom-left
  • Core: update database path test to verify correct channel-based filename
  • Core: allow beta channel to share database with stable channel
  • Tui: balance titlebar columns so center content doesn't get squeezed by long side content
  • Tui: center empty states vertically in session view and improve review panel messaging for projects without version control
  • Core: add OPENCODE_SKIP_MIGRATIONS flag to bypass database migrations
  • Fix(app): review panel transition
  • Fix(app): guard session-header current() against undefined when options is empty (anomalyco#16478)
  • Fix(app): preserve file tree tab on reopen + fix e2e test regressions (anomalyco#16482)
  • Tui: remove close button from project hover popover (anomalyco#16403)
  • Fix(app): new session uses agent model/variant
  • Fix(app): model sticks to session
  • Fix(app): all panels transition
  • Fix(app): can't scroll files
  • Fix(app): fix max-width on timeline
  • Tui: align session empty states (anomalyco#16412)
  • STUPID SEXY TIMELINE (anomalyco#16420)
  • Test(app): share workspace slug wait helper across e2e specs (anomalyco#16446)
  • Fix(opencode): preserve original line endings in 'edit' tool (anomalyco#9443)
  • Fix(tui): fix broken /export toggling (anomalyco#16443)
  • Test(app): abort sessions and wait for idle before e2e cleanup (anomalyco#16439)
  • Fix(windows): git path resolution for modified files across Git Bash, MSYS2, and Cygwin (anomalyco#16422)
  • Fix(pty): pty session handle leak (anomalyco#15599)
  • Feat(desktop): show skill issue when snapshotting is off (anomalyco#16432)
  • Fix(opencode): sanitize preview database filenames (anomalyco#16430)
  • App: fix portal positioning for sidebar menus and tooltips by removing conditional mount logic
  • Tests(app): e2e tests part 67 (anomalyco#16406)
  • Feat(app): sidebar reveal animation, hover peek overlay, and weaker dividers (anomalyco#16374)
  • Fix(core): log stack trace when schema validation fails (anomalyco#16401)
  • Fix issue with migration
  • Fix(app): better review/filetree empty states (anomalyco#16221)
  • Feat: add project git init api (anomalyco#16383)
  • Fix(app): enable Safari autocorrect in normal mode, disable in shell mode (anomalyco#15563)
  • Fix(app): stale keyed show errors
  • Chore(storage): update drizzle and channel db handling
  • Share: speed up share loads (anomalyco#16165)
  • Revert "fix(app): stale read error"
  • Revert "fix(app): stale keyed show errors"
  • Fix(app): add english to locale matchers (anomalyco#16280)
  • Fix(app): enable auto-accept keybind regardless of permission config (anomalyco#16259)
  • Fix: restore Bun stdin reads for prompt input (anomalyco#16300)
  • Fix(git): stop leaking fsmonitor daemons e.g. 60GB+ of commited memory after running tests (anomalyco#16249)
  • Refactor(opencode): replace Bun.which with npm which (anomalyco#15012)
  • Feat: add "gpt-5.4" to codex allowed models list (anomalyco#16274)
  • Refactor: replace Bun.stderr and Bun.color with Node.js equivalents
  • Refactor: replace Bun.connect with net.createConnection
  • Fix: use sha1 for hash instead of unsupported xxhash3-xxh64
  • Refactor: use node:stream/consumers for stdin reading
  • Refactor: replace Bun.stdin.text with Node.js stream reading
  • Refactor: replace Bun.hash with Hash.fast using xxhash3-xxh64
  • Refactor: replace Bun.write with Filesystem.write in config files
  • Refactor: replace Bun.write/file with Filesystem utilities in snapshot
  • Refactor: replace Bun.sleep with node timers (anomalyco#15013)
  • Fix(app): stale show (anomalyco#16236)
  • Tui: remove keyboard shortcut tooltips from new session and new workspace buttons in the sidebar
  • Fix(app): load tab on open file
  • Feat(tui): add onClick handler to InlineTool and Task components (anomalyco#16187)
  • Chore(app): ghostty-web fork
  • Update sdk package.json
  • Fix(app): stale keyed show errors
  • Fix(app): locale error
  • Fix(app): stale read error
  • Fix(app): provider settings consistency
  • Fix(app): preserve question dock state across session switches (anomalyco#16173)
  • Fix(app): icon jiggle
  • Fix(app): mod+f always opens search
  • Refactor(desktop): improve error handling and translation in server error formatting (anomalyco#16171)
  • Fix(app): improve agent selection logic passing in configured models and variants correctly (anomalyco#16072)
  • Desktop: remove unnecessary macOS entitlements (anomalyco#16161)
  • Desktop: new-session deeplink (anomalyco#15322)
  • App: prefer using useLocation instead of window.location (anomalyco#15989)
  • Feat(opencode): Adding options to auth login to skip questions (anomalyco#14470)
  • Dont let dax touch the ui (anomalyco#16060)
  • Fix(core): handle SIGHUP and kill process (anomalyco#16057)

Thank you to 35 community contributors: