Releases: lacymorrow/lash
Releases · lacymorrow/lash
v1.7.8
v1.2.17
Core
- Merge upstream OpenCode (@lacymorrow)
- fix(opencode): avoid gemini combiner schema sibling injection (anomalyco#15318) (@nexxeln)
- fix(provider): forward metadata options to cloudflare-ai-gateway provider (anomalyco#15619) (@ryanskidmore)
- fix(opencode): clone part data in Bus event to preserve token values (anomalyco#15780) (@ryanskidmore)
- fix: recover from 413 Request Entity Too Large via auto-compaction (anomalyco#14707) (@bentrd)
- fix(opencode): show human-readable message for HTML error responses (anomalyco#15407) (@rianvdm)
- fix: kill orphaned MCP child processes and expose OPENCODE_PID on shu… (anomalyco#15516) (@ryanwyler)
- feat(core): add workspace_id to
sessiontable (anomalyco#15410) (@jlongster) - feat(core): add WorkspaceContext (anomalyco#15409) (@jlongster)
- feat(core): basic implementation of remote workspace support (anomalyco#15120) (@jlongster)
- Change keybindings to navigate between child sessions (anomalyco#14814) (@jlongster)
- fix: test
- fix: most segfaults on windows with Bun v1.3.10 stable (anomalyco#15181) (@Hona)
- split tui/server config (anomalyco#13968)
- feat(core): add message delete endpoint (anomalyco#14417) (@shantur)
- sync
- core: temporarily disable plan enter tool to prevent unintended mode switches during task execution
- refactor: migrate Bun.spawn to Process utility with timeout and cleanup (anomalyco#14448)
- fix(opencode): disable config bun cache in CI (anomalyco#14985) (@Hona)
- fix(project): await git id cache write (anomalyco#14977) (@Hona)
- fix(opencode): import custom tools via file URL (anomalyco#14971) (@Hona)
- feat(core): add workspace-serve command (experimental) (anomalyco#14960) (@jlongster)
- fix: ACP both live and load share synthetic pending status preceeding… (anomalyco#14916) (@noamzbr)
- fix(test): replace structuredClone with spread for process.env (anomalyco#14908) (@Hona)
- fix(win32): add 50ms tolerance for NTFS mtime fuzziness in FileTime assert (anomalyco#14907) (@Hona)
- fix(test): replace Unix-only assumptions with cross-platform alternatives (anomalyco#14906) (@Hona)
- fix(test): use path.sep in discovery test for cross-platform path matching (anomalyco#14905) (@Hona)
- fix(win32): normalize backslash paths in config rel() and file ignore (anomalyco#14903) (@Hona)
- fix(win32): fix plugin resolution with createRequire fallback (anomalyco#14898) (@Hona)
- fix(test): harden preload cleanup against Windows EBUSY (anomalyco#14895) (@Hona)
- fix(test): normalize git excludesFile path for Windows (anomalyco#14893) (@Hona)
- feat: ACP - stream bash output and synthetic pending events (anomalyco#14079) (@noamzbr)
- fix(win32): add git flags for snapshot operations and fix tests for cross-platform (anomalyco#14890) (@Hona)
- fix(win32): handle CRLF line endings in markdown frontmatter parsing (anomalyco#14886) (@Hona)
- fix(test): use path.join for cross-platform glob test assertions (anomalyco#14837) (@Hona)
- upgrade to bun 1.3.10 canary and force baseline builds always (anomalyco#14843) (@Hona)
- fix(win32): normalize paths at permission boundaries (anomalyco#14738) (@Hona)
- fix: Windows path support and canonicalization (anomalyco#13671) (@edemaine)
- upgrade opentui to v0.1.81 (anomalyco#14605)
- fix(desktop): change detection on Windows, especially Cygwin (anomalyco#13659) (@edemaine)
- fix(app): terminal issues
- wip: save uncommitted changes from lash branch (@lacymorrow)
- cache platform binary in postinstall for faster startup (anomalyco#14467)
- Revert "cache platform binary in postinstall for faster startup" (anomalyco#14457)
- cache platform binary in postinstall for faster startup (anomalyco#14396)
- desktop: publish betas to separate repo (anomalyco#14376) (@Brendonovich)
- feat: add list sessions for all sessions (experimental) (anomalyco#14038) (@R44VC0RP)
- fix(app): terminal issues (anomalyco#14435)
- fix(snapshot): respect info exclude in snapshot staging (anomalyco#13495) (@nexxeln)
- fix(cli): missing plugin deps cause TUI to black screen (anomalyco#14432) (@elithrar)
TUI
- fix: project ID conflict, and update on same session id (anomalyco#15596) (@noamzbr)
- feat(tui): improve task tool display with subagent keybind hints and spinner animations (anomalyco#15607)
- feat: opencode go provider list (anomalyco#15203)
- fix: consume stdout concurrently with process exit in auth login (anomalyco#15058) (@Ayushlm10)
- opencode go copy
- feat: show LSP errors for apply_patch tool (anomalyco#14715)
- fix(github): support variant in github action and opencode github run (anomalyco#14431) (@elithrar)
Desktop
- auto commit (@lacymorrow)
- Animation Smorgasbord (anomalyco#15637) (@kitlangton)
- fix(app): default auto-respond to false
- chore(app): solidjs refactoring (anomalyco#13399)
- ui: move session review bottom padding
- desktop: fix latest.json finalizer (@Brendonovich)
- Revert "fix(i18n): polish turkish translations" (anomalyco#15656) (@nexxeln)
- desktop: use correct download link in finalize-latest-json (@Brendonovich)
- perf(session): faster session switching via windowed rendering and staged timeline (anomalyco#15474) (@kitlangton)
- feat(app): add compact ui (anomalyco#15578) (@neriousy)
- fix(i18n): polish turkish translations (anomalyco#15491) (@vaur94)
- fix(app): fallback to synthetic icon for unknown provider IDs (anomalyco#15295) (@rexdotsh)
- fix(app): scroll issues
- chore(app): i18n sync (anomalyco#15362)
- feat(app): add Warp to the open menu (anomalyco#15368) (@kitlangton)
- desktop: add latest.json finalizer script (anomalyco#15335) (@Brendonovich)
- fix(app): auto-accept permissions
- feat(app): add Turkish (tr) locale for app and ui packages (anomalyco#15278) (@vaur94)
- feat(app): recent projects section in command pallette (anomalyco#15270) (@neriousy)
- desktop: move open_path to rust (anomalyco#15323) (@Brendonovich)
- app: allow providing username and password when connecting to remote server (anomalyco#14872) (@Brendonovich)
- fix(app): permission indicator
- fix(app): permission notifications
- tweak(app): show keybind on context tab close
- feat(app): better diff/code comments (anomalyco#14621)
- refactor(app): dedupe filetree scroll state (@kitlangton)
- tweak(app): align review changes select height
- fix(ui): mute inactive file tab icons
- tweak(ui): max-width on session when the review is closed but the file tree is open
- tweak(ui): add border to filetree on scroll
- tui: fix session tab alignment in compact view to prevent vertical overflow
- feat(app): new tabs styling (anomalyco#15284)
- feat(app): auto-accept all permissions mode
- refactor(desktop): enhance project tile interaction with suppress hover functionality (anomalyco#15214) (@OpeOginni)
- fix(app): simplify review layout (anomalyco#14953)
- fix(desktop): restore shell path env for desktop sidecar (anomalyco#15211) (@nexxeln)
- fix(app): open in powershell (anomalyco#15112) (@neriousy)
- fix(desktop): remove interactive shell flag from sidecar spawn to prevent hang on macOS (anomalyco#15136) (@kilhyeonjun)
- fix(app): permissions and questions from child sessions (anomalyco#15105)
- fix(app): keyboard navigation previous/next message (anomalyco#15047) (@neriousy)
- fix(app): correct Copilot provider description in i18n files (anomalyco#15071) (@Oleksii-Pavliuk)
- feat(desktop): enhance Windows app resolution and UI loading states (anomalyco#13320) (@neriousy)
- desktop: make readme more accurate (@Brendonovich)
- fix(app): ignore stale part deltas
- fix(app): on cancel comment unhighlight lines (anomalyco#14103) (@neriousy)
- refactor: replace error handling with serverErrorMessage utility and checks for if error is ConfigInvalidError (anomalyco#14685) (@OpeOginni)
- fix(app): preserve native path separators in file path helpers (anomalyco#14912) (@Hona)
- fix(app): remove filetree tooltips
- fix: update createOpenReviewFile test to match new call order (anomalyco#14881) (@Hona)
- app: wait for loadFile before opening file tab (@Brendonovich)
- fix(win32): e2e sometimes fails because windows is weird and sometimes ipv6 (anomalyco#14833) (@Hona)
- fix(app): correct inverted chevron direction in todo list (anomalyco#14628) (@kevinWangSheng)
- feat(app): feed customization options
- desktop: beta icon (@Brendonovich)
- fix: e2e test outdated
- fix(app): remove double-border in share button
- fix(app): better sound effect disabling ux
- wip(app): custom scroll view
- feat(app): show/hide reasoning summaries
- fix(app): stay pinned with auto-scroll on todos/questions/perms
- desktop: bring back -i in sidecar arguments (@Brendonovich)
- fix(app): large text pasted into prompt-input causes main thread lock
- desktop: don't spawn sidecar if default is localhost server (@Brendonovich)
SDK
- wip: zen
- fix(win32): scripts/turbo commands would not run (anomalyco#14829) (@Hona)
- sdk: build to dist/ instead of dist/src (anomalyco#14383) (@Brendonovich)
Thank you to 32 community contributors:
- @Brendonovich:
- desktop: don't spawn sidecar if default is localhost server
- sdk: build to dist/ instead of dist/src (anomalyco#14383)
- desktop: bring back -i in sidecar arguments
- desktop: publish betas to separate repo (anomalyco#14376)
- desktop: beta icon
- app: wait for loadFile before opening file tab
- desktop: make readme more accurate
- app: allow providing username and password when connecting to remote server (anomalyco#14872)
- desktop: move open_path to rust (anomalyco#15323)
- desktop: add latest.json finalizer script (anomalyco#15335)
- desktop: use correct download link in finalize-latest-json
- desktop: fix latest.json finalizer
- @elithrar:
- fix(cli): missing plugin deps cause TUI to black screen (anomalyco#14432)
- fix(github): support variant in github action and opencode github run (anomalyco#14431)
- @nexxeln:
- fix(ui): show full turn duration in assistant meta (anomalyco#14378)
- fix(snapshot): respect info exclude in snapshot staging (anomalyco#13495)
- fix(ui): preserve url slashes for root workspace (anomalyco#14294)
- fix(desktop): restore shell path env for desktop sidecar (anomalyco#15211)
- fix(ui): avoid truncating workspace paths in assistant text (anomalyco#14584)
- fix(ui): prevent filename and diff count overlap in session changes (anomalyco#14773)
- Revert "fix(i18n): polish turkish translations" (anomalyco#15656)
- fix(opencode): avoid gemini combiner schema sibling injection (anomalyco#15318)
- @R44VC0RP:
- feat: add list sessions for all sessions (experimental) (anomalyco#14038)
- fix: update workflows for better automation (anomalyco#14809)
- chore(workflows): label vouched users and restrict vouch managers (anomalyco#15075)
- @tuhin-cmd:
- docs: add Bangla README translation (anomalyco#14331)
- @lacymorrow:
- merge upstream/dev: pull in v1.2.10 features while preserving lash shell-mode and branding
- wip: save unco...
v1.7.7
Core
- auto commit (@lacymorrow)
- fix: add additional context overflow cases, remove overcorrecting ones (anomalyco#13077)
- fix(core): ensure compaction is more reliable, add reserve token buffer to ensure that input window has enough room to compact (anomalyco#12924)
- tweak: /review prompt to look for behavior changes more explicitly (anomalyco#13049)
- fix(tui): improve amazon-bedrock check to include container credentials (anomalyco#13037) (@OpeOginni)
- core: increase test timeout to 30s to prevent failures during package installation
- fix(app): memory leak with platform fetch for events
- fix: show helpful message when free usage limit is exceeded (anomalyco#13005)
- fix(app): no changes in review pane
- fix(app): terminal replay (anomalyco#12991)
- fix(app): workspace reset issues
- fix: resolve homebrew upgrade requiring multiple runs (anomalyco#5375) (anomalyco#10118) (@GeneCodeSavvy)
- fix: publish session.error event for invalid model selection (anomalyco#8451) (@surma)
- fix(opencode): ACP File write should create the file if it doesn't exist (anomalyco#12854) (@BryceRyan)
- tweak: adjust agent variant logic to not require exact match on model, and instead check if the variant is available for model (anomalyco#12838)
- tweak: add new ContextOverflowError type (anomalyco#12777)
- fix(provider): remove obsolete copilot model enablement instructions (anomalyco#12739) (@fgonzalezurriola)
- fix: enable thinking for all reasoning models on alibaba-cn (DashScope) (anomalyco#12772) (@AdJIa)
- fix: parse mid stream openai responses style errors to prevent infinite retries for errors that should STOP execution (anomalyco#12768)
- fix: revert "feat(app): add web input focus shortcut (anomalyco#12493)" (anomalyco#12639) (@gigamonster256)
- feat(app): add web input focus shortcut (anomalyco#12493) (@ChangeHow)
- feat: add models.dev schema ref for model autocomplete in opencode.json (anomalyco#12528) (@remorses)
- feat(core): Set variant in assistant messages too (anomalyco#12531) (@shantur)
- feat(skill): add skill discovery from URLs via well-known RFC (anomalyco#12423)
- fix(opencode): cleanup orphaned worktree directories (anomalyco#12399) (@maharshi365)
- fix: properly encode file URLs with special characters (anomalyco#12424) (@yudgnahk)
- fix(opencode): SessionPrompt.shell() now triggers loop if messages are queued (anomalyco#10987) (@goniz)
- feat(opencode): use reasoning summary auto for gpt-5 models that are not chat (anomalyco#12502) (@scratchmex)
- feat: add specific system prompt for Trinity model (anomalyco#12144) (@mariamjabara)
- fix(opencode): correct prefix selection for amazon-bedrock provider in getSmallModel (anomalyco#12281) (@NachoFLizaur)
- fix(app): don't rely on metadata.summary in task tool render (anomalyco#12497)
- fix(github): handle step-start/step-finish parts in extractResponseText (anomalyco#12470) (@elithrar)
- chore(deps): bump @gitlab/gitlab-ai-provider to 3.5.0 (anomalyco#12496) (@vglafirov)
- fix: add directory parameter to plugin client for multi-project support (anomalyco#11344) (@cooooooooooode)
- fix: correct /data API usage and data format for importing share URLs (anomalyco#7381) (@yuvrajvirk)
- tui: parallelize skill downloads for faster loading
- feat(skill): add skill discovery from URLs via well-known RFC
- fix(config): handle $ character with {file:} pattern (anomalyco#12390) (@hstove)
- senior engineer senior engineering
- tweak: load user plugins after builtin (anomalyco#12373)
- core: fix unhandled errors when aborting with queued messages (anomalyco#12369)
- fix(plugin): user plugins override built-in plugins for same provider (anomalyco#12361) (@rmk40)
- tweak: move codex 5.3 model definition to the plugin so that models.dev doesnt have to show unsupported model for others (anomalyco#12344)
- feat(acp): add session usage (anomalyco#12299) (@SteffenDE)
- tweak: update transforms for gpt-5.3 (anomalyco#12325)
TUI
- fix(tui): default session sidebar to auto (anomalyco#13046)
- refactor: clean up dialog-model.tsx per code review (anomalyco#12983)
- Revert "feat: add version to session header and /status dialog (anomalyco#8802)"
- Revert "feat: show connected providers in /connect dialog (anomalyco#8351)"
- fix(tui): use sender color for queued messages (anomalyco#12832) (@mcostasilva)
- Revert "feat(tui): restore footer to session view (anomalyco#12245)" (anomalyco#12836)
- feat(tui): add Claude Code-style --fork flag to duplicate sessions before continuing (resolves anomalyco#11137) (anomalyco#11340) (@ariane-emory)
- feat(tui): restore footer to session view (anomalyco#12245) (@ariane-emory)
- increase skill dialog width
- fix(opencode): improve skills dialog readability (anomalyco#12356) (@kynnyhsap)
- fix(tui): allow mouse escape via "esc" labels in dialogs (anomalyco#11421) (@AksharP5)
Desktop
- fix(app): task tool rendering
- fix(desktop): open apps with executables on Windows (anomalyco#13022) (@neriousy)
- fix(app): don't close sidebar on session change (anomalyco#13013)
- fix(app): disable terminal transparency
- fix(app): back to platform fetch for now
- fix(app): include basic auth
- fix(app): global event default fetch
- fix(app): memory leak with event fetch
- fix(app): don't dispose instance after reset workspace
- fix(app): regressions
- fix(app): use agent configured variant (anomalyco#12993)
- fix(app): persist defensiveness (anomalyco#12973)
- test(e2e): redo & undo test (anomalyco#12974) (@neriousy)
- fix: use absolute paths for sidebar session navigation (anomalyco#12898) (@riftzen-bit)
- fix(app): new session in workspace choosing wrong workspace
- feat(app): add Cmd+[/] keybinds for session history navigation (anomalyco#12880) (@kitlangton)
- fix(desktop): correct module name for linux_display in main.rs (anomalyco#12862) (@Hona)
- fix(app): max widths
- fix(app): incorrect workspace on new session
- fix(app): update tab file contents on change
- feat(app): polish Open in icon treatment
- fix: add fallback for when crypto.randomUUID is unavailable
- fix(app): allow creating sessions on touch devices (anomalyco#12765) (@kitlangton)
- feat(desktop): add native Wayland toggle on Linux (anomalyco#11971) (@IsraelAraujo70)
- app: include sandboxes in project unseen/error notifs (@Brendonovich)
- feat(desktop): persist currentSidecarUrl in state when isSidecar prop is true (anomalyco#12792) (@OpeOginni)
- desktop: track currentSidecarUrl (@Brendonovich)
- feat: exclude devtools from production builds (anomalyco#12290) (@sneycampos)
- feat(desktop): add isSidecar prop to AppInterface and logic to persist sidecar server urls (anomalyco#12366) (@OpeOginni)
- fix(app): localize "close tab" in command pallete (anomalyco#12756) (@alexyaroshuk)
- fix(layout): improve workspace header truncation and item interaction (anomalyco#12655) (@kitlangton)
- ui: default TextField copy affordance to clipboard (anomalyco#12714) (@kitlangton)
- fix(ui): context stale in prompt input (anomalyco#12695)
- refine(app): tighten slash autocomplete matching (anomalyco#12647) (@kitlangton)
- fix(app): Toast when session is missing on prompt-submit (anomalyco#12654) (@DNGriffin)
- fix(desktop): add native clipboard image paste and fix text paste (anomalyco#12682) (@invarrow)
- fix(app): respect terminal toggle keybind when terminal is focused (anomalyco#12635) (@ryanmiville)
- fix(web): keep /share available to copy existing link (anomalyco#12533) (@kitlangton)
- fix(app): disable 3 safari prompt-input annoyances (anomalyco#12558) (@DNGriffin)
- feat(app): drag-n-drop to @mention file (anomalyco#12569) (@DNGriffin)
- fix(app): handle Windows paths in frontend file URL encoding (anomalyco#12601) (@yudgnahk)
- fix(app): move workspace New session into header (anomalyco#12624) (@kitlangton)
- fix(app): toggle file tree and review panel better ux (anomalyco#12481) (@ProdigyRahul)
- fix(desktop): allow agent select to use full width on windows (anomalyco#12428) (@abdiths)
- fix(app): keep startup script field scrollable in edit project dialog (anomalyco#12431) (@itskritix)
- fix(app): more terminal replay issues
- feat(desktop): added Macos support for displaying only installed editors & added sublime text editor (anomalyco#12501) (@OpeOginni)
- fix(app): remove extra error page and use default error boundary
- desktop: add loading window and restructure rust (anomalyco#12176) (@Brendonovich)
- fix(app): hide 'open in app' button on narrow viewports
- fix(desktop): update server removal logic to clear default server URL if removed (anomalyco#12372) (@OpeOginni)
- feat(app): session last updated time display in command pallete's search (anomalyco#12376) (@alexyaroshuk)
- fix(ui): add Windows File Explorer icon for session header (anomalyco#12386) (@maharshi365)
- fix(desktop): support desktop titlebar double-click maximize (anomalyco#12459) (@crob19)
- desktop: add key accelerators to menu itms (@Brendonovich)
- desktop: add more basic menu bar items (@Brendonovich)
- fix(app): always show project menu button for mobile a11y (anomalyco#11258) (@DNGriffin)
- desktop: maximize main window by default (anomalyco#12433) (@Brendonovich)
- fix(app): make close comment button visible in prompt input (anomalyco#12349) (@alexyaroshuk)
- fix(app): hide prompt input when there are perms or questions (anomalyco#12339)
- fix(app): more terminal stability fixes
- fix(app): modified file color contrast
- feat(app): open in button (anomalyco#12322)
- fix(app): allow toggling file tree closed independently (anomalyco#12293)
- feat(desktop): Stop Showing SessionSkeleton on New Workspace (anomalyco#12209) (@dbpolito)
- feat(desktop): Set Workspace Name Earlier to Improve Creation / Deletion (anomalyco#12213) (@dbpolito)
Thank you to 49 community contributors:
- @SteffenDE:
- feat(acp): add session usage (anomalyco#12299)
- @dbpolito:
- feat(desktop): Set Workspace Name Earlier to Improve Creation / Deletion (anomalyco#12213)
- feat(desktop): Stop Showing SessionSkeleton on New Workspace (anomalyco#12209)
- feat(desktop): Session Review Images (anomalyco#12360)
- @alexyaroshuk:
- fix(app): make close comment button visible in prompt input (anomalyco#12349)
- feat(app): session last updated time display in command pallete's search (anomalyco#12376)
- fix(app): localize "close tab" in command pallete (anomalyco#12756)
- @edoedac0:
- docs: add Bosnian README translation (anomalyco#12341)
- @ariane-emory:
- docs: websearch tool (anomalyco#12359)
- feat(tui): restore footer to session view (anomalyco#12245)
- feat(tui): add Claude Code-style --fork flag to duplicate sessions before continuing (resolves anomalyco#11137) (anomalyco#11340)
- docs(cli): add documentation for --fork flag (anomalyco#12561)
- docs: remove 'Migrating to 1.0' documentation section (anomalyco#13076)
- @rmk40:
- fix(plugin): user plugins override built-in plugins for same provider (anomalyco#12361)
- @AksharP5:
- fix(tui): allow mouse ...
v1.7.6
No notable changes
v1.1.54
v1.1.53
Core
- auto commit (@lacymorrow)
- natural language detection (@lacymorrow)
- menu items (@lacymorrow)
Thank you to 1 community contributor:
- @lacymorrow:
- menu items
- natural language detection
- auto commit
v1.1.52
No notable changes
v1.1.51
v0.0.12
No notable changes