// changelog

changelog

0.5.3

custom branch names

you can now specify a custom branch name when creating a workspace instead of being locked into the auto-generated one. useful when you want your branch to match a ticket id, naming convention, or an existing upstream name.

workspace setup script tracking

atlas now tracks whether a workspace’s setup script ran successfully, so you can tell at a glance which workspaces are fully provisioned and which hit an error during setup. failed setups are surfaced instead of silently leaving the workspace in a half-configured state.

claude skills detection

atlas now detects claude skills from installed plugins and marketplaces, so skills provided by your plugins show up alongside built-in ones without extra configuration.

atlas-managed repositories

repositories now carry an atlas_managed flag. workspace creation uses atlas-managed clones when available, keeping worktree layout and cleanup consistent across repos that atlas cloned itself versus ones you pointed it at.

0.5.1

merged & closed PR handling

workspaces now properly track PRs through their full lifecycle instead of losing the association after merge or close.

  • merged state — PRs show a purple “merged” badge and banner when merged, preserving the full PR context
  • closed PR banner — closed (unmerged) PRs display a banner with relevant status
  • branch cleanup for primary envs — primary environments show a “switch to {base} & pull” action instead of archive when a tracked PR is merged or closed, automatically fetching, checking out the base branch, pulling, and clearing the cached PR
  • no wasted polling — PRs in terminal state (merged/closed) stop polling GitHub for updates

create workspace modal redesign

the create workspace modal has been simplified and restructured to reduce friction.

  • branch/PR first — the branch and PR selector are now front and center; mode selection moved to a collapsible “more options” section
  • locked branch on PR select — selecting a PR locks the branch picker to the PR’s branch with a hint explaining why
  • slug input — workspace names auto-lowercase, convert spaces to hyphens, and cap at 50 characters
  • no accidental dismissal — clicking the backdrop no longer closes the modal

terminal light mode improvements

terminal output in light mode themes is now significantly more readable, especially for claude diffs and code snippets. ANSI color mapping has been updated to provide better contrast against light backgrounds.

bug fixes

  • duplicate sidebar entries — fixed primary environment repos appearing twice in the sidebar and leaking into the workspace picker

0.5.0

review dashboard

a new cross-repo PR overview at /reviews that shows pull requests needing your attention across all your repositories. powered by the GitHub Search API with SQLite caching.

  • three categories — review requested, your PRs, and assigned — each with counts and a tab bar
  • search & filtering — search by title, author, repo, PR number, or label with match highlighting
  • org/repo scope — configure which orgs and repos to include from the scope editor
  • workspace matching — clicking a PR navigates to its workspace or opens the creation modal with the PR pre-selected
  • keyboard shortcutCmd+Shift+R to jump to the review dashboard from anywhere

github notifications

a bell icon in the sidebar opens a popover showing your GitHub notifications across all repos, scoped by the same org/repo filters as the review dashboard.

  • unread toggle — filter to show only unread notifications
  • sort options — newest, oldest, unread first, or by repo
  • mark as read / dismiss — mark individual or all read notifications, with SQLite-backed persistence
  • 60s polling — notifications refresh automatically in the background
  • keyboard shortcutCmd+Shift+N to toggle the notification panel

side tab bar

workspace tabs can now live on the left side of the screen instead of the top. choose your preferred layout in settings > appearance.

  • vertical tabs — full tab names with resizable width (default 300px)
  • collapsed mode — icon-only mode for maximum workspace area
  • all tab features — drag reorder, context menu, tinting, and rename work the same as top tabs

primary environments

add your existing repo checkout to atlas as a “primary environment” — no worktree needed. primary environments let you manage your main checkout alongside worktree-based workspaces. see the scripts docs for details on how scripts behave differently for primary environments.

  • add existing checkout — point atlas at any local git repo and it becomes a managed workspace
  • one per repo — enforced so there’s no ambiguity about which checkout is “main”
  • branch picker — switch branches directly from the workspace header
  • repo settings in overview — server URL template, Jira project key, and remote are visible in the overview tab
  • no teardown risk — setup and teardown scripts are skipped; only run and preflight apply
  • remove instead of archive — primary environments are removed cleanly, not archived

boot screen

atlas now shows a branded boot screen with a progress bar while database migrations run, instead of flashing a blank window.

pr checks section

the check runs display has been rebuilt as a shared component used across PR review and the review dashboard.

  • status icons — clear visual indicators for success, failure, pending, in progress, cancelled, and skipped checks
  • failure details — expand failed checks to see error output
  • send to agent — failed check logs can be sent directly to the claude agent composer for debugging
  • auto-refresh — checks poll for updates while in progress

file tree improvements

  • devicons — 30+ language and file type icons (ruby, rust, go, python, typescript, svelte, docker, terraform, and more)
  • search & filter — search bar in the sidebar file tree to quickly find files by name

pr card improvements

PR cards across the review dashboard and workspace overview now show consistent, explicit action buttons (open workspace, create workspace, open on github) instead of a single ambiguous click.

jira search improvements

  • free-text search — search for any ticket by name, description, or key directly from the ticket picker instead of scrolling through a pre-loaded list
  • unassigned filter — new “unassigned” filter alongside “mine” and “team” makes it easy to find and grab unassigned tickets
  • ticket key lookup — typing a ticket key like PROJ-123 does a direct lookup, so you can find any ticket instantly even if it’s not in your current project

ci/cd & release infrastructure

  • github actions workflows — build, CI, and release workflows for automated builds and releases
  • eslint & svelte-check — added frontend linting and type checking to the CI pipeline

bug fixes

  • jira regex panic — fixed a crash caused by unsupported look-around assertions in the regex crate
  • jira loading spinner — fixed infinite loading spinner on the Jira and Figma overview panels caused by non-reactive state tracking
  • jira token expiry — adjusted token refresh buffer to 5 minutes and prevented the spinner from getting stuck on auth errors
  • preflight modal — fixed the preflight button not opening the modal when scripts weren’t passed to the composable
  • ctrl+c in dev — fixed ctrl+c not properly stopping the dev build
  • beta release uploads — beta releases no longer overwrite the stable latest/ DMG
  • bump script safety — the version bump script now rejects flag-like arguments (e.g. --beta)

privacy policy

added a privacy policy page to the website.

0.4.0

???

there's an easter egg hidden in this release. good luck finding it.

share workspaces with a single URL. the atlas:// custom URL scheme lets you open or create workspaces from a link — paste it in slack, a jira ticket, or a browser and atlas handles the rest.

  • atlas:// url scheme — registered system-wide, opens atlas and navigates to the target workspace
  • share popover — click the share button to see copyable deep links for both the branch and the PR (if one exists)
  • cold launch handling — deep links work even when atlas isn’t running yet
  • setup script support — workspaces created via deep link run setup scripts automatically

clickable file paths in terminal

file paths printed by compilers, test runners, and linters are now clickable links in the terminal.

  • click to open — paths like src/foo.ts:29 or bar.ts:4-10 open directly in a file tab at the right line
  • hover tooltip — shows “open path/to/file.ts:10” on hover so you know what will open
  • smart link detection — URLs open in your browser, file paths open in atlas, atlas:// links navigate workspaces — all from one unified link handler

shiki-powered editor highlighting

the codemirror editor now uses the same shiki highlighter as the file viewer and diff viewer, so syntax colors are consistent everywhere.

new themes

  • monokai — the classic dark theme
  • night owl — dark and light variants
  • synthwave ‘84 — retro neon dark theme
  • tokyo night storm — dark theme option

merge conflict resolution

atlas now has a built-in conflict resolution editor. when a rebase or merge hits conflicts, you can resolve them without leaving the app.

  • conflict banner — shows when conflicts are detected with continue, abort, and skip actions
  • inline editor — resolve conflicts directly in the diff viewer
  • rebase flow — continue/abort/skip navigate back to the overview when complete

pr & review improvements

  • rich PR picker — PR list now shows author avatars, timestamps, and a toggle to include draft PRs
  • branch picker — improved branch selection UX with a searchable picker component
  • image preview in diffs — image files now render a preview in the diff viewer
  • paginated PR list — repos with more than 50 open PRs now load all of them
  • accurate branch protection — uses github’s reviewDecision for correct merge status
  • check runs in PR details — PR checks now update properly

jira improvements

  • full ADF rendering — jira descriptions and comments now render tables, headings, lists, mentions, emoji, and inline cards via markdown
  • auto-link from branch — jira tickets are automatically linked when your branch name contains a ticket key (e.g. PROJ-123-fix-login)

claude memory sync

claude code’s project memory (.claude/memory/) now automatically carries between workspaces. atlas uses the central repo clone as a hub to accumulate and redistribute knowledge.

  • seed on create — new workspaces inherit all accumulated claude memories from previous workspaces
  • merge on archive — any new memories claude built during the session are preserved back to the central repo
  • additive merge — newer files win, new files are added, nothing is ever deleted — knowledge only accumulates

smarter port allocation

port assignment now reuses gaps left by archived workspaces instead of always climbing higher. if you archive workspace B (port 3200) between A (3100) and C (3300), the next workspace gets 3200 instead of 3400.

beta update channel

opt into early releases from settings. toggle between stable and beta channels in settings > about — beta users get new features sooner, and stable releases automatically promote to beta so you’re never left behind.

advanced settings

new settings tab with diagnostics and maintenance tools.

  • health diagnostics — check the status of git, github cli, and other dependencies
  • archived workspace purge — bulk delete archived workspaces to reclaim disk space
  • disk usage — see how much space your workspaces are using

workspace & ui improvements

  • cmd+[/] navigation — keyboard shortcuts to move between workspaces
  • reveal in finder — new button in the file viewer header
  • archive in background — archive modal now has a “run in background” option
  • wider sidebar — right sidebar max width increased from 500px to 800px
  • external file change detection — file viewer shows a refresh button when files change outside atlas
  • file header in diffs — full file path shown in review diff viewer with a copy button
  • full path in pending comments — pending comment summary now shows the complete file path

critical error page

atlas now catches fatal errors — unhandled exceptions, failed settings/repo loads, and unhandled promise rejections — and shows a dedicated crash page instead of silently breaking. the page displays the error message and a crash dump, with buttons to restart the app or copy the error details for a bug report.

bug fixes

  • outdated review threads — resolved threads now correctly position on outdated lines instead of disappearing
  • terminal process exit — terminal now shows “[process exited]” instead of silently dying on write failures
  • terminal WebGL recovery — better context loss recovery and fit timing
  • gfm markdown — explicitly enabled github-flavored markdown for proper rendering of tables, task lists, etc.
  • terminal hyperlinks — URLs printed in the terminal now open in your browser on click

0.3.0

early preview — file reviews and inline commenting are experimental. expect rough edges, and please report bugs!

create workspace from pull request

open a workspace directly from a PR instead of hunting for branch names.

  • branch / pull request toggle in the workspace creation modal — switch source with one click
  • PR picker — searchable dropdown of open PRs showing number, title, author, and draft status
  • auto-fill — selecting a PR sets the branch and generates a workspace name (capped at 50 chars)
  • cached PR list — cached per-repo in sqlite, shown instantly on modal open while fresh data loads in background
  • auto-navigate — workspaces created from a PR open straight to the review tab
  • branch conflict handling — clear error message when a branch is already checked out in another workspace, instead of cryptic “git worktree failed”

pr file reviews (experimental)

a full code review experience with per-file diffs and inline commenting, inside the review tab.

  • files changed sub-tab — new tab alongside conversation, shows file count from PR
  • file browser — tree view (default) with compact folder paths (like VS Code), or flat view. search/filter with highlighted matches, keyboard navigation
  • per-file diff viewer — powered by @pierre/diffs with full syntax highlighting and atlas theme integration
  • inline thread annotations — existing review threads render directly on the diff at the correct lines, using real svelte components with full UX (markdown, avatars, timestamps, reactions, reply, resolve/unresolve, collapse)
  • gutter commenting — click the ”+” button on any line (or select a range) to start a new comment
  • immediate or batched comments — post a single comment right away, or batch multiple into a pending review
  • pending comment management — preview, edit (with markdown editor), and remove pending comments before submitting
  • submit review dropdown — moved from sticky bottom panel to a compact button in the header. opens a dropdown with review summary editor, pending comment list, and approve/request changes/comment buttons
  • submitting state — spinner with “submitting review…” replaces buttons during submission
  • binary file detection — graceful fallback for files that can’t be diffed
  • thread status badges — file list shows open (yellow) and resolved (green) thread counts per file and folder
  • resolved threads start collapsed — less noise, expand to read if needed

github suggestions

  • suggestion toolbar button — new button in the markdown editor inserts a suggestion code fence
  • suggestion rendering — suggestion blocks render as styled “suggested change” cards with green diff-style lines, matching github’s native look

syntax-highlighted code blocks

  • shared shiki highlighter — lazy-loaded singleton, 60+ languages, CSS variables theme that matches your atlas theme
  • code blocks everywhere — PR descriptions, comments, review threads, and inline diff annotations now render with full syntax highlighting

quick fixes

  • pr author in review header — author login now shown next to branch info
  • sort toggle on commits — newest/oldest first toggle on the commits section
  • sort toggle on review comments — same toggle on the review comments section
  • pending comments persist across restarts — saved to localStorage per workspace, restored on init

0.2.1

bug fixes

  • merge button respects review requirements — merge button no longer appears when reviews are required or changes have been requested. shows a descriptive disabled state instead (e.g. “changes requested — address feedback to merge”)
  • deduplicate pr check runs — checks now show only the latest run per check name instead of accumulating stale/past runs from re-runs. fixes repos showing ~18 checks when only ~8 are current
  • refresh spinner indicators — all individual refresh buttons (checks, reviewers, comments, commits, conversation) now show a spinning indicator while fetching, so you know it fired even when the response is fast

improvements

  • regenerated macOS icon — rebuilt icon.icns via iconutil with a proper iconset containing all required sizes for better rendering on older macOS versions (pre-macOS 26)

0.2.0

review tab

a full github code review experience, right inside atlas. open it from the “open review” link on any workspace with a pull request.

  • pr header — title, state badge, branch info, additions/deletions, file count
  • pr description — rendered markdown with expand/collapse for long descriptions
  • commits list — collapsible commit history with SHAs linking to github
  • checks & ci — status checks with pass/fail/pending counts
  • reviewers — see review states at a glance, add reviewers (users + org teams), re-request reviews on hover
  • review threads — inline diff snippets showing the exact lines commented on, with file:line links to jump to the diff viewer
  • threaded comments — nested replies, collapsible threads, “outdated” badge for comments on changed files
  • conversation comments — top-level pr discussion with compose box
  • submit review — approve, request changes, or comment with a summary body (self-review guard for your own PRs)

merge & pr management

  • merge pull request — squash, merge commit, or rebase with a dropdown. only shows methods your repo allows
  • merge commit preview — editable title and body, pre-filled per strategy (squash = bullet list of commits, merge = PR title)
  • delete branch option with repo default respected
  • convert to draft / mark as ready toggle
  • labels — view, add from repo label picker (with color dots), remove. cached with 6-hour TTL
  • assignees — view, add from collaborator search, remove

reactions

  • emoji reactions on review comments (github’s 8 supported reactions)
  • click existing reaction to toggle yours on/off
  • reaction picker with all 8 options
  • reactions loaded via REST to keep graphql costs low

markdown everywhere

  • extracted shared markdown renderer used across pr description, comments, review threads, and file viewer
  • @mentions — bold, accent-colored, linked to github profiles. autocomplete from collaborators + org teams when typing @
  • #issue references — bold, linked to github issues/PRs (e.g. #42 links to the repo)
  • lightbox — click any image in markdown to view full-size with dark backdrop, esc to close
  • inline style stripping — pasted rich-text html won’t override theme colors
  • links open in browser — all markdown links open via system browser, not the webview
  • lightweight editor — formatting toolbar (bold, italic, code, link, list, heading, quote), keyboard shortcuts (cmd+b, cmd+i), and live preview toggle on all comment fields
  • auto-growing textareas — comment fields expand as you type, up to 300px

draft persistence

  • comment text auto-saved to localStorage on every keystroke
  • restored when you navigate away and come back
  • cleared after successful submit
  • 24-hour expiry, max 50 drafts, purged on app start
  • works on review submission, pr comments, and thread replies

pr caching & performance

  • pull_requests table — pr info cached in sqlite for instant display on workspace load
  • review_cache table — review threads, comments, commits cached per workspace
  • github_users table — login-to-avatar mapping cached permanently, populated as users are encountered
  • repo_labels table — repo labels cached with 6-hour TTL
  • workspace switches with fresh cache = zero github api calls
  • pr creation immediately caches to db
  • pr watch — after skill-based pr creation, polls every 10s for up to 5 minutes with “watching for pr…” indicator

github api optimization

  • migrated nearly all api calls from graphql to rest (graphql was 51pts per review thread query)
  • only 3 graphql calls remain: review threads (1pt after removing reactions nesting), resolve/unresolve mutations
  • lightweight pr refresh — single rest call for label/assignee/draft changes instead of full 4-call fetch
  • gitchanges sidebar reads pr from db cache instead of hitting github every 5 seconds
  • polling reduced: pr info every 60s, review data every 3 minutes
  • total api cost: ~120 points/hr/workspace (down from ~3,200)

rate limit monitoring

  • sidebar indicator — warning at <20% remaining, error when exhausted. shows which limit (graphql, rest, or both)
  • settings page — progress bars for graphql and rest limits with remaining counts and reset countdown
  • review tab banner — “rate limited” with retry button and auto-retry on reset
  • graphql rate limit check uses free rest endpoint (doesn’t consume quota)
  • graphql review threads fall back to rest when rate limited (loses resolved/outdated state but keeps comments visible)

0.1.6

workspace port

  • atlas_port is now visible in the workspace header — click to copy
  • reassign the port from the new settings section at the bottom of the overview tab
  • configurable starting port and increment in global settings (defaults: 50000, +10)

keyboard shortcuts

  • added shortcuts for open in editor (⌘⇧E) and open in external terminal (⌘⇧T)
  • workspace header tooltips now show the assigned shortcut
  • shortcuts are visible in the command palette and customizable in settings

git improvements

  • push button now correctly shows commits not yet pushed to remote, instead of total commits ahead of base branch
  • added force push (—force-with-lease) button when remote has diverged after rebase
  • stack rebase now automatically pushes —force-with-lease after each step so child branches can rebase properly

diff viewer

  • diff viewer now uses native Shiki themes matching your selected color theme (solarized, nord, dracula, catppuccin, tokyo night, etc.)
  • switching themes re-renders diffs immediately

jira

  • paste a jira URL into the ticket search and it will automatically extract the ticket key
  • added 30-minute in-memory cache for jira issues — navigating between overview and detail views is now instant
  • manual refresh bypasses cache and re-fetches fresh data

agent notifications

  • increased idle detection timeout from 10s to 30s to reduce false positives
  • idle detection now only triggers on actual prompt patterns, not any non-blank output
  • notification cooldown increased from 30s to 60s per agent

bug fixes

  • fixed setup tab disappearing after drag-and-drop tab reordering
  • fixed cmd+w closing agent tabs instead of terminal panel tabs when the panel is open
  • fixed server/preflight buttons sometimes not appearing after workspace promotion or page load
  • added tooltips to agent reorder buttons in settings
  • increased default window size to 1440x900 so onboarding content isn’t cut off on first launch

0.1.5

stacked workspaces

  • stack multiple workspaces together in a single view
  • quickly switch between stacked workspaces using tabs
  • organize related work side by side without losing context

figma integration

  • embed figma files directly in a workspace tab
  • multi-tab support for viewing multiple figma designs at once
  • reference designs while you code without leaving atlas

jira

  • link multiple jira tickets to a single workspace
  • better visibility into all associated issues for a given piece of work
  • added support for adding comments to jira tickets, and move statuses

0.1.0

atlas is a macOS app for managing git worktree-based workspaces — with integrated terminals, coding agents, and project tooling built in. this is our first public release.

workspaces

  • clone repos and create workspaces from branches with a single click
  • each workspace gets its own git worktree, isolated from the rest
  • create and archive workspaces from the sidebar
  • standard, quick, and browse (read-only) workspace modes
  • custom display names and workflow statuses for organizing active work
  • searchable branch picker for workspace creation
  • collapsible archived section to keep things tidy

terminals

  • fully integrated terminal emulator in every workspace
  • tab system with pinned tabs and colored labels
  • terminal sessions persist across app restarts
  • smooth switching between workspaces via terminal caching
  • proper ansi rendering and dark theme

coding agents

  • launch and manage claude code and codex sessions directly in a workspace
  • configurable agent list — add your own agents or reorder defaults
  • terminal notifications when an agent needs your attention
  • agent sessions restore on app restart

git & github

  • built-in git operations — stage, commit, push, pull, fetch, rebase
  • github integration for viewing commits and managing pull requests
  • create prs without leaving the app
  • pr status checks displayed inline
  • file tree with full repo browsing, dotfile visibility, and ignored file tinting
  • context menu for creating, renaming, and deleting files
  • file viewer with syntax highlighting, markdown preview, and image/pdf support

jira

  • jira integration using acli oauth tokens
  • browse and search your assigned issues
  • issue detail panels with full descriptions and comments
  • automatic token refresh

project setup

  • .atlas/ directory support for per-repo preflight, setup, run, and teardown scripts
  • auto-detection of scripts on workspace creation
  • ATLAS_ environment variables injected into terminal sessions (workspace name, path, port, mode, and more)

app experience

  • multi-step onboarding for first-time users
  • command palette (cmd+k) for quick actions and navigation
  • settings for appearance, agents, workflow statuses, shortcuts, and integrations
  • persistent window position and size across restarts
  • dark mode, light mode, and system theme with accent color picker
  • auto-updates built in

this is just the beginning — lots more improvements and features are planned. follow along in future changelogs.