Skip to content

Changelog

What's new in Bossanova.

v1.111.1

v1.111.1

Fixes

  • Fixed an issue where the terminal could crash with a “Cannot read properties of undefined” error after a session closed, particularly if output or events arrived in the brief window after the terminal shut down.
v1.111.0

v1.111.0

Usage tracking for agent runs

Boss now records how much work each agent run does, including token usage and cost, across all agent types. This data feeds into the cost diagnostics view, so you can see a clearer picture of where usage is coming from, broken down by run.

Previously archived runs were missing from that view. Boss now imports their data as well, so your cost history is complete.

Improvements

  • Cost diagnostics now cover the full run history, including runs that completed before this version.
v1.110.0

v1.110.0

Review is faster and more accurate

Boss’s code review engine received a significant overhaul in this release. Review rounds that can run in parallel now actually do, and the fix loop between rounds runs in batches instead of one finding at a time. Together these changes cut out large stretches of idle time during review sessions. The review phase ladder was also simplified: what previously stretched into ten sequential rounds, most of them redundant, now collapses into a tighter sequence.

Boss also now writes a durable ledger for each review session. This gives you a reliable record of what was reviewed, which rounds ran, and what each one found, so a skipped or completed round is no longer ambiguous from the outside.

Improvements

  • Boss’s review confidence score is now derived from the actual evidence collected by the review panel rather than inferred from the phase alone.
  • Review funding (how much effort is allocated to a review) is now derived from evidence rather than estimated up front.
  • Both Claude and Codex agents now resolve extensions from the same root, so extension behavior is consistent regardless of which agent is running.
  • Boss now records which effort level each agent ran at, so the setting is visible and auditable rather than silently applied.
  • When CI check results are evaluated, Boss now uses a single centralized path for reading verdicts, reducing the chance of inconsistent results across different views of the same check.
  • Boss can now tell the difference between different kinds of gate failures on the host, making it easier to understand why a gate did not pass.
  • Epic child tasks are now classified as live or not using a more conservative rule, so tasks are not incorrectly treated as complete when they have not actually moved.
  • Boss-plan now cleans up leftover scratch data from previous runs before starting a new one, preventing stale state from influencing the current run.
  • Dependency relationships in plans are now validated more carefully, reducing cases where a blocker edge was inferred incorrectly or oriented the wrong way.

Fixes

  • Fixed an issue where Boss’s preflight check would report a command as blocked when it was actually a valid, recognized command.
  • Fixed an issue where background gate runs would only report the status of the launcher process, hiding failures in the actual test work.
  • Fixed an issue where CI checks could report success even when no meaningful tests had run, due to affected-test selection and caching interactions.
  • Fixed an issue where adding a new test file would silently leave the test manifest stale, causing CI to fail in a way that looked unrelated to the change.
  • Fixed an issue where cached state in Boss could report stale values for session status, merge blocking, and review gate results after the underlying code changed.
  • Fixed an issue where the review triage step would return a clean verdict for findings that were malformed, misattributed, or could not be represented correctly.
  • Fixed an issue where epic plan steps could resume from the wrong position after a plan update, or expose child tasks before their preconditions were met.
  • Fixed an issue where prose-based gates over skill documentation would pass even if the documented behavior was not actually present in the code.
  • Fixed an issue where dispatching subagents in some flows could produce inconsistent or lost results due to a contract mismatch in how awaited agents were handled.
  • Fixed an issue where callbacks could be armed or cleaned up unsafely, leading to missed or duplicated transitions.
  • Fixed an issue where stale installed skills could run silently when the installed version had drifted from the source. Boss now blocks the run and reports which paths have drifted.
  • Fixed an issue where dependency updates could leave related modules with outdated checksums, causing builds to fail unexpectedly.
  • Fixed an issue where the review oscillation detector could produce identity collisions, causing distinct findings to be treated as duplicates.
v1.109.0

v1.109.0

Smarter code review: more accurate, faster, and better at catching late-breaking conflicts

Boss’s code review has been overhauled in several ways this release. The changes work together to make reviews more reliable and less likely to miss something important.

Reviews now apply suggested fixes directly. When Boss identifies a problem in your code, it now produces a concrete patch rather than a freeform description. That means suggestions are easier to apply and less ambiguous.

Each review round focuses only on what changed. After the first pass, Boss reviews the delta since the last round rather than re-reading everything from scratch. This keeps later rounds tighter and more relevant.

Boss now notices when other PRs land mid-review. If a related pull request merges into the base branch while Boss is reviewing your code, it will detect the conflict at each round boundary, attribute it to the right PR, and flag it. Previously, this kind of overlap could slip through to the final push unnoticed.

Fix and confirmation steps now run in parallel. Parts of the review that can proceed independently now do so at the same time, which reduces overall review time.

Improvements

  • Boss carries forward observations made during earlier review rounds, so context is not lost between passes. Duplicate notes from round to round are automatically removed.
  • Test result caching now keys off the exact state of the code being tested. A cached result is only reused when the code genuinely has not changed, which prevents stale cache hits from masking real issues.
v1.108.0

v1.108.0

Session recovery is more reliable

Bringing a session back to life after it goes offline could silently fail in a few common situations. Boss now handles these cases correctly:

  • Repos with a slow or long-running setup script can be resurrected again. Previously, the setup step could time out in a way that made the session unrecoverable. You now also see live progress while the restore is running.
  • Fixed an issue where a session tied to a worktree that had been deleted outside of Boss would refuse to resurrect. Boss now cleans up the stale registration before trying to recreate it.

Improvements

  • When Boss is running a code review and the wall-clock time limit is reached mid-fix, it now allows one final round to close any open required fix rather than stopping with the work in an unfinished state.
  • Auth tokens for active sessions are now saved to disk, so they survive a Boss restart. Before this, restarting could force sessions to re-authenticate from scratch.
  • Restarting Boss is less likely to leave sessions in a confused state after an authentication failure. The failure is now tracked consistently so recovery picks up where it left off rather than resetting.
  • Fixed an issue where a session that failed to switch context early in a recovery attempt could still consume part of the session’s retry budget, making future recoveries less likely to succeed.
  • Fixed an issue where a 401 error that Boss itself generated internally could be mistaken for an account authentication problem, sometimes triggering unnecessary account rotation.

Fixes

  • Fixed an issue where a session could be left with an open required fix after hitting a time limit, which could block merging.
  • Fixed an issue where health tracking or chat availability could be incorrectly affected by a recovery attempt that was refused before it even started.
v1.107.0

v1.107.0

Fixes

  • Fixed an issue where a slow or unresponsive agent was reported as “agent not found” during startup checks. Boss now distinguishes between an agent that is genuinely missing and one that simply took too long to respond, so the error message you see reflects what actually happened.
  • Fixed an issue where starting Boss after a package upgrade could load an outdated version of its background process instead of the newly installed one. Boss now stages the correct version before launching, so upgrades take effect as expected.
  • Fixed an issue where cancelling an operation in certain timing windows could produce a false error instead of a clean exit.
v1.106.0

v1.106.0

Refresh a single PR on demand

You can now ask Boss to re-sync a specific pull request without waiting for a full background refresh. This is useful when a PR’s status looks stale in the session list and you want it current right away. The operation is available from both the CLI and via MCP.

Features

  • boss new --detach reports session details immediately. When you start a detached session, Boss now prints the session ID and setup progress as they happen, so you do not have to wait until setup finishes to know where things stand.
  • boss ls --json includes session liveness data. The JSON output now carries when the agent was last active and which tracker is attached, making it easier to build scripts or tools that check session health.
  • Settings changes roll back on a failed save. If Boss cannot save a settings change, it now restores the previous value and keeps the settings panel open, so you do not lose track of what was changed or end up with a misleading on-screen state.
  • Boss now records when a chat turn starts, which lets it report that timing back to MCP callers.

Improvements

  • Credential injection failures are now visible. When Boss fails to inject account credentials into an agent, it surfaces the error in both the CLI and the UI instead of silently falling back to a default login. A health record is also written so you can see what went wrong.
  • Login state survives UI rebuilds. A re-login prompt triggered during a session would sometimes disappear when the interface refreshed internally. That state is now preserved across rebuilds.
  • Auth error overlays are less jumpy. The “authentication failed” status indicator is now debounced and corroborated before it appears, so transient auth probes no longer cause it to flicker on and off.
  • Stale Linear task claims are now forfeited automatically rather than left open, which prevents them from blocking future work.
  • When running sessions in parallel, Boss is better at detecting when a claimed task is actually being worked on by a still-active peer before deciding to take it over.
  • Epic planning is more resilient: helper state is validated more carefully, recovery from partial failures is cleaner, and plan attachments that have gone stale are replaced rather than left in place.
  • PR commit tagging handles edge cases more reliably, including long commit subjects and bootstrap commits.
  • Fixed an issue where optional labels in plan and build steps could cause incorrect behavior when the label was absent.
  • Boss-repair now groups review thread feedback and verifies gate summaries before acting on them.
  • After a rebase, Boss runs integrity checks before continuing, catching drift that could otherwise cause silent build failures.

Fixes

  • Fixed an issue where cancelling a session switch could be dropped or reordered, leaving the switch in a stuck state.
  • Fixed an issue where planning sessions were incorrectly counted toward deduplication checks meant for regular sessions.
  • Fixed an issue where the TUI back button stopped working when an error overlay was open.
  • Fixed an issue where duplicate improvement notes could appear across repeated runs of a notes sweep.
  • Fixed an issue where a failed settings save would leave the UI showing the new (unsaved) value with no indication that the save did not go through.
  • Fixed an issue where the release sweep could not locate the correct binary, causing it to exit early.
v1.105.0

v1.105.0

Login now tells you whether it actually worked

When you run boss login, Boss now confirms that your credentials were saved and accepted before reporting success. Previously, the login command could return without error even if something went wrong persisting the session. Now, if the credential save or the subsequent verification fails, you get a clear message instead of a silent partial success.

Related to this: if Boss gets into a state where it needs you to log in again (for example after a prolonged network issue), boss daemon doctor now surfaces that information directly, so you can see what is wrong and why without digging through logs.

Improvements

  • Session starts are more reliable. Boss retries the internal readiness check before giving up, so transient startup delays are less likely to produce a failed session.
  • Starting boss tail is faster. It no longer runs the skill installer on launch, which was unnecessary for a log-tailing command.
  • The boss plan dependency view now produces correct edges. Previously some prerequisite relationships were drawn in the wrong direction or missed entirely.
  • Stopping Boss cleanly is more reliable. Background archiving work now finishes or is properly cancelled before shutdown completes, reducing the chance of incomplete state on restart.
  • A transient network timeout during authentication renewal no longer permanently signs you out. Boss retries within a grace window before treating the failure as permanent.
  • Fetching shared repository data is more resilient. Temporary lock contention is now retried automatically rather than surfaced as an error.

Fixes

  • Fixed an issue where a symlinked upload directory could be incorrectly modified during cleanup. Boss now refuses to proceed in that case rather than partially removing entries.
  • Fixed an issue where certain shell patterns in scripts could fail or behave unexpectedly when run under the fish shell.
  • Fixed an issue where resuming an interrupted session could leave things in an inconsistent state if the agent failed to start. The operation is now rolled back cleanly on failure.
  • Fixed an issue where passive background account refreshes were incorrectly counted as user-initiated actions in usage telemetry.
  • Fixed an issue where a background goroutine could be orphaned if Boss shut down while archiving was in progress.
v1.104.0

v1.104.0

Chats interrupted by a restart now recover automatically

If Boss was restarted mid-conversation, the affected chat would silently stall, leaving you with no response and no clear way forward. Boss now detects those interrupted chats on startup and resumes them automatically, so a restart in the background is much less likely to leave work stranded.

Related to this, Boss no longer reports a conversation as still working when it quietly died partway through a background step. The status you see now reflects what actually happened.

Improvements

  • When Boss shuts down, it now finishes handling any in-flight requests before closing out its internal connections. This reduces the chance of a dropped response at shutdown time.
  • Detaching from a chat you have manually renamed no longer overwrites that name with an auto-generated title.
  • Skill configuration that involves lenses or drafters is now discovered and connected correctly. Previously, certain role bindings could be silently dropped during setup, meaning those capabilities were never used.
  • Boss is better at confirming its own tools are actually available before attempting to use them, and gives clearer information when they are not.
  • When a readiness check times out, Boss now includes more detail about what went wrong, making it easier to understand why a session did not start as expected.
  • The proof command now accepts --help and -h on every subcommand, and error messages name the accepted commands and flags rather than giving a generic failure.

Fixes

  • Fixed an issue where a chat shown as “Working” could be stuck in that state after the underlying task had already failed.
  • Fixed an issue where detaching from a chat could silently discard a name you had set manually.
  • Fixed an issue where certain skill extensions were dropped during startup, meaning configured tools were never loaded or dispatched.
  • Fixed an issue where Boss might attempt to use its own command-line tool without first confirming the tool was present and executable, leading to unclear errors.
  • Fixed an issue where an interrupted background step left the chat status permanently showing as active.
v1.103.0

v1.103.0

Idle session cleanup

Boss now automatically cleans up terminal sessions that have been sitting idle, freeing up resources without any manual intervention. This happens in the background by default, and you can adjust or disable the behavior in your configuration if you prefer to manage sessions yourself.

Improvements

  • When you attach to a session from the web terminal, Boss is better at resuming chats that had lost track of their terminal session, rather than leaving them stuck.
  • Boss is now smarter about distinguishing a session that was cleaned up intentionally versus one where something went wrong, so it makes better decisions about which chats need attention.

Fixes

  • Fixed an issue where adding a new account over SSH would swallow keystrokes, making it impossible to type your account label.
  • Fixed an issue where pasting an image while connected over plain SSH would show a raw file path instead of the image. Boss now shows a clear message explaining that image paste requires a direct connection, so you know what to do rather than seeing a confusing path string.
  • Fixed an issue where cleaning up an idle terminal session could incorrectly mark the associated chat as having exited, causing unnecessary errors or unexpected behavior.