Changelog.

Latest releases from the GitHub repository.

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
v0.1.17

Features

  • Codex CLI Backend: Added Codex CLI as an alternative execution backend with interactive approval mode, multi-agent collaboration tools, and configurable execution modes (plan, build, yolo)
  • Backend Selection: Implemented session-level backend selection between Claude and Codex before the first message, with frontend toggle in chat toolbar
  • Existing PR Linking: Added ability to detect and link existing PRs instead of failing creation, with "PR linked" vs "PR created" toast notifications
  • Execution Mode Selection: Added separate "Fix (yolo)" buttons alongside plan buttons for explicit execution mode control in review results and code fixes
  • Multi-Remote Support: Added get_git_remotes command and remote picker modal for push/pull/commit operations
  • Keyboard Shortcuts: Added quick access shortcuts (⌥P, ⌥M, ⌥E) for provider/model/effort dropdowns and numeric shortcuts (1-9) for menu items
  • Image Thumbnails in Queue: Display visual previews of images in queued messages with lightbox preview capability
  • Worktree Auto-Archive: Added removal_behavior preference to delete or archive worktrees on PR merge

Improvements

  • Enhanced PR response handling to skip redundant saves for linked PRs
  • Improved issue/PR preview with dedicated modal component
  • Added multi-agent UI support with AgentWidget component
  • Enhanced command builders to support new Codex configuration options
  • Better session lifecycle management with approval channel cleanup

Internal

  • Moved PermissionDenial and PermissionDeniedEvent to shared types for code reuse
  • Added rpc_id field to PermissionDenial for tracking approval responses

What's Changed

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.16...v0.1.17

v0.1.16

Features

  • Multi-remote GitHub support: Added ability to fetch and display all GitHub remotes for a repository, enabling users to open branches and repos from fork/upstream remotes, not just origin
  • Issue/PR preview modal: Added IssuePreviewModal component to display detailed GitHub issue and pull request information including title, description, labels, comments, and reviews directly from the selection interface
  • Periodic update checks: Added automatic update checks every 30 minutes

Improvements

  • Added remote selection UI with keyboard shortcuts in OpenInModal
  • Improved dialog auto-focus handling with configurable override
  • Added square spinner animation for dev server indicator
  • Fixed session tab scrolling and layout
  • Refactored GitHub URL resolution with normalize_github_url helper to support upstream tracking refs

Fixes

  • Fixed chat review state oscillation by persisting reviewing state before query invalidation to prevent is_reviewing flag from being overwritten with stale cache data
v0.1.15

Features

  • Added Sonnet 4.5 model option with updated model labels including version numbers

Improvements

  • Improved session management with better state persistence and tab navigation
  • Added attachment persistence when canceling messages
  • Implemented off-screen waiting tab indicators with auto-scroll navigation
  • Enhanced chat UI with custom scrollbar styling and better SlashPopover positioning
  • Improved plan/recap indicators to display actual session state
  • Added copy button to ErrorBoundary for easier error debugging
  • Optimized store state subscriptions with shallow equality checking

Fixes

  • Fixed z-index layering in ChatWindow TodoWidget
  • Fixed TodoWidget styling for consistency with sidebar colors
  • Centralized load context modal state to prevent race conditions on session cancellation
  • Fixed waiting_for_input state restoration for active runs only
  • Fixed ThemeProvider context stability
  • Fixed ProjectCanvasView sessionsByWorktreeId computation
  • Fixed McpServersPane to respect explicit empty server configuration
  • Prevented unwanted PlanDialog auto-focus on open

Other

  • Applied comprehensive code formatting and linting across the codebase

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.14...v0.1.15

v0.1.14

Features

  • Per-session MCP server overrides: Added ability to configure MCP servers per session with inheritance chain (session → project → global)
  • Session close confirmation: Added optional confirmation dialog before closing sessions (controlled by confirm_session_close preference)
  • Canvas view as default: Made WorktreeCanvasView the default view for worktrees, replacing the previous tabbed interface
  • Session detail modal: Replaced SessionTabBar with a modal-based session detail view for cleaner UI

Improvements

  • Dialog header spacing: Adjusted DialogHeader padding for consistent spacing across all modals
  • Responsive layout: Improved KeybindingHints and ChatToolbar layouts with better mobile responsiveness
  • UI consistency: Consolidated Model selector from Select to DropdownMenu for consistency
  • Chat input improvements: Enhanced @mention detection to handle editing completed mentions
  • Reduced logging: Decreased tauri_plugin_updater log verbosity to reduce noise
  • Documentation: Expanded architecture guide with detailed module documentation
  • Homebrew support: Added Homebrew installation section to README

Fixes

  • Session filtering: Fixed session filtering logic to prevent base sessions from being searchable
  • Code cleanup: Removed unused magicModalShortcut prop and fixed code indentation throughout codebase
  • UI refinements: Fixed array element indentation and arrow function alignment
v0.1.13

Features

  • System Diagnostics Panel: Added comprehensive diagnostics module with real-time monitoring of CPU/memory usage for Jean app processes and Claude CLI processes, plus background polling status and active file tailer metrics
  • Session Recap Dialog: Added on-demand session digest generation with caching and visual indicators (sparkles icon) in session tabs. Users can access recaps via R key, magic modal, or button in SessionChatModal
  • E2E Testing Suite: Added comprehensive Playwright test suite with mock Tauri transport, covering chat messaging, model selection, session management, and theme switching
  • Homebrew Automation: Implemented automated Homebrew tap updates with SHA256 calculation and DMG availability checks

Improvements

  • Enhanced GitHub CLI binary resolution with extracted helper function and explicit fallback chain (embedded → PATH → bare command)
  • Improved session and project cleanup with orphaned session data removal and known MCP server tracking
  • Added experimental diagnostics_enabled preference flag for opt-in diagnostics visibility
  • Updated dependencies: @tauri-apps/cli to 2.10.0, added @radix-ui/react-slider 1.3.6 for UI component support
  • Enhanced error messaging for Claude CLI binary resolution with expected path display

Fixes

  • Fixed X button not closing the application
  • Fixed default global system prompt handling to use DEFAULT_GLOBAL_SYSTEM_PROMPT when null
  • Fixed CSS styling issues
  • Improved macOS window close behavior with z-rule addition
v0.1.12

Features

  • Added comprehensive Playwright E2E testing infrastructure with Tauri mock transport layer
  • Added mock data factories for projects, worktrees, sessions, and preferences
  • Added E2E test suite covering app loading, keyboard shortcuts, navigation, and preferences
  • Added Tauri plugin stubs (dialog, clipboard, opener, updater, process) for E2E testing
  • Added support for E2E mock detection and routing in transport layer

Fixes

  • Fixed race condition in useMainWindowEventListeners where cleanup could race with async menu listener setup
  • Fixed code review to use full model instead of Haiku for better quality results
  • Fixed model filtering to properly handle internal Anthropic provider

Improvements

  • Added dev:e2e and test:e2e npm scripts for running E2E tests
  • Cleaned up unused component props by prefixing with underscore to suppress linting warnings
v0.1.11

Features

  • Added clickable web links in terminal with @xterm/addon-web-links for easy URL navigation
  • Improved plan approval flow with persistent cleared waiting state to backend

Fixes

  • Fixed CMD+W keyboard shortcut to close selected session instead of entire worktree
  • Fixed code review model to use full default model instead of Haiku for better quality
  • Fixed Anthropic internal provider handling in model filtering

Improvements

  • Enhanced text file preview UX with select-text and cursor-text styling
  • Optimized query invalidation order for better cache consistency
  • Allowed git push without changes when user explicitly requests it (useful for pushing existing commits)
v0.1.10

Features

  • Base session archiving: Archive sessions when closing base sessions with ability to restore them later via the Archive modal
  • PR update workflow: Generate AI-powered PR titles and descriptions, then apply updates directly to GitHub
  • Auto-pull base branch: Automatically pull the base branch before creating new worktrees (enabled by default, skipped when creating from PR/issue context)

Improvements

  • Made workflow check status clickable to open workflow runs modal
  • Added copy button to chat error fallback for easier bug reporting
  • Added missing UI components: CloseWorktreeDialog and BranchConflictDialog
  • Updated Archive modal messaging based on removal behavior setting
  • Simplified CMD+W handler to close entire worktrees

Changes

  • Changed default removal behavior from archive to delete
  • Reduced archive retention from 30 days to 7 days

Dependencies

  • Added rehype-raw@^7.0.0 for HTML/raw content support in markdown
v0.1.9

Features

  • Image processing: Automatically resize and compress images for better compatibility with Claude's limits. Large images (>1568px) are resized, and opaque PNGs are compressed to JPEG format to reduce token usage.
  • Session tabs in modal: View and switch between multiple sessions with tabs, displaying status indicators (waiting, review, vibing, planning, yoloing). Use CMD+LEFT/RIGHT to navigate between tabs.
  • Session labels with custom colors: Added structured session labels with customizable colors and auto-calculated text contrast for better readability.
  • Per-prompt provider selection: Configure different AI providers for individual prompts in preferences, with fallback to global default provider.
  • AI code review: Automatically review code changes and untracked files with inline feedback and detailed analysis.
  • Git sweep polling: Added background polling for non-active worktrees to keep repository status current (60-second intervals).
  • Global system prompt support: Load custom system prompts from ~/.claude/CLAUDE.md for consistent behavior across sessions.
  • Consolidated git operations: Unified pull operation with automatic stash management for local changes.

Improvements

  • Modal UX: Added close button (X) to session chat modal for easier navigation.
  • Focus polling: Trigger immediate status updates when returning to the app for real-time PR/issue information.
  • Message queuing: Queue fix messages when a session is busy to prevent interruptions and maintain conversation flow.
  • Session persistence: Auto-open specific sessions after review operations, with improved state management across worktree changes.
  • Claude CLI robustness: Enhanced error handling with stderr collection and silent failure detection to prevent broken continuations.
  • Dashboard UI: Persist worktree collapse state and maintain scroll position improvements with instant scrolling after UI changes.
  • Performance: Moved Claude CLI execution to a dedicated thread to prevent async runtime starvation during concurrent sessions.

Fixes

  • Modal close behavior: Fixed highlighted card reference alignment when closing or switching sessions.
  • Worktree setup messaging: Improved card messaging for different worktree types (PR, issue, script).
  • Git operations: Made review git operations non-fatal to gracefully handle missing origin references.
  • Session state: Cleared stale session IDs when resume produces empty responses to prevent broken continuations.

What's Changed

Full Changelog: https://github.com/coollabsio/jean/compare/v0.1.8...v0.1.9