Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Changelog

All notable changes to dotling are documented here.

Each release follows Keep a Changelog conventions: Added, Changed, Fixed, Removed.


v0.8.0

Changed

  • Vault export/import — single encrypted bundle formatvault export now writes a single encrypted bundle file instead of copying raw vault files. vault import decrypts the bundle with your password and verifies the identity before writing. Old directory-based bundles are no longer compatible; re-export from your source machine after upgrading.
  • Encryption/decryption refactoredencrypt and decrypt now operate in-place on tracked entries, consolidating file handling into shared helpers. Directory encryption uses the same pipeline as single-file encryption.
  • Fingerprint tracking for template entries — Templates now participate in the fingerprint store, enabling status and sync --dry-run to detect template drift without decrypting.

Removed

  • Backup system — Removed the dotling backup command, the --backup flag on sync, and all automatic backup-before-overwrite behavior.

Added

  • Comprehensive roundtrip tests for encryption and decryption, and a full template sync lifecycle test suite.

v0.7.0

Added

  • Shell completions (dotling completions <SHELL>) — Generate tab-completion scripts for bash, zsh, fish, elvish, and powershell.

v0.6.2

Changed

  • Module restructuring — Reorganized the codebase into a layered architecture with core/, config/, and sync/ top-level modules.

Fixed

  • Minor formatting cleanup in the sync command hook error message.

v0.6.1

Added

  • dotling edit <entry> — Open any tracked file in your editor without manually decrypting and re-encrypting.

Fixed

  • Hook retry logic — Hooks that fail are now retried up to 3 times before the sync is aborted.

v0.6.0

Added

  • Dotfile templating (dotling add --template, dotling vars) — Render machine-specific values into your dotfiles automatically.
  • Template syntax with {{ var.key }}, built-in variables, environment variables, pipe filters, and whitespace control.
  • dotling vars subcommand with seven actions: list, set, get, unset, check, import, export.
  • Bootstrap prompt for missing variables on new machines.

v0.5.0

Added

  • Lifecycle hooks — Run custom commands before/after sync, globally or per-entry, with trust verification.
  • Line-level three-way merge — Interactive merge option for copy-mode files during conflict resolution.
  • Sync fingerprints — Blake2s-256 content hash tracking for encrypted and copy-mode entries.
  • dotling remove improvements — Now restores tracked files to their original paths.

v0.4.0

Added

  • Bidirectional sync — Replaces the old deploy command. Syncs changes in both directions.
  • Recursive directory encryptionencrypt and decrypt now handle entire directories.

Changed

  • remove always restores the original file and deletes the repo source.

v0.3.1

Fixed

  • Vault architecture now correctly uses the master secret via key encapsulation.
  • Absolute paths and ~-relative paths are resolved correctly during config lookups.

v0.3.0

Changed

  • Rewrote core modules, replaced the printer with a UI layer, and simplified the CLI command structure.

v0.2.1

Added

  • Automatic pull-back — modified entries are pulled back during push.

v0.2.0

Added

  • Age-based encryption with key generation support.
  • Core dotfiles management CLI and project scaffolding.

v0.1.0

Initial release.