Skip to content

Releases: coollabsio/jean

v0.1.48

Choose a tag to compare

@andrasbacsai andrasbacsai released this 13 May 11:48

Features

  • Added a terminal-first chat session mode with full-screen terminal sessions, font/rendering preferences, and better session cleanup.
  • Added native Claude and Codex CLI session discovery, import, and resume support.
  • Added shared context mentions for GitHub, Linear, security, and advisory context files, including previews in chat prompts.
  • Added Codex run recovery, running-session preservation, and goal tracking for long-running work.
  • Added backend-aware model selection with favorites, fast model tiers, and updated GPT defaults across chat, reviews, and preferences.
  • Added compact chat rendering, mobile settings controls, and image-only attachment prompt handling.
  • Added inline file diffs, file edit modals, and a conflict resolution dialog for assisted git conflict handling.
  • Added CodeRabbit CLI review integration, managed install/update/uninstall flows, and PR review triggering from review workflows.
  • Added canvas worktree filter tabs for manual, issue, PR, and security worktrees.
  • Added keyboard shortcuts for diff tabs and canvas filter navigation.
  • Added browser-mode support for serving default project avatars.

Fixes

  • Fixed Codex recovery so resumed notifications were buffered correctly and active empty snapshots were treated as crashed instead of completed.
  • Fixed transient WebSocket disconnects so reconnect noise no longer showed user-facing error toasts.
  • Fixed split multi-byte UTF-8 handling in the PTY reader.
  • Fixed GitHub PR review comments so outdated inline threads were hidden using GitHub review thread state.
  • Fixed CodeRabbit CLI source selection and improved error messages for JSON and limit failures.
  • Fixed review modal behavior by removing an unnecessary CodeRabbit settings shortcut.
  • Fixed mobile menu states when unavailable choices should not show chevrons.
  • Fixed canvas filter tab navigation guards and tab corner styling.
  • Fixed plan display copy-button alignment.

Improvements

  • Improved web client freshness checks with build metadata and stale-client detection.
  • Improved web access terminal reliability with app-level websocket heartbeats, replay coverage, idle flushing, and browser sound preferences.
  • Improved preference navigation by grouping sidebar items into clearer sections.
  • Improved chat duration formatting to use seconds or mm:ss.
  • Improved worktree toolbar actions by consolidating editor, terminal, finder, GitHub, and PR/security handlers.
  • Improved AI backend documentation with a checklist for adding future backends.
  • Improved local build ergonomics with a faster Cargo profile and build performance documentation.

What's Changed

New Contributors

Full Changelog: v0.1.47...v0.1.48

v0.1.47

Choose a tag to compare

@andrasbacsai andrasbacsai released this 30 Apr 12:50

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

  • fix(ui): replace native tooltip with shadcn Tooltip on chat input men… by @jorgefl8 in #343
  • fix(ui): replace native Windows scrollbars with the app's custom style by @jorgefl8 in #342
  • fix(ui): apply cursor-pointer to interactive shadcn primitives by @jorgefl8 in #344
  • feat(models): add Claude Opus 4.7 1M context window variant by @andrasbacsai in #346
  • fix(github): increase fetch limits for actions, issues, and PRs by @andrasbacsai in #348
  • fix(errors): prevent UI crash on unhandled rejections and null session data by @andrasbacsai in #349

New Contributors

Full Changelog: v0.1.46...v0.1.47

v0.1.46

Choose a tag to compare

@andrasbacsai andrasbacsai released this 27 Apr 06:40

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

  • feat(terminal): enable terminal in web/browser mode by @petrbela in #327

New Contributors

Full Changelog: v0.1.45...v0.1.46

v0.1.45

Choose a tag to compare

@andrasbacsai andrasbacsai released this 24 Apr 13:49

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)

  • feat(worktree): allow setting custom branch/worktree name by @ngvuhuy in #294

New Contributors

Full Changelog: v0.1.44...v0.1.45

v0.1.44

Choose a tag to compare

@andrasbacsai andrasbacsai released this 23 Apr 13:30

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: v0.1.43...v0.1.44

v0.1.43

Choose a tag to compare

@andrasbacsai andrasbacsai released this 21 Apr 21:04
5d103ae

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: v0.1.42...v0.1.43

v0.1.42

Choose a tag to compare

@andrasbacsai andrasbacsai released this 20 Apr 10:56

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: v0.1.41...v0.1.42

v0.1.41

Choose a tag to compare

@andrasbacsai andrasbacsai released this 16 Apr 19:33

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: v0.1.40...v0.1.41

v0.1.40

Choose a tag to compare

@andrasbacsai andrasbacsai released this 15 Apr 15:47

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: v0.1.39...v0.1.40

v0.1.39

Choose a tag to compare

@andrasbacsai andrasbacsai released this 15 Apr 07:51

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)

  • feat(chat): recover Codex runs across crashes and reconnects by @andrasbacsai in #296
  • fix(chat): allow git commits in worktree sandboxes by @andrasbacsai in #297
  • feat(chat): apply per-mode thinking level overrides and show model badges by @andrasbacsai in #301
  • feat(chat): add Cursor Agent backend integration by @andrasbacsai in #302
  • feat(sounds): simplify notification sounds and add preview buttons by @andrasbacsai in #304
  • refactor(chat): remove stall detection timeout from codex event loop by @andrasbacsai in #303
  • fix(release): fix AppImage auto-update by generating proper updater artifacts by @andrasbacsai in #305

Full Changelog: v0.1.38...v0.1.39