Changelog.

Latest releases from the GitHub repository.

v0.1.47

Features

  • Embedded Browser — Added native in-app browser with multi-tab support, navigation toolbar, and flexible layouts (side pane, modal drawer, bottom panel); state persisted per worktree
  • Terminal Reconnection — Added terminal output replay on reconnect so no output is lost; WebSocket heartbeat (ping/idle-drop) detects dead connections; [Reconnecting...]/[Reconnected] banners shown in all terminal instances
  • Merge GitHub PR — Added merge PR action from toolbar that automatically archives/deletes the associated worktree after merging
  • Claude Opus 4.7 1M — Added Claude Opus 4.7 with 1M context window as a selectable model
  • Documentation First System Prompt — Added rule to default global system prompt requiring web search for current docs before using external libraries/SDKs/APIs

Fixes

  • Fixed GitHub fetch limits for workflow runs (30→100), issues (100→1000), and PRs (100→1000) to reduce missed results on large repos
  • Fixed crashes when session array is undefined by guarding all .sessions. accesses with optional chaining
  • Fixed ErrorBoundary to auto-reset on identity changes (e.g. switching worktree tabs)
  • Fixed plan display trigger padding, copy button position, and chat modal title truncation on mobile
  • Fixed toaster offset to correctly account for open browser panes
  • Fixed localhost/127.0.0.1 URLs to use http:// in browser toolbar
  • Fixed native Windows scrollbars replaced with app's custom scrollbar style
  • Fixed interactive shadcn primitives missing cursor-pointer
  • Replaced native tooltip with shadcn Tooltip on chat input menu button

Improvements

  • Added copy-to-clipboard button on Plan file display
  • Renamed "Review Comments" → "PR Comments" in mobile menu; now always visible, disabled when no open PR
  • Bottom dock layout now activates when either terminal or browser pane is docked at bottom
  • Browser surface state sanitized on hydration to resolve mutually-exclusive pane conflicts
  • Plan approval state now correctly persists after ExitPlanMode

What's Changed

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.46...v0.1.47

v0.1.46

Features

  • Terminal now available in web/browser mode — removed native-app restriction; start, write, resize, and stop terminal sessions from any connection
  • Cursor backend: system prompt & linked projects support — injected system instructions into Cursor messages and passed linked project paths when executing chats

Fixes

  • Fixed duplicate assistant bubble appearing when snapshot hydration fired mid-stream
  • Fixed execute_run keybinding firing in web mode where no backend exists
  • Fixed dropdown separator rendering when neither native app nor worktree branch is present

Improvements

  • Moved Magic action from dock menu to mobile toolbar (now triggered via wand icon)
  • Added aria-label attributes to chat toolbar buttons for accessibility
  • Introduced emit_all_owned in terminal event emission to avoid redundant payload clones on hot path

What's Changed

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.45...v0.1.46

v0.1.45

Features

  • ScheduleWakeup scheduler: Claude can now schedule delayed prompt firing; wakeups persist across restarts and drain automatically every 10s
  • Monitor tool streaming: Real-time event log for Monitor tool calls with live countdown indicators for pending wakeups, persisted across session reloads
  • WebSocket reconnect overlay: Hides stale cached data during WS reconnects in web mode; loading toast dismissed once socket is back
  • Worktree branch/name control: Added ability to set both branch name and worktree name when creating a worktree
  • Responsive dock burger button: Burger button now visible on mobile via ChatToolbar, hidden at desktop breakpoint
  • GPT-5.5 model support: Added gpt-5.5 to Codex model picker

Fixes

  • Worktree icon shrink: Prevented flex container from squishing icons in QuickActionsTab
  • Branch name validation: Blocked worktree creation on invalid branch names; sanitized slashes/dots/spaces in folder paths to prevent nested directory creation
  • Stale wakeup spinners: list_pending_wakeups command now hydrates wakeup store on mount after reload
  • Browser mode reconnect toast: Removed leftover WS reconnect loading toast that fired incorrectly in browser mode

What's Changed (github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.44...v0.1.45

v0.1.44

Features

  • Branch stacking support — track base branch on worktrees to stack sessions on top of other branches or open PRs; surface stacked context in session headers and canvas view
  • Web directory browser — non-native (web) users can now browse and select directories when adding projects, initializing new ones, or choosing a clone destination instead of seeing a toast error
  • Settings quick-jump search — search bar in preferences header with grouped dropdown results, "/" keyboard shortcut to focus, and highlight animation on jump
  • Dock burger menu in chat toolbar — consolidated floating dock menu into chat toolbar; floating dock hides automatically to avoid duplicate UI

Fixes

  • Fork PR unpushed count — persisted push remote/branch per worktree so unpushed-commit count uses actual push target instead of @{upstream}; fixes fork PRs where all commits appeared unpushed (#309 adjacent)
  • GitHub auth detection — passed --active flag to gh auth status to correctly detect the active account when multiple accounts are configured (fixes #309)
  • Streaming session hydration — opening a running session now rebuilds streaming content blocks from snapshot so in-progress output displays correctly on navigation
  • Cancel/undo threshold removed — any assistant output (text, tool call, thinking) now counts as a started response and preserves the message on cancel
  • Directory browser mobile layout — dialog fills screen on mobile with scrollable content, monospace path display with break-all, and separate rows for options
  • Linux textarea auto-resize — added JS fallback for field-sizing: content on WebKitGTK where CSS property is unsupported; max-height bumped to 50vh
  • Keyboard nav with Radix menus — arrow-key hijacking now skipped when a dropdown menu or select is open

Improvements

  • HTTP response compression — added brotli/gzip compression via tower-http; scoped /api/init to selected project only for faster initial load with lazy loading for other projects
  • Preferences components — extracted shared SettingsSection and PreferencesSearchBar components, eliminating duplication across panes; improved highlight animation with outer glow rings

What's Changed

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.43...v0.1.44

v0.1.43

Features

  • Expand tool calls by default — Added preference to auto-expand tool call collapsibles in chat (defaults to collapsed)
  • Linux window controls — Added minimize, maximize/restore, and close buttons for Linux desktop app
  • Linked project dirs for all backends — Linked project paths now passed to Codex and Opencode backends via system prompt, alongside existing Claude CLI --add-dir support

Fixes

  • Session resume after crash/cancel — Session ID now persisted even when CLI exits abnormally, preserving --resume continuity
  • Terminal freeze — Fixed orphan listener race condition from listen() registration; terminal now properly wakes on visibility/focus restore

Improvements

  • Generalized modal shortcut guard — Replaced per-modal flag checks with a single DOM query covering all current and future Radix modals automatically
  • CLI update logic — Extracted shared cli-update module as single source of truth; fixed stale closure reads in backend selection
  • Floating dock — Replaced JS-driven conditional sizing with responsive Tailwind classes

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.42...v0.1.43

v0.1.42

Features

  • Added per-table checklist state persisted across sessions
  • Added build/yolo effort level preference overrides alongside existing thinking level overrides
  • Added animated streaming indicator on scroll button while messages stream

Fixes

  • Fixed scroll anchor flash when loading older messages
  • Fixed selection loss in canvas after clearing an active search field
  • Fixed PR Description menu item visibility on mobile toolbar (now always shown)

Improvements

  • Migrated to full model IDs (e.g. claude-opus-4-7); legacy "opus" values auto-upgraded on existing installs
  • Simplified message settings badges to minimal dot-separated text layout
  • Extracted shared MessageSettingsBadges component from duplicated badge rendering logic
  • Stripped redundant labels from toolbar context badges (Issues, PRs, Linear)
  • Hidden connection indicator and usage dropdown on mobile

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.41...v0.1.42

v0.1.41

Features

  • Session message pagination — scroll up to load older message history; get_session accepts optional limit for recent-only loads
  • Xhigh effort level — added xhigh effort variant alongside existing levels; updated default model to claude-opus-4-7
  • Plugin skills in slash popover — installed Claude plugin skills now surface as dedicated sections in the / command popover
  • Opinionated preferences pane — new preferences section for installing and managing RTK and Caveman plugins with one-click install and status checks

Fixes

  • Git stash errors — combined stdout and stderr in stash/stash-pop failure messages; stderr alone missed errors written to stdout
  • Session card waiting state — cleared correctly when session transitions to review
  • FileContentModal mobile layout — fixed padding, height, and "Open in Editor" gating on small screens
  • Markdown task list checkboxes — now use shadcn Checkbox for proper theme-aware styling
  • read_file_content dispatch — renamed arg from filePath to path
  • PlanFileDisplay — fixed task list item styling

What's Changed

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.40...v0.1.41

v0.1.40

Features

  • Added Claude Opus 4.5 as a selectable model option
  • Added jobs-done notification sound for completed job alerts
  • Renamed peon-work-work.mp3 asset to work-work.mp3 for clarity

Fixes

  • Fixed floating action buttons not rendering when a chat session has no messages
  • Fixed model and thinking level overrides being incorrectly applied when the configured backend does not match the current session's backend — the session's own model and thinking settings are now used instead
  • Removed redundant toast notifications from label apply and color update actions in LabelModal

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.39...v0.1.40

v0.1.39

Features

  • Cursor Agent backend: Added full Cursor Agent support as a first-class backend alongside Claude, Codex, and OpenCode — including model picker integration, execution mode dropdown, and session naming
  • Codex skills support: Added list_codex_skills command reading from ~/.codex/skills/ and exposed it via the slash command popover
  • AppImage auto-updater: Created and signed .tar.gz updater artifacts for Linux so the Tauri updater can discover and verify AppImage updates
  • Codex crash recovery & resume: Persisted Codex thread and turn IDs per run; in-flight chat state is now correctly restored after reconnects or crashes, with buffered websocket event replay
  • Per-mode thinking level overrides: Build and yolo modes can now independently override the thinking level on plan approval, mirroring the existing model and backend override pattern
  • Notification sound previews: Added play buttons in settings to preview waiting/review notification sounds; simplified sound options to a single workwork option

Fixes

  • Git commits from worktree sandboxes: Included git metadata directories in writable roots so worktree repos can commit during Codex turns
  • Run start times on reconnect: Preserved accurate run timing state after reconnects or restarts by restoring sendStartedAt from session metadata
  • GH CLI cache directory: Used ensure_gh_cli_dir to guarantee the cache directory exists before writing
  • Chat input width: Widened the input container on xl screens for more composer room on larger displays

Improvements

  • Default model upgrade: Upgraded the default model for lightweight operations (branch naming, session naming, commit messages, release notes, etc.) from Haiku to Sonnet
  • Codex event handling: Added support for dynamic_tool_call item lifecycle events and normalized new event type strings (hookPrompt, enteredReviewMode, exitedReviewMode)
  • Reduced log noise: Downgraded verbose Codex log statements from debug to trace level; added structured prefixes for easier filtering
  • Removed stall detection timeout: Replaced recv_timeout-based stall detection in the Codex event loop with a simple blocking recv, removing fragile 300s timeout logic
  • Assistant message footer: Displayed model label and execution mode on assistant messages via a small icon footer

What's Changed (Github)

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.38...v0.1.39

v0.1.38

Features

  • Added file picker attachments in chat, alongside the new mode dropdown used across chat toolbars.
  • Added support for updating arbitrary pull requests from the magic dialog, including linked PRs, branch-detected PRs, and manually entered PR numbers.
  • Added the gpt-5.4-mini Codex model option.
  • Unified the backend/model picker across desktop and mobile with a shared mobile-friendly flow.

Fixes

  • Fixed horizontal overflow in chat textareas so long unbroken text no longer caused layout bleed or scrolling issues.
  • Improved mobile chat input sizing and toolbar padding for better readability and spacing.

Improvements

  • Improved pull request and release note generation context so related issues and pull request references were captured more accurately.
  • Simplified release note generation to rely on commit history directly while still preserving pull request references when present in commit messages.

What's Changed (Github)

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.37...v0.1.38

v0.1.37

Features

  • Added a desktop backend and model picker in chat, making it easier to switch backends and apply the matching model in one step.

Fixes

  • Fixed chat layouts on mobile to better respect safe areas, improving spacing around inputs and modal content on edge-to-edge devices.
  • Fixed missing bottom spacing in the session chat modal, restoring consistent padding at the bottom of the conversation view.

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.36...v0.1.37

v0.1.36

Features

  • Added in-chat search with a mod+f shortcut, match highlighting, and search UI integration.
  • Added multi-dock terminal layouts in chat, with floating, left, right, and bottom dock modes.
  • Added terminal status and failure indicators, including clearer run button states and per-terminal port detection.
  • Added active-session highlighting in the expanded worktree sidebar.

Fixes

  • Fixed chat input focus being stolen by the terminal when opening a worktree.
  • Fixed review prompt override preferences so custom review comment prompts were preserved correctly.
  • Fixed chat search to be more robust and accessible, including safer highlight handling and screen reader updates.
  • Fixed terminal and chat theming so panels, tabs, buttons, and indicators matched light and dark themes more consistently.
  • Fixed the running terminal indicator color so it remained visible in light mode.
  • Fixed the dashboard label picker so it included labels from all ready and pending worktrees.

Improvements

  • Improved MCP server identification to avoid collisions when multiple backends exposed servers with the same name.
  • Improved terminal status UI by separating running and failed states more clearly.
  • Improved shared terminal status handling by extracting reusable status logic and components.
  • Removed outdated beta labels across chat and settings surfaces.
  • Hardened several UI state updates for more stable session and time-related behavior.

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.35...v0.1.36

v0.1.35

Features

  • Added mobile swipe gestures for chat navigation, including edge-swipe back and top-edge pull actions.
  • Added bind-address support for Web Access in the desktop app, with compatibility for existing localhost-only settings.
  • Added support for honoring literal --host bind addresses in headless mode (including specific IPv4/IPv6 addresses).

Fixes

  • Fixed chat reconnect behavior by reducing noisy disconnect errors and improving recovery after reconnect.
  • Fixed Web Access host display when servers were bound to wildcard addresses (0.0.0.0/::) by showing usable reachable hosts.
  • Fixed the outline button variant text color so labels remained readable across themes.
  • Fixed MCP dashboard behavior by improving OpenCode config discovery and correcting worktree name truncation.

Improvements

  • Improved Web Access UI behavior to show only URL rows that were reachable for the active bind target.
  • Improved reconnect and worktree-ready messaging to be clearer and less repetitive.

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.34...v0.1.35

v0.1.34

Features

  • Added worktree sorting options in the project canvas (creation date or last used activity).
  • Added per-project persistence for project canvas worktree sort mode, so your preferred sort setting is restored.

Fixes

  • Fixed planning status behavior so actively streaming sessions remained in planning instead of showing as waiting too early.
  • Fixed plan summary rendering in chat/preferences so plan content displayed cleanly without duplicate text blocks.
  • Fixed responsive sizing in chat/preferences controls for better usability on smaller screens.
  • Fixed terminal container padding/layout in onboarding and login modal flows.

Improvements

  • Improved dashboard/worktree ordering to better reflect real recent chat activity.

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.33...v0.1.34

v0.1.33

Features

  • Added end-to-end Codex approval and request flows, including permissions, plan approvals, user input prompts, and tool-call handling.
  • Added resilient Codex plan-mode recovery so plan state and approvals persisted more reliably across reloads.
  • Added OpenCode support for question-answer, thinking, and tool-use blocks, with improved rendering and replay.
  • Added worktree creation support from Dependabot security alerts and advisories, including linked security context in the project view.

Fixes

  • Fixed cleanup of session artifacts when deleting worktrees or closing non-preserved base sessions.
  • Fixed Codex approval policy handling to always use granular approvals with MCP elicitations disabled.
  • Fixed worktrees getting stuck in pending by ensuring loading state cleared after setup completion.
  • Fixed PR metadata drift in worktrees by refreshing PR detection after branch changes.
  • Fixed chat toolbar clipping by allowing horizontal scrolling for overflowing actions.
  • Fixed theme syncing when using system theme by reacting to OS color-scheme changes at runtime.
  • Fixed read access for add_dirs across all execution modes.
  • Fixed session modal from closing while the Git diff modal was open.
  • Fixed default context auto-save behavior by disabling it by default.

Improvements

  • Improved diff statistics consistency by using shared line-stat utilities across diff views.
  • Improved status feedback by showing a destructive streaming indicator in yolo mode.
  • Improved OpenCode SSE handling by using a shared coordinator to reduce duplicate subscriptions.
  • Improved tab UX by selecting an adjacent tab when closing the active session.
  • Improved chat usability by adding scrolling to long todo lists.

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.32...v0.1.33

v0.1.32

Fixes

  • Fixed JSON parsing with markdown code fence stripping for improved fallback handling
  • Fixed Claude execution settings to support extended thinking output with increased max-turns from 1 to 2

Improvements

  • Enhanced error logging with content previews for large responses
  • Optimized permission and execution modes for better workflow handling

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.31...v0.1.32

v0.1.31

Features

  • Selective file commits – Choose which files to commit directly from the diff modal
  • Bun package manager support – Detect and support bun with proper CLI update flows
  • Window state persistence – Automatically save and restore window dimensions and position
  • Browser session sync – Prevent stale sessions when reconnecting to the server
  • IntelliJ editor support – Added support for IntelliJ-based editors

Fixes

  • Fixed chat view not rendering when clicking sidebar worktrees or sessions
  • Fixed WebKit blank-screen bug that occurred during rapid scrolling with animations
  • Fixed Codex CLI installation failures ("Release not found" errors)
  • Fixed Linux compatibility with stat command argument order
  • Fixed AppImage builds on systems without XDG_DATA_DIRS set
  • Fixed timing race conditions in programmatic plan collapse animations
  • Fixed session modal not opening when sessionId is missing
  • Fixed binary execution failures on macOS by using atomic rename instead of in-place overwrites
  • Fixed missing build dependencies and signing environment variables for AppImage builds
  • Improved scroll handling with optimized requestAnimationFrame timing

Improvements

  • Standardized dropdown widths across preference panes for consistent layout

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.30...v0.1.31

v0.1.30

Features

  • CLI tool detection: Automatically detect Codex, GitHub, and OpenCode CLIs in system PATH with user selection UI
  • Claude CLI source selection: Choose between system-installed Claude CLI (via PATH) or Jean-managed installation
  • CLI version caching: Disk cache with fallback versions for graceful API rate limit handling during onboarding
  • Linked projects: Share context across projects with LinkedProjectsModal and recent contexts display (auto-save enabled by default)
  • Worktree improvements: Chat window opens immediately while setup script runs in background
  • Multiple run scripts & ports: Projects now support multiple run scripts and port configuration
  • Fast mode support: Added opus-fast and claude-opus-4-6-fast model options with fastMode setting injection
  • Toolbar enhancements: New menu items for recap, release notes generation, and PR/issue analysis with keyboard shortcuts
  • Meta key support: Cmd/Ctrl shortcuts now display ⌘ symbol in UI
  • ARM64 Linux support: Added support for building on ARM64 architecture
  • Codex diff rendering: File-change tool calls now render as colored unified diffs instead of raw JSON

Fixes

  • Conversation preservation (#209): Fixed issue where conversations were lost when CLI completed successfully but tailing/threading failed
  • Duplicate image prevention: Prevented images being added twice on drag-and-drop (debounce + path deduplication)
  • Worktree removal: Improved reliability with manual cleanup fallback when git worktree remove fails
  • Session archiving: Prevented user-archived base sessions from reappearing on reopen
  • PR diffs: Now uses remote head ref to exclude unpushed local commits from PR update descriptions
  • Diff stats caching: Stats now persist across tab switches instead of recalculating
  • macOS keyboard: CMD+M now opens magic menu instead of minimizing window
  • Terminal improvements:
    • Warp URL scheme for opening new tabs on macOS (replaced AppleScript automation)
    • Fixed CLI paths with spaces by proper quoting in PTY spawn
  • AppImage compatibility: Fixed white screen on Ubuntu 24.04+ by handling GLib version mismatches and GStreamer plugin conflicts
  • npm resolution: Use dist-tags.latest to avoid 404 errors on CLI installation
  • Onboarding: Fixed Jean selection loading state and added error handling
  • UI fixes: Session chat modal header padding, RecentContexts layout and text truncation, message text visibility

Improvements

  • Centralized git diff modal with improved scroll stability
  • Resizable panels in ReviewResultsPanel for better UX
  • Enhanced observability with comprehensive debug logging in CLI setup
  • Simplified terminal handling by removing unnecessary shell wrapper workaround
  • Better dimension validation to prevent portable_pty crashes

Documentation

  • Updated Linux platform support status
  • Added Arch Linux build dependencies

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.29...v0.1.30

v0.1.29

Features

  • Mobile MCP Server Toggle: Added checkbox menu items in mobile toolbar to toggle MCP servers grouped by backend, with active server count indicator
  • Model Options: Added Claude Opus 4.6 and Sonnet 4.6 models with 1M context window support; added revert last commit option
  • Default Execution Mode: Allow users to configure default permission mode (Plan/Build/Yolo) for new sessions in Settings
  • Orphaned File Cleanup: Automatic background cleanup of orphaned combined-context and pasted image/text files when sessions are deleted
  • Project-Level Skills: Support loading Claude CLI skills and commands from project worktrees, with project-level items overriding global ones
  • PR Auto-Detection: Auto-detect and link existing GitHub PRs on worktree review via gh pr view
  • Security Alerts: Added security alerts and advisories display in toolbar context viewer with external GitHub links
  • Linear Issue Integration: Support creating worktrees from Linear issues with context files; display loaded issues in chat toolbar
  • PR Merge & Review: Added merge_github_pr command with pre-merge validation; fetch and display inline PR review comments
  • Reasoning Effort: Added reasoning effort parameter support for customizable AI thinking depth
  • Canvas List Layout: Refactored canvas views from grid to list-based layout
  • Relogin Support: Added relogin buttons for Claude, GitHub, Codex, and OpenCode CLI tools
  • FileChange Tool Display: Added inline display of FileChange tool calls showing file count or individual filenames
  • Magic Prompt Auto-Init: Auto-detect installed backends and apply appropriate model defaults on first launch

Fixes

  • Windows: Removed cmd.exe terminal option (PowerShell remains default); restricted window maximization tracking to Windows only
  • Windows: Use platform-specific file manager names (Finder/Explorer/Files)
  • Windows: Improved MainWindow styling and maximized state handling
  • Session State Persistence: Centralized completion state persistence to backend, eliminating dual-client race conditions between native and web frontends
  • Broadcast Sequencing: Fixed race condition where broadcast_session_setting overwrites optimistic cache by sequencing after update_session_state
  • YOLO Mode: Auto-continue when blocking tools encountered instead of waiting for user input
  • Streaming Reflow: Fixed markdown reflow on incomplete streaming text by splitting at last newline
  • Message Flicker: Eliminated message list flicker during streaming startup by hiding trailing assistant message immediately
  • Elapsed Time: Restored accurate elapsed time on session recovery by passing started_at from run log
  • Message Cache: Improved cache coherency with better empty response handling and placeholder content
  • Terminal Shortcuts: Required element focus for terminal shortcuts to prevent interference when terminal is visible but unfocused
  • Cross-Platform Paths: Fixed file path encoding using Tauri's native implementation for proper Windows compatibility
  • UTF-8 Truncation: Fixed string truncation to safely handle multi-byte UTF-8 characters
  • Auto-Scroll: Fixed auto-scroll fighting user input with wheel event detection and cooldown; improved scroll completion detection
  • Crash Recovery: Added JSONL result markers and server generation tracking for better crash recovery
  • Cache Invalidation: Centralized cache invalidation to update_session_state as single authoritative point
  • Session Cleanup: Consolidated session cleanup logic and improved lock handling to reduce deadlock risk

Improvements

  • Performance: Batch thinking deltas via requestAnimationFrame to reduce re-renders; optimize scroll handling with IntersectionObserver
  • Startup: Moved macOS PATH fix to background thread; deferred orphaned OpenCode server cleanup; lazy-loaded modal components
  • Mobile UI: Disabled Enter-to-send in ChatInput (Enter adds newline); hid keyboard shortcut hints; improved responsive visibility
  • Streaming Status: Simplified streaming status bar with elapsed time display; reduced ThinkingBlock size and spacing
  • Message Selection: Added select-text styling to ReviewResultsPanel for copying review content
  • Toolbar Context: Made Linear items clickable; display external link buttons for Linear issues and PR comments
  • Commit Messages: Improved commit message prompts with --stat summary and smart per-file diff truncation
  • MCP Config: Added --strict-mcp-config flag when MCP config is present
  • Code Refactoring: Extracted permission approval and worktree navigation logic into reusable utilities; improved terminal shortcut handling
  • WebSocket Reconnection: Bulk HTTP re-fetch of initial data on reconnect and restore running session state from server
  • Message Queue: Added persistent message queuing system for cross-client synchronization with atomic read-modify-write operations
  • Preferences: Implemented atomic patch_preferences command for concurrent-safe updates
  • Floating Approve: Enhanced button with dropdown menu supporting YOLO and new session/worktree variants
  • DevMode: Added drag region to DevModeBanner for improved window interaction

Breaking Changes

  • Chat Navigation: Removed WorktreeCanvasView; chat now always displays chat view directly instead of toggling between canvas and chat tabs

What's Changed (Github)

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.28...v0.1.29

v0.1.28

Features

  • Added mobile-responsive layout for GitDiffModal with overlay file sidebar, collapsible labels, and unified diff default on small screens
  • Changed default Codex model from gpt-5.3-codex to gpt-5.4 with support for gpt-5.4-fast via service_tier="fast" flag
  • Authenticated GitHub API requests using GH_TOKEN, GITHUB_TOKEN, or gh auth token to avoid rate limits when fetching releases
  • Added apple-touch-icon and mobile web app title
  • Added set_sessions_last_opened_bulk command for batch updates
  • Included user_message in chat:sending event for cross-client sync

Fixes

  • Fixed ChatInput not clearing on submit-button sends (enter-key path already worked, but button clicks left stale text)
  • Disabled Claude CLI usage tracking to prevent repeated auth logouts; Codex CLI tracking remains active
  • Fixed macOS PATH resolution to use non-interactive login shell, avoiding TCC permission prompts on macOS Sequoia when shell init scripts access protected app data
  • Fixed session close selecting nearest non-archived neighbor tab instead of clearing active session
  • Fixed worktree creation cache invalidation overwriting pending status
  • Fixed worktree name overflow in UnreadBell
  • Skipped redundant query invalidation when data was just preloaded

Improvements

  • Mobile improvements for command palette, unread modal, preferences, and project canvas views

What's Changed

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.27...v0.1.28

v0.1.27

Features

  • Added Claude/Codex usage snapshots with automatic token refresh, caching, and periodic background refresh
  • Added per-session execution mode persistence
  • Added session cache invalidation events

Improvements

  • Reduced streaming latency with adaptive NDJSON tail polling
  • Web access is way more stable now

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.26...v0.1.27

v0.1.26

Features

  • Commits Explorer — Added a "Commits" tab to the Cmd+G diff modal for browsing branch history, viewing per-commit diffs, switching branches, and requesting AI reviews (6082150)
  • GitHub Dashboard — Introduced a GitHub dashboard modal with floating dock entry for quick project overview (ba82a5b)
  • Linear Integration — Added Linear issue lookup, investigation workflows, per-project API key configuration, and issue reference tracking (4d075be, ba82a5b)
  • Resume Command Shortcuts — Added resume command generation and clipboard copy actions for session cards, session list, and floating dock (4e4a47e)
  • iTerm2 Support — Added iTerm2 as a terminal option on macOS (e5abccf)
  • Per-Prompt Backend Overrides — Users can now specify which backend (Claude, OpenCode, Codex) to use for each magic prompt operation (e2ab0d6)
  • Backend-Filtered Magic Prompts — Only installed backends are shown in the UI, with per-backend default configurations (e135527)
  • Clear Context & Build Mode — Added a "Clear Context and Build" approval path with model/backend/thinking-level propagation (a9eb185)
  • Skill Tool Call Display — Tool calls from skills are now rendered in the chat (21b13f5)
  • Tracked Projects in Asset Scope — Allowed tracked projects to be used in asset scope (29c3e02)
  • Cloud Command Resolution — Added frontmatter parsing and interpolation for Claude slash commands before sending (0416ab7)
  • Skip Remote Picker for PR Worktrees — Push and commit directly without remote selection when a worktree has an associated PR (d8bab35)
  • Archived Worktree Detection — Better feedback when creating a worktree with a conflicting path, suggesting alternative names (739ea5d)
  • OpenCode Model Upgrade — Updated default OpenCode model to gpt-5.3-codex with improved provider selection logic (5638b3c)

Fixes

  • Windows: Session switch after close — Fixed blank screen when closing/archiving a session by properly setting the new active session (0b264c3)
  • Windows: Empty repo branch detection — Stopped continuous warning spam on repos with no commits (cf35c2f)
  • Windows: CLI login argument mangling — Bypassed PowerShell shell wrapping for login commands to prevent argument corruption (7677e5a)
  • Windows: CLI binary file-locking — Used rename strategy to update CLI binaries that are in use by another process (1e4f723)
  • Dashboard: Partial remote failures — Dashboard no longer breaks when some projects lack remotes; errors are isolated per-project (c24d41f)
  • Plan approval loop — Fixed stuck plan loop caused by waiting state not being cleared on dialog-based approval (#141) (1448a7e)
  • Process cancellation race — Queued early cancellation requests so they're applied when the process registers (a0b5922)
  • Session closure race conditions — Prevented spurious chat:cancelled events and synchronized session closure with new session startup (f97aa6e)
  • Magic command dispatch — Replaced fragile timeout-based dispatch with store-backed flow that survives navigation (696d8b5)
  • Clipboard image paste on Linux — Added native fallback via arboard crate since WebKitGTK doesn't expose image clipboard items (46333f1)
  • Clipboard image loading state — Added loading placeholder and guard against absurdly large images (>50MP) (809e64f)
  • File mention popover width — Fixed truncated file paths by matching popover width to form container (6bf1f42)
  • Textarea resize on paste — Deferred resize to next animation frame for correct measurement (f45cc08)
  • Scroll area overscroll — Contained overscroll-y to prevent OS bounce/scroll chaining (bfd40ef)
  • OpenRouter model list — Fixed model selector rejecting valid OpenRouter model IDs with multi-segment paths (e77b9aa)
  • Codex CLI timeout — Added 120-second timeout to prevent hanging when MCP servers are unresponsive (3fd254a)
  • Codex thinking normalization — Properly mapped thinking values to Codex effort levels across all send flows (92e5513)
  • Review waiting state — Cleared waiting/pending indicators when entering review mode (09fd9bc)
  • MCP server override logic — Fixed re-enabling of user-disabled servers (f97aa6e)
  • Git history parsing — Hardened ref/path disambiguation and skipped binary numstat entries (089008a)

Improvements

  • Multi-backend MCP support — Backend-specific MCP server discovery and health checking for Claude, Codex, and OpenCode CLIs (2d79a6a, fedbff3)
  • Simplified message rendering — Replaced virtualized message list with a simpler component, removing @tanstack/react-virtual dependency (2d79a6a)
  • Review workflow optimization — File-boundary-aware diff truncation, increased diff context to 10 lines, capped untracked files to prevent overflow (9a14df3)
  • Approval UI — Surfaced backend/model labels on approval actions with consistent styled buttons (686a664)
  • Preferences layout — Moved Claude section below build execution in preferences (03513cc)

What's Changed

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.25...v0.1.26

v0.1.25

Features

  • Added fuzzy search for file and command mentions in chat using fuse.js
  • Added support for updating existing saved contexts instead of always creating new ones
  • Added preview button to view saved context content
  • Redesigned Magic Prompts pane from grid layout to master-detail sidebar with auto-flush of pending changes
  • Added status badges for issues, PRs, security alerts, and failed runs
  • Added CMD+Y shortcut for yolo mode approval
  • Inherited model/mode settings when creating new sessions

Improvements

  • Improved plan-waiting state handling via chat:done event to eliminate race conditions
  • Setup scripts no longer fail worktree creation; track success status instead
  • Preserved Claude session IDs during cancellation to enable --resume for next run
  • Added duplicate PR detection before generating new ones (saves tokens/API calls)
  • Showed spinners on all in-progress tools, not just the last one
  • Computed minimal disambiguating paths for duplicate filenames in diffs
  • Improved session tab auto-scroll and stable secondary sort by creation time
  • Respected user's selected model/provider for investigate runs
  • Auto-transition to review when opening plan-waiting sessions

Fixes

  • Fixed hook ordering by moving selection state before git diff effect
  • Fixed optimistic message preservation in chat service for unsent messages
  • Fixed grammar in empty message state text

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.24...v0.1.25

v0.1.24

Features

  • Redesigned prompts interface — Converted MagicPromptsPane to a master-detail sidebar layout with automatic flushing of pending changes when switching prompts
  • Chat status badges — Added new issues, open PRs, and failed runs indicators to the chat modal
  • Context updates and preview — Sessions now update existing saved contexts instead of always creating new ones; added a preview button to view saved context content
  • PR push permission detection — Added clear error handling for permission-denied push errors with an "Open PR" action in error toasts
  • CLI version checks for Codex and OpenCode — Extended version check monitoring to include Codex and OpenCode CLIs with periodic update checks
  • Keyboard shortcuts for chat scrolling — Added CMD+Up/Down to scroll chat by one page with smooth animation

Fixes

  • Question status tracking — Improved detection of answered/skipped questions using follow-up messages when state is lost after reload
  • Modal ESC key handling — Prevented SessionChatModal from closing when PlanDialog handles the Escape key
  • Hook ordering — Moved selection state before git diff effect for proper React hook ordering
  • Optimistic message preservation — Fixed chat service handling of unsent messages

Improvements

  • Simplified session close flow — Streamlined session archive to navigate to canvas; CMD+W now closes worktree when closing the last active session
  • Workflow run sessions — Investigate runs now respect user's selected model/provider and distinguish between project canvas and worktree contexts
  • UnreadBell — Now focuses the first session when opening the menu

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.23...v0.1.24

v0.1.23

Features

  • Auto-resizing chat textarea: Chat input now automatically expands and contracts based on content, supporting up to ~10 rows
  • Terminal signal display: Process termination signals are now captured and displayed with human-readable signal names
  • Improved terminal auto-close: Terminals now auto-close on successful exit (code 0) or SIGINT for run terminals, while keeping error cases open for debugging
  • New worktree from chat: Allowed new_worktree action to be triggered via keybinding while the chat modal is open

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.22...v0.1.23

v0.1.22

Features

  • Added Dependabot alerts and repository advisory context support with full security investigation workflow
  • Added teardown script support (scripts.teardown in jean.json) that runs before worktree deletion with output capture and failure protection
  • Added file revert functionality in git diff modal with resizable panels and CMD+G shortcut
  • Added directory mentions support in chat
  • Added headless background investigation for auto-created worktrees (CMD+Click)
  • Added worktree labels for custom categorization, replacing the session board/Kanban view
  • Added copy and edit buttons to pasted text file previews
  • Added "Show Logs" button in Preferences for easier troubleshooting
  • Added programmatic worktree creation support from backend
  • Added project context menu with actions: open in editor/terminal/finder, create worktree, open on GitHub, remove project
  • Added unread session notifications so you know which session is finished and you can change to them quicker

Fixes

  • Improved crash recovery: persist CLI PIDs immediately after spawn, detect completed vs crashed runs, recover orphaned OpenCode servers
  • Fixed git push validation to check for unpushed commits before pushing, with appropriate feedback
  • Fixed Windows editor launching for VS Code and Cursor .cmd wrappers (#89)
  • Fixed editor error messages with friendly names and platform-specific validation (Xcode on macOS only)
  • Fixed security feature errors to return empty results instead of propagating when Dependabot/advisories aren't available
  • Fixed backend selection to stay in sync with selected model
  • Fixed tool call filtering to preserve legitimate pending blocking tools during error cleanup
  • Fixed session resumption to clear claude_session_id on model change and restore execution mode after restart
  • Skipped close confirmation dialogs for sessions with no messages

Improvements

  • Refined toolbar controls, keyboard-driven dialogs, and unread indicator UX
  • Enhanced PR-aware git push with fallback to new branch on failure and upstream tracking
  • Added retry logic for OpenCode HTTP requests on transient connection errors
  • Simplified worktrees_dir API by removing nested Option type
  • Persisted last-opened timestamps for session read tracking
  • Refined dashboard keyboard shortcut and session metrics badge styling
  • Reduced log verbosity and enabled log file output on all platforms
  • Updated Tauri dependencies to 2.10.x series
  • Updated Rust dependencies

What's Changed

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.21...v0.1.22

v0.1.21

Features

  • Added enriched system prompts from global/project preferences with issue/PR context and Fixes links.
  • Added exact issue/PR lookup by number with prioritized search matches.
  • Added inline file annotations to prompt parts for images, skills, and pasted text.

Fixes

  • Fixed mobile navigation by auto-closing the sidebar after page changes.

Improvements

  • Improved auto-investigate behavior by making it per-worktree and keeping a stable UI layout.

What's Changed

New Contributors

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.20...v0.1.21

v0.1.20

Features

  • OpenCode Backend Integration: Added full OpenCode backend support with HTTP-based execution, session resumption, provider/model selection, and execution modes (plan/build)
  • Backend Filtering: Filter backend selection dropdown to only show installed providers
  • Session Tracking: Added session.updated_at field to track latest activity across runs
  • Enhanced Command Palette: Improved search to include labels and keywords
  • Onboarding Improvements: Enhanced flow with manual trigger support and dismissal handling
  • HTTP Server Preference: Added http_server_enabled preference flag

Improvements

  • Simplified Onboarding UI: Removed decorative icons and streamlined layout with consistent numbered badges
  • System Prompt Refinement: Clearer task management guidance
  • Session Metrics: Now use updated_at for tracking latest activity
  • Session Lifecycle: Implement acquire/release reference counting for OpenCode server lifecycle
  • Default Canvas Layout: Changed from grid to list view

Fixes

  • Error Handling: Improved error recovery with error_emitted flag for graceful stream termination
  • Chat Errors: Restore attachments and remove optimistic messages on chat errors
  • Codex Releases: Fixed release fetching to exclude prereleases
v0.1.19

Features

  • Added sorted remote listings to the git-status helper and reused the same ordering inside the modal so remotes stay predictable across views.
  • Surface worktree session metrics and navigation state in the canvas area for better visibility into active workspaces.

Fixes

  • Moved origin to the top of repository remote lists so the picker now defaults to the canonical remote when it exists.
  • Hardened the AppImage Linux build/runtime pipeline to reduce compatibility issues for a wider set of distributions.
  • Resolved the blank-screen problem that appeared on Arch Linux and Wayland compositors when launching the AppImage.

Improvements

  • Modularized the chat toolbar behavior to keep the UI logic cleaner and easier to extend.
v0.1.18

Features

  • Added review cancellation with process registry and cancel_review_with_ai command to interrupt in-flight AI review processes
  • Added Zed editor as default editor with full support across macOS, Windows, and Linux
  • Added session restoration tracking with restore_last_session preference to persist per-project session state across workspace switches
  • Added working directory context to Codex CLI invocations for improved repository awareness

Fixes

  • Fixed worktree initialization to skip recently created worktrees (<5 minutes) when filtering non-existent paths, preventing premature removal during background setup
  • Fixed Alt+M keyboard shortcut detection for create-and-investigate actions
  • Fixed Alt/Option key mapping on macOS for proper keybinding handling (physical key code mapping)
  • Fixed duplicate git diff listeners in ChatWindow when modals are open over canvas view
  • Fixed list key props to use stable identifiers instead of array indices

Improvements

  • Refactored NewWorktreeModal and LoadContextModal into reusable tab components and custom hooks for better maintainability
  • Refactored ChatWindow into five focused custom hooks (useActiveTodosAndAgents, useMessageSending, usePlanState, useToolbarHandlers, usePendingAttachments) and additional hooks for MCP server resolution and event handling
  • Added code splitting with lazy loading for heavy modals (GitDiffModal, LoadContextModal) using React.lazy and Suspense for faster initial load
  • Added DialogDescription with accessibility improvements to all modals
  • Persisted selected backend/model in investigate magic prompt mode
  • Improved git operation toast messages with project/worktree name prefix
  • Moved PR status display from button text to tooltip for cleaner UI
  • Enhanced ChatInput with Tab key to switch backends and improved mode-specific placeholders
  • Added MCP servers dropdown button to ChatToolbar
  • Refined CSS transitions to be more specific (e.g., transition-colors, transition-[background-color,box-shadow])

Breaking Changes

  • Removed diagnostics system and sysinfo dependency (process monitoring, CPU/memory tracking)
  • Removed disable_thinking_in_non_plan_modes preference; thinking is now always controlled by model settings
  • Removed thinking override logic from Claude CLI execution
  • Tightened JSON schema validation with additionalProperties: false