Skip to content

Releases

Helix 2026.11.0

Choose a tag to compare

@hex hex released this 08 Nov 14:11

What's Changed

Fixes

  • With several sessions the menu bar popover opened as a thin strip showing only the header. It now sizes to the session list, up to 430 pt, and scrolls past that. Thanks @eswyft (#1)

Full Changelog: v2026.8.0...v2026.11.0

Helix 2026.8.0

Choose a tag to compare

@hex hex released this 26 Aug 10:30

What's Changed

Features

  • Side-by-side diff viewer for conflicts — inspect exactly what differs between the two sides of a conflict, with line and word-level highlighting. Backed by a new Rust diff engine (imara-diff + dissimilar) exposed to Swift over a C ABI.
  • Rename a sync session — the edit sheet now takes a name. Mutagen has no rename command, so this goes through the same terminate-and-recreate path as any other config change, and the session stays selected afterward.
  • Duplicate session names are rejected — mutagen permits two sessions with the same name but resolves sessions by name, which leaves mutagen sync pause <name> ambiguous. Both create flows and the edit sheet now block a name another session already holds.
  • Labels — tag sessions with key=value pairs and filter the dashboard by them.
  • SSH connection testing — check an endpoint before creating a session, then browse the remote filesystem to pick a path.
  • Symlink awareness in conflicts — shows what each side of a symlink conflict points at, and offers replacing a symlink with a directory where that is the only resolution.

Fixes

  • Conflict resolution no longer races mutagen — resolving a conflict removed the losing file, which mutagen's sync cycle then propagated to the winning side before the copy could run. Resolution now pauses the session for the duration and resumes it on every exit path.
  • Conflicts stopped flickering after a flush — a poll landing mid-scan returns conflicts: null, which read as "resolved". Known conflicts now carry forward until the scan completes.
  • Universal binary restored — the Rust diff library built for the host architecture only, which would have shipped an Apple Silicon-only app to Intel users on auto-update. It now builds both slices.
  • Fixed an invisible diff button caused by an SF Symbol that does not exist on macOS 14.

Docs

  • README documents rename, unique names, labels, connection testing, the diff viewer, and symlink handling.

Full Changelog: v2026.2.2...v2026.8.0

Helix v2026.2.2

Choose a tag to compare

@hex hex released this 11 Feb 10:40

What's New

Bug Fixes

  • Fix conflict resolution for file-vs-directory mismatches -- When one side had a file and the other had a directory at the same path, "Keep This Side" would silently fail (scp/cp nests files inside directories instead of replacing them). Now removes the loser path before copying the winner.
  • Suppress false git mismatch warnings -- Git repos without a remote configured (e.g. local-only repos from the cs tool) no longer trigger mismatch warnings in the sidebar or detail view. Warnings only appear when the source repo has a remote, making the auto-fix actionable.

Improvements

  • Confirmation dialog before conflict resolution -- "Keep This Side" now shows a confirmation alert before permanently replacing the other side's version.

Internal

  • Added hasRemote field to GitRepoCheck for smarter mismatch detection
  • Added build/ to .gitignore
  • 149 tests passing

Helix 2026.2.1

Choose a tag to compare

@hex hex released this 10 Feb 15:48

What's New

Git Mismatch Detection & Auto-Fix

  • Detects when a git repo exists on one sync endpoint but not the other
  • "Fix Automatically" button initializes git on the missing side (reads remote URL and branch from the existing side)
  • Scans subdirectories for parent-directory sync roots
  • Shows manual fix commands as fallback when no remote is configured

Console Improvements

  • Dark theme inspired by Tokyo Night color palette
  • Color-coded log levels (info, commands, errors)
  • Full multi-line text selection via drag
  • Console panel visibility persists across app launches

UI Enhancements

  • Color-coded alpha (blue) and beta (purple) endpoint labels throughout the UI
  • Adjustable text size setting (System Default, Small, Medium, Large, Extra Large)
  • Refresh button in toolbar
  • Git checks re-run on manual refresh (Cmd+R)
  • Session data refreshes when selecting a sync session

Bug Fixes

  • Fix SSH tilde paths: expand ~ to $HOME for remote shell commands
  • Fix /bin/test path on macOS (was /usr/bin/test)
  • Use git branch --show-current instead of rev-parse HEAD (works on empty repos)
  • Log exit-code-1 as info instead of error in console
  • Rename MutagenKit to HelixKit

Helix 2026.2.0

Choose a tag to compare

@hex hex released this 09 Feb 19:27