Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

<!-- Add Unreleased entries here. -->

## [0.2.0] - 2026-07-06

### Added

- `create worktree --track [<remote>/]<branch>` fetches a remote branch and checks it out into a worktree that tracks it, deriving the local name from the remote branch when the branch argument is omitted. Every creation path now freshens its source first, fast-forwarding a matching local branch with `--ff-only` before branching, and the TUI rebinds `r` to a filterable remote-branch picker.
- The TUI shows an animated busy spinner during slow git operations — creating a worktree, cloning a project, and fetching remote branches — and ignores input other than quit until the operation finishes.
- `ch run <agent> -- <args>` forwards every token after `--` to the agent verbatim, appended after its configured arguments, so per-invocation flags reach the agent without editing config.

### Fixed

- The dashboard and `ch list worktree` keep a worktree's tmux session visible after its HEAD diverges from the branch it was created for, so a rebase or a branch checkout no longer makes a running agent disappear; the listing annotates a diverged worktree with its live state (`detached` or `on <branch>`).

## [0.1.0] - 2026-05-28

### Added
Expand All @@ -28,5 +40,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `ch run <agent>` replaces the current process with a registered agent in the foreground, inherits the shell environment, and skips the tmux and worktree lifecycle.
- Shell completion suggests project, branch, agent, and profile names dynamically.

[Unreleased]: https://github.com/xico42/codeherd/compare/v0.1.0...HEAD
[Unreleased]: https://github.com/xico42/codeherd/compare/v0.2.0...HEAD
[0.2.0]: https://github.com/xico42/codeherd/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/xico42/codeherd/releases/tag/v0.1.0
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.0
0.2.0
35 changes: 35 additions & 0 deletions docs/release-notes/0.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# What's new in codeherd v0.2.0

codeherd v0.2.0 brings remote branches into the worktree workflow and keeps the TUI responsive while git works. You can check out a teammate's pushed branch as a tracking worktree in one step, pass one-off arguments straight through to an agent, and watch a spinner instead of a frozen screen during a slow clone or fetch. A correlation fix keeps a running agent session visible after its worktree's HEAD diverges.

## Highlights

### Track remote branches into worktrees

`ch create worktree <project> --track [<remote>/]<branch>` fetches a remote branch and checks it out into a worktree whose local branch tracks it. The remote defaults to `origin`, and the local name is derived from the remote branch when you omit the branch argument. Every creation path now fetches its source first and fast-forwards a matching local branch before branching, so new worktrees start from current upstream state. In the dashboard, `r` opens a filterable remote-branch picker that hands off to the create-worktree form.

### Pass one-off arguments to an agent

`ch run claude -- --model opus` forwards everything after `--` to the agent verbatim, appended after its configured arguments. Picking a model for a single session no longer means editing config first.

### A steadier dashboard during slow git operations

Cloning a project, creating a worktree, and fetching remote branches now show a centered spinner and ignore stray keystrokes until they finish. A slow clone or fetch no longer looks like the dashboard has hung.

## Fixes

- A running agent no longer vanishes from the dashboard or `ch list worktree` when its worktree is mid-rebase or has a different branch checked out; the listing shows where HEAD actually points.

## Changes

### Added

- `create worktree --track [<remote>/]<branch>` fetches a remote branch and checks it out into a worktree that tracks it, deriving the local name from the remote branch when the branch argument is omitted. Every creation path now freshens its source first, fast-forwarding a matching local branch with `--ff-only` before branching, and the TUI rebinds `r` to a filterable remote-branch picker.
- The TUI shows an animated busy spinner during slow git operations — creating a worktree, cloning a project, and fetching remote branches — and ignores input other than quit until the operation finishes.
- `ch run <agent> -- <args>` forwards every token after `--` to the agent verbatim, appended after its configured arguments, so per-invocation flags reach the agent without editing config.

### Fixed

- The dashboard and `ch list worktree` keep a worktree's tmux session visible after its HEAD diverges from the branch it was created for, so a rebase or a branch checkout no longer makes a running agent disappear; the listing annotates a diverged worktree with its live state (`detached` or `on <branch>`).

**Full Changelog:** https://github.com/xico42/codeherd/compare/v0.1.0...v0.2.0
Loading