Release history
2.68.0 (2025-12-03)
Features
def70dbfeat: Add --new flag to add command7aa7a9bfeat: Add --re-encrypt flag to re-add commandcc89b3cfeat: Add edit-encrypted command
Fixes
1ceb35afix: Ensure that .chezmoi.sourceFile template var is always a relative path7c47d0bfix: Don't overwrite config file in init --dry-run40a630bfix: Fix panic in execute-template --override-data with no template data39d2d0dfix: Fix forget command on implicitly managed files70353d8fix: Ignore externals in destroy command
Full changelog: v2.67.1...v2.68.0
2.67.1 (2025-11-26)
Features
ac3f134feat: Switch to znkr.io/diff for builtin diffb15b5cffeat: Warn if adding non-UTF-8 template
Documentation
6e2329cdocs: Add note about symlinks on windowsc1640e9docs: Make Mermaid diagrams more consistent with textf83ac99docs: Add link to podcasta74ea5cdocs: Improve developer guide0d512c8docs: Add link to article
Full changelog: v2.67.0...v2.67.1
2.67.0 (2025-11-02)
Features
7ee1071feat: Make re-add add and remove entries in exact_ directories
Fixes
aa188e6fix: Make all template funcs available in diff and merge args72c7d0bfix: Ignore special-use domains when extracting hostname from /etc/hosts35b22c8fix: Fix fromIni | toIni template func round trip with quoted stringsd3a4034fix: Fix pattern in install script
Documentation
8591960docs: Add link to article3aff7acdocs: Improve description of --create flag9551654docs: Update VSCode merge tool instructions to handles spaces in paths16946dddocs: Add main-branch/chezroot to list of related softwareee2f0a2docs: Fix generate command example
Other
4785bf3Update documentation for --create option in add.md
Full changelog: v2.66.1...v2.67.0
2.66.1 (2025-10-19)
Fixes
6664195fix: Fix input prompt line wrapping
Documentation
Full changelog: v2.66.0...v2.66.1
2.66.0 (2025-10-07)
Features
13deaf6feat: Add --override-data-file flag9df5bfafeat: Add --override-data flage9546b6feat: Add --less-interactive to only prompt for conflicts271bb75feat: Add exec template function5947399feat: Group commands in help
Fixes
63f3947fix: Reverse command check for current user in docker feature0cfd139fix: Report an error when --follow and --recursive are combined for directoriesce44e94fix: Fix value of Windows version environment variablesfa4999dfix: Add destroy and ssh command descriptions to help
Documentation
Full changelog: v2.65.2...v2.66.0
2.65.2 (2025-09-23)
Fixes
dce67a2fix: Fix persistent state mode in edit-config-template command1ba7010fix: Make init --apply run apply pre and post hooks7beeeacfix: Revert to github.com/sergi/go-diff for diff
Documentation
e34964edocs: Fix rcm detailsd929eccdocs: Add link to article28666e1docs: Add silverrainz.me/chezetc to list of related software3b123d6docs: Update link to star chezmoi807d614docs: Add link to videof6dafa7docs: Add link to article
Full changelog: v2.65.1...v2.65.2
2.65.1 (2025-09-09)
Features
4db365bfeat: Switch to znkr.io/diff for builtin diff5b4c856feat: Merge podman command into docker command5111b02feat: Replace --package with --package-manager in docker, podman, and ssh commands
Documentation
04e4728docs: Add Fedora and RHEL install commands4158ce9docs: Add exclude example3ae27a5docs: Add links to articles
Full changelog: v2.65.0...v2.65.1
2.65.0 (2025-08-26)
Features
39e5ad1feat: Add docker commanded333e4feat: Add ssh command89c9832feat: Add podman commanda3ea777feat: Add install-init-shell.sh subcommand to generate command1f53a3cfeat: Extend the range of types accepted by quoteList template func218d412feat: Add support for rar archives07301f6feat: Add age-keygen command3b672f5feat: Apply --age-recipient and --age-recipient-file flags to all commands
Documentation updates
7addc90docs: Add link to articleeffce0edocs: Clarify scripts have to succeed to count as being run6c4c04ddocs: Use age-keygen command in docs3845ad5docs: Add links to articles
Full changelog: v2.64.0...v2.65.0
2.64.0 (2025-08-06)
Features
bbb451ffeat: Remove support for deprecated Hashicorp Vault Secrets97d33b2feat: Add hardlink test to doctorcmde6690bafeat: Add --age-recipients-file flag to add command79f3a38feat: Add --age-recipient flag to add commandf2ac4c8feat: Add automatic Bitwarden CLI unlockbccf542feat: Rename returnEmpty template function to abortEmpty1fc3df8feat: Add returnEmpty template function
Fixes
0994ed6fix: Always use diff.pager if configured3d64f50fix: Use external diff tool for apply and re-add previewsdbfced5fix: Fix bad skip instruction in test script issue4479
Documentation updates
9d0952fdocs: Add notes on edit watch and hardlink subtleties59f1985docs: Add Beyond Compare merge tool configuration3507963docs: Add lobste.rs links to social mediad3d3c12docs: Add link to article
Full changelog: v2.63.1...v2.64.0
2.63.1 (2025-07-22)
Fixes
01de201fix: Properly handle comments after filenames822acd4fix: Only auto add files in source directory, not in working tree
Documentation updates
02e8233docs: Add link to article8d9427fdocs: Removing leading dot on top level variable titlesf3b9a43docs: Add link to articlecd0ae1fdocs: Correct requirement for run_ in .chezmoiscriptse4caf4cdocs: Add link to video
Full changelog: v2.63.0...v2.63.1
2.63.0 (2025-07-09)
Features
c086592feat: Check for secrets in re-add command41c0a34feat: Add ensureLinePrefix template functionae2b6a8feat: AddgetRedirectedURLtemplate function
Fixes
06ac8e9fix: Detect libc from current executable in upgrade command0f814f6fix: Use filepath.Join() to join abspath
Documentation updates
65e7fd5docs: Refactor configuration variables reference page97ee8ccdocs: Fix attribute nameaa57d1ddocs: Recommend run_onchange_ scripts over run_once_ scripts625d484docs: Add links to articles
Full changelog: v2.62.7...v2.63.0
2.62.7 (2025-06-22)
Features
d5f2c70feat: Add pagerArgs and diff.pagerArgs configuration variables
Fixes
c727993fix: Preserve, don't delete, whitespace-only files in external archives5be414bfix: Remove dependency on git in packages
Documentation updates
6384ea3docs: Fix a typo in setup.md22ffc1ddocs: Add HCP Vault Secrets EOL Notice5cd53d6docs: Add info about file paths for archive-file externalsdae071cdocs: Fix incorrect parameter ref8b2a923docs: Add warnings to .chezmoiroot025ece0docs: Emphasize that scriptEnv also applies to hooks and commands3b1c181docs: Clarifymodify_documentation
Full changelog: v2.62.6...v2.62.7
2.62.6 (2025-06-06)
Documentation updates
Full changelog: v2.62.5...v2.62.6
2.62.5 (2025-05-23)
Features
2e78758feat: Remove X.509 fallback roots
Fixes
a6dabb7fix: Exit with failure when apply is cancelled10d2896fix: Fix ignoring exit code 1 from external diff commands for non-files
Documentation updates
Full changelog: v2.62.4...v2.62.5
2.62.4 (2025-05-11)
Fixes
b859b97fix: Make toStrings template function flatten arguments
Documentation updates
96b8b72docs: Add link to audio clip on how to pronounce chezmoib1b58e6docs: Fix chassis detection for newer MacBooks.d82472cdocs: Document that only dictionaries are mergedc1d2857docs: Add a note about private externals4e7052bdocs: Correct the usage of execute-template
Full changelog: v2.62.3...v2.62.4
2.62.3 (2025-05-06)
Features
3d24b7dfeat: Extend toStrings template function to handle more types660e394feat: Extend toString template function to handle more types
Fixes
ad574bcfix: Improve diff command output when removing files
Documentation updates
8abd38cdocs: Add link to video6d12eccdocs: Add hint for when to use toString with GitHub template functions
Full changelog: v2.62.2...v2.62.3
2.62.2 (2025-04-18)
Fixes
ee22eeffix: Set .chezmoi.sourceFile in execute-template command60392edfix: Fix truncated placeholder in choice input
Documentation updates
5ccae32docs: Add link to article
Full changelog: v2.62.1...v2.62.2
2.62.1 (2025-04-13)
Fixes
55bad30fix: Don't invoke pager with shell on Windows
Documentation updates
b46fe4edocs: Add link to articleeca43c0docs: Add link to articlec223d81docs: Add link to article
Full changelog: v2.62.0...v2.62.1
2.62.0 (2025-04-06)
Features
9213598feat: Add --file flag to execute-template commandd26f9ebfeat: Add encoding template directive
Documentation updates
3e3c0e8docs: Add link to articled70c988docs: Fix reference to KeePassXC linka248722docs: Add link to video58855acdocs: Update link to article
Full changelog: v2.61.0...v2.62.0
2.61.0 (2025-03-22)
Features
6f26e68feat: Remove 1Password SDK integrationfbdedfbfeat: Complete --progress and --working-tree option args6b013c7feat: Prevent inapplicable filename positional argumentsc56a27dfeat: Set LESS and LV env vars the same way that git does
Fixes
af5b03afix: Remove default submission when nothing is selected during promptMultichoicedc97563fix: Doc on declaratve package installation
Documentation updates
443e12ddocs: Add note on templates in edit command0a04e76docs: Update docs for using delta882696fdocs: Remove unnecessary--no-lockBrew option
Full changelog: v2.60.1...v2.61.0
2.60.1 (2025-03-07)
Features
a0e0b34feat: Include description in PowerShell completions
Fixes
bba46eafix: Fallback to statically-linked binary on old Linuxes
Documentation updates
5e789bcdocs: Add link to article5bbda10docs: Add link to article4705891docs: Add example of multiple age recipientsb1eda26docs: Add link to article
Full changelog: v2.60.0...v2.60.1
2.60.0 (2025-02-24)
Features
5c003aefeat: Add promptMultiChoice{,Once}7df7c58feat: Add -0 flag to ignored, managed, and unmanaged commands
Fixes
b8d9670fix: Fix handling of umask on macOS02010bafix: Fix persistent state mode when using cd command with an argument
Documentation updates
7a4021bdocs: Reference templates in password managers6492cd3docs: Add warnings about HCP Vault Secrets andhcpd1fbc45docs: Add a warning about nested --exact --recursive65e5b29docs: Add link to auto-commit docs to quick-start5416bb9docs: Extend special files and directories docs7586220docs: Fix a comma issue in architecture17130e1docs: Fix some typos30a2391docs: Update documentation linking8210b9edocs: Addfish-chezmoito related software
Full changelog: v2.59.1...v2.60.0
2.59.1 (2025-02-07)
Features
df7d3e5feat: Add outputList template function
Fixes
ca8fe5bfix: Fix crash when excluding types6325123fix: Run git auto commit hook before creating commit messagedfa0f80fix: Fix persistent state mode in chattr command
Documentation updates
e672a32docs: Update wording in .chezmoidata pages
Full changelog: v2.59.0...v2.59.1
2.59.0 (2025-01-28)
Features
500c677feat: Add git-auto-commit and git-auto-push hooksfcf2cedfeat: Add warnf template function8540b4efeat: Show original URL in HTTP progress bars8b42ee8feat: Support filenames containing # in ignore and remove files
Fixes
5cbbd6efix: Fix persistent state mode for commands that execute templates309d7fdfix: Warn, don't error, when generating git commit messages for unknown states
Documentation updates
0185fb8docs: Add link to article70546addocs: Update pruneEmptyDicts examplebd026f6docs: Add link to article8131e3fdocs: Add link to article
Full changelog: v2.58.0...v2.59.0
2.58.0 (2025-01-13)
Features
621379bfeat: Add --git-lfs option to init command82e5c67feat: Add builtin mode for gopass21ef186feat: Improve placeholders in password prompts48e23fffeat: Show all contributors in README.md
Fixes
940cc30fix: Fix doctor command when --config is specifiedfc8c20ffix: Correct nested groups for keepassxc builtin modedda2816fix: Suppress gitleaks logspam
Documentation updates
6c4431edocs: Tidy up formatting as suggested by markdownlint
Full changelog: v2.57.0...v2.58.0
2.57.0 (2024-12-30)
Features
de8efadfeat: Add chezmoi:template:format-indent template directive8f6fea6feat: Implement builtin mode for keepassxc0a0d607feat: Add script hooks that use configured interpreters
Documentation updates
d1cdcd2docs: Add links to articles
Full changelog: v2.56.0...v2.57.0
2.56.0 (2024-12-14)
Features
3558b71feat: Use textconv with external diff commands4cb1123feat: Add interactive config variablebddbf7ffeat: Add initial policy on LLM-generated contributionsdac078ffeat: Warn about future removal of insecure hashesfa4e390feat: Add .chezmoi.destDir template variable
Fixes
57ee74afix: Replace Expand-Archive with System.IO.Compression.ZipFilee038aadfix: More reliable arch detection in install.ps123de447fix: YAML parsing error by escaping|intitle
Documentation updates
058a3c0docs: Add link to article3739b0bdocs: Describe how to use tools installed with Flatpakab1b31cdocs: Add link to blog
Full changelog: v2.55.0...v2.56.0
2.55.0 (2024-12-02)
Features
5f5e106feat: Add multiple URL support for externals01eef45feat: Warn if the user is using the Helix editor with chezmoi edit4c4bfe9feat: Support file:// URLs in externals
Fixes
9ce3b0bfix: Fix error when choice variables are set in flags and config file
Documentation updates
Full changelog: v2.54.0...v2.55.0
2.54.0 (2024-11-09)
Features
6916263feat: Add --path-style=all option to managed command5bc19aefeat: Inform user when to use get.chezmoi.io/lb
Fixes
5d568f2fix: Perform post-run actions on error
Documentation updates
0837305docs: Add link to articleba12f36docs: Add github.com/andre-kotake/nvim-chezmoi to related software8bfb59fdocs: Remove extra 'o' from chezmoi external referencea3193a8docs: Move command line flags links closer to commands
Full changelog: v2.53.1...v2.54.0
2.53.1 (2024-10-28)
Fixes
c6f5787fix: Fix panic in commands that do not use persistent state
Documentation updates
f514a7edocs: Add note that .chezmoiexternal files can be ignored
Full changelog: v2.53.0...v2.53.1
2.53.0 (2024-10-26)
Features
9be622afeat: Extend squote template func to handle more typesfe2dba7feat: Extend quote and quoteList template funcs to handle more types35148c7feat: Add common --parent-dirs/-P flag
Fixes
75e1a52fix: Persist results of calls to GitHub APIa8dda78fix: Fix completion for 'archive --format'3fd20e9fix: Fix includeTemplate template func search path in init5b73a4dfix: Accept only supported values to 'unmanaged --path-style'264f34ffix: Fix incorrect config template change warnings8ba1988fix: Fix panic when --keep-going is set2d0fa36fix: Fix panic when running chattr on externalsd28823dfix: Use builtin age when encryption is unset
Documentation updates
554ff27docs: Replace common flags descriptions with snippetsb8610d4docs: Fill reference title page2a41aebdocs: Update "how scripts work" section6e9281ddocs: Update shell completions section947e88edocs: Improvements for command flags description56729cedocs: Automatically check that all flags are documented0fb4392docs: Split "Special file and directories"efb3a14docs: Split docs for commands into sectionse0c314fdocs: Split docs into sections for age, secret and state23777d0docs: Improve description for command arguments5b1dbb5docs: Add example for running script on macOS update4cae323docs: Add notes where to place 'encryption' setting
Full changelog: v2.52.4...v2.53.0
2.52.4 (2024-10-10)
Documentation updates
092dc65docs: Add link to blogpost
Full changelog: v2.52.3...v2.52.4
2.52.3 (2024-09-30)
Features
be16b73feat: Set GOMAXPROCS based on available resources
Fixes
5644141fix: Improve phonetic pronunciation of chezmoi
Documentation updates
7ed5c1ddocs: Add link to article222aef8docs: Improve developer documentation34f415cdocs: Useuvfor managing Python and dependencies895055adocs: Add link to blogf84b8e5docs: Add note on reporting viruses or trojans on Windows1fc8195docs: Add note about website build dependencies353264cdocs: Add sequence diagram for chezmoi initdbde967docs: Add daily usage entry on editing files
Full changelog: v2.52.2...v2.52.3
2.52.2 (2024-09-10)
Features
7aee332feat: Support YubiKeys in KeePassXC open mode
Documentation updates
f67e048docs: Add home page section on getting helpea8d95ddocs: Add Stack Overflow to social media links37eab81docs: Add FAQ entry on using delta as the diff toolfdb2065docs: Add FAQ entry on running scripts periodicallya3de4a8docs: Add FAQ entry on running a script when a git-repo external changesb56a600docs: Add FAQ entry on literal {{ and }} in templatesd414e0fdocs: Add warning on using externals for large files or archivesd9f4717docs: Add how to use VSCode as the diff and merge tool2a64e42docs: Make features and portability more prominent on home page3a17101docs: Add links to articles0355a62docs: Add link to blog1ac3014docs: Add github.com/b3nj5m1n/xdg-ninja to related software
Full changelog: v2.52.1...v2.52.2
2.52.1 (2024-08-15)
Features
ca0d133feat: Add github.com/johan-weitner/chezmoi-ui to related software
Fixes
cba7e40fix: Set User-Agent header to chezmoi.io/version on all HTTP requests
Documentation updates
Full changelog: v2.52.0...v2.52.1
2.52.0 (2024-08-07)
Features
48f873bfeat: Add gitHubRelease and gitHubReleaseAssetURL template functions
Fixes
28ebfecfix: Ignore permission changes in re-add command on Windows73893c1fix: Don't modify ciphertext in edit command if plaintext did not change
Documentation updates
d5579c7docs: Clarify requirement to set sourceDir when used in Codespaces
Full changelog: v2.51.0...v2.52.0
2.51.0 (2024-07-15)
Features
Fixes
2615c52fix: keep initFuncs when using 'includeTemplate' in configf6ecfdbfix: Use scriptTempDir for modify_ scripts
Documentation updates
711534adocs: Add link to article
Full changelog: v2.50.0...v2.51.0
2.50.0 (2024-07-02)
Features
2808e7cfeat: Add tempDir configuration variable4241393feat: Allow private_ and readonly_ attrs to be set for externals217cdaafeat: Add --no-network flag to doctor command31b2060feat: Embed fallback X.509 trusted roots
Fixes
2a75540fix: Prevent chezmoi add from adding chezmoi's own executable
Documentation updates
b7cf4badocs: Add GianniBYoung/chezmoi-telescope.nvim to related software
Full changelog: v2.49.1...v2.50.0
2.49.1 (2024-06-23)
Fixes
af65574fix: Accept line-endings template directive as well as line-ending
Full changelog: v2.49.0...v2.49.1
2.49.0 (2024-06-10)
Features
Fixes
f781976fix: Fix panic when parsing some commands
Documentation updates
bcd52b9docs: Update comparison-table.md
Full changelog: v2.48.2...v2.49.0
2.48.2 (2024-05-31)
Fixes
788f805fix: Don't panic on unexpected bubbletea messages5cf451afix: Respect umask when creating files24a990dfix: fix error when determining GOARCH in install.ps1
Documentation updates
1a16b49docs: Add link to article
Full changelog: v2.48.1...v2.48.2
2.48.1 (2024-05-12)
Features
a396e3afeat: Add gitHubLatestReleaseAssetURL template function
Fixes
6a90b3efix: Links section is broken in docs
Documentation updates
9d332c6docs: Add link to article
Full changelog: v2.48.0...v2.48.1
2.48.0 (2024-04-26)
Features
2e04dcffeat: Add --tree flag to unmanaged command91823e3feat: Add --tree flag to managed command278e2befeat: Add --tree flag to ignored command4a9d0e4feat: Include name of target in error message
Fixes
c758a1cfix: Apply .chezmoiignore to dirs in external archives7dfcfcffix: Remove unmanaged files from exact_ directories containing external files153ff43fix: Better detect username on Android/Termux systems
Documentation updates
b1b40b2docs: Add link to article9c817cedocs: Document --tree flag89fab4bdocs: Fix origin URL in quick start guide
Full changelog: v2.47.4...v2.48.0
2.47.4 (2024-04-12)
Fixes
d6ad485fix: Fix potential panic when textconv interpreter is emptyb4df44dfix: Fix panic on empty external
Documentation updates
872c584docs: Add troubleshooting entry on missing /bin/bash on Nix8b2a435docs: Add install.doctor to related software3a3dd13docs: Add links to articles
Full changelog: v2.47.3...v2.47.4
2.47.3 (2024-03-31)
Fixes
2e4236cfix: Don't traverse into ignored directories when adding files8a83dccfix: Skip adding entries in external dirs instead of erroringb366d0efix: Fix panic when adding children in exact_ dirsad77158fix: Increase range of types accepted by promptChoice template function
Full changelog: v2.47.2...v2.47.3
2.47.2 (2024-03-17)
Fixes
f490429fix: pass the--neededflag to pacman88b586dfix: Remove fig supportc8dc9a4fix: Explicitly tell user when then should use a config file templatefccc759fix: Handle copies in automatic commit messages3a0b19efix: Add missing newlines in error messages
Documentation updates
490cc3adocs: Add link to articleeb62958docs: Fix incomplete sentence in usage docsce46858docs: Add link to article
Full changelog: v2.47.1...v2.47.2
2.47.1 (2024-03-03)
Fixes
59764c8fix: Fix panic in unmanaged on some dir permission errorsdc99169fix: Make splitList return []any0405763fix: Set CHEZMOI_ environment variables for plugins1f44189fix: Ensure that all .chezmoi.config template variables have simple types5bb87f1fix: a grammar mistake
Documentation updates
85d015bdocs: Refactor developer guide885487bdocs: Add link to blog post18c99c3docs: Add link to video
Full changelog: v2.47.0...v2.47.1
2.47.0 (2024-02-25)
Features
6788c54feat: 1Password Secrets Automation Support
Fixes
3b3541cfix: Ensure default mode is setc6b867bfix: Fix marshaling of severities523fd84fix: Fix marshaling of autobools5224e11fix: Fix marshaling of absolute pathse925b0ffix: Fix --keep-going flag for unmanaged command5201ddcfix: Don't leak internal default sentinel values in template data1abcfa5fix: Fix panic when merging unmanaged filec0b7e92fix: Don't attempt to add entries in external_ directoriesd14bdd5fix: Use uname -o to detect Android in install script302a3b8fix: Move documentation of --output flag to correct sectionccde612fix: Prioritize $HOME when Cygwin or msys2 is detected
Documentation updates
3e5f0c8docs: Fix type of .chezmoi.kernel and .chezmoi.osRelease variables0269f80docs: Update docs on auto applying changes on edit in VIMb5fc7b6docs: Document config vars for command-specific flagsf52062edocs: Cross link "See REF" in config variables doc
Full changelog: v2.46.1...v2.47.0
2.46.1 (2024-02-11)
Features
8a20f91feat: Add update.apply configuration variable431ec39feat: Set CHEZMOI_SOURCE_FILE env var for scripts
Fixes
0eb98a9fix: Fix age/rage check in doctor command
Documentation updates
baeaf6bdocs: typo
Other
deb5adfchore(deps-dev): bump ruff from 0.1.9 to 0.1.15 in /assets
Full changelog: v2.46.0...v2.46.1
2.46.0 (2024-01-25)
Features
c7539b0feat: Build for Android (Termux)efcf32dfeat: Support rage as an alternative age encryption command53f7b92feat: Add re-add --recursive flag and make it the default85983f0feat: Promote hooks to stable114030cfeat: Promote HCP Vault Secrets template functions to stable24c0ea2feat: Promote Doppler template functions to stablec209c2afeat: Promote edit --watch to stable
Fixes
15f4eb1fix: Defer lookup of git in $PATH for git-repo externals569601afix: Change init to default to --config if --config-path is absent031b267fix: Handle more keepassxc-cli errors74d6b2afix: Reduce injection of terminal control characters into keepassxc-cli output
Documentation updates
1418f74docs: Fix broken release history page2dffe64docs: links to testing-templates8dd6c86docs: combine testing and debugging templates5e7c295docs: Add links to article and video2e3bd95docs: add link80717f4docs: Fix names of age recipients files config variables
Full changelog: v2.45.0...v2.46.0
2.45.0 (2024-01-13)
Features
7d915c0feat: Scan for secrets with gitleaks when adding files404878cfeat: Add add.encrypt configuration variable
Fixes
3436563fix: Improve robustness of keepassxc-cli integration in open mode49791f9fix: Handle keepassxc-cli localization85464ddfix: Restore user args to keepassxc-cli in cache password mode9437b62fix: Always use forward slashes to separate Windows paths
Full changelog: v2.44.0...v2.45.0
2.44.0 (2024-01-10)
Features
6a5d4a3feat: Add support for YubiKeys with KeePassXC
Documentation updates
ff3deb9docs: Add explanation of status characters
Full changelog: v2.43.0...v2.44.0
2.43.0 (2024-01-02)
Features
d99e8bdfeat: Extend rbw and rbwFields template funcs to take extra args7323f6afeat: Extend remove_ attribute to directories
Fixes
44b4c6dfix: Fix detection of changes to remove_ directories5f40268fix: Only invoke diff pager if there is diff output084add0fix: Handle implicit directories in externals54dce1bfix: add missing command annotationsd85b5e4fix: Make execute-template --init not read .chezmoitemplatesdb9b4ddfix: key.txt is not written to home, but home/.config
Documentation updates
774d053docs: Add upcoming changes to release history9f9d2d9docs: Add link to article6eb139bdocs: Add links to articles08e9b0bdocs: Fix guide on clearing state of run_onchange_ scripts
Other
a450748chore(deps-dev): bump ruff from 0.1.6 to 0.1.9 in /assets
Full changelog: v2.42.3...v2.43.0
2.42.3 (2023-12-16)
Features
538169afeat: Remove nested subshell check31780bffeat: Make mackupApplicationsDir func agnostic to mackup's installation method
Documentation updates
ef01881docs: Add github.com/xvzc/chezmoi.nvim to related softwaree530e7cdocs: Add link to article31e6207docs: Add link to video854ea06docs: Add entry on declarative package installation0cf9f29docs: add warning for GitHub SSH key deletion
Full changelog: v2.42.2...v2.42.3
2.42.2 (2023-12-02)
Features
a9d389efeat: Add CHEZMOI_COMMAND_DIR env var for hooks
Fixes
649c758fix: Fix fromJson template function deserializing non-objectsc68ddacfix: Handle extra slashes in path arguments
Full changelog: v2.42.1...v2.42.2
2.42.1 (2023-11-29)
Fixes
d07689efix: Set env vars from config file when re-reading config
Documentation updates
0b38793docs: Clarify prefix order for regular files
Full changelog: v2.42.0...v2.42.1
2.42.0 (2023-11-26)
Features
694977bfeat: Preserve numeric types when reading from .chezmoidata JSON and JSONC files1f11386feat: Preserve integer values in fromJson and fromJsonc template funcs711a39afeat: Add read-source-state hook
Documentation updates
Full changelog: v2.41.0...v2.42.0
2.41.0 (2023-11-14)
Features
26fd133feat: Add git-commit-message to generate commandc6688d2feat: Make commit message templates regular templatesf7c3745feat: Add git.commitMessageTemplateFile config variable1f016e8feat: Add edit-config-template command
Fixes
d9cb6b0fix: Don't escape HTML characters in JSON strings
Documentation updates
b94f954docs: Document support for the passage password managera1fba75docs: add how-to for gpg ↔ age migration8d58c3edocs: Fix default value of persistentState variable
Other
e8ed4c4refactor: Allowmkdocs buildfrom any origin
Full changelog: v2.40.4...v2.41.0
2.40.4 (2023-10-29)
Fixes
797e3cffix: Make stdinIsATTY return false if --no-tty is passed
Full changelog: v2.40.3...v2.40.4
2.40.3 (2023-10-12)
Features
b64f2bcfeat: Add env config var as an alternative to scriptEnvf47c268feat: Warn when overriding CHEZMOI_ env vars7203d6bfeat: Set CHEZMOI_ and scriptEnv env vars for all invoked commands
Documentation updates
319dd20docs: Tidy up release notes
Full changelog: v2.40.2...v2.40.3
2.40.2 (2023-10-09)
Internal changes only
Full changelog: v2.40.1...v2.40.2
2.40.1 (2023-10-09)
Features
fc56533feat: Add Path Separator and Path List Separator to provided template values.61f7ed1feat: Ignore AppleDouble files in externals4a52e5cfeat: find[One]Executable in user-supplied pathsbb6f952feat: Use Goreleaser's Chocolatey support
Fixes
eecf015fix: Only invoke diff pager if command modifies filesystem5c0140dfix: Don't usereplace-executablefor WinGet installations7976373fix: Add chattr +remove support for files
Documentation updates
784d38bdoc: Add information how to ignore cache files in external dependencies66070dcdocs: Added an example for promptChoice5f14f10docs: Added an example for promptChoiceOncec96a4b7docs: Fix cross-function link references
Full changelog: v2.40.0...v2.40.1
2.40.0 (2023-09-19)
Features
2858a0cfeat: Implement the path-style flag for status5918296feat: Add plugin support63cda81feat: Allow overlapping, non-conflicting externalsf15b158feat: Add decryption of non-armored files to age command
Fixes
cdd4f16fix: Use diff pager for all diff output if configured3667788fix: provide a consistent error for cd to file
Documentation updates
284baf6docs: Add links to articles
Full changelog: v2.39.1...v2.40.0
2.39.1 (2023-09-06)
Fixes
46e13edfix: Ensure default template data when reading .chezmoidata in subdir
Documentation updates
fe10a69docs: Improve developer experience under fish5b738bddocs: Fix documentation on dirs vs content in .chezmoiignore
Full changelog: v2.39.0...v2.39.1
2.39.0 (2023-09-03)
Features
acb8937feat: add .chezmoi.targetFile template variable205fd6cfeat: Add age commandf6947d3feat: Add bitwardenSecrets template function
Fixes
40b711dfix: Handle .chezmoidata files in subdirectories when template has already been executed6fa4fe4fix: Update goreleaser changelog
Documentation updates
a89e0e0docs: Tweak location of private key in age onetime passphrase how-toda9f3c6docs: Use age command in onetime passphrase how-tofe903d4docs: Minor expansion of application order docs02ffbd7docs: Add link to article
Full changelog: v2.38.0...v2.39.0
2.38.0 (2023-08-21)
Other
0ce82b3chore: Update dependencies7b300e4chore: Miscellaneous website improvements166feafdocs: Linuxbrew -> Homebrewd00de72feat: AddgitHubReleasesandgitHubTagsa51179efeat: Support nushell scripts on Windows7d143c3docs: Improve documentation on using separate source filesba985c9chore: Reformat long lines5e8d2b3feat: Add promptChoice and promptChoiceOnce template functions29e8c30fix: Fix minor issues with promptBool docs and errorsf0efc5cchore: Generate release notes from git log, not GitHub3c72387chore: Remove dependency on go.uber.org/multierr424189bchore: Use io/fs.Skip{All,Dir} sentinel errorsdbc1b4bchore: Bump golangci-lint to version 1.54.03f636c1chore: Build with Go 1.21.0187f734chore: Update dependenciesa028598feat: Restore --autotemplate flag to add command4e67850docs: Document --source-path flag4fc3203fix: Fix race condition in concurrent parsing of externals
Full changelog: v2.37.0...v2.38.0
2.37.0 (2023-08-06)
- feat: Read personal mackup config files by @twpayne in #3133
- chore(deps): bump github/codeql-action from 2.20.1 to 2.21.2 by @dependabot in #3135
- chore: Build with Go 1.20.7 by @twpayne in #3140
- feat: Add support for Doppler by @equals03 in #3134
- feat: Extend re-add command to accept an optional list of targets by @twpayne in #3146
- chore: Update dependencies by @twpayne in #3150
- fix: Avoid concurrent map access when evaluating multiple templates by @twpayne in #3155
- feat: Add isExecutable template function by @twpayne in #3157
- chore: Fix isExecutable tests on Windows by @twpayne in #3158
- chore: Update dependencies by @twpayne in #3159
New Contributors
Full changelog: v2.36.1...v2.37.0
2.36.1 (2023-07-30)
- fix: Make detection of mackup config dir more robust by @twpayne in #3128
- fix: Ensure that templates cannot modify each other's data by @twpayne in #3129
- chore: Move core packages back to internal by @twpayne in #3130
Full changelog: v2.36.0...v2.36.1
2.36.0 (2023-07-28)
- feat: Add .chezmoiexternals directory for multiple externals by @twpayne in #3108
- fix: Respect setting diff.pager to the empty string as disabling the pager by @twpayne in #3117
- chore: Update dependencies by @twpayne in #3124
- feat: Add undocumented mackup command by @twpayne in #3121
Full changelog: v2.35.2...v2.36.0
2.35.2 (2023-07-19)
Internal changes only
Full changelog: v2.35.1...v2.35.2
2.35.1 (2023-07-18)
- feat: Allow executable bits to be overridden in archive-file externals by @twpayne in #3102
- docs: Clarify use of exclude patterns in .chezmoiignore by @twpayne in #3103
- feat: Add work-around for Docker Desktop breaking /etc/hosts by @twpayne in #3104
- chore: Update dependencies by @twpayne in #3105
Full changelog: v2.35.0...v2.35.1
2.35.0 (2023-07-16)
- feat: Add archive-file externals by @twpayne in #3080
- fix: Never consider localhost.localdomain in /etc/hosts as the FQDN by @twpayne in #3082
- chore: Miscellaneous fixes by @twpayne in #3091
- chore: Use golang/govulncheck-action by @twpayne in #3094
- feat: Add support for HCP Vault Secrets by @twpayne in #3067
- chore: Use Goreleaser's WinGet support by @twpayne in #3059
Full changelog: v2.34.3...v2.35.0
2.34.3 (2023-07-03)
- fix: Check .chezmoiignore before protected paths by @twpayne in #3052
- chore: Add actionlint linter by @twpayne in #3053
- fix: Parse hostnames from all loopback addresses in /etc/hosts by @twpayne in #3055
- chore: Update dependencies by @twpayne in #3058
- fix: Respect persistentState config variable by @twpayne in #3066
- chore: Miscellaneous fixes by @twpayne in #3068
- docs: Remove reference to tar and /dev/stdin so code works on Windows by @Sacro in #3069
- chore: Update goreleaser config for version 1.19 by @twpayne in #3071
- fix: Drop Solaris and Illumos support by @twpayne in #3060
- chore(deps): bump github.com/rogpeppe/go-internal from 1.10.1-0.20230524175051-ec119421bb97 to 1.11.0 by @dependabot in #3073
- chore(deps): bump sigstore/cosign-installer from 3.0.5 to 3.1.1 by @dependabot in #3074
- chore(deps): bump reviewdog/action-misspell from 1.12.4 to 1.13.1 by @dependabot in #3075
- chore(deps): bump github/codeql-action from 2.20.0 to 2.20.1 by @dependabot in #3076
New Contributors
Full changelog: v2.34.2...v2.34.3
2.34.2 (2023-06-17)
- chore: Simplify code by using strings.EqualFold, time.Before by @twpayne in #3038
- chore: Use http.NoBody instead of nil by @alexandear in #3040
- chore: Miscellaneous clean-ups by @twpayne in #3041
- fix: Handle multiple files in .chezmoidata directory by @twpayne in #3042
- chore: Update dependencies by @twpayne in #3043
- chore(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.6.0 by @dependabot in #3044
- chore(deps): bump dessant/lock-threads from 4.0.0 to 4.0.1 by @dependabot in #3045
- chore(deps): bump github/codeql-action from 2.3.5 to 2.20.0 by @dependabot in #3046
- chore(deps): bump goreleaser/goreleaser-action from 4.2.0 to 4.3.0 by @dependabot in #3047
- chore(deps): bump actions/checkout from 3.5.2 to 3.5.3 by @dependabot in #3048
Full changelog: v2.34.1...v2.34.2
2.34.1 (2023-06-10)
- chore: Build with Go 1.20.5 by @twpayne in #3030
- feat: Add git.commitMessageTemplate configuration variable by @twpayne in #3032
Full changelog: v2.34.0...v2.34.1
2.34.0 (2023-06-05)
- feat: Add support for .chezmoidata directory by @twpayne in #3009
- chore(deps): bump github/codeql-action from 2.3.3 to 2.3.5 by @dependabot in #3010
- chore(deps): bump actions/setup-go from 4.0.0 to 4.0.1 by @dependabot in #3012
- chore: Misc fixes by @twpayne in #3019
- chore: Update dependencies by @twpayne in #3018
- chore(deps): bump sigstore/cosign-installer from 3.0.3 to 3.0.5 by @dependabot in #3011
- chore: Bump golangci-lint to version 1.53.1 by @twpayne in #3020
- fix: Fix init --debug flag by @twpayne in #3021
- feat: Add get.chezmoi.io/lb and chezmoi.io/getlb install scripts by @twpayne in #3024
- chore: Update dependencies by @twpayne in #3026
- fix: Fix parsing of flags to secret keyring delete command by @twpayne in #3027
Full changelog: v2.33.6...v2.34.0
2.33.6 (2023-05-15)
- chore(deps): bump github.com/cloudflare/circl from 1.3.2 to 1.3.3 by @dependabot in #2991
- fix: Only create empty files if they have the empty_ attribute by @twpayne in #2997
- chore: Refactor internal handling of remove_ directories by @twpayne in #2999
- chore(editorconfig): Remove quotes from editorconfig file by @aarondill in #3000
- fix: Set CHEZMOI_SOURCE_DIR env var in init when using .chezmoiroot by @twpayne in #3001
- chore: Update dependencies by @twpayne in #3002
New Contributors
- @aarondill made their first contribution in #3000
Full changelog: v2.33.5...v2.33.6
2.33.5 (2023-05-11)
- chore: Build with Go 1.20.4 by @twpayne in #2970
- chore: Use github.com/alecthomas/assert instead of github.com/stretchr/testify by @twpayne in #2974
- fix: Fix commands for managed files in exact_ directories by @twpayne in #2980
- docs: Improved Bitwarden login documentation by @halostatue in #2955
- chore: Update dependencies by @twpayne in #2983
- chore(deps): bump github/codeql-action from 2.3.2 to 2.3.3 by @dependabot in #2986
- chore(deps): bump cpina/github-action-push-to-another-repository from 1.6 to 1.7 by @dependabot in #2987
- chore(deps): bump reviewdog/action-misspell from 1.12.3 to 1.12.4 by @dependabot in #2985
- fix: Ensure the sourceDir is updated before creating config file by @twpayne in #2989
Full changelog: v2.33.4...v2.33.5
2.33.4 (2023-05-02)
- fix: Fix init --promptBool for promptBoolOnce template function by @twpayne in #2950
- docs: update encryption md to account for chezmoiroot by @danielo515 in #2952
- chore(deps): bump sigstore/cosign-installer from 3.0.1 to 3.0.3 by @dependabot in #2957
- chore(deps): bump github/codeql-action from 2.2.9 to 2.3.2 by @dependabot in #2958
- chore(deps): bump actions/checkout from 3.5.0 to 3.5.2 by @dependabot in #2959
- fix: Respect executable file modes in external_ directories by @twpayne in #2966
- fix: Fix chezmoi rm with files in exact_ directories by @twpayne in #2967
New Contributors
- @danielo515 made their first contribution in #2952
Full changelog: v2.33.3...v2.33.4
2.33.3 (2023-04-21)
Full changelog: v2.33.2...v2.33.3
2.33.2 (2023-04-21)
- chore: Add test for reported .chezmoiroot issue by @twpayne in #2930
- chore: Update dependencies by @twpayne in #2932
- fix: Set CHEZMOI_ environment variables for modify_ scripts by @twpayne in #2935
- fix: Don't download ignored git-repo externals by @twpayne in #2939
- feat: Add .chezmoi.config template variable by @twpayne in #2940
- chore: Update dependencies by @twpayne in #2941
Full changelog: v2.33.1...v2.33.2
2.33.1 (2023-04-07)
- chore: Update dependencies by @twpayne in #2889
- chore: Add rbw version check to doctor command by @twpayne in #2893
- chore(deps): bump sigstore/cosign-installer from 2.8.1 to 3.0.1 by @dependabot in #2897
- chore(deps): bump actions/cache from 3.2.6 to 3.3.1 by @dependabot in #2898
- chore(deps): bump github/codeql-action from 2.2.5 to 2.2.9 by @dependabot in #2899
- chore(deps): bump actions/checkout from 3.3.0 to 3.5.0 by @dependabot in #2900
- chore: Update dependencies by @twpayne in #2903
- chore: Update dependencies by @twpayne in #2908
- fix: Allow source dir to be a git worktree by @twpayne in #2911
- fix: Change where fish completions are installed by @J-M0 in #2912
- chore: Tidy up persistent state tests by @twpayne in #2914
- chore: Update dependencies by @twpayne in #2915
New Contributors
Full changelog: v2.33.0...v2.33.1
2.33.0 (2023-03-24)
- chore(deps): bump google.golang.org/protobuf from 1.29.0 to 1.29.1 by @dependabot in #2856
- docs: Miscellaneous fixes by @twpayne in #2860
- fix: Don't list entries in git-repo externals as unmanaged by @twpayne in #2862
- chore: Minor fixes by @twpayne in #2863
- feat: Add support for ejson by @XaF in #2857
- chore: Tidy up ejson default key dir by @twpayne in #2870
- feat: Add jq template function by @twpayne in #2833
- Update dependencies by @twpayne in #2874
- docs: Add missing
jsoncto some formats by @bradenhilton in #2876 - docs: Wait for elevated PS process to return by @alexvy86 in #2872
- chore: Deprecate
--autotemplateby @halostatue in #2877 - Update build infrastructure by @twpayne in #2881
- feat: Set $CHEZMOI_VERBOSE based on --verbose by @halostatue in #2875
- fix: Only set $CHEZMOI_VERBOSE when --verbose is set by @twpayne in #2883
Full changelog: v2.32.0...v2.33.0
2.32.0 (2023-03-12)
- chore: Add test for target-path, .chezmoiscripts, and .chezmoiroot by @twpayne in #2811
- fix: Allow underscores and dots in GitHub dotfile repo name guesses by @twpayne in #2817
- Improve chezmoi cd command by @twpayne in #2823
- docs: Fix typo by @hezhizhen in #2829
- feat: Add support for the JSONC format by @twpayne in #2827
- chore: Add test that diff.exclude excludes dirs from external diff tool by @twpayne in #2830
- feat: Refuse to add chezmoi files to chezmoi by @twpayne in #2822
- feat: Add pre- and post-command hooks by @twpayne in #2832
- chore: Update dependencies by @twpayne in #2834
- chore: Tidy up nolint directives by @twpayne in #2842
- docs: Updated config / flags documentation information by @halostatue in #2843
- chore: Miscellaneous password manager cleanups by @twpayne in #2845
- chore: Remove +build comments from modules by @alexandear in #2846
- chore: Use run.go instead of deprecated lang-version by @alexandear in #2847
- feat: Add rbw template function for Bitwarden by @twpayne in #2841
- chore: Miscellaneous fixes by @twpayne in #2848
New Contributors
- @hezhizhen made their first contribution in #2829
Full changelog: v2.31.1...v2.32.0
2.31.1 (2023-03-02)
- chore: Bump golangci-lint to v1.51.2 by @twpayne in #2782
- docs: Improve documentation on git-repo externals by @twpayne in #2785
- chore: Update dependencies by @twpayne in #2788
- chore: Enable most govet linters by @twpayne in #2794
- chore: Update dependencies by @twpayne in #2795
- feat: Add Dashlane password manager support by @twpayne in #2792
- fix: Detect absolute paths in externals on Windows by @twpayne in #2796
- feat: Add Dashlane secure notes support by @XaF in #2797
- chore(deps): bump cpina/github-action-push-to-another-repository from 9e487f29582587eeb4837c0552c886bb0644b6b9 to 0a14457bb28b04dfa1652e0ffdfda866d2845c73 by @dependabot in #2802
- chore(deps): bump github/codeql-action from 2.2.1 to 2.2.5 by @dependabot in #2803
- chore(deps): bump actions/cache from 3.2.4 to 3.2.6 by @dependabot in #2804
- chore: Update dependencies by @twpayne in #2809
New Contributors
Full changelog: v2.31.0...v2.31.1
2.31.0 (2023-02-17)
- feat: Print a warning when chezmoi add is called with an ignored entry by @twpayne in #2762
- feat: Cache GitHub API results by default to stay under rate limit by @twpayne in #2763
- feat: Display progress bars by default when stdout is a TTY by @twpayne in #2767
- feat(bitwarden): Grab attachment by object name by @cawaltrip in #2765
- fix: Eliminate [DEFAULT] section for
fromInimap by @halostatue in #2770 - chore: Update dependencies by @twpayne in #2772
- feat: Add --with-stdin flag to execute-template command by @twpayne in #2774
- docs: Fix typo, improve grammar in init doc page by @bradenhilton in #2776
- docs: Improve documentation on externals by @twpayne in #2775
- chore: Update dependencies by @twpayne in #2781
New Contributors
- @cawaltrip made their first contribution in #2765
Full changelog: v2.30.1...v2.31.0
2.30.1 (2023-02-11)
- Add deleteValueAtPath and pruneEmptyDicts template functions by @twpayne in #2750
- feat: Extend toPrettyJson template function to take indent by @twpayne in #2751
- fix: Fix chezmoi target-path when using .chezmoiroot by @twpayne in #2755
- chore: Use strings.Cut{Prefix,Suffix} by @twpayne in #2756
Full changelog: v2.30.0...v2.30.1
2.30.0 (2023-02-06)
- feat: Add zstd compression support by @twpayne in #2715
- feat: Add external_ attribute for directories by @twpayne in #2716
- chore(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 by @dependabot in #2720
- chore(deps): bump actions/checkout from 3.2.0 to 3.3.0 by @dependabot in #2721
- chore(deps): bump github/codeql-action from 2.1.37 to 2.2.1 by @dependabot in #2722
- chore(deps): bump actions/upload-artifact from 3.1.1 to 3.1.2 by @dependabot in #2723
- chore: Miscellaneous fixes by @twpayne in #2719
- chore(deps): bump ludeeus/action-shellcheck from 1.1.0 to 2.0.0 by @dependabot in #2724
- chore(deps): bump actions/cache from 3.2.2 to 3.2.4 by @dependabot in #2726
- chore(deps): bump goreleaser/goreleaser-action from 4.1.0 to 4.2.0 by @dependabot in #2727
- feat: Build with Go 1.20 by @twpayne in #2731
- fix: Make chezmoi init --purge-binary always remove binary by @twpayne in #2729
- chore: Bump golangci-lint to version 1.51.0 by @twpayne in #2732
- docs: Add install command for winget by @bradenhilton in #2735
- Miscellaneous fixes by @twpayne in #2737
- Set CHEZMOI* environment variables when running cd command by @twpayne in #2743
- docs: Improve documentation on scripts by @twpayne in #2745
Full changelog: v2.29.4...v2.30.0
2.29.4 (2023-01-24)
- fix: Revert buggy diff library by @twpayne in #2707
- docs: note about actual auth types for GitHub private repos by @Avendattor in #2690
New Contributors
- @Avendattor made their first contribution in #2690
Full changelog: v2.29.3...v2.29.4
2.29.3 (2023-01-19)
- feat: Add --recursive flag to chattr command by @twpayne in #2697
- feat: Check config file format in doctor command by @twpayne in #2696
- docs: Fix typo in merge user guide by @mumumumu in #2698
- fix: Support .zip files with empty internal directories by @szinn in #2701
- fix: Only prompt once for KeePassXC password by @twpayne in #2704
- fix: Remove problematic username guessing in init command by @twpayne in #2705
New Contributors
Full changelog: v2.29.2...v2.29.3
2.29.2 (2023-01-15)
- chore: Update goreleaser config for v1.14 by @twpayne in #2667
- feat: Add keepassxc.prompt config variable by @jcapiitao in #2677
- docs: Update documentation on encryption by @twpayne in #2683
- chore: Update dependencies by @twpayne in #2679
- chore: Fix umask tests by @twpayne in #2688
- chore: Update dependencies by @twpayne in #2694
New Contributors
- @jcapiitao made their first contribution in #2677
Full changelog: v2.29.1...v2.29.2
2.29.1 (2023-01-02)
Full changelog: v2.29.0...v2.29.1
2.29.0 (2023-01-01)
- feat: Allow .chezmoi{external,ignore,remove} files to have a .tmpl suffix by @twpayne in #2632
- feat: Add support for source paths in managed command by @twpayne in #2633
- chore: Update dependencies by @twpayne in #2634
- docs: Fix passphrase-once encryption instructions by @twpayne in #2636
- chore: Update dependencies by @twpayne in #2639
- chore(deps): bump actions/cache from 3.0.11 to 3.2.2 by @dependabot in #2641
- chore(deps): bump github/codeql-action from 2.1.29 to 2.1.37 by @dependabot in #2642
- chore(deps): bump goreleaser/goreleaser-action from 3.2.0 to 4.1.0 by @dependabot in #2643
- chore(deps): bump actions/setup-go from 3.3.1 to 3.5.0 by @dependabot in #2644
- chore(deps): bump dessant/lock-threads from 3.0.0 to 4.0.0 by @dependabot in #2645
- feat: Allow cd command to take the destination directory as an argument by @twpayne in #2648
- fix: Improve error message when state database cannot be locked by @twpayne in #2651
- fix: Fix authentication when git is not installed by @twpayne in #2650
- fix: Fix bug where edit --watch only applied the first change by @twpayne in #2654
- chore: Miscellaneous updates by @twpayne in #2655
- feat: Add hexDecode and hexEncode template functions by @twpayne in #2658
- chore(deps): bump actions/checkout from 3.1.0 to 3.2.0 by @dependabot in #2659
Full changelog: v2.28.0...v2.29.0
2.28.0 (2022-12-18)
- feat: Add lstat template function by @twpayne in #2616
- feat: Add --path-style option to managed and unmanaged commands by @twpayne in #2617
- chore: Build with Go 1.19.4 by @twpayne in #2619
- feat: Add verification of external checksums by @twpayne in #2621
- chore: Update dependencies by @twpayne in #2623
Full changelog: v2.27.3...v2.28.0
2.27.3 (2022-12-05)
- chore: Move GitHub Actions off soon-to-be-deprecated Ubuntu 18.04 by @twpayne in #2604
- chore(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 by @dependabot in #2605
- chore(deps): bump github.com/Masterminds/sprig/v3 from 3.2.2 to 3.2.3 by @dependabot in #2607
- chore(deps): bump reviewdog/action-misspell from 1.12.2 to 1.12.3 by @dependabot in #2606
- chore: Update dependencies by @twpayne in #2611
- fix: Don't attempt to run empty scripts by @twpayne in #2612
- fix: Respect config file umask setting when creating entries by @twpayne in #2613
Full changelog: v2.27.2...v2.27.3
2.27.2 (2022-11-25)
- fix: Make re-add command respect --interactive flag by @twpayne in #2569
- feat: Add an optional path argument to the cd command by @twpayne in #2579
- feat: Make it easier to use non-git VCSes by @twpayne in #2580
- fix: Allow underscores in SourceHut usernames by @twpayne in #2582
- fix: Respect diff filter in removes with external diff tool by @twpayne in #2592
- chore: Release fixes by @twpayne in #2593
- chore: Update dependencies by @twpayne in #2596
Full changelog: v2.27.1...v2.27.2
2.27.1 (2022-11-13)
- fix: Don't show always scripts in apply --verbose when excluded from diffs by @twpayne in #2565
- feat: Remember HTTP username in URL in init command by @twpayne in #2562
- chore: Make generation of versioninfo.json work without tags or git repo by @twpayne in #2566
Full changelog: v2.27.0...v2.27.1
2.27.0 (2022-11-09)
- fix: Revert cpina/github-action-push-to-another-repository version bump by @bradenhilton in #2527
- chore: Install Go in test-website and deploy-website jobs by @twpayne in #2528
- feat: Suppress newlines from
onepasswordReadby @halostatue in #2532 - chore(deps): bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 by @dependabot in #2533
- feat: Allow modify_ scripts to be executed as templates by @twpayne in #2529
- chore: Blacklist buggy version of github.com/bmatcuk/doublestar/v4 by @twpayne in #2537
- chore: Build with Go 1.19.3 by @twpayne in #2541
- feat: Add line ending template directive by @twpayne in #2540
- feat: Add setValueAtPath template function by @twpayne in #2542
- fix: Don't merge non-files in merge-all command by @twpayne in #2543
- feat: Add --script-contents flag to diff command by @twpayne in #2544
- docs: Add line endings directive documentation by @bradenhilton in #2547
- docs: Fix typos in Sourcehut repo patterns by @kjerstadius in #2552
- chore: Better handle errors when globbing by @twpayne in #2538
- feat: Add cat-config and dump-config commands by @twpayne in #2553
- chore: Remove unused field by @twpayne in #2554
- chore: Refactor handling of annotations by @twpayne in #2555
- feat: Allow prompt*Once template functions to take paths by @twpayne in #2557
- fix: Fix exclusion of externals by @twpayne in #2558
- chore: Update dependencies by @twpayne in #2559
- feat: Add completion template function by @twpayne in #2560
New Contributors
- @kjerstadius made their first contribution in #2552
Full changelog: v2.26.0...v2.27.0
2.26.0 (2022-10-31)
- feat: Improve handling of include and exclude for externals and encrypted files by @twpayne in #2451
- feat: Extend --include and --exclude flags to include templates by @twpayne in #2455
- feat: Add per-template configurable delimiters by @twpayne in #2457
- chore: Fix user guide link in support issue template by @bradenhilton in #2464
- chore(deps): bump github/codeql-action from 2.1.26 to 2.1.27 by @dependabot in #2459
- docs: Update homepage by @twpayne in #2458
- chore(deps): bump dorny/paths-filter from 2.10.2 to 2.11.1 by @dependabot in #2460
- chore(deps): bump actions/cache from 3.0.9 to 3.0.11 by @dependabot in #2461
- chore(deps): bump sigstore/cosign-installer from 2.7.0 to 2.8.0 by @dependabot in #2462
- chore(deps): bump cpina/github-action-push-to-another-repository from 9e487f29582587eeb4837c0552c886bb0644b6b9 to 940a2857e598a6392bd336330b07416c1ae8ea1f by @dependabot in #2466
- chore: Update dependencies by @twpayne in #2465
- chore(deps): bump actions/checkout from 3.0.2 to 3.1.0 by @dependabot in #2463
- chore: Tweak template directive implementation by @twpayne in #2467
- chore: Miscellaneous fixes by @twpayne in #2469
- feat: Add option to exclude scripts that are always run by @twpayne in #2473
- fix: Extend template directives functionality by @halostatue in #2471
- chore: Update dependencies by @twpayne in #2474
- docs: Add faq entry for templates pre-requisites by @felipecrs in #2476
- docs: Add release notes and release history by @twpayne in #2477
- docs: Add note on setting .ps1 interpreter to pwsh by @bradenhilton in #2478
- chore: Fix comments that start from an incorrect name by @alexandear in #2481
- chore: Add package descriptions by @twpayne in #2485
- fix: Include git repo external state in state dump output by @twpayne in #2487
- docs: Add FAQ entry on snap stdin/stdout redirect bug by @twpayne in #2488
- chore: Use fs.ModePerm instead of 0o777 for all permissions by @twpayne in #2489
- chore: GitHub Actions fixes by @twpayne in #2492
- docs(bitwarden): Correct bitwardenFields example by @choznerol in #2493
- feat: Populate VERSIONINFO on Windows builds by @bradenhilton in #2479
- chore: Update dependencies by @twpayne in #2494
- docs: Remove duplicate words by @bradenhilton in #2497
- chore: Improve error messages from git-repo externals by @twpayne in #2501
- fix: Construct
templateDataMapmanually by @halostatue in #2503 - feat: Add --recurse-submodules flag to init command by @twpayne in #2511
- feat: Add --recurse-submodules flag to update command by @twpayne in #2512
- chore: Reorder eqFold template function reference page by @bradenhilton in #2513
- chore: Fix refactored --include and --exclude flags by @twpayne in #2514
- chore: Add test for .chezmoiignore and scripts by @twpayne in #2515
- chore: Update dependencies by @twpayne in #2516
- chore: Minor documentation tweaks by @twpayne in #2518
- chore: Release improvements by @twpayne in #2517
- chore(deps): bump goreleaser/goreleaser-action from 3.1.0 to 3.2.0 by @dependabot in #2519
- chore(deps): bump actions/upload-artifact from 3.1.0 to 3.1.1 by @dependabot in #2520
- chore(deps): bump actions/setup-go from 3.3.0 to 3.3.1 by @dependabot in #2522
- chore(deps): bump github/codeql-action from 2.1.27 to 2.1.29 by @dependabot in #2523
- chore(deps): bump sigstore/cosign-installer from 2.8.0 to 2.8.1 by @dependabot in #2521
Full changelog: v2.25.0...v2.26.0
2.25.0 (2022-10-13)
- docs: Add FAQ entry on multiple source states by @twpayne in #2391
- chore: Separate out test-release step by @twpayne in #2392
- chore: Add check for keepassxc-cli version in keepassxcAttachment by @twpayne in #2397
- chore: Fix typo in entrytypeset.go by @sm1999 in #2400
- chore: Add test that chezmoi apply uses textconv by @twpayne in #2401
- fix: Use textconv in interactive diffs by @twpayne in #2402
- chore(deps): bump actions/cache from 3.0.8 to 3.0.9 by @dependabot in #2410
- chore(deps): bump github/codeql-action from 2.1.21 to 2.1.26 by @dependabot in #2411
- feat: Add shell completion for --include and --exclude flags by @twpayne in #2419
- chore: Bump Go and golangci-lint versions by @twpayne in #2420
- chore: Update dependencies by @twpayne in #2421
- chore: Copy github.com/twpayne/go-shell into module by @twpayne in #2422
- feat: Add eqFold template function by @bradenhilton in #2409
- feat: Add scriptEnv configuration variable by @twpayne in #2423
- chore: Set Go version in govulncheck by @twpayne in #2428
- chore: Only read .chezmoiroot once by @twpayne in #2431
- feat: Sign release assets by @twpayne in #2394
- chore: Use build info to set commit and date, if available by @twpayne in #2434
- chore: Use ReadDir to find config files and templates by @twpayne in #2435
- chore: Use GitHub native changelogs for releases by @twpayne in #2438
- feat: Use target paths in automatically generated commit messages by @twpayne in #2439
- chore: Automatically deploy website after release by @twpayne in #2437
- feat: 1Password account lookup table by @halostatue in #2425
- chore: Refactor 1Password account map by @twpayne in #2440
- docs: Use get.chezmoi.io for install links by @twpayne in #2441
- feat: Add get.chezmoi.io/ps1 by @twpayne in #2443
- chore: Fail if multiple config file templates or config files are found by @twpayne in #2444
- fix: Make chattr {no,}encrypted decrypt and encrypt source file by @twpayne in #2447
- chore: Update dependencies by @twpayne in #2448
- feat: Expose template data in environment variables by @twpayne in #2429
- chore: Use GitHub output in govulncheck workflow by @twpayne in #2450
Full changelog: v2.24.0...v2.25.0
2.24.0 (2022-09-25)
bb8d579docs: Add FAQ entry on --verbose and --debug flagsfb595f2docs: Add link to article0f58586docs: Elaborate on once vs onchange attributesb970bc1feat: Add always/auto/never options to --refresh-externals flag21e99c7feat: Add option to suppress warningsa29abcffeat: Improve performance of the externals cacheda407b6fix: Avoid double read of source state in merge-all and status commands1fbe862fix: Preserve case in user template data9dda54afix: Respect .chezmoiroot in source-path command with no arguments
Full changelog: v2.23.0...v2.24.0
2.23.0 (2022-09-19)
6e49147docs: Add hints about escaping diff and merge args in config file templatef1b404ddocs: Add link to video2c3a349docs: Change remote origin from ssh to https4d68612docs: Update symlink design question with docs on edit --watch8b4b856feat: Add --progress flag to show progress when downloading externalsccb897cfeat: Add passhole password manager support994a0c7feat: Always set and restore Windows consolecf51259feat: Use bubbletea for user input8054dfffix: Don't write file specified by --output atomically80576f5fix: Ignore commands when creating archives83f01ebfix: Only read source state if needed in source-path commandc1a53e1fix: Treat git-repo externals as directories of include/exclude purposes
Full changelog: v2.22.1...v2.23.0
2.22.1 (2022-09-04)
64b9c1ffix: Fix handling of newlines in comment template function4950fc3fix: Make includeTemplate function first search in .chezmoitemplates
Full changelog: v2.22.0...v2.22.1
2.22.0 (2022-09-01)
6625f29docs: Add FAQ entry on sharing shell history097a88cdocs: Add note on script execution order3b6edafdocs: Fix a coloring issue that lines and texts in Mermaid diagrams are hardly visible in dark mode3e6e26dfeat: Add includeTemplate template functionbf5b674feat: Add initial fig support41644bbfeat: Add support for loong64 architecture7a525b7fix: Apply changes to directories recursively when editing directories03a91cafix: Only use quotes if necessary in toIni template function
Full changelog: v2.21.1...v2.22.0
2.21.1 (2022-08-29)
f4be0e0docs: Add link to package installation9f207f4docs: Add summary paragraphc60b406feat: Add edit.apply configuration variable75b0569feat: Add secret.args configuration variableb59f127fix: Detect SSH clones from URL when using builtin git4919c1afix: Fix panic when absolute paths are used in externals8b420affix: Respect format configuration variable in data, dump, and state commands
Full changelog: v2.21.0...v2.21.1
2.21.0 (2022-08-23)
c8399bcdocs: Add FAQ entry on init template functionse2ec7c5docs: Add instructions for using chezmoi with Watchmandc2ec23docs: Add link to repology.org4d086c2docs: Remove unmaintained Guix package485850fdocs: Use install-from-git-working-copy in installation instructions9e4629ffeat: Add --interactive flag8602622feat: Add --prompt flag to init commandf98264bfeat: Add --prompt* flags to init command02b8954feat: Add fromIni template functionffbb367feat: Add gitHubLatestTag template functionac0c759feat: Add initial --watch flag to edit command3af5c7ffeat: Add toIni template functiondb4da31feat: Improve support for external diff commands84afa19fix: Handle .chezmoiroot in init command7583387fix: Remove broken symbolic links in exact_ directories
Full changelog: v2.20.0...v2.21.0
2.20.0 (2022-07-29)
5fdc580docs: Add Termux package install instructions150144edocs: Add dark mode option24db084docs: Prioritize package installation over curl | sh installation199d62efeat: Add comment template functionc0e2f53feat: Add generate command to generate install script4dfd206feat: Add onepasswordRead template function06b212bfeat: Add promptBoolOnce, promptIntOnce, and promptStringOnce init template functionsebeb8dffeat: Add replaceAllRegex template function84e7a93feat: Make managed command accept destination directory argsf8eabeffeat: Make unmanaged command accept destination directory args9316c5afeat: Track source state origins more precisely851efe3fix: Fix dropping of input when prompting for multiple values from piped stdin
Full changelog: v2.19.0...v2.20.0
2.19.0 (2022-07-17)
47db454docs: Add section on muting gpg output9dea4eafeat: Add fromToml and toToml template functionsac6af02feat: Add support for AWS Secrets Manager074899dfeat: Allow dashes in keys in template data in config file132d184fix: Fix FQDN hostname on FreeBSD03eb672fix: Fix forget command when asked to forget an external304f52afix: Fix merge command for encrypted files in subdirectories50dd19cfix: make install creates the bin/ dir if necessary, and uses the unambiguous --target-directory form of install.
Full changelog: v2.18.1...v2.19.0
2.18.1 (2022-06-23)
b944a84docs: Add CPU cores/threads template1c60734docs: Improve documentation of chezmoi's concepts2ee341cfeat: Re-enable building of snaps
Full changelog: v2.18.0...v2.18.1
2.18.0 (2022-06-20)
817d3e7feat: Stop building snaps\nab6bc8dfeat: Make add command add empty files, remove --empty flag\n755e02ffix: Don't return an error when the user chooses quit from a prompt\nb554329feat: Implement documented add --prompt flag\nb95449fdocs: Remove stray whitespace\nebeebcbdocs: Add extra documentation to autotemplate\n991a630docs: Clarify what 'source state' means\n2421da8fix: Check .chezmoiversion in init command\n25b32fbfeat: Give more context in Windows errors\n9605e40feat: Make --autotemplate escape template markers\n2c89541feat: Support determining FQDN via /etc/myname\n281e770feat: Support multiple GPG recipients\ncbed719feat: Include git working tree state in doctor output\n87c1a91docs: Use modeline to set filetype in VIM\n1af0576feat: Include last modified time of config file in doctor output\n44762fdfeat: Add quoteList template function\n2bf1210feat: Add textconv configuration for friendlier binary diffs\n814f1f2docs: Refactor Windows chassisType template\n7199cb2docs: Add link to blog\nd29344ffix: Improve quality of POSIX shell scripts\nf2f8d87docs: Add link to blog post\n
Full changelog: v2.17.1...v2.18.0
2.17.1 (2022-05-30)
1f92965docs: Add information about chezmoi_modify_manager8b78d2bdocs: Add link to podcastfdd29a5docs: Fix typo in kubeconfig documentation7d2d629docs: Organize related software page into sub-sections7084bd5fix: Fix dump command in the presence of config file templates2d27229fix: Include git repo commands in dump command output
Full changelog: v2.17.0...v2.17.1
2.17.0 (2022-05-26)
d178db4feat: Add uid and gid template variables658be53feat: Add windowsVersion to builtin template data21e2666fix: Parse $EDITOR and $VISUAL environment variables as shell commands
Full changelog: v2.16.0...v2.17.0
2.16.0 (2022-05-19)
e0b3acefeat: Add support for Keeper password managerc4a4779feat: Build for mips64 and mips64le17c480bfeat: Build for riscv641a63dc2feat: Complete auto bool, format, and mode flag values187112dfix: Connect password manager std{in,err} to os.Std{in,err}7485aeafix: Don't complete _chezmoi in zsh completionef2be28fix: Fix use of slashes in glob on Windows
Full changelog: v2.15.4...v2.16.0
2.15.4 (2022-05-09)
8168ab9docs: Add chezmoiexternal related links to user-guide/reference docsa0d699cdocs: Add example of extracting selected files from external archive47a2940docs: Add some additional details to contributing-changes.md1c11ff1fix: Fix external archive, sub-directory include, no excludes
Full changelog: v2.15.3...v2.15.4
2.15.3 (2022-05-08)
ccb709cdocs: Add hint on random access in modify_ scriptsb525c50feat: Add --guess-repo option to init command
Full changelog: v2.15.2...v2.15.3
2.15.2 (2022-05-01)
cbfe388docs: Add clarification about all lowercase custom data fields84ac2e2docs: Add guide on encrypting files with GPG and a passphrase8552a4cdocs: Add links to blog and video7b83a17docs: Add troubleshooting entry on scripts on Termux4de3fdcdocs: Document workaround for #1574d507609docs: Minor tweaks956b449docs: Use index function to access an item in the example58f9f45feat: Add glob template functionfe0b6cffeat: Build with Go 1.18.1eaa27b3fix: Don't cache negative results of path lookups
Full changelog: v2.15.1...v2.15.2
2.15.1 (2022-04-10)
d297409docs: Add section on understanding chezmoi's files and directoriescd74d0cdocs: Document KeepassXC with YubiKey limitationsf0817a0docs: Fix path to config file template462e547docs: Tidy up KeepassXC reference documentation6cd2766feat: Use diff.command for all verbose output58c458cfix: Fix apply --verbose when diff.command is setf45b73afix: Fix concurrent map writes on sourcestate.ignoredRelPaths95d5298fix: Ignore exit status 1 from external diff commands
Full changelog: v2.15.0...v2.15.1
2.15.0 (2022-04-03)
2fa910fdocs: Add command overviewd051e7adocs: Add link to blog postd2a4417docs: Add link to podcastecdb07bdocs: Adjust documents for 1Password CLI 2.0.0 changes9b1b5fbdocs: Document that the ioreg template function is deprecated8e7bbdedocs: Factor out GitHub template functions into a separate section4cabbc2docs: Factor out init template functions into a separate section19e6d00docs: Factor out password manager functions into separate sectionsf3ef8bedocs: Improve FAQ entry on source state filenamescb02477docs: Improve docs on empty files in chezmoi editcaa9120docs: Update dconf example as dconf only reads stdin08138abdocs: Use $VARIABLE instead of3f035a6feat: Add diff.reverse configuration variabled1374cffeat: Add ignored command38be385feat: Add keepassxcAttachment template function4e6b843feat: Build for s390x architecture523fdb2fix: Fix one line install instructions for Windows8d052c0fix: Fix op signin for 1Password CLI 2.0.08910adbfix: Fix parsing of multiline KeepassXC attributesa08c891fix: Fix use of drives as home directories on Windowsb999509fix: Prefer id over label for onepasswordDetailsFields template function
Full changelog: v2.14.0...v2.15.0
2.14.0 (2022-03-09)
a3a1e17docs: Add contributors image28c2718docs: Add license to website538b982docs: Add link to article32c0f02feat: Add include and exclude patterns to external archivesebfd5b2feat: Add license command5a14326feat: Release raw binaries
Full changelog: v2.13.1...v2.14.0
2.13.1 (2022-03-04)
dd0037bfeat: Add scriptTempDir config var for temporary scripts816e5eefeat: Change default Python interpreter to python3a4d989bfix: Allow user and repo to set in install scripte2e199bfix: Fix confusing error message when using builtin git to init over SSH
Full changelog: v2.13.0...v2.13.1
2.13.0 (2022-02-26)
e8ee359docs: Add link to article3f36946docs: Document extracting a single file from an archive843ba33docs: Improve scripts user guide585adb1feat: Add initial git-repo external typee299d90feat: Add option to exclude externals5f39fecfeat: Add status.exclude configuration variable2451314feat: Add verify.exclude configuration variablefd47686feat: Allow overriding GitHub user in shell installer08991d1feat: Enable GNOME Keyring support on FreeBSD881cb7efix: Correctly cut hostname off at . character
Full changelog: v2.12.1...v2.13.0
2.12.1 (2022-02-20)
1fbc2aefeat: Be more strict about presence of source directorybaac6fcfeat: Support arguments in Windows SHELL environment variable
Full changelog: v2.12.0...v2.12.1
2.12.0 (2022-02-15)
e9342a8feat: Add target-path commandd228a50feat: add support for xz archives6228e09fix: Fix bug where chezmoi init --apply did not configure encryption
Full changelog: v2.11.2...v2.12.0
2.11.2 (2022-02-03)
13de45ffix: Disable problematic concurrent source dir read
Full changelog: v2.11.1...v2.11.2
2.11.1 (2022-02-02)
46c6766fix: Fix race condition with multiple .chezmoiignore files
Full changelog: v2.11.0...v2.11.1
2.11.0 (2022-02-02)
c1271fffeat: Add initial support for 1Password CLI 2.086ec4b8feat: Add remove_ attribute for directoriesdc919e6feat: Include removed directories in diff output of external diff command8a84b31feat: Make chezmoi's core functionality available as a Go module
Full changelog: v2.10.1...v2.11.0
2.10.1 (2022-01-23)
b4841ecfix: Fix add command when parent dir permissions have changed71ca1f6fix: Ignore files and directories beginning with . in .chezmoitemplates2fd7a02fix: Make data and execute-commands not depend on valid source state
Full changelog: v2.10.0...v2.10.1
2.10.0 (2022-01-16)
724227bfeat: Add chezmoi.io/get install URL65b6cb3feat: Add list command as an alias for manageded62bbffeat: Append / to completed directories5aca99afeat: Disable custom completions by default7cd21aafeat: Remove docs command3129886feat: Switch to Material for MkDocs for website
Full changelog: v2.9.5...v2.10.0
2.9.5 (2022-01-05)
b9aeae9feat: Add passFields template function326b578feat: Prompt for 1password password if no session token is set2b98c14fix: Fix shell completion for relative paths35af862fix: Make exit template function init only
Full changelog: v2.9.4...v2.9.5
2.9.4 (2021-12-19)
e25d501feat: Add exit template functioncdac464feat: Add secret keyring delete commande2899b8feat: Improve inconsistent state error with removes05e94c6fix: Add missing --value flag to secret keyring set command5b50963fix: Avoid panic when unknown URL schemes are used68fff1cfix: Fix include template function on Windows with absolute path
Full changelog: v2.9.3...v2.9.4
2.9.3 (2021-12-13)
126cb0cfeat: Add --cache option and .chezmoi.cacheDir template variable89aec79feat: Add more intelligent completion of targets, attributes, and docs66728aafeat: Follow symlinks in .chezmoitemplatese1f2d15fix: Fix .chezmoiversion check when using dev version
Full changelog: v2.9.2...v2.9.3
2.9.2 (2021-12-02)
8e8ef0ffix: Don't mark .chezmoiscripts as suspicious in doctor commanda2c5685fix: Read .chezmoiversion before other files
Full changelog: v2.9.1...v2.9.2
2.9.1 (2021-11-30)
ecb6c1dfeat: Add .chezmoi.configFile template variable3560b20feat: Add .chezmoi.workingTree template variabled70de7afeat: Extend upgrade command to work on more operating systemsd23b428fix: Check for .chezmoiversion outside .chezmoirootccf6971fix: Fix use of .chezmoiroot in multiple commands
Full changelog: v2.9.0...v2.9.1
2.9.0 (2021-11-28)
219a09efeat: Add .chezmoiscripts directoryec2b92afeat: Add edit.hardlink config var and edit --hardlink flag7d31ecbfeat: Add fromYaml template function988fcdcfeat: Add state delete-bucket commandff1e81dfeat: Add state get-bucket commandda41e0ffeat: Add toYaml template function98b6a39feat: Apply diff.exclude to all diffs33c3e97feat: Make verbose settable in the config file5672e1ffix: .chezmoiremove with*when destDir is/aac0fd6fix: Handle symlinks in zip archivese7e6932fix: Respect .chezmoiroot when generating config file
Full changelog: v2.8.0...v2.9.0
2.8.0 (2021-11-20)
9cbfdf6feat: Add --persistent-state option for location of persistent state filecbac205feat: Add --reverse option to diff commanddec8789feat: Add .chezmoi.executable template variable8a6d4d7feat: Add .chezmoiroot to allow source state to be subdir of source dir518313bfeat: Add cache HTTP client to cache downloads in .chezmoiexternal.8e1d647feat: Add gitHubLatestRelease template functionebacee7feat: Add support for Homebrew on Linux to upgrade command3a4c1d0feat: Add upgrade method to doctor command output90120fefeat: Caching the response of the GitHub API240f7ecfeat: Make .chezmoidata.and .chezmoitemplates available in .chezmoiignore 53cfa6efix: Return unparsed gopass output in gopassRaw template funce9e4712fix: Warn, don't fail, if age version cannot be parsed in doctor command016da7afix:lookPathpanics when file does not exists
Full changelog: v2.7.5...v2.8.0
2.7.5 (2021-11-07)
2a39175feat: Add pinentry as an option for reading passwords823836cfeat: Extend chattr command to change target typesbf8a185fix: Make chezmoi add command respect .chezmoiignore
Full changelog: v2.7.4...v2.7.5
2.7.4 (2021-11-02)
9d621f7feat: Add .chezmoi.args template variable27938e6feat: Allow equivalent directory entries in source state and externals6113528feat: Create parent directories for externals if needed83bad0afix: Fix upgrade command for non-amd64 packages
Full changelog: v2.7.3...v2.7.4
2.7.3 (2021-10-23)
Full changelog: v2.7.2...v2.7.3
2.7.2 (2021-10-19)
67e0806fix: Fix promptString default on Windows
Full changelog: v2.7.1...v2.7.2
2.7.1 (2021-10-17)
35eb651feat: Add default argument to promptBool template function7e2e64dfeat: Add default argument to promptInt template function951fc7efeat: Add default argument to promptString template function87033e2fix: Apply .chezmoiignore to externals
Full changelog: v2.7.0...v2.7.1
2.7.0 (2021-10-12)
91c91f0docs: fix .chezmoiignore example92ce33cfeat: Add decrypt and encrypt template functions42e8323feat: Add merge-all commandc8f113ffeat: Add onchange_ attribute for scriptsf54deeffeat: Improve messages and logging when using builtin git init02abd9afix: Allow create_ entries to be templates20abba4fix: Clarify behavior of run_once_ scriptsebc0149fix: Fix status for onchange scripts
Full changelog: v2.6.1...v2.7.0
2.6.1 (2021-10-03)
8d9a89bfeat: Re-enable building with Go 1.16
Full changelog: v2.6.0...v2.6.1
2.6.0 (2021-10-02)
29464c6chore(deps): bump assets/chezmoi.io/themes/bookc189d22docs: Improve docs on externals157b0b7feat: Add --init flag to all relevant commands78ae6c6feat: Add refreshPeriod option to externals3d18ae8feat: Make chezmoi edit invoke editor with target filenames8fda89bfix: Fix upgrade command on non-amd64 Linux machines
Full changelog: v2.5.1...v2.6.0
2.5.1 (2021-09-30)
cbc2f1edocs: Add FAQ entry on diff colors not workingfa09effdocs: fix error in HOWTO guide55a4b93feat: Add --init option to update commandf42866bfeat: Add working tree config option (#1459)f86d7b5feat: Make chezmoi edit with no args open working tree (#1455)b7fb215fix: Allow modify_ scripts to be encrypted
Full changelog: v2.5.0...v2.5.1
2.5.0 (2021-09-23)
48b8096Add Vagrant-based tests to CId439e7fAdd doctor check for multiple config filesa79ba2fAdd example to onepasswordItemFields documentation167638fAdd filter option for externalsccf78c5Add how-to entry on managing file permissions but not contents74c06e4Add link to podcast9e26b17Add readonly_ attribute for files and directories47936f6Add support for .chezmoiexternal files in subdirectories22c3f68Add support for readonly attribute to chattr commanda909463Allow the format of external archives to be set explicitly6f40524Cache Vagrant Boxes in CI6ec4d02Change gitlab link for other people's dotfiles4f1a977Detect archive format from content if needed9996849Detect when the source directory is already in a git working copy4d76d93Disable GPG tests on Windows402c8cbEnable age tests on Windows CIe79bbb1Expand FAQ entry on build from source errors0739933Fix CLI flags not taking precedence over configuration0bf08f4Fix more command line flags overriding config varscbc6b15Fix permissions for CodeQL analysis89a66faFix permissions in diff output when user sets a stricter umask0fa5f5aGuess format of chezmoi archive from output filenameb43e26eImprove consistency of source state read from externals188bae9Improve internal logging infrastructure47ce738Improve logging in Windows CI717b5d1Make Makefile more portablea86ca9eMerge test-release job into test-ubuntu0695b0cMinor docs fixes59cfe21Only create .keep files when adding empty directoriese653627Only warn if version or commit are not set in doctor command839703dPropagate failures in Vagrant CI scriptsab2fa72Reduce duplication of Go version in CI69f6a33Reduce duplication of versions in build and CI systemb5bbe67Revert "Disable GPG tests on Windows"e63d0e7Separate OS-specific CI jobs420ec58Skp whitespace linting of temporary Vagrant filese94cd8bSupport paths containing spaces in VIM integration5460876Tidy up error message when doctor command cannot parse versionea59267Update Vagrant-based testseaad1f6Update dependencies
Full changelog: v2.4.0...v2.5.0
2.4.0 (2021-09-10)
736aaa1Add decrypt command0b2692aAdd doc on detemining whether the machine is a laptop or desktoped65ef6Add encrypt command98b92c2Add initial --use-builtin-age flagdd116f7Build with Go 1.17.163610a4Extend init command to guess the user's username for private repos34ecd67Fix internal capitalization of ageda04181Simplify internal use of auto bools2ff4151Update dependencies
Full changelog: v2.3.1...v2.4.0
2.3.1 (2021-09-08)
4fa36eeAdd link to blog post778fd4cAdd link to podcast89fd238Add new media links60703f8Add onepasswordItemFields template function57ab1f2Append path arguments to diff command if not provided by usera761f3fAppend path arguments to merge command if not provided by user62e02ffBump age to version 1.0.08370209Bump golangci-lint to version 1.42.15a51c9eConceal the user's username in doctor command outputa318652Require Go 1.17 to build and log Go version in debug mode
Full changelog: v2.3.0...v2.3.1
2.3.0 (2021-09-04)
7cee590Add how-to entry on using private dotfile repos9e77ea5Add remove_ attributead1c938Add support for zip archives to .chezmoiexternal5c61b95Add support for zip archives to import command433bdccAdd umask check to doctor command091979dAdd undocumented --safe=false command line flag2ff4214Bump assets/chezmoi.io/themes/book from50147betoa656d7101ac1d0Fix install from source documentation8ca5448Improve contributing docs97a7e0eLog debug information in chezmoi apply0a2a40cLog version and args on startup in debug mode767e834Remove accidentally unimplemented --remove option570f91aRemove stale FIXMEs
Full changelog: v2.2.0...v2.3.0
2.2.0 (2021-08-30)
c03209fAdd .chezmoiexternal for external files and archives0346200Add support for encrypted externals49c34eaAdd tests for multiple OSes using Vagrant08822e2Check all shell scripts with shellcheck9a9d2f2Fix bug when using custom diff tool on a file in a subdirectory0d82773Make Makefile more consistentd6f48f4Pass context when reading source stateb06c2a6Recognize .tbz2 files as archivese946bf5Reduce test verbosity on Cirrus CI3b84841Remove Cirrus CI434c29fRename internal variables for consistency78d52d2Suppress initial branch name hints from git in chezmoi init00763d2Tidy up code structure021eaf1Tidy up documentation4937ea6Update dependenciesa6e3d9aUpdate media links2cec38fUpdate tests for OpenBSD tar output
Full changelog: v2.1.6...v2.2.0
2.1.6 (2021-08-22)
3c476d9Add --recursive flag to remove command461ea4aAdd executable check to doctor command20b323cAdd link to podcast and notesbec5350Add more explicit documentation on config file location994e633Add more related software81094bfAdd note on using -- in chattr70efaabAdd test of the output and fromJson template functionsa25b911Add windows/arm builds137e07eBuild with Go 1.1711d84edBump golangci-lint to v1.42.06d5f658Create .keep files when adding directories4619b09Fix bug where adding a dir with a trailing slash added it twice8eef5e4Fix creation of .keep files when umask is 0025afe5a2Improve how-to on diff and merge customizationde5cb42Improve type safety in encryption codef8d7368Make remove command remove entries from persistent stateed95a58Miscellaneous Go 1.17 fixes5b0138aTidy up suspicious entries list in doctor commanddc319c4Tidy up test scripts5d2126bTranparently decrypt files in merge command
Full changelog: v2.1.5...v2.1.6
2.1.5 (2021-08-11)
817e4d9Add --config-type option so config file can be read from stdin7b3e307Add function for running idempotent commands002742cAdd initial suport for external diff toolse4ac1b5Add symlink mode7576466Build with Go 1.16.7182b937Fix chezmoi execute-template --init to not read chezmoidata60ae6b2Fix spacing error in docs8144975Fix the FreeBSD installation method0eb5348Improve error messages for configurable merge tool arguments3304f6aImprove internal testing functions2726d9fInclude .exe extension in Windows build artifact name70a85f0Normalize symlinks on Windowsd79c30eRename internal function for claritycb4ee88Tweak doc formatting
Full changelog: v2.1.4...v2.1.5
2.1.4 (2021-08-04)
a4eeff4Add inital undocumented mackup add command1dfae81Bump assets/chezmoi.io/themes/book frome939f40to50147be42e1f2fFix crash when color was set to auto in config file49e9b46Fix grammar43a0f1eFix some minor internal inconsistencies91d10b0Fix tag line in reference manualdc6011bMake order of arguments to merge command configurableb074718Tidy up order of struct fields23059ebUpdate contributing doccdbc085Update dependencies
Full changelog: v2.1.3...v2.1.4
2.1.3 (2021-07-31)
62bc51aAdd VCSH to comparison chart69dc0f3Add hidden internal-test command for internal testingf9771a9Add more media linksf0e7dceAllow entering username/password when using builtin gite23dcc3Bump golangci-lint to 1.41.1bd9e485Correct git archive import features1d433a2Fix formatting in comparison tablebf77f76Normalize cell length in Markdown table9820eb2Reduce test verbosity in CI74811b2Remove incorrectly documented short optiondde40d0Set the record straight on some bare-git featuresd4971edTidy up comparison tablecfe9084Tidy up repo guessing code523496cTidy up username and password requests when using builtin gitb51c080Update dependencies4282879Update dependenciesf00f6b5Update recommended podcastaae3a82Use golang.org/x/sys/unix package where possible79d5348Use target name when editing files47de173Use terminal to read password on Windows
Full changelog: v2.1.2...v2.1.3
2.1.2 (2021-07-14)
db62a0bAdd FAQ entry on chezmoi cd80d925fAdd link to blog4da300aAdd more media entriesacc950dAllow install of chezmoi from a powershell where StrictMode is on19500e0Allow source directory to be a symlink7b572a8Build with Go 1.16.61ba3727Fix doctor check for suspicious entries7c688efMake .chezmoi.kernel template variable more genericdcf0ba1Make .chezmoi.osRelease template variable more generic38d163dMake modify scripts always overwrite the target without prompting173ab68Populate all default template variables35de5adRemove .chezmoi.homedir template variablebb0d23eTidy up issue templates
Full changelog: v2.1.1...v2.1.2
2.1.1 (2021-07-11)
91c4031Fix config file code snippet in HOWTO0b499d7Fix panic when destination directory is /9660b12Improve shell completions9d02a5aTidy up onepassword template functionsf4e004aUpdate doc on how to migrate away from chezmoi5705e04Use fs.WalkDir functiond1fef1cUse script extension to determine interpreter
Full changelog: v2.1.0...v2.1.1
2.1.0 (2021-07-02)
d506456Add .literal suffix to make all filenames representable0f8a0aaAdd gopassRaw template function646f4f3Add literal_ attribute to make more filenames representablee872fa3Add mozillaInstallHash template function7cac834Add optional account arg to onepassword template functions79ad5feAdd passRaw template functiond84b0a7Bump assets/chezmoi.io/themes/book from4540d66toe939f40efc96d6Tweak Go modules check
Full changelog: v2.0.16...v2.1.0
2.0.16 (2021-06-27)
7b57397Add --config-path option to init command12fbe0aFix FreeBSD install instructions32d4a92Improve documentation of chezmoi edit4100279Include FreeBSD build in testsc5cb349Make osRelease and kernelInfo template vars available on all systems where present31a5fb7Prioritize /etc/hosts over /etc/hostname for FQDN hostnameef49f6aTweak FAQ on chezmoi edita441236Update dependenciese9c2155Update dependencies9bf5265Update docs so that oh-my-zsh tarball goes to TMPDIR instead of HOMEaf34a92Update golangci-lint to v1.41.0
Full changelog: v2.0.15...v2.0.16
2.0.15 (2021-06-17)
d02e707Update GoReleaser GitHub token
Full changelog: v2.0.13...v2.0.15
2.0.13 (2021-05-27)
fba2ec9Add --ssh option to init command to guess SSH repo URLs6793811Add .chezmoi.sourceFile template variable811fb19Add age howto9efc082Add findtypos check8b35f3dAdd forgotten --include option to add commanda706029Add how to for managing part of a file2b546b7Add how to for using chezmoi with brew bundleca607a4Add how to on running a script when another file's contents changes0342271Add link to github.com/hussainweb/ansible-role-chezmoi56b3666Add maximum width to docs output9fbaba1Add more media links7839bfeAdd re-add commandd8f8addAdd test for template data in chezmoi init --apply7f8716aAdd writeToStdout init template function5497b85Bump age version to 1.0.0-rc.2 in tests918c2b7Bump golangci-lint to v1.40.1ca54fa3Disable exhaustive linterbfc32b2Ensure that parent directory exists in import examplesc69e066Fix security table of contentsa69d2ffFix typosbebdcebFix typos and receiver names6c952ebFormat code blocks in documentationcdaa1d3Improve code documentation3539609Improve consistencyf0c11ceImprove consistency of reference documentation09c3530Include Linux OS release name and version in doctor output, if available5023553Make how to section on ignoring files easier to find5eb6defMove cmd package to internal/cmdcf97df1Move internal/cmd to internal/cmds320cb8dMove security policy into docs049d7e8Move security policy into docs3ca09dbOnly create templates with chezmoi add --autotemplate if a replacement occurred98d9607Reference .chezmoidata in template data documentation1c0e836Remove stale FAQ entry802c6caRemove stale docs on diff.formatdf0ea51Remove unnecessary SourceRelPaths typeab16f1bRename function argument for clarity883a5f0Reword intro commandsc0a9fa4Tidy up how to8eb212cTidy up symlink documentation01c812bTidy up tests009a796Tweak documentation0e800adTweak examples and docs a little more35ea315Update Go to 1.16.4cce08bbUpdate Windows Subsystem for Linux detection how tode341d2Update dependenciesb33ca40Update golangci-lint to 1.40.02bededbUpdate link to path matching function034b8d3Use io/fs package instead of os66fbcb6Use neutral names in docs and testsb6ab19eUse pager for docs and make pagers more configurable891e461Use quote function instead of literal quotes in docs7526fa5Use stringSets for known filenamesd858159Use temporary files, instead of stdin/stdout, when calling gpg
Full changelog: v2.0.12...v2.0.13
2.0.12 (2021-05-10)
1393e41Add Architecture guide942d536Add another method of detecting OS architecture for robustnessda611c9Bump chezmoi.io/themes/book from1e4bcc2to62004503e562c5Correctandtemplate example in How To guide8bbf1b8Don't atempt to use reverse DNS to determine FQDN hostnamece2d86aHandle EINTR from syscallf188ab5Improve error message when persistent state is locked89d36ecImprove reliability of Powershell installer18cf1efIncrease verbosity of tests in CI06674abMake chezmoi forget also remove entry from statebc2a07cMove VIM tip from reference to how-toaeb781eRemove debug code6eb89abRemove unnecessary AbsPaths type155e53fRemove unnecessary RelPaths type361ce17Remove unnecessary typecastsf51fc68Simplify EINTR handlingb3529bfSort unexported variables after exported onesfbf260fSuppress warnings in tests about git default branch name9ae0d58Tidy up flag parsing and help outputbc48485Update dependencies08336adUpdate dependencies037a372Update last written state when target and actual states are equivalent3c273d6Update rpm zsh completion directory to match recent Fedora versions.3a06eb8Use /etc/hostname to determine hostname, if available421d43bUse c.errorf instead of cmd.Printffb616d9Validate generate config before writing it in init command
Full changelog: v2.0.11...v2.0.12
2.0.11 (2021-04-26)
dfd8145Add Makefile targets for coveragec2c5ff4Add import --exclude option546070bAdd related software documentation179cbfcAdd wget one line install instructionsba3c28dBump Go version to 1.16.3 on Cirrus CI4a82d68Do not follow symlinks if the file will be ignored anyway1a7d396Explicitly document need for data in template action4ecd1dbExtend include template function to handle absolute paths4503be6Fix checksums.txt upload stepa7a8ae2Fix panic when using diff --excludea19217fFix typos in comments5d4f02cFix typos in docs07127cfFix typos in test commentsa48a9d8Ignore whitespace errors in .vscode/settings.json173732fImprove parsing of auto boolsbdab05dMinor tidy-upsb9dcd48Tidy up path handling4c51578Update dependencies91a2e9fWarn user when add command would remove encrypted, private, or template attributed2d96b0Write prompts to stdout, even when --no-tty is specifiedb1501adfix typo
Full changelog: v2.0.10...v2.0.11
2.0.10 (2021-04-15)
6a8855eAdd add.templateSymlinks configuration variablee1612f6Add diff.exclude configuration variable9b7c35cAdd editor config for PowerShell scriptsacfec8eAdd infrastructure to read entry type sets from config1d42c99Add init --data optionc3b8073Add mitigation for when actual state does not match persistent statee8229a9Add state data, delete, get, and set subcommands4459193Add test for re-adding file with and without --encrypt5331014Add tests with different umask values5f47aaaAdded --template-symlinks-home and --template-symlinks-source804e135Consolidate symlink tests93c53daDocument one-line chezmoi and dotfiles installd41951fDon't assume that gpg is installed in tests992b923Make --exclude option per command instead of globalb00710bMake --template-symlinks option a bool that checks source dir and home dir8322943Make chezmoi init --one-shot also include --purge-binary38cb1d2Only install glibc/musl-specific binaries when they are available3782e93Re-enable passing teste50575cRelease both checksums.txt and chezmoi_${VERSION}_checksums.txt141a9b1Replace --template-symlinks-home and --template-symlinks-source with --template-symlinks=value5920345Revert to standard actions/cache2436c92Store actual umasks in state file703be4eTidy up table of configuration variables45f6429Tweak documentation865c379Update Go module version to match tag8090122Update dependenciesc48de4cUpdate prefix documentation8755cb6Use default checksums file in install scripts
Full changelog: v2.0.9...v2.0.10
2.0.9 (2021-04-04)
Full changelog: v2.0.8...v2.0.9
2.0.8 (2021-04-03)
2cdbbd7Add tests for symmetric GPG encryptione444344Build with Go 1.16.36755586Bump chezmoi.io/themes/book from60dfd9ato1e4bcc2b6d33d9Bump ludeeus/action-shellcheck from 1.0.0 to 1.1.00c37c54Fix absolute path check5e54964Fix typob990f3dFix typos7bce9faTidy up comparison doc040ef45Update PowerShell install script to use checksums.txt351172fUpdate install script to use checksums.txt5976c07fix: gpg symmetric passing wrong arguments
Full changelog: v2.0.7...v2.0.8
2.0.7 (2021-03-31)
1ce1944Restore original checksums filename
Full changelog: v2.0.6...v2.0.7
2.0.6 (2021-03-30)
de636f1Add System.IdempotentCmdCombinedOutput2348d6aCheck for libc version in upgrade command406cdc5Rename variables for consistency58aac9bRestore build of non-libc-specific Linux archives75681a7Use emojis in comparison
Full changelog: v2.0.5...v2.0.6
2.0.5 (2021-03-29)
1a2e4e9Add -Force option to Move-Item command.c1e5a8cAdd darwin/arm64 to install script3e7bbdeAdd link to blog post5468d3dAdd stdinIsATTY template function5135e06Correct function name in documentation639adcfFix issue in example for trying to use existing boolean vars first in How To section: First arg of get doesn't have to be in quotes.c6271adImprove install script error handlingd5e5afcMake .chezmoi.sourceDir template variable a string83a1b65Make install script install glibc or musl libc version as appropriate382988dOnly evaluate target states when needed03a3780Reduce severity of doctor warning if gpg is not installedb196247Simplfy managed test67c57d5Split large functions into smaller functionsf548ba3Tidy up handling of script working directoriese996856Tidy up make generate target30f1ab9Unlock state when running editor or merge commandff4bf5aUpdate dependencies0e824ffUpdate golangci-lint to 1.39.0731a622Use the first existing parent directory for a script's working directory.
Full changelog: v2.0.4...v2.0.5
2.0.4 (2021-03-24)
6dca5aaAdd age binary check to doctor command54ef893Build libc-specific archives2eb70bfFix noupgrade build tags1833b11Make doctor command more friendly about missing binariesae2f0d2Only update state if target was actually changedb36175dRemove stale reference to go generatef918459Update howto to use main instead of master
Full changelog: v2.0.3...v2.0.4
2.0.3 (2021-03-22)
17e4976Document empty_ for file target types0ee8476Factor out GitHub clientbccd093Fix editing of encrypted files in subdirectoriese35be17Internal tidy-up237b3f5Remove noembeddocs and nodocs build tags34782e1Remove symlinks whose targets are empty20c63f1Restore upgrade command
Full changelog: v2.0.2...v2.0.3
2.0.2 (2021-03-19)
8c66bbcAdd new attributes to chattr reference documentation.ded9eccAdd removeline test function700db6eAdd tests for --exclude=encrypted option966d45aConnect stderr when invoking encryption tools058497eDetect encryption if group set in config file091028fExtend cat command to print scripts5e5f377Improve encryption integration tests9bc28b7Remove temporary version override
Full changelog: v2.0.1...v2.0.2
2.0.1 (2021-03-18)
0b8b5b0Fix panic when displaying scripts in diffs2ba9aedInclude scripts to be run in diffs by default316371fUse notepad.exe, not vi, as the default editor on Windows
Full changelog: v2.0.0...v2.0.1
2.0.0 (2021-03-17)
ebdd6f4Add chezmoi apply --source-path tests7caf314Build with Go 1.16.245f2ca4Improve documentation of gitHubKeys template functioncb43820Improve error messages from 1Password template functionsa665328Initialize thekeyringcachee9022e5Minor documentation fixes2ccc16aOnly log when --debug is set784a08cPreserve homedir template variable for backwards compatibility09fb2cfRefresh github.com/actions/cache by changing keya8eb3a9Tidy up changes doc for v26f459afUpdate FAQ for chezmoi v24cbc07bUpdate comparison doc for v21c68a53Update dependencies08aff38Update documentation and release process for v2 release9b6b8f1Update quick start guide for chezmoi v2
Full changelog: v1.8.11...v2.0.0
1.8.11 (2021-02-05)
Internal changes only
Full changelog: v1.8.10...v1.8.11
1.8.10 (2020-12-20)
Internal changes only
Full changelog: v1.8.9...v1.8.10
1.8.9 (2020-11-20)
Full changelog: v1.8.8...v1.8.9
1.8.8 (2020-10-31)
Full changelog: v1.8.7...v1.8.8
1.8.7 (2020-10-10)
3b285d9Fix release tests
Full changelog: v1.8.6...v1.8.7
1.8.6 (2020-09-28)
Full changelog: v1.8.5...v1.8.6
1.8.5 (2020-08-22)
Full changelog: v1.8.4...v1.8.5
1.8.4 (2020-08-12)
Full changelog: v1.8.3...v1.8.4
1.8.3 (2020-06-25)
Full changelog: v1.8.2...v1.8.3
1.8.2 (2020-06-09)
323cba5Fix release job
Full changelog: v1.8.1...v1.8.2
1.8.1 (2020-05-06)
4def4f3Fix typocbf8d4aMerge pull request #731 from twpayne/faq-tidyd604fa5Improve FAQb962e36Merge pull request #729 from twpayne/strings-builder610701eUse strings.Builder instead of bytes.Buffer0bc0257Merge pull request #728 from twpayne/execute-template-improvementse3b3da1Improve FAQ entry on managing files outside target directory11aad4dAdd --output option to execute-templated6b059cMerge pull request #724 from twpayne/octal-literals604dca2Format octal literals consistentlyb68bd53Merge pull request #720 from twpayne/fix-git-diff-func-colore16ebdaFix color of hunk context in git format diffs34fc1b5Merge pull request #723 from twpayne/auto-escape-templates7d8c6d2Auto escape template delimiters when --autotemplate is set36b1f44Merge pull request #719 from twpayne/infrastructure-improvements0cee057Merge pull request #718 from twpayne/howto-external-modifiede800dd0Use Makefile for CI steps4e9e654Separate out local imports09b38ceImprove how to for tracking externally modified files5752e26Merge pull request #717 from twpayne/no-color519ec22Update pull request template590c721Add support for NO_COLOR environment variable70c4edaMerge pull request #714 from twpayne/improve-contributing30a2b81Remove old linter suppressions57fbcb7Make list of enabled linters explicitec44e08Improve infrastructure for contributors3bad347Add pull request template81bfc76Merge pull request #715 from twpayne/fix-git-status-parser70e8e2cEnable autocommit and autopush for chattr command94c02a0Fix git status parsing for renames175601eMerge pull request #709 from ihommani/master31c646dMerge pull request #698 from twpayne/color-git-diff810607cAdd colored git diff support93c03e7Make --color option accept boolean valuesb640720Merge pull request #712 from twpayne/generic-secret-string1e699eaMake secret template function return a string, not a []bytec9081acMerge pull request #710 from twpayne/gofumports-tidye458bedCompact type declarations6002344Add images to illustrate chezmoi principles8b5b0f5Merge pull request #687 from twpayne/golangci-lint-next9271f90Merge pull request #707 from twpayne/no-dev-upgradef10697bUpdate golangci-lint to version 1.25.01d7dc3dDon't attempt to upgrade dev versions without --force flag0796dd8Merge pull request #704 from twpayne/doublestar-globceb6307Use doublestar for all globs9f0b03eMerge pull request #703 from twpayne/go-generate-completions0eb3917Generate completions with go generate instead of make3ea95e5Add --output option to completiond256de8Merge pull request #702 from twpayne/execute-template-initcd42fb0Add --init and --promptString options to execute-template1760187Fix generated docsdd7edf8Merge pull request #697 from stephengroat/patch-1442c85dMerge pull request #699 from twpayne/gopass-versionf8bd952Update gopass version detection124ab05install from homebrew-cored2d43e9Merge pull request #695 from twpayne/umask-docsf1cbbd6Improve reference docs3e6700eAdd more documentation on umask2d4f690Merge pull request #689 from stephengroat/patch-1bd72b50Use goreleaser github actione0c120cMerge pull request #693 from twpayne/doublestar67d5746Use doublestar.PathMatch for path matchingfd29c6eMerge pull request #692 from twpayne/fix-media-pagefe13fc7Fix media page
Full changelog: v1.8.0...v1.8.1
1.8.0 (2020-04-19)
017a83fMerge pull request #686 from twpayne/tidy-up-github-action91581ecTidy up GitHub Actionsf642fb4Merge pull request #685 from twpayne/media35cc601Update README.md79b9ae0Add media pagec02d8e3Merge pull request #684 from twpayne/gpgrecipient-warning5e03393Add warning when source version control system is not git56436acAdd warning when config file uses gpgRecipientcc816d2Merge pull request #679 from twpayne/fix-add-dir89dc01bAdd how-to entry about creating empty directories8499f4dCreate .keep files when adding directories non-recursivelyaba694fMerge pull request #678 from twpayne/git-diffcdb5a0aAdd git diff formatca9d8d9Merge pull request #674 from twpayne/diff-pager14b1197Add diff.pager config optionedc0d55Merge pull request #675 from twpayne/autotemplate-implies-template5ba7692Make --autotemplate imply --template0b56b08Merge pull request #676 from twpayne/fix-snap-pathd2bb6fcUpdate path to goreleaser in GitHub actionc603bb3Merge pull request #672 from twpayne/managed36bd3f4Iterate on managed command1d2c1d1Merge pull request #671 from twpayne/document-lowercasing08f2319Document Viper's lowercasing of variable names709b141Merge pull request #670 from twpayne/investigate-668854a931Add test for adding empty directory without recursionc1c19fbMerge pull request #669 from twpayne/upgrade-deps1489cacUpgrade dependencies987450bMerge pull request #665 from remigourdon/add-managed-command469ab7cAdd managed commandf89a8c3Merge pull request #667 from seberm/feature/add-gpg-command-into-config2fca0aeAdd option to configure gpg commandecb873bRemove stray debug code49fb084List repos tagged with chezmoi by most recently updated first6675562Merge pull request #658 from twpayne/update-readme8fc4d38Update README.md76e7e03Merge pull request #657 from twpayne/symlink-templateba47581Add separate config files how-to entry
Full changelog: v1.7.19...v1.8.0
1.7.19 (2020-04-06)
c4dd796Merge pull request #656 from twpayne/non-hermetic-functions82f9922Include non-hermetic text functions from Sprig8d538beMerge pull request #653 from twpayne/purgee384392Add purge commande6b1424Merge pull request #652 from twpayne/dont-compress-docs9e2879fDon't compress embedded assets1767ad7Merge pull request #651 from twpayne/template-docs6914b1fUse TOML in reference manual example53f92d5Improve template documentation4e46435Merge pull request #649 from twpayne/fix-550bcd0750Fix behavior when adding an empty file without --emptyd6f80bbMerge pull request #647 from twpayne/umask42d04f7Merge pull request #648 from twpayne/min-go-version9b2f286Use umask when creating any file or directoryca416dfEnsure that chezmoi is built with Go version 1.13 or latere607dc8Merge pull request #646 from twpayne/fix-linkfced112Fix link in quickstart guide
Full changelog: v1.7.18...v1.7.19
1.7.18 (2020-03-29)
8284da7Update contributing guide with new version embedding mechanism6ebf442Merge pull request #644 from twpayne/fix-version1257ea8Refactor version number embeddingf92a292Bump golangci-lint to 1.24.02db0aadUpdate chezmoi.io home page to match README.mdb1a341bMerge pull request #641 from ihommani/639_enhancement_documentationf9ad39a[639_enhancement] Fix features part documentation453d152Merge pull request #640 from twpayne/trim-spacebd78980Strip leading and trailing space from values read from user96e0deaMerge pull request #635 from ptxmac/windows-trimfe98ddeRevert "Only run CI on pushes"7985de8Regenerate documentationda30f18Merge pull request #638 from nawordar/patch-1b90fc91Change . to dot_ in symlink template example568fb50Improve windows support by removing carriage return from prompts
Full changelog: v1.7.17...v1.7.18
1.7.17 (2020-03-21)
db03a2bMerge pull request #634 from twpayne/ignore-lookupgroupid-errorsd22a3cfOnly set group value if user.LookupGroupId succeedsd0ab459Merge pull request #633 from twpayne/allow-kernel-fail74297e8Make reading /proc/sys/kernel more tolerant of errorsd289303Merge pull request #631 from twpayne/update-dependenciesf671329Update dependencies208de3aMerge pull request #630 from twpayne/template-options4926a16Add option to set template optionsa75a1f7Switch to functional options for TargetState21f46e0Merge pull request #629 from twpayne/execute-templateb047430Add execute-template command79d7ddfExport TargetState.ExecuteTemplateData771e4e7Merge pull request #626 from twpayne/editor-with-argsd65ec45Allow EDITOR and VISUAL to include arguments733b547Merge pull request #624 from twpayne/add-thanks-faqa4e76f3Add thanks FAQ entry298c27fMerge pull request #623 from twpayne/mark-auto-commit-stable6d450c1Mark autoCommit and autoPush as stablecda7249Merge pull request #622 from twpayne/document-ignoree3caa96Improve documentation of .chezmoiignoreefddb59Only run CI on pushesae4bbc9Merge pull request #620 from twpayne/refresh-readme07fb826Refresh documentationec3b896Merge pull request #618 from twpayne/go-1.14ea3d8d2Add freebsd/arm64 and openbsd/arm64 builds098c28cBuild with Go 1.14e05e396Bump golangci-lint version to 1.23.8
Full changelog: v1.7.16...v1.7.17
1.7.16 (2020-03-04)
ce06ed9Merge pull request #617 from twpayne/fix-commit-message-template-patheb0129fFix path to commit message template assetb03639bTidy up link fixes37c54aeAdd missing punctuation509b93aMerge pull request #616 from twpayne/fix-chezmoi.io-links37d35c8Fix links on chezmoi.io
Full changelog: v1.7.15...v1.7.16
1.7.15 (2020-02-26)
a7b5607Merge pull request #612 from twpayne/revert-assets1403b64Revert "Move completions into assets directory"
Full changelog: v1.7.14...v1.7.15
1.7.14 (2020-02-25)
559da47Tidy up release process9f8b2b6Merge pull request #610 from twpayne/bump-dependencies0d429c8Bump dependencies7192a91Revert "Move cmd into internal directory"106aef2Merge pull request #609 from twpayne/misc-fixes2d466dbMove scripts into assets directory5317fe6Move cmd into internal directoryb34673dMove completions into assets directory40d92ccMove templates into assets directoryc74392aMove images into assets directory4fc9f6bTighten up return typed3ff731Merge pull request #608 from twpayne/lastpass-rawc39b714Add lastpassRaw template functionff00fedFix documentation for lastpass note parsing2c3f7e2Merge pull request #606 from twpayne/improve-docs2fbaf35Improve docs0cd7bdcMerge pull request #605 from twpayne/strip-symlink-template-whitespace49ba065Improve template documentation251f698Trim whitespace from evaluated symlink templates948f293Merge pull request #603 from twpayne/renable-snap-bash-completion8840ecfRevert "Temporarily disable bash completion in snaps"a9e7cb7Switch from godoc.org to pkg.go.dev0b2decbMerge pull request #602 from twpayne/doc-cleanups27790dbUse cobra.Command.Printf instead of Config.warnda9d72aAdd custom help commandd847c8fMake short helps more consistent3259503Fix more typos and clean up docs3114a51Fix typo08cabcaMerge pull request #597 from twpayne/cd-command-config6114041Add cd.command configuration variable34c402bMerge pull request #600 from MunifTanjim/docs/fix-reference-sourceDir-default-value62c9d45Fix sourceDir default value in docsb7b8e1eTidy up issue templates
Full changelog: v1.7.13...v1.7.14
1.7.13 (2020-02-13)
ed3584cTemporarily disable bash completion in snapsc11e4c9Merge pull request #595 from twpayne/fix-59423bda0aInclude relative path in template name37096b0Merge pull request #592 from twpayne/update-toml5d20cbfUse github.com/pelletier/go-toml to handle TOML1624695Merge pull request #591 from twpayne/functional-config-optionscd49a3fUse standard directories in all testsdc82787Make tests more verbose by default1b50624Simplify I/O handling in Config4610fecUse newTestConfig function in tests8bea1b2Add newTestConfig functionc475c5eUse functional options to construct Configs552151dDon't include destination directory in dump output5e8b893Merge pull request #590 from twpayne/template-funcs-in-config-template8771b2dMake all template functions available in config file template0d8ddd6Merge pull request #588 from twpayne/misc-fixesc62befaBump golangci-lint to v1.23.3de3d05bCheck more errorsb3dfbeaUse more specific receiver64a30b2Avoid unnecessary calls to Stat before MkdirAlla65f193Use Config.warn consistently3e2fd5bMerge pull request #587 from twpayne/format-assets02ae747Compress assets as much as possible840d00eWrap generated code at 80 columns7ac364bTidy up contributing docs61a5942Merge pull request #586 from twpayne/remove-empty-symlinksa13cff2If a symlink is empty, remove the targetc39c254Merge pull request #584 from twpayne/no-large-diffsbde4d3eDon't print diffs if file is larger than 1MBecfba0eMerge pull request #582 from twpayne/use-issue-templatesf03e442Link to issue templates in documentation17ceb5fWhen looking for an entry, return an error if it does not exist (#581)a5785d3When looking for an entry, return an error if it does not exist5099fedMerge pull request #579 from twpayne/upgrade-checksum7b6fa02Fix upgrade checksum filename
Full changelog: v1.7.12...v1.7.13
1.7.12 (2020-01-24)
bed22fcRename internal command for consistency (#576)ac77728Simplify code generation395b450Rename internal command for consistencye938d4cRemove debug code52e49adImprove packaging of assets (#575)7c6d8e7Improve install-tools targetca61c8dImprove packaging of assets92deba6Update dependencies (#571)c8f7305Update dependenciesfe7728eMerge pull request #569 from twpayne/linux-installc9df290Add NixOS Linux install instructions1d1230dUpdate Alpine Linux install instructions888736aAdd note about installation instructions to contributing guideae3666bMerge pull request #568 from twpayne/issue-templates0659f65Tidy up issue template markdowne536db5Merge pull request #567 from twpayne/support-request0782706Add support request issue template7b5f645Merge pull request #565 from twpayne/fix-install.sh699d0b5Remove no-longer-correct action to build install.shc882899Restore default arm buildsddde88bMerge pull request #563 from ndt/patch-131d9a40Update install.sh185e2c9Merge pull request #562 from twpayne/commit-faqb5cfe03Add FAQ entry on committing changes65694b2Update tables of contents48c0d31Merge pull request #560 from twpayne/source-alias4ab59dfAdd hg commandc8010c2Add git commandf30445bDocument aliases372c392Merge pull request #559 from twpayne/zsh-completions9795d04Add zsh completions for positional arguments2d5a384Fix missing Oxford commaf9bd8bbDon't compute full target state in data command (#557)1b630ceDon't compute full target state in data commandf563a08Merge pull request #556 from twpayne/windows-colors6cec157Enable virtual terminal processing on Windows0b3aa77Use golang.org/x/crypto/ssh/terminal instead of github.com/mattn/go-isatty
Full changelog: v1.7.11...v1.7.12
1.7.11 (2020-01-09)
acf3478Merge pull request #553 from twpayne/keepassxc-show-protectedff4f8d9Pass --show-protected to keepassxc-cli version 2.5.2 or later3788d1bMerge pull request #549 from twpayne/improve-template-docs16e1fa9Validate variable names in config data73d2aa7Improve template how-tocf6b4a7Merge pull request #543 from twpayne/release-improvements87881f2Consolidate GitHub Actions92ce3c4Add arm7 builds1f01859Tidy up goreleaser config4be8957Bump golangci-lint to version 1.22.23e733b1Merge pull request #547 from twpayne/update-glamour128c291Use Glamour's ASCII style for rendering docs3df4931Fix use of autotemplate in how-to doc (#546)ac494eeFix use of autotemplate in how-to docacdd04dUse more reliable install-from-source method (#541)f6fb2dcUse more reliable install-from-source method73d325eRender docs with github.com/charmbracelet/glamour (#537)0d2c73dRender long help and docs with github.com/charmbracelet/glamourea4b6c4Fix autotemplate docs
Full changelog: v1.7.10...v1.7.11
1.7.10 (2019-12-27)
74f6b5bAdded kernel information to datad318b14Consolidate data source filesb603f77Don't automatically assign bug label in bug report template4f65240Only set osRelease on Linuxa402f9eRemove stale entry from .gitignoree271597Treat adding an empty file without --empty as removea698afeTreat adding an empty file without --empty as remove (#536)db2e446Trigger CI on pull requests6559538Tweak markdown to avoid Hugo bugb4f0cbcUpdate homepage in snaps and brewsb10aa9fUse standard source directory in tests14a9c3btypo
Full changelog: v1.7.9...v1.7.10
1.7.9 (2019-12-20)
8908b55Do not print idempotent commands in verbose modea1caca6Don't add files if template would be overwritten91e562aDon't quote shell args just because of equals signs2992fceDon't quote shell args just because of equals signs (#515)8cea741Improve contributing docs5b488deImprove contributing docs (#516)2a164f9Iterate on GitHub Actions90c506bIterate on infrastructure (#524)5d16890Preserve but don't enforce private on Windowsd58df90Quote command args in debug mode035e416Reformat tables of content with latest Markdown plugin61611b5Simplify generated help templateac4f8d0Update Alpine Linux install instructions7d84ccfUpdate Alpine Linux install instructions (#514)ddd0b62Update all dependenciese349fefUpdate all dependencies (#520)5f6943cUpdate install.shd6970d1Update issue templates8825d44Use go/format instead of gofmt7a41df2Use go:generate more idiomatically6a9256aUse more specific command for generating help
Full changelog: v1.7.8...v1.7.9
1.7.8 (2019-12-13)
d106ef6Include generate step in release builds
Full changelog: v1.7.7...v1.7.8
1.7.7 (2019-12-10)
de86467Use GORELEASER_GITHUB_TOKEN for releases
Full changelog: v1.7.6...v1.7.7
1.7.6 (2019-12-10)
e74485fAdd Alpine Linux installation instructionscd50d7bAdd ShellQuoteArgs954b51aAdd contributing guide for documentation changesce5d509Add link to Windows binaries and GitHub releases pagef93c255Add updating chezmoi.io to contributing docsa0e061aCorrect use of setup123fb2aEnable dupl linter1db6960Export MaybeShellQuotee20f00aFix website automation for when gh-pages branch does not existf1b4221Fixed a type in completion exampled3c75daFixed a type in completion example (#508)5a687a2Improve documentation (#509)fa8e001Improve install docs (#506)a23c640Improve template errors (#504)34b3fb2Indent all YAML files consistentlyff7dd1bMiscellaneous fixes (#505)c5d9ce0Omit unknown components from --version outputa5321f6Prepare docs for next releaseaddb0cbPrepare docs for next release (#511)cf457c4Quote command arguments if needed in template error messagesa4c459eRelease future Windows binaries in zip archivesbcebd2fSet GITHUB_TOKEN for releases993f87dSwitch to GitHub Actions91e32c3Switch to GitHub Actions (#494)de4e40bTidy up package install tableeaf7294Update argument name for consistency with docsd4e1c1bWarn when skipping add of ignored files4403954Warn when skipping add of ignored files (#510)
Full changelog: v1.7.5...v1.7.6
1.7.5 (2019-12-02)
243ccc1Add onepasswordDocument template function55ecebeAdd onepasswordDocument template function (#503)ebe4695Use more robust shell quoting algorithm
Full changelog: v1.7.4...v1.7.5
1.7.4 (2019-12-01)
13398a8Add runtime.GOOS and runtime.GOARCH to doctor check97258b3Add runtime.GOOS and runtime.GOARCH to doctor check (#498)770d34eAvoid duplicated first arg in verbose mode51ca763Drop coverallsdaf6a0eDrop coveralls (#497)5f98352Fix links on chezmoi.io5966624Fix links on chezmoi.io (#499)fce5ec0Use go-shell with 32-bit support2246c5dUse go-shell with 32-bit support (#500)
Full changelog: v1.7.3...v1.7.4
1.7.3 (2019-11-23)
47bb3ceAdd --debug flag4122f12Add DebugMutator40fb730Add FAQ entry on running a command when a file changes953879eAdd FAQ entry on running a command when a file changes (#469)7d52ca8Add IdempotentCmdOutput and RunCmd to Mutator413c8ecAdd book theme948f479Add content doc dependency on generator9ea31ceAdd debug code (#478)387cffaAdd how to handle externally modified config files1b655f9Add how to handle externally modified config files (#487)1e020e2Add how to import Oh My Zsh documentationf40fb42Add how to import Oh My Zsh documentation (#480)3468c22Add initial www.chezmoi.io680cbaeAdd initial www.chezmoi.io content616c63aAdd smoketest target as defaultee0e99bAdd sourceDir to default template data7acba23Add sourceDir to default template data (#485)add120dAdd www.chezmoi.io automation89e2713Add www.chezmoi.io website (#471)7ceb1a9Build improvements (#488)011b72cBump golangci-lint to version 1.21.0574e74eClarify Go modules requirement in docs97987b6Clarify upgrade command5dedfdfDisable flaky tests on Windowsa362775Disable flaky tests on Windows (#491)496c985Document --debug flagdf35378Don't include tables of contents on chezmoi.ioeccc569Fix debug logginge38d210Fix debug logging (#482)9cfd78dFix grammar and receiver name4d678ceFix links on chezmoi.io (#493)8d0a21eFix logging (#481)c6af790Fix logging with --debug and --verbose flagsddac85fFix typo i make every day, and therefore see everywhere.7a5c063Fix typo i make every day, and therefore see everywhere. (#466)6329176Improve install docs51946faImprove onepassword documentationfde5551Improve onepassword documentation (#476)5db37d9Move fs and mutator into configc5cfceaOnly create source parent directory if it does not exist0840edeOnly create source parent directory if it does not exist (#484)84350bfQuote arguments in verbose mode if necessary4b04b24Quote arguments in verbose mode if necessary (#486)f111abdRefactor GitHub Actions8473c3fRefactor GitHub Actions (#465)df05dffRename LoggingMutator to VerboseMutator32359e3Update modulesb286352Update modules (#470)05bd6e2Update reference manual table of contents07ecbefUse IdempotentCmdOutput in template functionscc9ee40Use consistent receiver name62fcb3aUse go vet in golangci-lint3167f57Use https://chezmoi.io/ as base URL7469b97Use https://chezmoi.io/ as base URL (#473)0e62d4dUse run instead of exec
Full changelog: v1.7.2...v1.7.3
1.7.2 (2019-10-17)
2445864Add autocommit and autopush41c4fdcAdd autocommit and autopush (#432)a7bc3b7Add git status parserf1f9391Add lines function963985fAdd shell check to doctor command5033a31Bump golangci-lint to version 1.20.0066c9a5Update dependencies to latest versions
Full changelog: v1.7.1...v1.7.2
1.7.1 (2019-10-13)
88b48f4Disable source state private check on Windows0f7bda1Disable source state private check on Windows (#456)f425bc6Use Go 1.13's wrapped errors688bc14Use Go 1.13's wrapped errors (#453)
Full changelog: v1.7.0...v1.7.1
1.7.0 (2019-10-10)
f2cd6e9Add FAQ entry on source/target filename bijection2d7d593Add FAQ entry on source/target filename bijection (#442)9c67b56Add GitHub Actions90d5323Add gopass support5fda365Add gopass.command referencefd38084Allow persistent state to be opened in read-only mode9e2ceb7Don't export internal packagea90b01fFix line-ending-dependent tests on Windows37ac582Fix symlink test on Windows1929a0fImprove detection of the user's shellfd991e7Improve detection of the user's shell (#446)b5b46dbOnly lock persistent state when writes are needed (#441)ce09d0dOnly open persistent state in read-write mode if needed3924950Remove stray debug code7939fd6Switch to github.com/pkg/diff8835998Unify and improve GitHub workflowsc79de4cUnify and improve GitHub workflows (#450)ec449dbUpdate contributing docsa1c7969Update github.com/twpayne/go-acl to use latest version of golang.org/x/sys4255f83Update install.sh from latest godownloaderf51a1ceUpdate install.sh from latest godownloader (#452)f17d668Update table of contents681116aUse gpg.recipient in docs, instead of deprecated gpgRecipienteca92ceUse latest golangci-lint releasef6a0cd2Use latest version of github.com/Masterminds/sprig
Full changelog: v1.6.5...v1.7.0
1.6.5 (2019-09-20)
3733485Add nodocs and noembeddocs build tags (#431)ad21e43Add nodocs build tagdbe4b67Add noembeddocs build tag
Full changelog: v1.6.4...v1.6.5
1.6.4 (2019-09-19)
Full changelog: v1.6.3...v1.6.4
1.6.3 (2019-09-17)
034ba74Add Scoop support9fa8675Add Scoop support (#429)850dd8cExecute templates after editingc4190f5Execute templates after editing (#428)fd24e09Pin golangci-lint to version 1.18.01335befPin golangci-lint to version 1.18.0 (#426)
Full changelog: v1.6.2...v1.6.3
1.6.2 (2019-09-10)
c29d46cAdd Windows build test on Travis085c025Add config file template test8144046Add init test283d98eAdd init test (#419)4203598Add keepassxcAttribute template function6ccd08cAdd keepassxcAttribute template function (#418)d628770Build with Go 1.1397dac6fDisable funlen linter5056d8aDisable funlen linter (#420)e5d4962Ignore chezmoi.exe9c02816Ignore chezmoi.exe (#421)95759d7Improve README.md1dea364Improve README.md (#407)a08bb5aRe-generate tables of contents2b5ec69Remove stray double quote8ae43e6Thread fs to exec1656bf6Tidy up tablesef1229eTidy up tables and table of contents (#414)78dda03Updated install script to be in line with shlib/uname_os.sh44e4a24Use an interface to abstract VCSes
Full changelog: v1.6.1...v1.6.2
1.6.1 (2019-08-11)
140201cAdd preview update doc (#391)c157439Add preview update to HOWTO.md4c3f2e9Add ‘Bug Report’ Issue Templated918f7eDisable autotemplate by default716bd09Document PrivacyStater1792d38Document PrivacyStater (#402)7d513f3Don't run scripts in diff mode1e70622Factor out common structaab0d2cFix 397 (#405)76a691eRemove AppVeyora947359Remove AppVeyor (#403)327a26dUpdate tables of contents with latest VSCode Markdown helper
Full changelog: v1.6.0...v1.6.1
1.6.0 (2019-07-08)
b989fa6Add AppVeyor CI for Windowsb32874cAdd AppVeyor CI for Windows (#385)00c05f3Add CI for OS X1c7c29eAdd Windows release (#390)8539a1dAdd bash completion in snap package (#362)d64fbb1Add bash completion to snap packagef88c88aAdd some more template dir testsf007172Build releases for Windows835ab33Disable upgrade command on Windows1be0691Don't use github.com/google/renameio on Windows533b454Fix IsPrivate77b8641Fix IsPrivate (#386)f276df1Fix Windows IsPrivate to check explicit file permissions instead of effective permissions.4953b05Fix execution with partial templates8e29647Fix execution with partial templates (#388)612d56eFix test filenames47313acFix whitespace in build tagscbfea11Improve Windows support (#381)6cbde10No upgrade on windows (#378)c46bed5Re-enable the add --recursive tests on Windows131ed26Skip add --recursive tests on Windows6cdf740Tidy up comments4b38c75Update dependenciesf6ed345Update go.mod2800d6aUse fork of github.com/hectane/go-acl while waiting for upstream to merge8c81e98Use latest github.com/twpayne/go-vfsb42b08fUse latest github.com/twpayne/go-vfsc6b5ebdUse latest github.com/twpayne/go-vfs (#380)bff3e1eUse latest modules for Windows support (#377)
Full changelog: v1.5.10...v1.6.0
1.5.10 (2019-06-29)
8f2f3e0Add all logo imagesca11320Add all logo images (#372)bfa0198Add docs commandf776ef5Add docs command (#374)514bd77Document where one line install script will install binary6323f53Don't execute templates when editing source state355f650Don't execute templates when editing source state (#370)fa1d828Fix issue 336 comments (#368)9301869Fix template error messages (#371)0ea0ccaMake remove command prompt by defaulta2fc377Make remove command prompt by default (#375)abaabcbOpen source directory with editor when edit is run with no arguments7f1d926Remove go mod tidy test from CIc711405Use goreleaser's fine-grained control for releases542a132Use goreleaser's fine-grained control for releases (#376)89ed284Use text/template's error reporting mechanism
Full changelog: v1.5.9...v1.5.10
1.5.9 (2019-06-24)
79e568dAdd Linuxbrew to install doc01eaf98Add Linuxbrew to install doc (#365)0a74170Document script shebangs and executable bitsf6a8d97Initialize persistent state even when no config file exists909c6acInitialize persistent state even when no config file exists (#367)
Full changelog: v1.5.8...v1.5.9
1.5.8 (2019-06-22)
c829084Fix unterminated string5baa07aFix unterminated string1440388Fix unterminated string (#364)
Full changelog: v1.5.7...v1.5.8
1.5.7 (2019-06-22)
008513fAdd --follow option to add command4906a84Add bash and fish completions to deb and rpm packages3805756Add common templates822ed49Add doctor binary check76f0952Add issue 353 test78b908dAdd logo to README.mddc31e18Add logo to README.md (#350)6fdcc6eAdd missing -f15187edAdd note about completions5bdbde1Add note about including version numbers4db775fAdd remove functionalityfe8bfc1Add shell completionsa199a64Add square logo1817afdAdd support for Arch Linux to upgrade command18ae3c4Add support for gpg symmetric encryption25feb88Add symmetric encryption (#333)9ed9fd0Add test for issue #3532ff163bClean up whitespacecdfb0c6Connect gpg to terminal for encryption and decryption9215412Correct capitalization of GitHub4586dfbCorrect capitalization of GitHub (#334)58a7446Correct order of argumentsc91bc9dDocument that fish completion exists in REFERENCE.md5603befDocument that fish completion exists in REFERENCE.md (#346)ea294a3Documentation cleanups (#358)e90a576Exec new version after upgrade36ff00eExec new version after upgrade (#335)1e9ba2fFactor out GPGdc52690Factor out getVersionFromOutput7a50dd7Factor out gpgBinaryCheck6c4353cFix arch install commandbe10fe9Fix formattingd7af42cFix typos96f0847Fix typos (#337)64d52b4Ignore downloaded binaries938185bImprove quick start guide2983fc8Improve quick start guide (#359)eb861e7Improve secret management explanationdf82247Improve section title483fe60Improve use of ReadOnlyFSb815ed3Improve use of goreleaser (#349)4174a0bInclude completions in archives6c00d56Install completions (#343)5a60e95Install golangci-lint with goreleaser89ecc76Install improvements (#351)119cae6Install package binaries in /usr/bin, not /usr/local/bin39fc02fInstall shell completions in homebrew794a1a1Install zsh completionsf1372a4Install zsh completions (#361)e498d91Logo9c9f5efMake default data available in config file templates136d229Pass through stderr output from secret commands884747ePass through stderr output from secret commands (#338)e7324dfRe-enable update-install.sh target6a16044Refactor apply tests5ac2f33Refresh install guideb9baa5eRelax gpg version check regexp8467697Remove stale sentence47d2b78Remove unused tool508d459Rename completion filese3814f2Rename logo filesfc84b92Run apply multiple times to check for idempotencyd45c23dUpdate brews in goreleaser config8759d79Update go-github to v26297567dUpdate goreleaser configurationa319f04Update install.sh from goreleaser8c614a6Update tables of contents8e92a90Update tables of contents8b91858Upload Logo (#348)6ecbff8Use consistent email in tests957535fUse consistent path to state database in testsa590114Use consistent values in tests (#360)d37888fUse tagged version of bolt6eb98ebchezmoi is now available in official Arch repository78f646bupload
Full changelog: v1.5.6...v1.5.7
1.5.6 (2019-06-06)
02b902dAdd GitHub Release badge2566544Add doctor version checkd17f54fAdd doctor version check (#318)e3b79bbAdd fish completion supporta4aaed0Add fish completion support (#320)e40b797Add fish to completion command descriptionf01f715Add golangci-lint configuratione34b215Add install-tools targetf2cf3b8Disable warning about computed URLfa33f40Don't use a singleton NullMutator instancee2edc9eDon't use references to range-scoped variables1abbee1Explain how to customise the merge toole7576f4Improve documentationae968e3Make script state bucket a parameter, not a global23c0169Mark snap releases as stable36bbdcdMark snap releases as stable (#317)fd8a72eRemove Go Report Card badge802b3b1Remove pre-release-checks targetf4c9963Resolve all lint problems and enable more linters (#310)f7ca727Update badges (#311)a324c18Update contribution docsde73d1bUpdate contribution docs (#309)dac85d2Update go.mod3073691Update snap install instructions with beta channelb006026Update snap install instructions with beta channel (#307)1b047e6Use latest go-difflib with improved colors377bed9Use latest go-difflib with improved colors (#328)24cb155Use latest go-vfs with Windows support6963cb9Use latest go-vfs with Windows support (#319)b0182feUse relative package paths in documentation07244d3Use simpler interfaces where possibledadd7fago mod tidy to make CI happy
Full changelog: v1.5.5...v1.5.6
1.5.5 (2019-05-18)
19f1d3dWork around snap not creating XDG_RUNTIME_DIR4fb74c9Work around snap not creating XDG_RUNTIME_DIR (#306)
Full changelog: v1.5.4...v1.5.5
1.5.4 (2019-05-18)
013e289Ensure that dist directory is empty before releasing7d37a3bRelease fixes (#304)60ed2ecUpdate README.md
Full changelog: v1.5.3...v1.5.4
1.5.3 (2019-05-18)
2b5e1a0Add KeePassXC supporta840bccAdd KeePassXC support (#293)46822f2Add gpg doctor checkfa87510Add install.sh1904a34Add install.sh (#299)476b614Add snap support to upgrade command121950cAllow file checks to be skippeddb75551Build snap packagesa192eb6Build snap packages (#298)e5bc9dbDisable update of install script from buggy godownloaderf921559Fix godownloader-generated install script590d0aeGoreleaser tweaks (#301)8b823e8Misc fixes (#296)d31de11Move goreleaser config to default location74befd1Move goreleaser config to default location (#300)4db9935Quote number used as string2b6cd27Remove bzr support239d33aRemove bzr support (#294)54b09c2Rework installation (#302)c65f96fRework installation documentation8194f9fStrip any leading v when parsing version9ca08a2Update archives stanzaffd20c6Update reference table of contents8d068c1Use short URL in installation docs
Full changelog: v1.5.2...v1.5.3
1.5.2 (2019-05-15)
8bd7bc9Add BoltPersistentStateffc67b4Add PersistentStatea03f4f3Add go mod tidy check to CIc07dde5Add go mod tidy check to CI (#290)5f9b01dAdd initial script documentationd75c32bAdd script support8088850Add script support (#287)2cd7d3cDocumentation fixes (#286)3efc5c2Factor out ApplyOptions0adef48Fix typo in commentfe1cee7Fix typo in reference9d4dba1Go mod workarounds (#291)e7e0188Remove CVS and Subversion support skeleton (#288)4810ef1Remove CVS support skeleton309f340Remove Subversion support skeleton9f1d435Sort fields32e5d4eUpdate reference table of contents6630266Use github.com/twpayne/go-difflib instead of github.com/pmezard/go-difflibef59741Use latest go.etcd.io/bbolt at HEAD instead of fork
Full changelog: v1.5.1...v1.5.2
1.5.1 (2019-05-08)
e224be0Add missing newline770ca59Add pre-release-checks target6917265Add pre-release-checks target (#282)7b61b9fDocument pre-release-checks target9f0d52cFixed typo in 1Password instructionsb6f35e5Fixed typo in 1Password instructions (#285)1e7327fMisc fixes (#281)4f8ae57Pre-allocate array68eea80Reduce interface requirementsfbde75fRemove unnecessary gofumpt54fd0a8Remove unnecessary return valuea984e58Update mercurial support8d7d5b6Use smaller interface
Full changelog: v1.5.0...v1.5.1
1.5.0 (2019-05-03)
67e6861Add FAQ entry on origin of chezmoi0f11911Add another source-path example4ce6c61Add colored diff supportf22c1e7Add example extraction6ff9ad9Add excluded ignores5293105Add explicit test for #1921664463Add generated long help infrastructuree845ac9Add golangci-lint checkf0bcb41Add initial REFERENCE.mda41c2d3Add internal extract-long-help toolc866b0cAdd internal extract-markdown-ast tool40abd64Add long help for all commands188b88dAdd make targets for common tasks14410e0Add merge command993f6a9Add merge command check to doctor91071ecAdd minimum version assertion to source state011ba83Add minimum version check and document special files (#272)555f8adAdd missing backquote087d9cfAdd missing closing double-quoteafdcb33Add more documentation to README.md0f6f7ebAdd more questions693ca87Add note about golangci-lint and gofumptbc2f2a9Add note about upgrade to installation docc0706ceAdd note on packaging34c3f4dAdd noupgrade build tagcae1e1dAdd noupgrade build tag (#276)1632584Add reference manual and long help for all commands (#258)61f8309Add table of contents0553dd9Add tables of contents92d520cAdd upgrade command7810b62Add upgrade command (#265)738fcd8Add warning if source VCS command is not supported4f57699Change indent to two spaces to match Cobra1ebf43cCheck config file for errors after edit-config2cb4272Cosmetic fixescb554edDe-duplicate goreleaser build ids467a1d6De-duplicate goreleaser build ids (#277)a7bfe73Doc improvements (#267)4d3e7deDocument goinstaller installationd1ef895Document gpgRecipientbbd1b81Document merge commandsad89352Document special files1415432Download modules firstf322a1cFactor out Encrypt72318e5Factor out TargetState.Decryptad7a836Fix FAQ link8c27153Fix FAQ link (#260)cedee29Fix caching of generic secret command output58bf7e9Fix calculation of current source dir modedf5c96aFix destination flag name2d1ba6eFix formatting of chattr reference7606f5eFix grammard98b524Fix grammar (#280)3273255Fix grammar in comment19f9fa0Fix remaining documentation FIXMEse4f023cFix typo6b4e503Fix typoc836187Fixed link to quick start guideef5d496Fixed link to quick start guide (#270)2f94aa5Generalize chattr implementation1fa49baImprove detection of imperfectly-formatted code066884cImprove documentation (#259)b9d6d87Improve readability of helps.gen.go and fix examples of last commandd25e457Improve reference manual documentation87cec4fMake code pass golangci-lint68b2c6aMake edit work on plaintext, not ciphertext87571b4Misc fixes (#263)4901bafMisc fixes (#266)bf7a42fMisc fixes (#273)add797bMore cosmetic fixes7923310Move documentation into docs20c3538Propagate Encrypted state259c5f9Put flags after arguments for consistency with Cobra and add more examples038e7b5Refactor documentation8bcff93Reformat paragraphfa72a55Remove --umask flag6e95959Remove link to godoc.org4ac4708Remove list of template variablese330084Remove pets vs. cattle commentac75e01Remove snap infrastructure99513e3Remove snap infrastructure (#269)c56f61dRemove some obvious comments81d16a0Remove underscores from filenames9077575Rename HOW-TO.md to HOWTO.mdf16c811Rewrite single-case switch as ifb60b022Simplify logic467ab16Sort variablesb9fe1c9Split installation and quick start guidesca98784Support encrypt attribute in chattr854cfd5Tolerate config file errors for certain commandsb03d480Update cmd/helps.gen.gof21f9e2Update long helpc86e2baUpgrade by replacement if executable is in temp dir696c2f6Upgrade improvements (#278)da941b8Use command variable name for commands consistently5a9f735Use make targets in CIb3e445fUse mvdan.cc/gofumpt9d08f18Verify checksums when upgrading
Full changelog: v1.4.2...v1.5.0
1.4.2 (2019-04-14)
295da27Abstract out stdin, stdout, and stderr for testing5fabcffAdd apply testa24348bAdd archive testda6ac24Add bash & zsh completionba462c6Add coverage badge7c8e4b6Add destination directory is a symlink testdbc942dAdd dump test67bc2e0Add golint testadcd979Add import testc0f657aAdd note about pets vs. cattle7bf62aeAdd permValue test57d009aAdd ppc64 architectures to README.md9f1232fAdd snap generation and tidy up YAML filesbe5e240Attempt to build snap9092c62Combine coverage profiles for more accurate coverage3273eeeDisable Go modules when installing linters9619ed6Disable snapcraft support and re-enable ppc64, ppc64le, and arm98ec39eDon't trust golang.org/x/lint/golint2eb4227Export TemplateSuffix86859d9Factor out coverage targets into Makefile7d0bf1dFix cosmeticsbc2edaeFixes from PR review comments7e53826Hint at #243a12313cImplement config file creation from template during init commandb7e2346Make default config file format TOML6e5813cRemove golint checks while golint is brokeneb1c302Require Go 1.1293c585dRespect umask in dump command99068b9Run gofumpt -s0109341Switch to github.com/stretchr/testify for testing80e441bTidy up .goreleaser.yaml31d5feaTidy up .goreleaser.yaml4ae22b9Tidy up config file creation in init43c26fcUse github.com/twpayne/go-xdg v356c0b00Use github.com/twpayne/go-xdg/v29aa00caUse vfs.Containsf8b2094add a space before ; fic53640cadd missing ; fi to .travis.yml5e0b43bdisable goveralls on pull requests7b72952don't run on PRs instead of exclusively running on them6374b6cfixing go vet error
Full changelog: v1.4.1...v1.4.2
1.4.1 (2019-03-20)
30bfacfAdd git as a dependency for rpm and deb packages8f40f2eAdd ppc64 and ppc64le to goreleaser targetb8bbd12Fix #198 - Use os.UserHomeDir() instead of custom functiond7e76e8Fix new issue link in CONTRIBUTING
Full changelog: v1.4.0...v1.4.1
1.4.0 (2019-03-14)
c827046Add Mutator.Stat8d8fb55Add TOML as an output formate13bb89Add gpg encryption6075a02Add manage as an alias for add8406817Add unmanage as an alias for forgete47c444Add unmanaged command, fixes #186cd3d86bAdd userHomeDir4cfdaacChange example configs to TOML and reformat93d03aaCheck lastpass CLI version on first callda8098bCreate directory for config file before editing if neededb324637Fix all markdownlint warnings, except one72690a6Fix double word in init help201e7a5Fix that accomodates blank lines and comments4d32cdeMake hostname only first part of hostname and add fullHostname249e2b9Make it clearer that the rpm packages work on OpenSUSEf2dfbb8Only display text diffsb477972Reduce number of semver libraries02636adRemove NullMutatord63c406Remove unused function arguments306df8bReturn ErrNotExist from nullMutator.Statb41824cReturn an error instead of panicking035988dRevert "Remove NullMutator"9fea286Revert "Use vfs.ReadOnlyFS's instead of NullMutators"90d4274Spell out lastpass --json argab807b1Test to demonstrate parsing errorab1de29Use latest github.com/twpayne/go-xdg19947c8Use latest version of github.com/twpayne/go-vfs2a72a34Use renameio correctly across multiple filesystemsb1cddc3Use userHomeDir instead of github.com/mitchellh/go-homedir5bf7eadUse vfs.MkdirAll18366aaUse vfs.ReadOnlyFS's instead of NullMutators
Full changelog: v1.3.0...v1.4.0
1.3.0 (2019-01-30)
7f4bd2dAdd Config.getVCSInfof385ec1Add ID as a well-known abbreviation4daf21dAdd check for generic secret command32146ceAdd check for suspicious filenamesb3e8085Add first run git init instructions to README9b7b268Add hermetic text functions from sprig, fixes #184595dcf1Add init command2ef2695Add stow-to-chezmoi.sh migration script013e419Add update command, fixes #1596a1a0eaAlways print permissions with three digits1ef4f89Consider files only containing whitespace as emptyabbc0c1Don't make init command apply by default3cc895dEmphasize flexibility first4dee096Ensure that source directory exists in cd commandf9290fcFactor out doctorCheck interfaceed27b49Factor out doctorCheckResult1679704Factor out ensureSourceDirectorya3830caFactor out runDoctorCheckbd21ee6Factor out vcs_infos.go4633ca1Fix dump command with targetscf18630Fix handling of missing directories18911f1Fix source directory errors in documentation, fixes #17185b7eceFix template in example, fixes #161f7edc93Fix typos in README.md68a304cInclude args in usaged249d15Init new repo when init is called with no args792c631Make source VCS pull command configurable47b305aMention init command in README.mddfd18a1Minor documentation change7abd4ccParse permissions in octal2d3eff1Refactor doctor command to include versions, fixes #160b8aabb0Refactor getting started documentation9abe99dRefactor init command204a5a7Remove evident commentfc71c55Remove unnecessary os.FileInfo.Mode() callsd7be60aRename onepassword config var to match command13f5d47Replace Command with Cmd in internal structure names61ffbf4Respect umask when creating source directorycf305f8Store config file in config structe0410cdTidy up doctor check reportingb97f37dUpdate description96797dafix: several plausible failure modes for the script during routine running
Full changelog: v1.2.0...v1.3.0
1.2.0 (2019-01-18)
367c0d5Add 1Password support, fixes #135acbf852Add advantages0494cb8Add doctor command36cd576Add generic secret manager support, fixes #51932a8e9Add support for "secret" command namespace290d13eAdd support for passwordstoree4c8d41Better position transparency benefitbf45f84Call pass show explicitly2ff85c2Document pass support, fixes #139333066eDon't disable secret manager commands if binary is not presentabf762fDon't export internal config structures3a63e45Include binary names in secret manager descriptions209c1e2Move keyring command into secret commandf2ac9c3Only add commands that have installed executables015609dRe-order features based on feedback24f7131Remove --bitwarden-session flag95c14a3Rename Funcs to TemplateFuncs718ae00Rename field for consistencyfe18833Rename source files to match command structure24c94feScan pass output up to the first newline, rather than splitting
Full changelog: v1.1.0...v1.2.0
1.1.0 (2019-01-16)
a8aeb1bAdd 'Why use chezmoi?' sectionabfe150Add --prompt flag to add command, refs #123d676fc6Add chezmoi in the news section55746d9Add data commandbbb5b2aAdd link to Hacker News discussion55bfe71Add link to dotfiles.github.io8677883Add link to lobste.rs discussionfe39c57Add link to reddit.com discussion39c2645Add missing dollar8919b6cAdd note about data commandbf690ddAdd os-release parser341b99fAdd osRelease to .chezmoi data, fixes #1264044b1eAdd table of packages7a88b12Add test for CGO1fe3fe0Add vault support, fixes #120e0b7badAvoid potential out-of-range access if string is emptyd1ee299Convert OS release map keys outside getOSReleasec1525d8Convert os-release keys to JSON-like keys61f7659Correct source flag9921965Document .chezmoi.osRelease8cc9fddDon't add ignored files, fixes #1244fecad4Don't delete ignored files in exact directories99e138eDon't duplicate licence text34eb20dExtract target dir names when computing ignore pattern6ac240cFactor out formatMap6ffb4f1Fix typobf67981Ignore errors from user.LookupGroupId if CGO is disabled, fixes #125877f0cbMake error messages more consistent53c20a0Preserve existing directories in source state instead of renaming them15a1cd2Use latest version of github.com/twpayne/go-vfs125f4baWrap comment9cec1f6dirNames: use make for init slice of string
Full changelog: v1.0.0...v1.1.0
1.0.0 (2019-01-13)
d855c1eAdd printing of symlinks to cat command5529485Don't check for config files in old locations, fixes #11305935b1Remove note about versioningaf4b714Use DestDir instead of TargetDir in code7484973Use consistent terminology in help and doc
Full changelog: v0.0.15...v1.0.0
0.0.15 (2019-01-13)
fc3be3eAdd CONTRIBUTING.md2f90eefAdd initial chattr testdd7e6c1Add more tests for chattr on file744d2cfAdd octalIntValuedfc456eAdd tests for chattr on symlinkf9fefacAllow no- prefix to remove attributes6ffae71Fix chattr -private on directories619b2edFix chattr of files in directories, fixes #10360a26dfPrint umask in octal in help, fixes #107c42eecfRemove FIXMEs that are now Github issues0d8551cRemove stale FIXME32ce15cRemove unused cobra.Command argument1c8d357Reorganize functions1704912Respect .chezmoiignore in Entry.ConcreteValue4612adaRespect .chezmoiignore in Entry.Evaluate84c41c7Respect .chezmoiignore in Entry.archived8f8445Sort functions alphabetically
Full changelog: v0.0.14...v0.0.15
0.0.14 (2019-01-12)
20ed7e2Set version in linux-amd64 release
Full changelog: v0.0.13...v0.0.14
0.0.13 (2019-01-12)
d66bf04Add .chezmoiignore support, fixes #91ac412b6Add PatternSet9c6cedfAvoid duplicate filename in template errors17a590cAvoid infinite loop when template value is empty81eba36Remove stale comment60cb5ffSort entries in testcab2f01Use latest github.com/twpayne/go-vfs
Full changelog: v0.0.12...v0.0.13
0.0.12 (2019-01-11)
4e07b0eAdd alphabetical test721df9fAdd edit-config command, fixes #90bb05d54Add inWorde4f1ca1Add link to github.com/twpayne/dotfiles9219d3fCompute valueRegexp when needed0ec171aFactor out execEditor and runEditor355aef8Fix README.md formatting555ea41Improve variable substitution, fixes #896230dbfUse a tagged version of github.com/google/renameio313c04bUse subtests in autotemplate tests
Full changelog: v0.0.11...v0.0.12
0.0.11 (2019-01-05)
02bcd30Add exact support to chattr7bb40c2Add support for exact directories, fixes #11447e244Correct path to source directory532d788Ensure directory exists before creating .keep file2abc9a9Factor out AddOptionse66da3cFactor out ImportTAROptionsba1c8faReformat testb28a722Remove default valuesa8c5ca1Remove early reference to go-keyring5004108Rename jenkins to user12d817dShorten description7f621cbUse interface{} for root values consistently
Full changelog: v0.0.10...v0.0.11
0.0.10 (2018-12-22)
5301881Add --bitwarden-session flagcbd9256Add initial Bitwarden supportd068f60Automatically parse Lastpass note values6147683Compute name argumentfe723f8Correct error textbbaf694Correct variable name4f2ddb2Factor out addDird9d79ddFactor out addFile52c1768Factor out addSymlink66cb18cMove DirAttributes in to dir.go703bfd6Move FileAttributes into file.go5e7036aMove TargetState tests into target_state_test.goc198aa1Pass os.FileInfo to TargetState.addFile instead of perm and empty4b9114aReformat tests9264001Remove last trace of ParsedSourceDirName72c8d6fRemove unnecessary masks06559bcRemove unreachable code7f9cabcRename DirName to Name2631a87Rename FileName to Namec59600eRename LinkName to linkname04e1423Rename ParsedSourceDirName to DirAttributesc2da0c0Rename ParsedSourceFileName to FileAttributes7f3b2a8Rename TargetState.Import to ImportTARa2bbef6Rename internal variable38cd4daUnify error messages across password managers3db61d1Use os.FileMode.Perm() consistently
Full changelog: v0.0.9...v0.0.10
0.0.9 (2018-12-16)
39e003cDon't assume that config file exists, fixes #733a4ea33Don't use cgo on linux_i3860c6aca4Enable CGO on Linux5aa794dMake description consistent4c8054fMake parameter documentation more consistent4021463Make usage error output less verbosef6ae4f3Prefix errors with chezmoi:2e007a3Refresh go modules with latest versions4c7aa0cRemove old version infrastructure1ddcc7eRevert "Ignore group lookup errors, fixes #65"28346ccUse cobra's --version flag
Full changelog: v0.0.8...v0.0.9
0.0.8 (2018-12-14)
3913e51Add archive documentation13edec3Document cd command8e9ec60Ignore group lookup errors, fixes #656449e9cSupport XDG Base Directory Specification, fixes #19
Full changelog: v0.0.7...v0.0.8
0.0.7 (2018-12-14)
baddf0fGenerate unified diffs52feafcRemove remaining references to Windows while Windows is unsupported52566d9Remove stray bracket144b125Restore default source VCS command9629996Update description to emphasize security
Full changelog: v0.0.6...v0.0.7
0.0.6 (2018-12-11)
fd2f39bAdd --recursive flag6a33cdcAdd Actuator.Renamef5fcdb1Add Dir.Privatec1d38ddAdd Entry.ConcreteValue842097fAdd Entry.TargetName22c530aAdd FIXMEs for flags to addf1832caAdd File.Executable66c2461Add File.Private20543f8Add File.Template15a3826Add Symlink.Templateec77a95Add TargetState.AddArchive31481f7Add YAML output91be5c7Add cd command0b84bf5Add chattr command, fixes #2e26f3ecAdd import command, fixes #5042ecba3Add package aliases240ac97Add source-path command1f5eba6Add test to exercise some commands5bef462Add type field4556383Apply umask last consistently08a5345Avoid overwriting argument before first use8f570efBump version of github.com/twpayne/go-vfs9cbae2aCheck format before computing concrete valuee8b97cbClarify LastPass examplea78af0eCorrect function documentation5d3ae7dDelete 'practical' section that is explained elsewhered9fb233Depersonalize template examplebcf98b1Disable Windows releases242e549Document exported struct97818e0Dump source and target paths, not namesd7e1697Dump state in JSON format instead of spew6053e48Evaluate entries before dumping themd4f8bebExport Entry.Evaluatea05d9c1Export ParseSourceDirName8660cb7Export ParseSourceFileName165397aExport ParsedSourceDirNamee9e4d77Export ParsedSourceFileName9925c08Factor out dir.goefd6ddeFactor out file.go2a6990dFactor out symlink.go34a1cbaFactor out target_state.go7879a59Fix capitalization9312f94Fix removal of target in remove command4037322Format github.com links consistently166688cImprove short descriptions of commandsb3625b2Make it explicit that error is ignored9db2ce1Make it explicit that errors are ignored5910f22Make the NullActuator a singletonae51ba4Print source dir if no targets are specifiedc4bad5bQualify .netrc examplea8fcaa9Quote permissionsad8add0Refactor individual Entry application9dc8b10Remove --source-vcs flagea5d380Remove TargetState.AllEntriesa35fbb4Remove docker image building code01086ccRemove fixed FIXMEb62ac56Remove uneccessary 'note that's1750988Remove unused field307f767Rename Symlink.Target to Symlink.LinkNamebd27c36Rename TargetState.AddArchive to TargetState.Import55a947aRename actuator to mutatorff58780Rename variable for clarity9b0e724Replace getSourceNames with getEntries2effdf7Use absolute path to ignore dist directory4387aa1Use angle brackets for all examples764263bUse dir, file, symlink order consistentlyca06a88Use getEntries and Entry.TargetName is remove command615c3bdUse getEntries in cat command4e74b17Use getEntries in chattr commande375f25Use getEntries in dump command1d97198Use targetName in archive1804974Use variable name ts for target state consistentlya341f75Use vfs.ReadOnlyFS to ensure all changes are made via an Actuator
Full changelog: v0.0.5...v0.0.6
0.0.5 (2018-12-02)
083d25dAdd --apply, --diff, and --prompt flags to edit command, fixes #285527d94Add TargetState.ApplyOnea8670c4Add promptf644bf2Cache keyring lookups53a12d1Cache lastpass lookups900a2e3Extend apply command to take a list of targets, fixes #3db96d06Extend diff command to take a list of targets, fixes #4a324b0bExtend verify command to take a list of targets, fixes #57e98072Factor out Config.applyArgs89440ceMake runRemoveCommand a method on Configc37b9adRemove trailing E from function names
Full changelog: v0.0.4...v0.0.5
0.0.4 (2018-11-30)
a2e6e88Add LastPass integration377d68eAdd graceful template error handling mechanismcbb5b2dAdd installation docs referring to Goreleaser-generated artefacts and Homebrew formula377999aAdd lastpass command as a wrapper for lpass496c2baDocumentation tweaks06f8e7aEnsure Go modules are enabled in before hook273e14fFactor out keyringFunce612476Handle errors gracefully in keyring841d2e7Handle errors gracefully in lastpassd88b705Make CI output less verbose7992f60Make template execution more strict4c7aeceOnly read files and evaluate templates when requireda436144Remove GO111MODULESb45c5adSet GO111MODULE in .travis.yml
Full changelog: v0.0.3...v0.0.4