Changelog

What's new in luvus

Every release from new features, fixes, and changes pulled straight from GitHub, newest first.

  1. v0.12.0 Latest

    Luvus v0.12.0 adds native code review, global fuzzy search, community themes, safe updates, and the Luvus Bar extension surface. Existing Luvus workflows and configuration remain available after upgrading from v0.11.0.

    See Luvus v0.12.0 in action

    Five focused demos show the new review, search, customization, extension, and tab organization workflows.

    Review changes without leaving Luvus Inspect staged, worktree, untracked, and conflicted changes in split or stacked layouts, leave line notes, and send focused feedback to a live agent.
    1 / 5

    Features

    • DIFF review: Inspect staged, worktree, untracked, and conflicted changes, leave local line notes, and send focused feedback to a live agent (f0840ba, 011890c, #83).
    • Git Status: Open the explicitly selected staged or working-tree change directly in the native DIFF viewer (6bd06d9, 93d7810, #70).
    • Global search: Find sessions, workspaces, tabs, panes, agents, files, and retained terminal output from one fuzzy finder (60d486e, 06de1c3, #84).
    • Themes: Create, compose, validate, and install safe community themes from local files, HTTPS URLs, or public GitHub repositories (866c6d5, b8ca50f, 936c314, #81, ba5b884, d3d19a4, #82).
    • Luvus Bar: Let modules publish compact status, progress, badges, and actions beside tabs or in the bottom status row (5a2b59d, 7707e12, 971e113, #80).
    • Workspaces: Browse filesystem paths directly while choosing or creating a workspace (0c8ec16, #79).
    • Tabs: Reorder tabs precisely or swap any two tabs from the menu, TUI, CLI, or socket API (010898a, #75).
    • Agents: Detect fx sessions and report their activity state natively (639cb6b, #77).
    • Updates: Run luvus update to safely upgrade direct, Cargo, or Homebrew installs after checking the release version and checksum, then copy the command from the Changelog (22096f0, 4feb02c, #88, 5bb7851, 5e8d19b, #90).

    Improvements

    • Files: Refresh Git diffs and file trees off the app loop to keep interaction responsive in larger repositories (6ff5d92, #85).
    • Copy mode: Preserve terminal selections more reliably and provide a focused keyboard copy workflow (ad17758, #74).
    • Settings: Group Left and Right sidebar width controls together in the Docks section (4feb02c, #88).
    • Website: Refresh shared Open Graph artwork, showcase native DIFF review and the Luvus Bar, and add X links across the public site (2b2a8d8, 5bb7851, 5e8d19b, #90).

    Fixes

    • Themes: Restore live theme previews and valid TOML generation in Theme Maker (980bce6).
    • Agents: Preserve a forked agent’s environment and session identity, and use the selected OpenCode binary for activity reports (0ee3cac, 208c560, a5d6d0e, #86).
    • Remote: Keep relay connections alive across interrupted reads and flush bridged frames promptly (5dbb771, 8bf34c5, #78).
    • Input: Forward F-keys and application-cursor keys correctly to terminal programs (ab3683f, #66).
    • Agents: Resume Codex sessions across tabs after restarting the Luvus server (8f07a2a, #87).
    • Git: Open the Git dashboard from the focused pane’s repository when the workspace root is not a repository and surface real repository errors (276c008, f11efeb, de54867, #73).
    • Settings: Keep the Layout viewport and dock rows stable while changing dock placement (a04fc5f, 5424168, #89).

    Contributors

    Full changelog

    https://github.com/RizRiyz/luvus/compare/v0.11.0…v0.12.0

  2. v0.11.0

    Luvus is a rename and platform update from Bohay that adds a dedicated migration flow plus multi-client panes, memory-aware scrollback, and session management while preserving compatibility with existing Bohay-era state and commands.

    Features

    • Luvus: Rename Bohay to Luvus in app, binary, crate, plugin, website, state directory, and extension contract, and migrate ~/.bohay data to ~/.luvus on first launch with compatibility fallbacks for legacy paths and env vars (a53ef1f, #57).
    • Migration: Add migrate.sh to stop old and named servers, back up existing ~/.luvus, and copy durable Bohay state to Luvus during upgrades with safe rollback behavior (a6670a8, #58).
    • Sessions: Add isolated named Luvus servers and full session lifecycle commands, including --session routing for named targets (1509da8, #52).
    • Panes and forks: Move an active pane to another tab, reorder tabs, and fork supported Claude, Codex, or Pi sessions without losing context from the CLI (89e6bcf, #41).
    • Workspaces: Rename and pin workspaces from the CLI and Codex plugin for faster context switching (0486f67).
    • Views: Give each connected client its own viewport so a background client does not resize the active terminal (5008048, #42).
    • Delegation: Delegate directly to a named agent without an agent list preflight from the Codex plugin and CLI (6bd64ba).
    • Plugins: Use the bundled Luvus plugin to control live workspaces, tabs, panes, and agents and to send Codex work to active sessions (7625f73, #40).
    • Terminal: Add memory-aware scrollback with per-pane budgets plus keyboard copy mode with Shift+V selection (672e6d2, #46).

    Improvements

    • CLI: Add compact contextual help in command output to improve discoverability (eaf04c3, #53).
    • Server: Answer API requests and wait operations without loop-tick latency for smoother responsiveness under load (ca8ea45, #55).
    • Terminal: Reduce scrollback memory and render overhead and lazily allocate the VTE sync buffer for lower baseline costs (9619591, #54, a5acfad, #51).
    • Codex plugin: Use theme-aware composer backgrounds and contrast-safe branding across plugin surfaces (f3ee24b, 1cc59b2).

    Fixes

    • Sidebar: Refresh changed agent identities immediately and show resumable sessions by default (c404065).
    • Session identity: Preserve live agent identity when sessions restart instead of forcing reconnect drift (9cbf037, #56).
    • Server startup: Prevent concurrent startup from orphaning sessions and stale socket races (5dcbf88, #50).
    • CLI: Preserve --help and -h flags in pass-through commands and keep command output aligned and clean (77f5f18, dfc0a76, #45).
    • Input: Preserve Alt, Ctrl, Shift, and Super navigation modifiers on Windows (2d4a57a, #43).
    • Website: Improve changelog readability and layout during resize on mobile and desktop (0af19a6).

    Contributors

    Full changelog

    https://github.com/RizRiyz/luvus/compare/v0.10.2…v0.11.0

  3. v0.10.2

    This release adds terminal-matched colors, configurable tmux-style controls, Codex forks, clearer release notes, a refreshed homepage, and faster, more reliable pane handling. It is fully compatible with v0.10.1. Restart a running v0.10.1 server after upgrading.

    Fork Codex into a new pane Right-click a running Codex pane and choose Fork to New Pane, or press Ctrl+Space f. Bohay carries the full conversation into an independent pane while the original keeps running.

    Features

    • Themes: Match bohay to the terminal’s foreground, background, and ANSI palette with a safe native fallback (01d9b57, #37).
    • Agents: Fork a Codex conversation into a new pane while the original keeps running (601799e).
    • Delegation: Update installed agent skills independently with bohay skill update (f19bfa9).
    • Modules: Add a complete agent skill for writing and debugging bohay modules (2887c9c).
    • Keys: Configure the command prefix or switch to a tmux preset with familiar bindings (960878c, #38).
    • Switcher: Jump to tabs, workspaces, or agents from one searchable palette (960878c, #38).
    • Sidebar: Show agent-provided session titles in place of pane metadata (2e053e0, #35).
    • Sidebar: Pin workspaces and agents to the top of their lists (2e053e0, #35).
    • Updates: Check for a new release directly from the changelog popup (82b65b3).

    Improvements

    • Changelog: Read clearer release notes in the app and on bohay.dev with bold labels, contributor credits, complete upgrade commands, and feature videos (1159cbb).
    • Website: Add Bohay’s pronunciation and name story to the homepage in a responsive final card (1159cbb).
    • Sidebar: Toggle both sidebars together with Ctrl+Space b (ea089fa).
    • Performance: Reduce allocations in search, sidebar, and Mission while embedding only recent changelogs (ab4c664).
    • Performance: Avoid redundant redraws from unchanged input, mouse movement, and remote frames (1192e7b, #39).
    • Keys: Rename the focused tab with the tmux-style , binding (960878c, #38).
    • Nix: Pin flake inputs with a committed flake.lock (f3acc04).

    Fixes

    • Agents: Keep an intentionally exited agent at the shell after detach or restart (1192e7b, #39).
    • Panes: Preserve an inactive pane’s scrollback position when focus moves elsewhere (1192e7b, #39).
    • IPC: Deliver clipboard updates and detach messages even when a rendered frame is queued (1192e7b, #39).
    • Updates: Detect releases published while bohay is already running within six hours (2e053e0, #35, 82b65b3).

    Contributors

    Full changelog

    https://github.com/RizRiyz/bohay/compare/v0.10.1…v0.10.2

  4. v0.10.1

    This release adds global scrollback search, safer agent resume options, live detection updates, and Quattro Rally. It is fully compatible with v0.10.0.

    Features

    • Search: Search every pane’s retained scrollback and jump directly to a matching line (3303b91, #33).
    • Agents: Optionally replay each pane’s original CLI flags when resuming its session (3303b91, #33, 2d83b7a, #32).
    • Delegation: Use $name, $pane-id, or $agent-kind in a prompt to hand work to another agent (bc30949).
    • Detection: Update agent detection manifests without installing a new bohay release (7edf54a, #34).
    • Themes: Add Quattro Rally, a soft dark theme with a rally-gold accent (c427926).

    Improvements

    • Themes: Make Quattro Rally the default for fresh installs without changing existing selections (3303b91, #33).

    Fixes

    • Detection: Recognize newer Claude Code builds as working after their spinner and interrupt hint changed (7edf54a, #34).
    • Website: Add Quattro Rally to the theme picker with colors matching the app (3303b91, #33).

    Full changelog

    https://github.com/RizRiyz/bohay/compare/v0.10.0…v0.10.1

  5. v0.10.0

    This release adds agent-to-agent delegation, clickable pane links, adaptive tab widths, and new Sky and pixtui experiences. It is fully compatible with v0.9.7.

    Features

    • Agents: Delegate tasks by name, pane id, or kind, with bundled skills for Claude Code, Codex, and opencode (f34bbc2, #31).
    • Changelog: Open commit and PR references in the browser and keep only the three latest releases in the popup (6a8333b).
    • Panes: Ctrl+click URLs, domains, and existing file paths, including paths with line numbers (18d4851).
    • Tabs: Size tabs to their names while keeping close buttons aligned and focus stable (19def4e, #30).
    • Themes: Add the light Sky theme to bohay and bohay.dev (94721d6).
    • Modules: Add pixtui, a terminal pixel-art editor with layers, animation, and PNG/GIF export (RizRiyz/pixtui).

    Improvements

    • Menus: Use Title Case across workspace, pane, agent, and file context menus (19def4e, #30).
    • Website: Improve readability and reduce homepage image weight (a8ac4fd).

    Fixes

    • Performance: Cache rendered changelog rows instead of rebuilding the full release history every frame (6a8333b).
    • Modules: Keep docks disabled when a module pushes an update (461cbae).
    • Website: Refresh the social card with the current logo and agent states (a652f01).
    • Website: Hide the unfinished compare page (704fe6f).

    Full changelog

    https://github.com/RizRiyz/bohay/compare/v0.9.7…v0.10.0

  6. v0.9.7

    Mission Control for your agents, right-click menus for module dock rows, resizable sidebars, and two new example modules. Fully compatible with v0.9.6, nothing to migrate.

    ✨ Added

    • Mission Control. A ⠶ ctrl tab per workspace listing every agent in that folder, running or resumable: status, tokens, context headroom and cost, totalled in the header. Click a row to jump to that agent or resume it; answer a blocked one inline. (9e20057)

    • Modules can put a right-click menu on their own sidebar rows. A dock row can offer several actions instead of one, declared per row, with dividers and destructive styling. See Writing a Module. (ca896fb, 405dbdf)

    • Resizable sidebars. Drag either sidebar’s edge to set its width; it saves when you let go. (5ec0c59, #29)

    • An ESP-IDF example module. Build, flash and monitor ESP32 boards from the sidebar. Flashing stops the serial monitor and brings it back in the same pane, so the log from before the flash survives. In examples/modules/esp-idf. (8d10569)

    • A Markdown slide-deck example module. Present a Markdown file as slides in a pane. Pure Python stdlib, nothing to install. In examples/modules/deck. (8d10569)

    • Both example modules are listed on bohay.dev/modules. (802dee6)

    🔧 Changed

    • Cleaner sidebar text. Long node, agent and branch names ellipsise instead of hard-cutting. (5ec0c59, #29)

    • Each sidebar holds up to three docks. Extra docks stay off in Settings → Layout; moving one onto a full side is refused rather than silently dropped. (f9a22a6)

    🐛 Fixed

    • Agents no longer look stuck on “working” when idle. A line padded with the invisible braille blank character read as a spinner. (21b1576)

    • An idle agent no longer flashes “working” when you switch tabs. The resize makes the agent repaint, and a reflowed line briefly read as a spinner. (70b3db8)

    • Agents now show up on WSL and musl/Alpine Linux. The process tree is read from /proc instead of ps, which on those systems is a busybox build that can’t report process parentage. (77a8f63)

    • File viewer: long-line files scroll all the way down. Scrolling counted file lines rather than the rows they wrap onto, so a file of few but very long lines stopped a line or two in. (e1a4a67)

    • File viewer: the git change bar sits at the gutter’s edge, not between the line number and the code. (e1a4a67)

    • Docs: the “On this page” list no longer cuts words off. Entries wrapped wider than the column they were drawn in, losing whole words mid-phrase. (802dee6)

    • Docs: no empty gutter beside the page contents, and the article sits centred. Half of every extra pixel of window width was going nowhere, about 19rem of dead space at 1920px. (802dee6)

    • Website: feature cards no longer overlap on mobile. (3d35b10)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.6…v0.9.7

  7. v0.9.6

    A quick way to reach the agent that needs you, a clearer file tree, and a round of fixes for the things that quietly got in your way: folders reopening after you closed them, the file tree forgetting what you had expanded, and arrow keys sending focus to the wrong pane. The website got a rebuild too, including a theme picker that previews every palette bohay ships. Fully compatible with v0.9.5, nothing to migrate.

    ✨ Added

    • Jump to the next agent that needs you. Press Ctrl+Space . to move straight to the next agent waiting on your input. It cycles through every blocked agent in the order the sidebar lists them, across all your nodes and tabs, so you stop hunting for the one that stopped to ask you something. When nothing is waiting, a small toast says so and your focus stays put. Like every command it can be remapped in Settings → Keys and shows up in the ? cheat-sheet. (a3f6ec4, #24)

    • Files are marked in the file tree. Folders have always had an expand arrow while files had nothing, so a file read as a blank gap in the tree. Files now carry a small dot in that same column, sitting a shade quieter than the file name so a long list still reads as names first. A changed file tints its dot along with its name, so it reads as one coloured row. (281098c)

    🔧 Changed

    • bohay.dev rebuilt, with a theme picker. The site is now monospace throughout and stripped of the rounded cards, gradients and glows it had picked up, so it looks like the tool it documents. A picker at the bottom of every page switches the whole site between all 15 palettes bohay ships, from noir to the four Catppuccins to Gruvbox light, and hovering a name previews it instantly; the site now opens on Nord. The colours are generated from bohay’s own theme registry, so what you preview is exactly what the app renders. The documentation section now wears the same palettes, chrome and theme picker as the landing page instead of the stock docs theme, and the whole site and the repo share a refreshed brand mark. Right-clicking the logo still offers the mark as SVG or PNG. (6c49ecf, #26, 916c152, #28)

    🐛 Fixed

    • Closing your last folder no longer brings back the first one. Open two folders, close one, then close the other, and bohay used to reopen the folder you closed first instead of letting the session end. It also kept that folder in the saved session, so it came back again on the next start. Now closing the last folder ends the session properly: the window closes, nothing is resurrected, and the saved session is cleared. The background server keeps running as it always has, so bohay in another folder picks up instantly and bohay server stop is still what shuts it down. (85069a9, #22)

    • Running bohay in a new folder always opens that folder. If the server had been restarted and restored a saved session, the folder you launched in was silently ignored and you landed in whichever folder was open before. This was easy to hit on Windows, where the server does not survive a logout, so nearly every launch took the broken path. Opening a folder that is already open now also focuses it rather than adding a second copy, including when the path is spelled differently, which on Windows means a different drive letter case or a path returned with the \\?\ prefix. (85069a9, #22)

    • Reopening bohay leaves you where you were. Following on from the fix above, opening the launch folder on attach was pulling you off whichever folder your restored session had left you on, so reopening always snapped back to the first one. The launch folder is still added if it is new, but it no longer steals focus from the folder you were actually using. (5baad33, #25)

    • A folder that cannot be opened now says so. When the shell failed to start, bohay quietly did nothing and left you looking at the previous folder with no message anywhere, which was indistinguishable from it ignoring you. You now get a clear message, and scripts and agents get a real error back instead of a success they cannot act on. (85069a9, #22)

    • The file tree keeps what you had open when you switch folders. Switching between workspaces collapsed the whole FILES tree, so you came back with everything shut and no record of which folders you had been tracking. Each folder now keeps its own expanded directories, cursor and scroll position, and they are restored when you return. This lasts for the session; a server restart still starts fresh. (954a8bb, #23)

    • Arrow keys move to the pane you are actually looking at. With one pane on the left and two stacked on the right, pressing down from the top-right pane jumped sideways to the left pane instead of the one directly underneath. Focus was picking whichever pane’s centre happened to be nearest along that axis, even one in a completely different column. It now only moves to a pane that shares an edge with yours in that direction, so navigating a mixed layout of rows and columns goes where you expect and pressing towards the outer edge simply does nothing. (7a6a976)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.5…v0.9.6

  8. v0.9.5

    See what changed without leaving the file viewer, and clean up finished worktrees straight from the sidebar. Plus a build-metadata fix so installing from source fails clearly on an old Rust. Fully compatible with v0.9.4, nothing to migrate.

    ✨ Added

    • Git change markers in the file viewer. Open a file read-only and the gutter now shows what changed against the last commit: a green bar for added lines, amber for modified, and a small red mark where lines were deleted. It sits in the space the line numbers already used, so nothing shifts, and it refreshes on its own while an agent edits the file. A clean file, an untracked file, or a folder outside git simply shows no markers. (2b1151d)
    • Delete a worktree from the sidebar. Right-click a worktree node in WORKSPACES and pick Delete worktree to remove both the git worktree and its folder in one step, instead of dropping to a shell. It is offered only on real worktree nodes, never on a main checkout, and it asks for confirmation first because it deletes files. The sidebar also groups each worktree directly under the node it branched from, so a worktree and its parent stay together in the list. (7ef14cd)

    🐛 Fixed

    • Clearer error when building on an old Rust. cargo install bohay now declares its real minimum, Rust 1.88 (edition 2024, required by ratatui 0.30), so an older toolchain fails with a clear “requires a newer Rust” message instead of a cryptic edition2024 feature error deep in a dependency. Prebuilt installs were never affected: Homebrew, the .deb/.rpm packages, and the install script all ship a compiled binary and need no Rust at all. (6c79b7b)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.4…v0.9.5

  9. v0.9.4

    A small patch release with three fixes: clicking a pane’s title or zoom button on a split now works instead of resizing, emoji render correctly inside modals, and sidebar clicks always land on the right target even after you rearrange docks. Fully compatible with v0.9.3, nothing to migrate.

    🐛 Fixed

    • Click a pane’s title or zoom button on a split. On a split, clicking a pane’s title bar (to see its running command) or its zoom button no longer starts a divider resize by mistake. The resize grab now yields to those controls, the same way it already did for the close button, so every control on a split pane’s title row is clickable. (5f685d0)
    • Emoji render correctly in modals too. v0.9.3 fixed wide glyphs in panes and the sidebar; this carries the same fix into modal windows like the changelog and settings, which draw through a different path. A double-width glyph in a modal no longer smears into the next cell, because its continuation cell is now blanked when the frame is serialized rather than only when a pane is drawn. (5e00b1d)
    • Sidebar clicks land on the right target. Dock click regions, including the FILES tree, are cleared and rebuilt every frame, so a leftover click region from a hidden or rearranged dock can no longer fire the wrong action, such as opening a file when you meant to switch workspace. (8b2ec22)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.3…v0.9.4

  10. v0.9.3

    New looks and new reach: Catppuccin and Gruvbox themes, native .deb/.rpm packages and a NixOS install, a mobile-friendly compact layout, and a Buzz chat example module. bohay also helps you stay current now, with a background update check that shows a dot by the version number, an in-app changelog you open from that same version number, and a tidier sidebar header. Plus a configurable Shift+Enter and fixes for emoji rendering, agent sessions, pasting into Settings, and the file tree. Fully compatible with v0.9.2, nothing to migrate.

    ✨ Added

    • Catppuccin and Gruvbox themes. All four Catppuccin flavours (Mocha, Macchiato, Frappe, Latte) and Gruvbox dark and light, in Settings → Theme and on the website. (59a2bd5)
    • Native Linux packages. Every release now ships a .deb and a .rpm for x86_64 and arm64, so apt install ./bohay.deb / dnf install ./bohay.rpm just work. (408505f)
    • NixOS install. A flake so you can nix run github:RizRiyz/bohay or add it to a config, with the runtime tools baked in. (2fa48c2)
    • Mobile-friendly panes. Tap a pane to zoom it, and a leaner compact layout for narrow screens like a phone over SSH. (9d16cac)
    • Check for updates. bohay now checks in the background for a newer release and shows a dot next to the version number when one is out. It is one lightweight check at launch, repeated about once a day, and you can turn it off in Settings. bohay never replaces its own binary, it just points you at your installer’s upgrade command.
    • In-app changelog. Click the version number in the sidebar to read every release’s notes in a scrollable window, with how to update at the top, all without leaving the terminal.
    • Tidier sidebar header. The collapse chevron, wordmark, version, and Menu now share one row aligned with the tab bar, and the version doubles as the button that opens the changelog.
    • Keyboard shortcut reference. Settings → Keys now lists the always-on shortcuts, like the vim-style hjkl movement keys, below the rebindable commands, so every shortcut is visible in one place.
    • Configurable Shift+Enter. Pick what Shift/Alt+Enter sends to a pane (“new line, don’t submit”) in Settings, since agents and terminals disagree on the byte sequence. Defaults to what Claude Code’s terminal setup installs, with a plain newline and CSI-u options for the ones that want them. (38c6efa)
    • Buzz chat example module. An IRC-like nostr chat client (NIP-29) you run as a bohay module, talking directly to a Buzz relay. Clickable channels, colored nicks, and a right-click action to share a pane into chat. Lives in examples/modules/buzz. (1a9f6f9)

    🐛 Fixed

    • Emoji render correctly in panes. A double-width glyph no longer smears into the next cell and shifts the rest of the row (or the sidebar), and emoji with variation selectors or ZWJ sequences render whole instead of as a box. Done on the render hot path with zero extra allocation on the common cell. (6814ac6, 0a6ec7d)
    • Agent sessions stay put. Each pane keeps its own agent session and shows in the agent list, and a restore never restores one session into two panes. (ff13b05, 863fb8b)
    • Paste fills Settings fields. Pasting into a Settings field (or any text prompt) now fills the field instead of leaking to the pane underneath. (acae381)
    • bohay in a pane targets its own session. The CLI now honors the injected socket, so a command run inside a pane reaches that session’s server rather than a default one. (c600048)
    • File tree hidden-files toggle restored. (ded32f9)
    • Correct keyboard report on Windows. bohay doctor now reports Windows keyboard support accurately, where it reads keys from native console records rather than the keyboard protocol. (38c6efa)
    • Cleaner splits and redraw. A drag started inside a pane no longer grabs the divider, and a client that falls behind resyncs promptly. (58ebd87)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.2…v0.9.3

  11. v0.9.2

    Five additions this release. Pi joins the agents bohay knows, you can fork an agent session into a new pane and keep both running, files can open in your own editor instead of the built-in viewer, panes can move between tabs, and the git tab gets real navigation: click a commit, PR, or issue to read it without leaving the tab. Plus a memory fix that matters for long sessions, since closing a pane now actually frees what it was using, and fixes for pasting and for a screen that could come back damaged after a resize. Fully compatible with v0.9.1, nothing to migrate.

    ✨ Added

    • Fork an agent session into a new pane. Right-click a pane and choose Fork to new pane, or press Ctrl+Space f, and bohay branches the conversation into a new pane beside it. The fork inherits the entire context of the original but runs as its own session, so you can keep the original going on the left and explore a different direction on the right without crossing wires. It works with agents that support forking natively, which today means Claude Code and Pi, and the menu entry only appears for those, so you never get a fork that quietly lost its history. (#19)
    • Pi support. bohay now recognizes Pi (pi.dev): live status in the sidebar out of the box, and automatic session resume after a restart. It reads Pi’s own session store to find the right conversation for the folder you are in and reopens it for you, with no setup and no configuration file to edit. (b4d92dd)
    • Open files with vim, nano, or your $EDITOR. The Files tree no longer has to open things read-only. Settings → General has a new Open files with setting listing every terminal editor bohay found on your machine, plus whatever $EDITOR points at. Pick one and a click in the tree opens that file in your editor; leave it on read-only and nothing changes. Shift-click always opens the built-in viewer, and the tree’s right-click menu can override the choice for a single file. (#20)
    • Move a pane to another tab. Right-click a pane and hover Move to tab to see the tabs you can send it to, including a fresh one. Pick a destination and the pane moves there with its process untouched: nothing restarts, nothing is lost, and the view follows the pane to its new tab. Useful when a tab gets crowded, or when a quick side experiment turns into real work that deserves its own tab. (9f4c0ac)
    • Read commits, PRs, and issues inside the git tab. Clicking a row in Commits, PRs, or Issues now opens its details in the same tab instead of running a command in a pane, and esc takes you back to the list. Press o on anything to open it on GitHub. PRs and issues open showing the open ones, as before, and a filter cycles through closed, merged (pull requests only, since an issue cannot be merged), and everything, so you can go looking for history without losing the default view. (fed5205)

    🔧 Changed

    • The push action is gone from the commit list. Pushing from a keystroke next to a list of commits was too easy to trigger by accident and too consequential to undo, so it has been removed. o now opens the commit on GitHub instead, which is what people reached for most of the time anyway. (35c07f8)
    • Notifications settings moved into a new General tab. Settings no longer has a Notifications tab of its own. The two sound toggles and the Test sound button now sit under a Notify heading inside a new General tab, which comes first and also holds the new Open files with setting. The sounds themselves are unchanged and still off by default. Settings now opens on General rather than Theme. (a82d174)

    🐛 Fixed

    • Closing a pane now frees its memory. Closing a pane left its shell still running in the background, along with the thread reading from it and the entire scrollback it had built up, so nothing it held was ever released. This mattered because bohay’s server keeps running after you close a window: the leftovers piled up for as long as the session lived, and a long day of opening and closing panes could grow to hundreds of megabytes. Measured over eight opened and closed panes, that was eight stray shells and about 170 MB that never came back. bohay now hangs up a pane’s process the way closing a terminal window does, which lets the scrollback and threads go with it. The same test now leaves nothing behind, and memory settles instead of climbing. If you keep a session alive for days, this is the fix to upgrade for. (fff3ecc)
    • A file opened in an editor shows its name in the tab. Opening a file with vim or nano labelled the tab after the editor, so several files open at once were hard to tell apart. The tab now shows the file name with the same marker the built-in viewer uses. (fff3ecc)
    • PRs and issues now show the repository you are working in. The git tab was listing pull requests and issues from across your whole account rather than the project in front of you, because the underlying query was resolving the repository on its own. bohay now pins every request to the repo your folder’s origin remote points at, so the lists match the project you opened. (35c07f8)
    • Pasting reaches programs as a real paste. Terminals mark pasted text so a program can tell it apart from typing, but that marking was being stripped before the text reached the pane. The result: dragging or pasting an image or file path into an agent with Ctrl/Cmd+V showed up as literal characters instead of attaching the file, and vim would auto-indent pasted code into a staircase. bohay now restores the markers for any program that asks for them, and pasting works on Windows too. (37eafee)
    • A resized or moved window no longer leaves the screen damaged. Resizing the terminal, or in some terminals just moving the window, could leave stale text on screen until something else happened to redraw over it. bohay now repaints the whole screen whenever the window reports a change, including the case where the size came back the same. (82e4837)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.1…v0.9.2

  12. v0.9.1

    A quick fix for the file viewer shipped in 0.9.0: a file you closed could not be opened again. Nothing to migrate.

    🐛 Fixed

    • Reopening a file after closing its tab. Opening a file, closing its tab (or pane), then clicking it again in the tree did nothing. Closing a tab tore down its pane and status but forgot the file view behind it, so the tree still believed the file was open and tried to focus a tab that no longer existed. All the close paths now share one teardown step, so a closed file always reopens. (#18)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.9.0…v0.9.1

  13. v0.9.0

    Three things this release. bohay now has a built-in file viewer, so you can browse a project’s tree and read its files without leaving for an editor. It works from your phone: attach over SSH from any mobile terminal and bohay reshapes itself into a one-handed, touch-friendly layout. And Grok (Grok Build) joins the agents bohay knows, with live status and zero-config resume like the rest. bohay is also now AGPL-3.0. Fully compatible with v0.8.3, nothing to migrate.

    ✨ Added

    • A built-in file viewer. A Files dock in the sidebar shows the current project’s tree, and clicking a file opens it in a tab, or in a split pane if you hold Shift. Files carry a git tint so you can see at a glance what changed: modified, new, deleted, or a dirty folder. You can search within a file, and select text with the mouse to copy it exactly like you do in a pane. Opening a file that is already open just jumps to it instead of stacking another copy. Right-click the tree for New File, New Folder, Rename, and Delete, and a delete always asks first. The dock ships off, so a fresh install stays lean; turn it on in Settings → Layout and place it on either sidebar. (#18)
    • Drive bohay from your phone. Attach to a session over plain SSH from an iOS or Android terminal app and bohay adapts to the screen. Below 50 columns it drops to a single zoomed pane, hides the sidebars, and puts a button in the tab bar that opens a full-screen switcher: big, finger-sized rows to jump between every agent and every project, scrolling when the list is longer than the screen. The tab bar also carries an at-a-glance summary of your agents’ states, colored dots and counts ordered by urgency, so a blocked agent is the first thing that survives when space runs short. A full session now travels over SSH, and only the cells that change cross the wire.
    • Grok support. bohay now recognizes Grok (Grok Build): live status out of the box, automatic session resume after a restart, and an integration hook for exact events. It reads Grok’s own on-disk sessions to reopen the right conversation, and installs its hook as a standalone file so your Grok config and its keys are never touched. Install the hook from Settings → Integrations.
    • Install modules by owner/repo. bohay module install owner/repo is now the standard way to add a module, and uninstall and the other commands accept the same short identifier, so you name a module the same way you would find it on GitHub.

    🔧 Changed

    • bohay is now licensed under the GNU AGPL v3 (AGPL-3.0-or-later), replacing MIT. It stays free and fully open source. The one practical difference: if you run a modified bohay as a network service, the AGPL asks you to offer that modified source to its users. For everyone building and running bohay normally, nothing changes.

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.8.3…v0.9.0

  14. v0.8.3

    Modules grow up. Until now an extension could run commands and push rows into a sidebar, but it could not reach the parts of bohay you actually use: the right-click menus, the settings screen, tabs. This release opens all of that up while keeping the idea intact, which is that a module is a directory with a manifest and some commands in whatever language you like. There is also a community index at bohay.dev/modules, and agent names now come from the process a pane is running instead of words on its screen. Fully compatible with v0.8.2, nothing to migrate.

    ✨ Added

    • Modules can add right-click actions. An action that declares contexts = ["pane"], ["workspace"], or ["agent"] shows up in that menu, below a divider under the built-in items. The action runs against what you clicked, not whatever happened to be focused, so right-clicking a background node hands your script that node’s folder. A pane action also receives the text you had selected, which is what makes “do something with this” possible from a shell script. (#17)
    • Modules can declare settings, and bohay renders them. A [[settings]] block describes typed controls (a toggle, a text field, a number with bounds, a list of choices) and they appear in Settings → Modules indented under your module. You write no interface code. Values arrive in your command as BOHAY_SETTING_<KEY>, one plain variable per setting, so a bash module never has to parse JSON to read its own configuration. Anything marked secret shows as bullets and is never echoed back. (#17)
    • Startup hooks. A [[startup]] command runs once for each enabled module when the session is restored and the socket is listening, and again when you link or re-enable a module. This is how a module repaints its sidebar dock after a restart, and it is what makes a dock feel like part of the app rather than something you have to re-trigger by hand. (#17)
    • Sidebar dock rows are properly clickable. A row can now carry a value, handed to its action as BOHAY_MODULE_ROW_VALUE. One action can therefore back a whole list: push a row per git branch and a single checkout action serves all of them. Before this a row could trigger an action but had no way to say which row you clicked. (#17)
    • New API for modules to reach tabs and the UI. tab.rename names a tab the same way the rename dialog does, tab.list now reports each tab’s name and kind, and ui.toast flashes a one-line confirmation. Settings are scriptable through module.settings.list, get, and set, plus bohay module settings <id> [<key> [<value>]] on the command line. (#17)
    • A community module index at bohay.dev/modules. It runs the same bohay-module GitHub topic search that bohay module search runs in your terminal, so the site and the CLI can never disagree about what exists. There is no registry, no submission, and no account: add the topic to a public repo and it appears. (#17)
    • Three complete example modules, one each in Bash, Python, and Node, under examples/modules/. A sidebar dock of git branches you can click to check out, a webhook notifier that fires when an agent gets blocked, and a scratch pane you open by right-clicking. Each is short enough to read in one sitting and covers a different part of the surface. (#17)

    🐛 Fixed

    • An agent is now named by the process it is running, not by words on its screen. Screen scraping was always a guess: an agent that stopped printing its own name, or a pane that repainted, could lose its identity and fall back to plain-shell rules where any output counts as work. bohay now reads the pane’s process tree from a single batched ps scan and asks what is actually running. v0.8.2 made identity sticky across frames, which papered over the symptom. This removes the guess. (09fa81b)
    • A module dock came back empty after a restart. Dock contents are cached in memory and deliberately not persisted, and nothing ever asked the module to repaint them, so the section sat blank until you happened to trigger the module again. Startup hooks close the loop. (#17)
    • Event hooks written as node.created or node.closed had quietly stopped firing. bohay emits these as workspace.created and workspace.closed, and the list of known event names still carried the old spelling, so a hook using it matched nothing and failed silently. Both spellings work again. (#17)
    • Per-item platforms was accepted in the manifest and then ignored for build steps, event hooks, and pane entrypoints, so a command meant only for macOS would still run on Linux. It is now enforced everywhere it is accepted. (#17)
    • A right-click menu could run the wrong module action. The list was rebuilt on every click, so a module disabled between the menu being drawn and you clicking it shifted the positions underneath, and the click landed on its neighbour. A menu now takes its list when it opens, which also removes work from every frame the menu is on screen. (#17)
    • Listing a module’s settings printed secrets in plain text. The settings screen carefully masked them and then bohay module settings <id> put the token straight into your terminal scrollback. A listing now reports only whether a secret is set, and you ask for the key by name when a script genuinely needs the value. (#17)
    • The website no longer scrolls sideways on a phone. Module cards, the release notes, and the comparison table all pushed past the viewport at narrow widths, and the navigation bar overflowed once it gained a fourth link. The nav now wraps onto a second row and every page holds its width down to 320px. (#17)

    🔧 Changed

    • The [[actions]] manifest field contexts was always documented but never did anything. It now drives the real menus, and a context name that is not recognized is a hard manifest error rather than a menu entry that silently never appears.
    • Module commands receive the invocation context twice: as the existing JSON blob and as flat variables such as BOHAY_WORKSPACE_CWD and BOHAY_PANE_ID. Shell modules were the main audience for modules all along and should not need a JSON parser to find a folder.
    • The example modules are excluded from the published crate, the same as the other documentation, so cargo install bohay stays lean.

    📚 Documentation

    • Writing a Module has been rewritten around the wider surface, with three complete modules quoted in full so you can read one end to end before writing your own.
    • Using Modules was a short page that explained very little. It is now a real guide to finding, installing, configuring, and managing modules, including what bohay does and does not do for you when you install one. The short version: it shows you every command a module declares and waits for your confirmation, it runs builds with a scrubbed environment, and it pins the commit. It does not sandbox, so install from people you trust.

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.8.2…v0.8.3

  15. v0.8.2

    Two fixes to agent status that you will notice immediately, and Intel Macs finally get a real binary. If you were seeing an agent flip to “working” just from switching tabs or clicking into its pane, that is fixed. Fully compatible with v0.8.1, nothing to migrate.

    🐛 Fixed

    • Switching tabs or clicking into a pane no longer reads as “working”. An agent’s UI does not print its own name on every frame, so a repaint (changing tabs, clicking in, resizing) could leave bohay unable to see which agent the pane was running. It then fell back to plain-shell rules, where any output means work, and counted the repaint’s own output as the agent doing something. A pane’s agent identity is now sticky across frames, so a repaint stays quiet. This also fixes per-agent detection rules silently not firing on frames where the agent’s name was off screen. (a7938c9)
    • The agents sidebar shows a renamed tab. Rename tab 1 to core and the tab bar updated but the agent row underneath still said tab 1, because it stored the tab’s index and rebuilt the label instead of reading the tab’s name. (4d10cd4)

    ✨ Added

    • Intel Macs get a prebuilt binary. The release only built Apple silicon, so Intel users had to compile from source, which pulls in a Rust toolchain and peaks over a gigabyte of RAM to produce a 3 MB binary. An Apple-silicon runner cross-compiles x86_64 fine, so both arches now ship. curl -fsSL https://bohay.dev/install.sh | sh works on Intel, and brew install is a few seconds of download on every platform instead of a compile. (506c861)
    • Agent status events carry node context. agent.list and pane.agent_status_changed now include the node’s label, branch, and repo, so a consumer like the macOS notch companion can label a row without a second call. project deliberately means the same thing in both places: it used to be the node label in one and the folder basename in the other, so renaming a node made the label flip between them. (d198ed0)

    🔧 Changed

    • brew install no longer drags in Homebrew’s own git. bohay only shells out to git and gh and runs fine without either, so declaring them as dependencies added 60 MB to machines that already had a system git. bohay doctor still reports what is missing.

    🧹 Maintenance

    • Kimi is listed as a full-parity agent on the site, and the supported-agents matrix now covers every agent bohay recognizes. (96620e8)
    • Release notes render as paragraphs instead of breaking after every line. (82593db)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.8.1…v0.8.2

  16. v0.8.1

    A polish release focused on the things you look at all day: agent status is now correct while you scroll, Shift+Enter inserts a newline in agent prompts instead of submitting, and you can click a pane’s title to see the full command it is really running. Kimi Code CLI joins the first-class agents, and pane scrollback is now a setting rather than a hardcoded constant, which cuts a busy session’s memory use by roughly 8x. Fully compatible with v0.8.0, nothing to migrate.

    ✨ Added

    • Kimi Code CLI is a first-class agent. Live status, zero-config session resume from its session index, and an integration hook installed from Settings → Integrations or bohay integration install kimi. Kimi keeps its hooks in ~/.kimi-code/config.toml next to your API keys, so bohay edits that file in place: your keys, comments, and own hooks are preserved exactly. (863249d)
    • See the command an agent is really running. Click a pane’s title (or pick “Running command” from its right-click menu) for the pane’s full process tree, with every command line untruncated. Agents elide long commands on screen (Bash(cargo test …)) and those characters never reach the terminal, so this reads the real argv from the OS instead. r refreshes, any key closes. (8885800)
    • Shift+Enter makes a newline in an agent’s prompt instead of submitting. Terminals send a bare carriage return for both Enter and Shift+Enter, so bohay now asks the terminal for the keyboard protocol that tells them apart, and forwards the result as the sequence agent CLIs already understand. Works in Ghostty, Kitty, WezTerm, Alacritty, iTerm2, and VS Code; bohay doctor reports whether your terminal supports it, and Terminal.app users can use Option+Enter. (8885800)
    • Scrollback is a setting (Settings → Layout), defaulting to 2000 lines like tmux instead of a hardcoded 5000. Scrollback dominates per-pane memory, and the new default measured a 16-pane session at 21 MB where it previously reached 173 MB. Lowering it frees memory on open panes immediately rather than only for new ones.

    🐛 Fixed

    • Agent status no longer reads “working” when you scroll. Scrolling a pane back made detection read the scrolled-back screen, which loses the agent’s identity and re-classified the pane using plain-shell rules. Detection now always reads the live screen, whatever you are looking at. (1d4be66)
    • Scrolling back no longer blanks a pane. The same root cause hid the pane’s content the further you scrolled (blank at the top of history) and made a selection made while scrolled copy nothing. (1d4be66)
    • The Notifications “Test” button works, because it is now a sound test. It previously fired a desktop notification that macOS Terminal.app never rendered. Notifications are now two toggles, sound on done and sound on blocked, both off by default. (f3aa33b)
    • Agent state icons line up. The working spinner mixed glyph widths, so it changed size as it turned; it is now a braille mark that keeps constant weight and sits level with the idle and blocked dots. (56c4395)
    • The focused agent’s project and tab line is readable instead of near-invisible against the selection highlight. (8885800)
    • Settings → Layout labelled both sidebar width rows identically; they now read “Left sidebar width” and “Right sidebar width”.

    🔧 Changed

    • Release notes now live in changelog/ in the repo. The GitHub Release and bohay.dev/changelog render the same file, so they can no longer drift.

    🧹 Maintenance

    • Orchestration improvements and development-state sync (66ed4ed)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.8.0…v0.8.1

  17. v0.8.0

    Built from ed921fa on main. · Base stable: v0.7.2.

    This release is about trust and durability. Agent states now only say working when the agent is actually generating, your session survives everything short of an explicit stop, and a restore walks you straight back into your agents instead of replaying commands in front of you. The sidebar also became fully rearrangeable, and bohay now tells you an agent finished with a soft retro chime. Fully compatible with v0.7.2, nothing to migrate.

    ✨ Added

    • Agent states you can trust. Working now requires on-screen proof, like a spinner or an “esc to interrupt” hint. A CLI printing its welcome screen at launch, your own keystrokes echoing while you compose a prompt, or a scrolling log never count as work anymore, so false states and phantom “done” notifications are gone. Detection is driven by a rule engine with built-in rules for all supported agents. (d5a9138)
    • Bring your own detection rules. Drop plain TOML files in ~/.bohay/manifests/ to tune how any agent is detected or to add one bohay doesn’t know yet: match substrings or a spinner on the screen or window title, pick a state and a priority, and higher priority wins over the built-ins. An annotated example lands in the folder on first run, and a broken file is skipped with a warning instead of breaking detection. (d5a9138)
    • A session that can’t die by accident. Only bohay server stop ends your session now. Closing the last pane or workspace keeps the background server alive with a fresh workspace, so there is always a live session for a detached client to come back to. And when the server is killed anyway (a reboot, a logout, a kill), it saves the full session on the way out, so the next start restores exactly what you had. (d5a9138)
    • Seamless agent resume. When a cold restore does happen after a server stop or a reboot, each agent pane now opens straight into its resuming agent on top of the replayed screen. The resume command runs as the shell’s startup instead of being typed into a visible prompt, and when the agent later exits the pane drops into a normal interactive shell. Clicking a session in the resumable list works the same way. (d5a9138)
    • Customizable sidebars with movable docks. There are now two sidebars, left and right, and each section (Workspaces, Agents, or a module’s own dock) is a dock you can place on either side or turn off, with per-side width and visibility. Arrange everything from Settings → Layout, and toggle the right sidebar with Ctrl+Space B. Modules can ship their own docks through the new ui.dock.* API. (5f7f16a)
    • A spinner while it works, a chime when it’s done. Each working agent’s status dot animates with a rotating spinner so you can see who is still busy at a glance, and a soft retro chime plays the moment an agent finishes, so you can look away from the terminal entirely. Toggle the sound in Settings → Notifications. (d5a9138)
    • Changelog on the website. bohay.dev/changelog now shows every release, built from these GitHub release notes. (523261a)

    🐛 Fixed

    • Typing no longer reads as “working”. Composing a prompt inside an agent CLI used to flip its state to working because the keystroke echo looked like output. Input is now tracked per pane and echo is ignored. (d5a9138)
    • Launching an agent no longer shows “working”. The welcome screen an agent prints on startup was misread as generating, which could also fire a false completion chime moments later. (d5a9138)
    • Closed panes stay closed. Quitting by closing every pane used to leave a stale session snapshot behind, so the next start resurrected panes you had deliberately closed and re-ran their resume commands. An emptied session now clears its snapshot. (d5a9138)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.7.2…v0.8.0

  18. v0.7.2

    Built from e921004 on main. · Base stable: v0.7.1.

    This release makes bohay’s layout hands-on. Drag to resize panes, collapse the sidebar to reclaim space, rename tabs and workspaces, and right-click almost anything — a pane, a tab, a workspace, or an agent — to act on it. The core multiplexer is unchanged and fully compatible with v0.7.1.

    ✨ Added

    • Resizable panes. Drag any divider to resize the panes on either side; the divider under the cursor brightens so it’s clear it can be grabbed. Ctrl+drag works too, and there’s a keyboard resize mode for adjusting splits without the mouse. (607d805)
    • Collapsible sidebar. Hide the WORKSPACES/AGENTS sidebar to give your panes the full terminal width, and bring it back with a click. Toggle it with the « chevron in the sidebar header, the » chevron at the tab bar’s left edge, or Ctrl+Space b. (607d805)
    • Rename tabs. Right-click a tab to give it a custom name. (607d805)
    • Workspace context menu. Right-click a workspace in the sidebar for a menu: rename it (the label only — the folder on disk is never touched), close it, create or open a git worktree (for repo workspaces), open its git tab, or open its task board. (607d805)
    • Pane context menu with splits. Right-click inside a pane for a menu to split it, focus it, or close it. (e921004)
    • Right-click the agent list. Right-click an agent in the sidebar for quick actions. (e921004)
    • Clickable dialog buttons. The ⏎ save / esc cancel hints at the bottom of the rename and new-worktree dialogs are now clickable and highlight on hover, so every dialog works with the mouse. (607d805)
    • Comparison page at bohay.dev/compare showing how bohay stacks up against other terminal and agent tools. (cb21b42)

    🐛 Fixed

    • Cleaner pane borders and scrollbar. Reworked how pane borders and the agents-sidebar scrollbar are drawn so they render as solid, consistent lines instead of the previous broken look — the scrollbar now stays solid even in macOS Terminal.app. (e921004)
    • Fixed the website OpenGraph / social-card metadata. (ec03305)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.7.1…v0.7.2

  19. v0.7.1

    Built from 9a2c28d on main. · Base stable: v0.7.0.

    This release brings bohay to the web and teaches it to recognize four more coding agents on screen. The multiplexer itself is unchanged and fully compatible with v0.7.0.

    ✨ Added

    • bohay.dev is live. A product site with an interactive, clickable demo of the real UI (the live agent sidebar, the git tab, and the orchestration board), plus a full macOS bohay-notch showcase where you can monitor agents, approve or answer a prompt, and jump straight to any pane. Copy-paste install commands are right on the page.
    • Complete documentation at bohay.dev/docs: getting started, guides (working with agents, multi-agent orchestration, the git tab, worktrees, remote sessions, scrollback and copy, settings, and scripting), extending bohay with modules, and a full reference for the CLI, the socket API, keybindings, configuration, and supported agents.
    • Four more agents recognized on screen. Kimi, Grok, Qwen, and Kiro now report live status in the sidebar, alongside Claude, Codex, Gemini, Cursor, Aider, opencode, Copilot, Amp, and Droid. (b9aaf61)

    🐛 Fixed

    • Rewrote the README to be clearer and more professional, with fresh screenshots. (b9aaf61)
    • Fixed the Cloudflare Pages config so the site builds from the website/ directory. (116115d)

    🧹 Maintenance

    • The published CLI reference is now guarded by a test that fails CI if it drifts from bohay help, so the docs can never fall out of sync with the binary.
    • Crate metadata: added a documentation link to bohay.dev/docs, and excluded /website from the published crate for a leaner package.
    • New documentation content and assets for the web and README. (19b86c5)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.7.0…v0.7.1

  20. v0.7.0

    Built from 2948ec7 on main. · Base stable: v0.6.1.

    🐛 Fixed

    • Gate git-tab refs from the shell
    • orce 0700/0600 on the state dir and sockets
    • survive deleted cwds on restore; warn on stale servers
    • thread the session scan off the event loop
    • cap scrollback and the orch ledger
    • reap dead event subscribers
    • guard tiny terminals. Drop the Intel-mac release target
    • add contributor docs, macOS + cargo-audit CI.
    • close audit findings - security, resilience, and bounded memory, fix terminal macos title issue + github and ci updates (#13) (76acba8)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.6.1…v0.7.0

  21. v0.6.1

    Built from 44d5b3e on main. · Base stable: v0.6.0.

    ✨ Added

    • scrollable panes — mouse wheel, keyboard scroll mode, scrollback
    • fix: debounce agent status so it stops flapping
    • feat: scrollable panes + steadier agent status
    • fix: keep agent_session brand in detect_tick instead of shell fallback (0108c20)

    🔧 Changed

    • satisfy clippy — drop unused mut, move test module to end (ecaff62)

    🐛 Fixed

    🧹 Maintenance

    • update readme and add new screenshot (eaf0a7a)
    • de-flake git tab test — wait for branches, not a fixed event count (35cf8e9)

    Contributors

    • RizRiyz

    Full Changelog: https://github.com/RizRiyz/bohay/compare/v0.6.0…v0.6.1