Skip to content

Releases: joelmoss/workroom

v2.0.0-beta.22

v2.0.0-beta.22 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Jul 16:07

Choose your update channel

This beta adds release channels — decide how bleeding-edge you want Workroom to be — and
gathers everything version- and update-related into a new About settings pane. Plus a
native-toolbar fix that kills a macOS 26 app-hang, and a livelier History panel.

⚠️ Still a beta — expect rough edges.

Release channels

  • Stable ↔ Pre on the main app, switchable at runtime — pick it in Settings ▸ About ▸
    Release channel
    or with workroom update --channel stable|pre
  • Nightly ships as a separate, side-by-side product — a "Workroom Nightly" app (violet icon,
    own bundle id) and a workroom-nightly CLI, pinned to nightly by build identity so it never
    drifts into or collides with your main install
  • Prerelease-aware updater: per-channel selection, checksum-verified downloads, nightlies ordered
    by commit count and everything else by semver
  • Upgrading beta users are opted into pre automatically on first launch

About settings pane

  • New About section in Settings gathers the app version, repository + Releases links, "Check
    for Updates…", the auto-update toggle, and the channel picker in one place
  • General keeps its three toggles; nightly builds hide the channel picker (fixed by build identity)

History

  • The History panel now auto-refreshes on VCS changes — commit in the terminal and the log
    updates live, no reselect or manual refresh needed
  • Rich hover card on history rows, with branch/bookmark refs kept off the wrapping line

Fixes

  • Killed a macOS 26 title-bar AppHang (≥2s main-thread stalls) and a stray » toolbar-overflow
    popup — the window toolbar is now hidden in AppKit, with the chrome living in the titlebar
    accessory

v2.0.0-beta.21

v2.0.0-beta.21 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jul 23:17

Source control comes to Workroom

This beta turns Workroom into a place you can read your code's history, not just run
terminals in it. A new native VCS enginejj via jj-lib
and Git via SwiftGitX (libgit2), unified behind one Swift seam — powers two new inspector
panels: History and Changes, with rich, GitHub-style diffs. Both backends, one UI.

⚠️ Still a beta — expect rough edges.

History

  • New History section in the activity bar: a paged commit log for the selected workroom
  • Click a commit for a changeset detail view — identity, refs, +/- line counts, a
    resizable file list, and per-file diffs
  • Back/forward navigation restores the exact commit and file you were viewing
  • jj: divergent changesets are surfaced; short change ids throughout
  • User avatars on commits, with a privacy toggle to turn avatar fetching off

Changes

  • One unified Changes sidebar for both git and jj (bookmarks/branches, jj commit chips
    • message)
  • A dirty dot on the activity bar's Changes icon when the working copy has edits
  • Working-copy diffs routed through the new engine, with content caching and size limits

Diffs

  • GitHub-style diffs: two-column line-number gutter and full syntax highlighting
  • Commit-scoped and working-copy diffs share one viewer and diff source

Window & polish

  • Window chrome reorganized around the activity bar (leading hairline divider dropped)
  • Uniform sidebar row sizing with a secondary project name; more breathing room above the
    first project
  • Terminal tab titles now truncate with a full-title tooltip
  • libghostty focus is now driven from app + window-key state (fixes dead nav keys after
    refocus)

Reliability

  • VCS reads hardened for concurrency and clearer error surfacing
  • jj CLI shell-outs moved off the Swift cooperative pool (GCD) — fixes History/Changes
    hanging on the loader forever
  • Inspector empties cleanly when the selected workroom has no tabs

Under the hood

  • Rust VCS core wired into the app and CI as a universal (arm64 + x86_64) build
  • The repo is now framed around the macOS app, with the CLI as the bundled engine

v2.0.0-beta.20

v2.0.0-beta.20 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Jul 15:39

workroom 2.0.0-beta.20 — a redesigned Settings window, plus split & terminal fixes

This beta reorganises Settings into a themed, grouped sidebar and clears a batch of
split-view, terminal, diff-pane, and workroom-setup bugs in the macOS app.

⚠️ This is a beta — expect rough edges.

macOS app

  • Settings, redesigned. The Settings window (⌘,) moves from one flat Form to a
    source-list sidebar with four groups — General, Appearance, Terminal, Agent — each
    showing its own pane. Every control keeps its existing binding; the window is now
    themed to match the app, and ⌘W closes it.

Fixes

  • Drag-to-split works again with the left sidebar open (the drop target was mis-measured
    while the sidebar was expanded)
  • Collapsing a split back to a single pane keeps the surviving terminal surface alive
    instead of tearing it down
  • Clicking over diff lines now focuses the diff pane (text selection was swallowing the tap)
  • Workroom setup no longer triggers an FSEvents probe storm
  • Closed a lost-signal race in the run supervisor's parked phase

Build & CI

  • The app CI job now caches and retries Swift package resolution, so a transient
    github.com clone timeout no longer fails the whole build

v2.0.0-beta.19

v2.0.0-beta.19 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Jul 23:24

workroom v2.0.0-beta.19 — unified title bar, inline terminal agent, PR merge

The macOS app moves its chrome into a real unified toolbar, gains an inline agent that
diagnoses failed terminal commands, lets you merge a pull request without leaving the app,
and reworks the workroom-creation flow.

⚠️ This is a beta — expect rough edges.

Title bar & window chrome

  • Unified toolbar — the title-bar chrome now lives in a real unified NSToolbar, with
    breathing room around the controls and centered traffic-light buttons
  • Fixed the title-bar flash and traffic-light jitter, and restored the terminal-strip toolbar
    hover

Terminal

  • Inline terminal agent (#49) — when a command fails, diagnose it in place with your local
    claude/codex CLI and get a suggested fix in the pane's status bar
  • Split down button on the terminal tab bar (#114)
  • Terminal focus now syncs when a surface is created after the first responder is set

Pull requests

  • Merge from the app (#88) — a split Merge button on the PR panel: pick Create a merge
    commit
    , Squash and merge, or Rebase and merge; the choice persists across projects and
    restarts

Workrooms

  • Reworked creation flow (#116) — a cleaner new-workroom UI, and fixed create/delete races
  • Context menu on the split title bar (#112), and a workroom label change now reflects in the
    split title bar too (#113)

Files & Markdown

  • Open changed files in-app (#117) — open a changed file straight from the Changes sidebar
  • Themed Markdown preview — rendered in a themed WKWebView with tables, mermaid, and HTML,
    plus a source/preview toggle in the tab bar

Notifications

  • Moved to the left sidebar (#118)

Under the hood

  • Minimum macOS raised to 15 (Sequoia)
  • Inspector section resize is preserved when you collapse another section

v2.0.0-beta.18

v2.0.0-beta.18 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 09:33

workroom v2.0.0-beta.18 — file inspector, Markdown & syntax-aware viewing

The macOS app grows a read-only file browser: inspect any file in a workroom from a tree,
read Markdown rendered or raw, and get syntax highlighting driven by the file's shebang.
Plus create projects in brand-new directories and label workrooms.

⚠️ This is a beta — expect rough edges.

macOS app

  • File tree inspector + read-only viewer — browse a workroom's files in a tree and open
    any file in a read-only viewer (#61)
  • Markdown source/preview toggle — read .md files rendered, or flip to the raw source
  • Shebang-aware language detection — the file and diff viewers detect script language from
    the shebang line, so shebang scripts get the right syntax highlighting
  • Create new project directories — the New Project flow can create and git-init a brand-new
    directory, not just adopt an existing repo (#103)
  • Display-only workroom labels — attach labels to workrooms in the sidebar (#41)
  • Workroom split group title bar — a title bar for split groups (#110)

CLI

  • Reconcile stale VCS type on listlist corrects a workroom's recorded VCS type when it
    no longer matches what's on disk

v2.0.0-beta.17

v2.0.0-beta.17 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Jun 08:01

workroom v2.0.0-beta.17 — safer deletes, drag-to-split, terminal find

A round of macOS app polish: deleting a project now moves it to the Bin instead of
erasing it, you can split a workroom straight from the sidebar, and the terminal gains
scrollback search.

⚠️ This is a beta — expect rough edges.

macOS app

  • Delete moves to the Bin — removing a project (and its workrooms) now sends the
    directories to the macOS Bin via Finder, so a deletion is recoverable (#108)
  • Split from the sidebar — drag a workroom out of the sidebar to open it in a split (#101)
  • Terminal scrollback find (⌘F) — search terminal output, with next/previous that
    wraps and steps in the right direction
  • Reliable run supervision — the run command executes under an in-terminal supervisor,
    fixing the phantom "a server is already running" respawn (issue #7)
  • Reorder tab chips by dragging — drag workroom tab chips to reorder without dragging
    the window (#23)
  • Steadier close-tab confirm — the close-tab prompt is now a window-modal sheet, so
    Return reliably confirms
  • Open the project root terminal automatically after adding a project

v2.0.0-beta.16

v2.0.0-beta.16 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Jun 11:00

workroom 2.0.0-beta.16

Another macOS app round: the Changes panel grows file actions, a new Open Workroom
picker lands on ⌘O, the inspector and title-bar chrome get a refresh, and every
shortcut now shows up in its control's tooltip.

⚠️ This is a beta — expect rough edges.

macOS app

  • Changes-panel file actions (#93) — hover a changed file for an inline toolbar, and
    ⌘-click (or the toolbar button) opens it in your editor. Open-file labels are tidied up,
    and .other (untracked) changes are now covered too
  • Open Workroom picker (⌘O) — jump to any existing root or workroom from a searchable
    picker. ⌘O now opens it (and Open-in-Editor moves to ⇧⌘O); the workroom tab strip got a
    pass of polish alongside it
  • Refreshed inspector & sidebar chrome — the inspector and sidebar now read as distinct
    surfaces, sitting under a taller single-row title bar
  • Keyboard shortcuts in tooltips (#99) — every control whose action has a key equivalent
    now shows it in the tooltip (⌃⌘S sidebar, ⌘[ / ⌘] back/forward, ⌘R/⌥⌘R/⇧⌘R run, ⌘T new
    terminal, ⌘N new workroom, ⌥⌘C/⌥⌘P/⌥⌘N inspector sections, …), and two stale hints from
    the ⌘O reshuffle were corrected

v2.0.0-beta.15

v2.0.0-beta.15 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jun 20:46

workroom 2.0.0-beta.15

Mostly macOS app polish this round — title-bar fixes, steadier window and notification
handling, and refreshed dependencies.

⚠️ This is a beta — expect rough edges.

macOS app

  • Update pill moved to the trailing title bar — it no longer overlaps the sidebar
    divider, so hovering it shows the normal cursor instead of the resize splitter (and a
    drag no longer resizes the sidebar)
  • Workroom menu trimmed — removed "What's New in Workroom…"; "Check for Updates…" now
    sits directly beneath "About Workroom", and "Install workroom Command" / "Keyboard
    Shortcuts…" sit just below Settings…
  • Removed the stray » toolbar overflow chevron from the title bar
  • Double-click an empty title bar to zoom or minimize (#85)
  • ⌘` cycles all windows now, including the Quick Terminal (#87)
  • Title bar no longer jumps while a workroom tab streams output (#90)
  • Notifications from unfocused split panes now surface (#89)
  • Live run toast is scoped to the selected workroom (#73)
  • Root branch/bookmark labels live-refresh via per-project FSEvents
  • No more false "GitHub CLI not signed in" warning on network blips (#86)

Dependencies

  • Sentry 9.19.0, Sparkle 2.9.3, Defaults 9.0.9

CLI & docs

  • CLI release archive name kept as workroom_ so it matches the documented install paths
  • Expanded README with build, architecture, and release docs

v2.0.0-beta.14

v2.0.0-beta.14 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jun 10:17

What's new in 2.0.0-beta.14

This release moves the workroom tab bar into the title bar and polishes
workroom splits across the macOS app.

⚠️ This is a beta — expect rough edges.

Title bar

  • The workroom tab bar now lives in the title bar, stretched between the leading controls (sidebar toggle + history nav) and the trailing toolbar — reclaiming a full row of window height
  • Trailing title-bar controls regrouped for a tighter layout
  • The focused workroom tab gets an underline-style indicator, keeps its dividers, and the workroom + terminal tab strips got an all-round polish

Workrooms & splits

  • New workroom picker dialog (⌘N) for creating a workroom from any project (#81)
  • Workroom tab context menu plus a dedicated new-workroom button on the bar
  • Closing a workroom's last panel now opens the next workroom instead of leaving an empty detail (#80)
  • Unfocused workroom splits dim so the active one reads instantly (#82) — and the backgrounded pane's tab strip now fades with it, not just its terminals
  • Wider split-resize divider and new "Resize Evenly" menu items (#83)
  • The trailing tab divider no longer doubles up against a split group pinned to the far-right edge

Updates

  • The Update pill now appears after a manual "Check for Updates…" finds one
  • The Sparkle update dialog shows the curated release notes rather than the raw commit list

Under the hood

  • Split RootView.body into smaller sub-views so it type-checks within the compiler's budget — Xcode 26.3 on CI was timing out on the single large expression

v2.0.0-beta.13

v2.0.0-beta.13 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Jun 10:21

What's new in 2.0.0-beta.13

This release is all about the pull-request panel and run-command feedback in the macOS app.

⚠️ This is a beta — expect rough edges.

Pull requests

  • The PR panel now lists individual GitHub CI checks — glyph + name per check, not just a single roll-up
  • Sidebar and tab CI aggregate reflects every check, so a failing check anywhere shows through
  • PR header improvements with optimistic state changes — actions update the UI immediately instead of waiting on the round-trip
  • New "Go to Pull Request" item in the PR header menu
  • Leaner rows throughout: dropped the open-in-browser chevron from reviewer rows, and stopped grouping the PR number into the section badge

Run commands

  • Run commands now detect success vs. failure: a non-zero exit shows a red xmark.octagon glyph (run-tab chip + workroom-tab dot) and a failure toast; a clean exit shows a success toast. Stop / Restart / Ctrl-C count as user actions, not failures.
    • Fixes a gap where GhosttyKit 1.2.3 always reported exit code 0 — the real $? is now captured via an EXIT-trap .exit file.

Live status

  • The selected workroom's VCS status live-refreshes via FSEvents — no manual refresh after a commit or branch change

Fixes

  • Edge-hover sidebar reveal is now scoped to the toggle button, so reaching for the leftmost tabs no longer trips the panel (#74)
  • Stopped the title-bar icon sliding on hover (#78)