Skip to content

Releases: joelmoss/workroom

v2.0.0-beta.6

11 Jun 09:41

Choose a tag to compare

v2.0.0-beta.6 Pre-release
Pre-release

Per-project run commands, richer notifications, and polish

This beta adds a per-project run command — point a project at npm run dev (or whatever
starts it) and drive it from a dedicated run terminal — plus a system menu bar item for
notifications, a collapsible terminal-tab sidebar, and a round of stability and design fixes.

⚠️ Still a beta — expect rough edges. Existing installs auto-update via Sparkle.

Run command (#7)

  • Set a run command per project in Project Settings, with optional auto-run when a
    workroom is created
  • Drive it from a dedicated "Run" terminal — Run / Stop / Restart in the toolbar, the new
    Run menu, the sidebar row, or ⌘R / ⇧⌘R / ⌥⌘R. Stop is a graceful Ctrl-C that escalates to
    a hard kill on a second press; Restart waits for the process to exit before respawning, so it
    releases the port first
  • The pane stays open showing output after the command exits; Go ▸ Run Terminal jumps to it

Notifications

  • A system menu bar item for notifications (#33)
  • The notifications bell stays visible even with no workroom selected
  • The notification jump moved into the Go menu; ⇧⌘N / ⌥⌘N now reach the menu even inside
    enhanced-mode TUIs (Claude, Codex)

Terminals & sidebar

  • Terminal tabs now appear as a collapsible sidebar subtree
  • The terminal surface no longer shifts when toggling between a solo pane and a split
  • Design polish: clearer active tab and split-group brackets, a calmer focused split-pane ring,
    tab ✕ and pane grips revealed on hover, tighter tab chips, dimmed terminal titles, and a
    unified sidebar caret column

Stability

  • The agent progress indicator no longer times out mid-task (#38)
  • Fixed a crash on quit caused by freeing terminal surfaces while their IO was still active

Dev

  • Debug builds now run side by side with the release app as Workroom Dev

v2.0.0-beta.5

09 Jun 09:51

Choose a tag to compare

v2.0.0-beta.5 Pre-release
Pre-release

Getting around — and staying on top of activity

This beta is about movement and awareness: navigate your terminals like a browser, jump
straight to whatever just needs attention, and land on the exact line you ⌘-clicked.

⚠️ This is a beta — expect rough edges.

Navigation

  • Browser-style back/forward (⌘[ / ⌘]) over the terminal locations you've visited —
    across workrooms, project roots, and terminal tabs/splits. New back/forward chevrons in
    the toolbar and a Go menu to match. (#26)

Notifications

  • Go to Next Notification (⇧⌘N) — jumps to the oldest pending notification's terminal
    and dismisses it; press again to walk the backlog oldest → newest.
  • Dock unread badge — the unread-notification count now shows on the Dock icon, and
    keeps updating even while the app is in the background. (#32)

Terminal

  • Smarter ⌘-click on file paths — paths with a trailing . or a file:line[:col]
    suffix (compiler / Rails-style) now resolve, and a :line suffix seeks to that line
    in VS Code, Zed, or Xcode. (#34)

Install: download workroom-macos-app_2.0.0-beta.5.dmg below, or let an existing install
auto-update via Sparkle. CLI binaries for macOS, Linux, and Windows are attached too.

Full changelog: v2.0.0-beta.4...v2.0.0-beta.5

v2.0.0-beta.4

08 Jun 13:36

Choose a tag to compare

v2.0.0-beta.4 Pre-release
Pre-release

workroom 2.0 beta 4 — split terminal panes

This beta brings split terminal panes to the macOS app, plus a clearer picture of
what each terminal is doing while it runs.

⚠️ This is a beta — expect rough edges.

macOS app

  • Split terminal panes — split any terminal into multiple panes, move between them
    with the keyboard, and split or open terminals straight from a right-click menu
  • Live activity at a glance — terminal progress now animates in the sidebar and tab
    strip, driven by the shell's OSC 9;4 progress reports rather than the command title
  • Setup overlay — new workrooms block the terminal behind a progress overlay until
    your setup script finishes, then open ready to use
  • Confirm before closing a terminal — optional guard so you don't lose a running
    session by accident

Fixes

  • Sidebar expand/collapse now commits on click instead of on mouse-move
  • The busy spinner no longer sticks on for deep-cwd terminals
  • App build targets always run xcodegen

Under the hood

  • RootView and WorkroomTerminalsView split into focused view files
  • Split-pane UI tests run on injected fixtures, with a11y/animation polish; headless CI
    teardown crash fixed; swift-format lint cleaned up

v2.0.0-beta.3

07 Jun 15:38

Choose a tag to compare

v2.0.0-beta.3 Pre-release
Pre-release

workroom 2.0 beta 3 — a global hotkey and a more focused app

This beta makes the macOS app feel like an always-available companion: summon or dismiss it
from anywhere with a global ⌘§, a tighter single-window model, and a guard against quitting
your terminals by accident. Plus a batch of terminal, notification, and sidebar refinements —
and crash reporting so beta bugs actually reach us.

⚠️ Still a beta — expect rough edges.

App & windows

  • Global ⌘§ hotkey to show/hide workroom from anywhere (toggle it off in Settings)
  • Single-window model — dropped macOS window tabbing and File ▸ New Window
  • Confirm before quitting (default on), with a "Don't ask me again" option in the dialog
  • Sidebar tree state — collapsed projects and selection — now persists across launches

Terminals

  • The running command now shows on each terminal tab
  • Drag files and images into a terminal to insert their path
  • The tab close button is always visible
  • "Copy on Select" is now toggleable from the Edit menu

Notifications

  • A terminal's notifications are marked read once it gets focused
  • Terminal notifications are now ephemeral and minimal, with a tidier empty state

Editor integration

  • App icons now appear in the "Open in…" button and menu

Under the hood

  • Crash & error monitoring via Sentry (no PII) so beta issues get triaged
  • Preferences moved to a type-safe Defaults store

v2.0.0-beta.2

06 Jun 11:07

Choose a tag to compare

v2.0.0-beta.2 Pre-release
Pre-release

workroom 2.0 beta 2 — a new terminal engine

This beta replaces the embedded terminal (previously SwiftTerm) with libghostty, the
terminal core behind Ghostty, for faster and more faithful emulation.
It also lands the first automated UI tests for the macOS app.

⚠️ Still a beta — expect rough edges.

Terminal

  • Embedded terminals now run on libghostty instead of SwiftTerm
  • Fixed keyboard input on the new engine — arrow keys and backspace
  • Added an overlay scrollbar

Testing & CI

  • New XCUITest target with a starter UI-workflow suite
  • Unit tests for the terminal key-text filter and scrollbar geometry
  • The Sparkle appcast feed release is now correctly marked a pre-release when first created

v2.0.0-beta.1

05 Jun 09:45

Choose a tag to compare

v2.0.0-beta.1 Pre-release
Pre-release

workroom 2.0 — now with a native macOS app

The headline of 2.0 is a native macOS app (macOS 14+): a SwiftUI interface with a
project → workroom sidebar and embedded terminals. The CLI ships bundled, so app users
don't need a separate install — and it stays fully standalone for terminal-first use on
macOS, Linux, and Windows.

⚠️ This is a beta — expect rough edges.

macOS app

  • Project → workroom tree sidebar, with an always-available project root
  • Embedded terminals: multiple tabs per workroom, drag-to-reorder, copy-on-select,
    ⌘-click to open file paths, and activity notifications
  • "Open in…" menu that remembers your last editor; offer to open new workrooms in $EDITOR
  • Streamed setup/teardown script output in a log panel
  • Settings window, light/dark/system theme, and Sparkle auto-updates
  • "Install workroom Command in PATH" helper, plus a new app icon

CLI

  • New setup/teardown script env vars: WORKROOM_PATH and WORKROOM_ROOT_PATH
  • Machine-readable --json API that powers the app

Build & CI

  • GitHub Actions CI; runs macOS app tests/lint and ships a notarized DMG
  • golangci-lint and swift-format wired in
  • Unified, namespaced root Makefile

Appcast

05 Jun 09:49

Choose a tag to compare

Appcast Pre-release
Pre-release

Sparkle update feed for the Workroom macOS app. Do not delete.

v1.3.0

10 Feb 09:50

Choose a tag to compare

Changelog

  • 2fba0db feat: Add cross-platform install scripts and release automation
  • 72f30bc feat: Add self-update command for in-place binary updates
  • 16b8191 feat: Rewrite workroom CLI from Ruby to Go

v1.2.0

09 Feb 20:07

Choose a tag to compare

What's Changed

  • feat: Pass WORKROOM_NAME and WORKROOM_PARENT_DIR to user scripts

v1.1.0

09 Feb 20:07

Choose a tag to compare

What's Changed

  • fix: Run setup/teardown from parent, within workroom. Refactor config access and project finding logic