Releases.

Semantic versioning. Releases land on GitHub first, then Homebrew and crates.io within a few hours. For the source of truth, see CHANGELOG.md.

v0.3.4
2026-03-30
current

Profile inheritance lands

Profiles can now extend a parent profile. Changes to the parent flow down to every child; children only override what's different. Cycle detection prevents loops, and parent profiles are locked while children depend on them. The manifest auto-migrates from v1 to v2.

Added

  • Profile inheritance with child-wins override semantics, multi-level chaining, cycle detection, and rename propagation
  • Manage Profiles create popup: Inherits From field with live parent selection
  • Profile details show resolved file counts with source annotations (own / inherited / common)
  • dotstate list groups files by source and prints the inheritance chain; dotstate activate resolves the full chain

Changed

  • Inherits From and Copy From are mutually exclusive — "live link to parent profile" vs "one-time file copy"
  • Docs: README, website, and CONTRIBUTING.md updated with inheritance documentation

Fixed

  • Atomic profile switching with rollback — if activation fails, the previous profile's symlinks are restored
  • Deduplicated symlink-manager paths, eliminating parallel code branches
  • NavigateWithMessage payloads now surface in a dialog instead of being dropped
  • Backup session timestamps use a filesystem-safe format
  • Backup/symlink tests made sandbox-safe with test-local paths
v0.3.0
2026-02-05

Mouse support and six new themes

Comprehensive mouse interactions across every screen — click to select, focus panes, scroll lists and previews, and interact with popup dialogs. Six new themes round out the palette.

Added

  • Mouse across all screens: Manage Files, Profiles, Packages, Sync, and popup dialogs
  • Six new themes: Gruvbox Dark/Light, Catppuccin Mocha/Latte, Tokyo Night Dark/Light

Fixed

  • Focus-based pane switching on the Sync screen (Tab key + mouse-targeted scrolling)
  • Preview panes and dialogs clamp scroll offset to prevent infinite scrolling past content

Changed

  • Settings: renamed "Embed Credentials in URL" to "Token in Remote URL"; hidden in local repo mode
  • Simplified theme cycling logic
v0.2.0
AUTUMN 2025

Package management

Track CLI tools per profile and install what's missing on a new machine with one command. Support for Homebrew, Cargo, npm, pip, and custom install scripts.

Added

  • dotstate packages subcommand family
  • Per-profile package lists, stored alongside profile files
  • Custom-script packages with user-defined install and check commands
  • Solarized themes

Changed

  • Configuration moved to ~/.config/dotstate/config.toml
  • Repository storage moved to ~/.local/share/dotstate
v0.1.0
SUMMER 2025

Initial release

The first public version. dotstate can manage dotfiles across machines using a git repository of your choice, with automatic backups and safe symlink management.

Added

  • TUI built with Ratatui — keyboard navigation
  • CLI for every TUI action, for automation
  • GitHub-managed and bring-your-own repository modes
  • Profile system — switch sets of dotfiles in a keystroke
  • Common files — shared across every profile
  • Automatic backups before every file operation
  • Three built-in themes: Light, Dark, Midnight
  • Three keymap presets: Standard, Vim, Emacs