Skip to content

Releases: serkanyersen/dotstate

v0.3.1

17 Feb 06:09

Choose a tag to compare

Full Changelog: v0.3.0...v0.3.1

  • Manage Files: Add visual differentiation for custom files and ability to permanently remove inactive custom entries from the file list (closes #43)
  • Docs: Add profile workflow documentation to README and website (closes #42)

v0.3.0 New themes and Mouse Support

06 Feb 08:00

Choose a tag to compare

Full Changelog: v0.2.25...v0.3.0

Added

  • Mouse Support: Comprehensive mouse interactions across all screens — click to select, focus panes, scroll lists/previews, and interact with popup dialogs (Profile Create, Package Add/Edit, Package Import)
  • Themes: Six new themes — Gruvbox Dark/Light, Catppuccin Mocha/Latte, and Tokyo Night Dark/Light

Fixed

  • Sync Screen: Focus-based pane switching (Tab key) and mouse-targeted scrolling between file list and diff preview
  • Scrolling: Preview panes and dialogs now clamp scroll offset to prevent infinite scrolling past content

Changed

  • Settings: Renamed "Embed Credentials in URL" to "Token in Remote URL" with clearer description; hidden in local repo mode
  • Themes: Simplified theme cycling logic
tokyonight-light tokyonight-dark cattppuccin-latte cattppuccin-mocha gruvbox-light gruvbox-dark

v0.2.25

05 Feb 07:03

Choose a tag to compare

Full Changelog: v0.2.24...v0.2.25

Fixed

  • Git SSH: Use system git for SSH remote operations (fetch, push, pull, clone) to fix compatibility with 1Password SSH Agent, YubiKey Agent, Secretive, and other non-standard SSH agent implementations. HTTPS operations continue to use git2 as before. Resolves #41

v0.2.24

05 Feb 06:13

Choose a tag to compare

Full Changelog: v0.2.23...v0.2.24

Added

  • Dialogs: Scrollable dialogs with keyboard navigation (↑↓/jk, PageUp/PageDown, Home) for viewing long content

Fixed

  • Git Sync: Improved recovery from failed sync operations - commit is automatically undone on push failure to preserve staged changes
  • Git Sync: Better error messages for push rejections - now captures and displays full git hook output

v0.2.23

03 Feb 08:00

Choose a tag to compare

Full Changelog: v0.2.22...v0.2.23

Added

  • Settings: New "Embed Credentials in URL" toggle - allows disabling credential embedding in git remote URLs for environments that reject URLs with embedded tokens

Changed

  • Profile Selection: Converted from full-screen to popup dialog during onboarding with inline profile creation and preview panel

Fixed

  • Profile Selection: Fixed text input where global keybindings interfered with typing
  • Git Sync: Fixed silent push failures - server-side rejections are now properly captured and reported

v0.2.22 Stability improvements

02 Feb 08:25

Choose a tag to compare

Full Changelog: v0.2.20...v0.2.22

Added

  • File Versioning: Schema versioning for all config/data files with automatic migration on load. Files without a version field are treated as v0 and auto-migrated with backup safety.
  • Atomic Saves: All config/data file saves now use atomic write (temp file + rename) to prevent corruption on crash.

Fixed

  • Package Installation: Fixed Homebrew on custom installations, CLI output streaming, TUI responsiveness during install, and auto-scroll behavior
  • Storage Setup: Fixed GitHub setup progress popup being clipped
  • Packages CLI: Fixed packages list and packages check not populating cache
  • Main Menu: Fixed "requires setup" check using proper is_repo_configured()

v0.2.21

31 Jan 01:07

Choose a tag to compare

Full Changelog: v0.2.20...v0.2.21

Bug fix

v0.2.20

29 Jan 22:25

Choose a tag to compare

New Contributors

Full Changelog: v0.2.19...v0.2.20

Added

  • feat: shell completions by @tangowithfoxtrot in #40
  • Code Quality: Comprehensive clippy lint configuration with pedantic lints enabled

Changed

  • Main Menu: Selection now persists when navigating back from sub-screens

Fixed

  • Dotfile Selection: Added confirmation dialog when removing common files from sync
  • Stability: Theme system recovers gracefully from RwLock poison instead of panicking
  • Stability: Fixed potential race conditions in symlink metadata checks

v0.2.19

27 Jan 09:48

Choose a tag to compare

Full Changelog: v0.2.18...v0.2.19

Added

  • CLI: dotstate packages subcommand for managing packages from command line
    • packages list - List packages with installation status
    • packages add - Add packages interactively or via flags
    • packages remove - Remove packages by name or selection
    • packages check - Check installation status
    • packages install - Install all missing packages
    • All commands support --profile flag for non-active profiles
  • CLI: Modular CLI architecture with src/cli/ folder structure

Changed

  • App Architecture: Major refactor of app.rs - reduced from ~2400 to ~1400 lines (40% reduction)
  • Screens: Screens now handle their own actions via process_action() methods with type-safe action enums

v0.2.18

25 Jan 23:59

Choose a tag to compare

Full Changelog: v0.2.17...v0.2.18

Added

  • Storage Setup: New unified storage setup screen with async GitHub flow, visual progress tracking, and edit token functionality in reconfiguration mode
Screenshot 2026-01-25 at 3 52 53 PM
  • Fine Grained Tokens: Full support for github fine grained tokens, now you can limit the github token to only work with the storage repo. needs these configurations.
Screenshot 2026-01-24 at 8 57 28 PM

Fixed

  • Deactivate: Fixed crash when deactivating directories containing symlinks; restore errors are now warnings instead of fatal
  • Storage Setup: Improved error recovery - config resets to unconfigured state on failure, empty repos get default profile created
  • Storage Setup: Fixed reconfiguration mode - Enter no longer triggers re-setup, disabled fields block input, token updates work with scoped tokens
  • Storage Setup: Fixed global keybindings (q, t) being triggered while typing in text fields
  • Storage Setup: Added support for fine-grained tokens (github_pat_) with detailed permission help text
  • Sync: Fixed sync not detecting modified files (only untracked files were being detected)
  • Git: Improved push error messages with token permission guidance for classic and fine-grained tokens
  • Documentation: Updated README with detailed GitHub token setup guide

Removed

  • GitHub Auth Screen: Removed legacy screen, replaced by new StorageSetupScreen