Skip to content

Release history

Upcoming changes

2.54.0 (2024-11-09)

Features

  • 6916263 feat: Add --path-style=all option to managed command
  • 5bc19ae feat: Inform user when to use get.chezmoi.io/lb

Fixes

  • 5d568f2 fix: Perform post-run actions on error

Documentation updates

  • 0837305 docs: Add link to article
  • ba12f36 docs: Add github.com/andre-kotake/nvim-chezmoi to related software
  • 8bfb59f docs: Remove extra 'o' from chezmoi external reference
  • a3193a8 docs: Move command line flags links closer to commands

Full changelog: v2.53.1...v2.54.0

2.53.1 (2024-10-28)

Fixes

  • c6f5787 fix: Fix panic in commands that do not use persistent state

Documentation updates

  • f514a7e docs: Add note that .chezmoiexternal files can be ignored

Full changelog: v2.53.0...v2.53.1

2.53.0 (2024-10-26)

Features

  • 9be622a feat: Extend squote template func to handle more types
  • fe2dba7 feat: Extend quote and quoteList template funcs to handle more types
  • 35148c7 feat: Add common --parent-dirs/-P flag

Fixes

  • 75e1a52 fix: Persist results of calls to GitHub API
  • a8dda78 fix: Fix completion for 'archive --format'
  • 3fd20e9 fix: Fix includeTemplate template func search path in init
  • 5b73a4d fix: Accept only supported values to 'unmanaged --path-style'
  • 264f34f fix: Fix incorrect config template change warnings
  • 8ba1988 fix: Fix panic when --keep-going is set
  • 2d0fa36 fix: Fix panic when running chattr on externals
  • d28823d fix: Use builtin age when encryption is unset

Documentation updates

  • 554ff27 docs: Replace common flags descriptions with snippets
  • b8610d4 docs: Fill reference title page
  • 2a41aeb docs: Update "how scripts work" section
  • 6e9281d docs: Update shell completions section
  • 947e88e docs: Improvements for command flags description
  • 56729ce docs: Automatically check that all flags are documented
  • 0fb4392 docs: Split "Special file and directories"
  • efb3a14 docs: Split docs for commands into sections
  • e0c314f docs: Split docs into sections for age, secret and state
  • 23777d0 docs: Improve description for command arguments
  • 5b1dbb5 docs: Add example for running script on macOS update
  • 4cae323 docs: Add notes where to place 'encryption' setting

Full changelog: v2.52.4...v2.53.0

2.52.4 (2024-10-10)

Documentation updates

  • 092dc65 docs: Add link to blogpost

Full changelog: v2.52.3...v2.52.4

2.52.3 (2024-09-30)

Features

  • be16b73 feat: Set GOMAXPROCS based on available resources

Fixes

  • 5644141 fix: Improve phonetic pronunciation of chezmoi

Documentation updates

  • 7ed5c1d docs: Add link to article
  • 222aef8 docs: Improve developer documentation
  • 34f415c docs: Use uv for managing Python and dependencies
  • 895055a docs: Add link to blog
  • f84b8e5 docs: Add note on reporting viruses or trojans on Windows
  • 1fc8195 docs: Add note about website build dependencies
  • 353264c docs: Add sequence diagram for chezmoi init
  • dbde967 docs: Add daily usage entry on editing files

Full changelog: v2.52.2...v2.52.3

2.52.2 (2024-09-10)

Features

  • 7aee332 feat: Support YubiKeys in KeePassXC open mode

Documentation updates

  • f67e048 docs: Add home page section on getting help
  • ea8d95d docs: Add Stack Overflow to social media links
  • 37eab81 docs: Add FAQ entry on using delta as the diff tool
  • fdb2065 docs: Add FAQ entry on running scripts periodically
  • a3de4a8 docs: Add FAQ entry on running a script when a git-repo external changes
  • b56a600 docs: Add FAQ entry on literal {{ and }} in templates
  • d414e0f docs: Add warning on using externals for large files or archives
  • d9f4717 docs: Add how to use VSCode as the diff and merge tool
  • 2a64e42 docs: Make features and portability more prominent on home page
  • 3a17101 docs: Add links to articles
  • 0355a62 docs: Add link to blog
  • 1ac3014 docs: Add github.com/b3nj5m1n/xdg-ninja to related software

Full changelog: v2.52.1...v2.52.2

2.52.1 (2024-08-15)

Features

  • ca0d133 feat: Add github.com/johan-weitner/chezmoi-ui to related software

Fixes

  • cba7e40 fix: Set User-Agent header to chezmoi.io/version on all HTTP requests

Documentation updates

  • 8e40c43 docs: Add link to video
  • 4843d55 docs: Add links to two articles

Full changelog: v2.52.0...v2.52.1

2.52.0 (2024-08-07)

Features

  • 48f873b feat: Add gitHubRelease and gitHubReleaseAssetURL template functions

Fixes

  • 28ebfec fix: Ignore permission changes in re-add command on Windows
  • 73893c1 fix: Don't modify ciphertext in edit command if plaintext did not change

Documentation updates

  • d5579c7 docs: Clarify requirement to set sourceDir when used in Codespaces

Full changelog: v2.51.0...v2.52.0

2.51.0 (2024-07-15)

Features

  • 2a7845f feat: Add 1Password SDK template funcs
  • 676a9a9 feat: Add decompression of file externals

Fixes

  • 2615c52 fix: keep initFuncs when using 'includeTemplate' in config
  • f6ecfdb fix: Use scriptTempDir for modify_ scripts

Documentation updates

  • 711534a docs: Add link to article

Full changelog: v2.50.0...v2.51.0

2.50.0 (2024-07-02)

Features

  • 2808e7c feat: Add tempDir configuration variable
  • 4241393 feat: Allow private_ and readonly_ attrs to be set for externals
  • 217cdaa feat: Add --no-network flag to doctor command
  • 31b2060 feat: Embed fallback X.509 trusted roots

Fixes

  • 2a75540 fix: Prevent chezmoi add from adding chezmoi's own executable

Documentation updates

  • b7cf4ba docs: Add GianniBYoung/chezmoi-telescope.nvim to related software

Full changelog: v2.49.1...v2.50.0

2.49.1 (2024-06-23)

Fixes

  • af65574 fix: 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

  • 0f45cb4 feat: Add stub for removed remove command
  • ca643ce feat: Rename remove command to destroy

Fixes

  • f781976 fix: Fix panic when parsing some commands

Documentation updates

  • bcd52b9 docs: Update comparison-table.md

Full changelog: v2.48.2...v2.49.0

2.48.2 (2024-05-31)

Fixes

  • 788f805 fix: Don't panic on unexpected bubbletea messages
  • 5cf451a fix: Respect umask when creating files
  • 24a990d fix: fix error when determining GOARCH in install.ps1

Documentation updates

  • 1a16b49 docs: Add link to article

Full changelog: v2.48.1...v2.48.2

2.48.1 (2024-05-12)

Features

  • a396e3a feat: Add gitHubLatestReleaseAssetURL template function

Fixes

  • 6a90b3e fix: Links section is broken in docs

Documentation updates

  • 9d332c6 docs: Add link to article

Full changelog: v2.48.0...v2.48.1

2.48.0 (2024-04-26)

Features

  • 2e04dcf feat: Add --tree flag to unmanaged command
  • 91823e3 feat: Add --tree flag to managed command
  • 278e2be feat: Add --tree flag to ignored command
  • 4a9d0e4 feat: Include name of target in error message

Fixes

  • c758a1c fix: Apply .chezmoiignore to dirs in external archives
  • 7dfcfcf fix: Remove unmanaged files from exact_ directories containing external files
  • 153ff43 fix: Better detect username on Android/Termux systems

Documentation updates

  • b1b40b2 docs: Add link to article
  • 9c817ce docs: Document --tree flag
  • 89fab4b docs: Fix origin URL in quick start guide

Full changelog: v2.47.4...v2.48.0

2.47.4 (2024-04-12)

Fixes

  • d6ad485 fix: Fix potential panic when textconv interpreter is empty
  • b4df44d fix: Fix panic on empty external

Documentation updates

  • 872c584 docs: Add troubleshooting entry on missing /bin/bash on Nix
  • 8b2a435 docs: Add install.doctor to related software
  • 3a3dd13 docs: Add links to articles

Full changelog: v2.47.3...v2.47.4

2.47.3 (2024-03-31)

Fixes

  • 2e4236c fix: Don't traverse into ignored directories when adding files
  • 8a83dcc fix: Skip adding entries in external dirs instead of erroring
  • b366d0e fix: Fix panic when adding children in exact_ dirs
  • ad77158 fix: Increase range of types accepted by promptChoice template function

Full changelog: v2.47.2...v2.47.3

2.47.2 (2024-03-17)

Fixes

  • f490429 fix: pass the --needed flag to pacman
  • 88b586d fix: Remove fig support
  • c8dc9a4 fix: Explicitly tell user when then should use a config file template
  • fccc759 fix: Handle copies in automatic commit messages
  • 3a0b19e fix: Add missing newlines in error messages

Documentation updates

  • 490cc3a docs: Add link to article
  • eb62958 docs: Fix incomplete sentence in usage docs
  • ce46858 docs: Add link to article

Full changelog: v2.47.1...v2.47.2

2.47.1 (2024-03-03)

Fixes

  • 59764c8 fix: Fix panic in unmanaged on some dir permission errors
  • dc99169 fix: Make splitList return []any
  • 0405763 fix: Set CHEZMOI_ environment variables for plugins
  • 1f44189 fix: Ensure that all .chezmoi.config template variables have simple types
  • 5bb87f1 fix: a grammar mistake

Documentation updates

  • 85d015b docs: Refactor developer guide
  • 885487b docs: Add link to blog post
  • 18c99c3 docs: Add link to video

Full changelog: v2.47.0...v2.47.1

2.47.0 (2024-02-25)

Features

  • 6788c54 feat: 1Password Secrets Automation Support

Fixes

  • 3b3541c fix: Ensure default mode is set
  • c6b867b fix: Fix marshaling of severities
  • 523fd84 fix: Fix marshaling of autobools
  • 5224e11 fix: Fix marshaling of absolute paths
  • e925b0f fix: Fix --keep-going flag for unmanaged command
  • 5201ddc fix: Don't leak internal default sentinel values in template data
  • 1abcfa5 fix: Fix panic when merging unmanaged file
  • c0b7e92 fix: Don't attempt to add entries in external_ directories
  • d14bdd5 fix: Use uname -o to detect Android in install script
  • 302a3b8 fix: Move documentation of --output flag to correct section
  • ccde612 fix: Prioritize $HOME when Cygwin or msys2 is detected

Documentation updates

  • 3e5f0c8 docs: Fix type of .chezmoi.kernel and .chezmoi.osRelease variables
  • 0269f80 docs: Update docs on auto applying changes on edit in VIM
  • b5fc7b6 docs: Document config vars for command-specific flags
  • f52062e docs: Cross link "See REF" in config variables doc

Full changelog: v2.46.1...v2.47.0

2.46.1 (2024-02-11)

Features

  • 8a20f91 feat: Add update.apply configuration variable
  • 431ec39 feat: Set CHEZMOI_SOURCE_FILE env var for scripts

Fixes

  • 0eb98a9 fix: Fix age/rage check in doctor command

Documentation updates

Other

  • deb5adf chore(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

  • c7539b0 feat: Build for Android (Termux)
  • efcf32d feat: Support rage as an alternative age encryption command
  • 53f7b92 feat: Add re-add --recursive flag and make it the default
  • 85983f0 feat: Promote hooks to stable
  • 114030c feat: Promote HCP Vault Secrets template functions to stable
  • 24c0ea2 feat: Promote Doppler template functions to stable
  • c209c2a feat: Promote edit --watch to stable

Fixes

  • 15f4eb1 fix: Defer lookup of git in $PATH for git-repo externals
  • 569601a fix: Change init to default to --config if --config-path is absent
  • 031b267 fix: Handle more keepassxc-cli errors
  • 74d6b2a fix: Reduce injection of terminal control characters into keepassxc-cli output

Documentation updates

  • 1418f74 docs: Fix broken release history page
  • 2dffe64 docs: links to testing-templates
  • 8dd6c86 docs: combine testing and debugging templates
  • 5e7c295 docs: Add links to article and video
  • 2e3bd95 docs: add link
  • 80717f4 docs: Fix names of age recipients files config variables

Full changelog: v2.45.0...v2.46.0

2.45.0 (2024-01-13)

Features

  • 7d915c0 feat: Scan for secrets with gitleaks when adding files
  • 404878c feat: Add add.encrypt configuration variable

Fixes

  • 3436563 fix: Improve robustness of keepassxc-cli integration in open mode
  • 49791f9 fix: Handle keepassxc-cli localization
  • 85464dd fix: Restore user args to keepassxc-cli in cache password mode
  • 9437b62 fix: Always use forward slashes to separate Windows paths

Full changelog: v2.44.0...v2.45.0

2.44.0 (2024-01-10)

Features

  • 6a5d4a3 feat: Add support for YubiKeys with KeePassXC

Documentation updates

  • ff3deb9 docs: Add explanation of status characters

Full changelog: v2.43.0...v2.44.0

2.43.0 (2024-01-02)

Features

  • d99e8bd feat: Extend rbw and rbwFields template funcs to take extra args
  • 7323f6a feat: Extend remove_ attribute to directories

Fixes

  • 44b4c6d fix: Fix detection of changes to remove_ directories
  • 5f40268 fix: Only invoke diff pager if there is diff output
  • 084add0 fix: Handle implicit directories in externals
  • 54dce1b fix: add missing command annotations
  • d85b5e4 fix: Make execute-template --init not read .chezmoitemplates
  • db9b4dd fix: key.txt is not written to home, but home/.config

Documentation updates

  • 774d053 docs: Add upcoming changes to release history
  • 9f9d2d9 docs: Add link to article
  • 6eb139b docs: Add links to articles
  • 08e9b0b docs: Fix guide on clearing state of run_onchange_ scripts

Other

  • a450748 chore(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

  • 538169a feat: Remove nested subshell check
  • 31780bf feat: Make mackupApplicationsDir func agnostic to mackup's installation method

Documentation updates

  • ef01881 docs: Add github.com/xvzc/chezmoi.nvim to related software
  • e530e7c docs: Add link to article
  • 31e6207 docs: Add link to video
  • 854ea06 docs: Add entry on declarative package installation
  • 0cf9f29 docs: add warning for GitHub SSH key deletion

Full changelog: v2.42.2...v2.42.3

2.42.2 (2023-12-02)

Features

  • a9d389e feat: Add CHEZMOI_COMMAND_DIR env var for hooks

Fixes

  • 649c758 fix: Fix fromJson template function deserializing non-objects
  • c68ddac fix: Handle extra slashes in path arguments

Full changelog: v2.42.1...v2.42.2

2.42.1 (2023-11-29)

Fixes

  • d07689e fix: Set env vars from config file when re-reading config

Documentation updates

  • 0b38793 docs: Clarify prefix order for regular files

Full changelog: v2.42.0...v2.42.1

2.42.0 (2023-11-26)

Features

  • 694977b feat: Preserve numeric types when reading from .chezmoidata JSON and JSONC files
  • 1f11386 feat: Preserve integer values in fromJson and fromJsonc template funcs
  • 711a39a feat: Add read-source-state hook

Documentation updates

  • 47609a3 docs: Add admonitions linking remove and forget
  • 8784a67 docs: Add links to blog posts

Full changelog: v2.41.0...v2.42.0

2.41.0 (2023-11-14)

Features

  • 26fd133 feat: Add git-commit-message to generate command
  • c6688d2 feat: Make commit message templates regular templates
  • f7c3745 feat: Add git.commitMessageTemplateFile config variable
  • 1f016e8 feat: Add edit-config-template command

Fixes

  • d9cb6b0 fix: Don't escape HTML characters in JSON strings

Documentation updates

  • b94f954 docs: Document support for the passage password manager
  • a1fba75 docs: add how-to for gpg ↔ age migration
  • 8d58c3e docs: Fix default value of persistentState variable

Other

  • e8ed4c4 refactor: Allow mkdocs build from any origin

Full changelog: v2.40.4...v2.41.0

2.40.4 (2023-10-29)

Fixes

  • 797e3cf fix: Make stdinIsATTY return false if --no-tty is passed

Full changelog: v2.40.3...v2.40.4

2.40.3 (2023-10-12)

Features

  • b64f2bc feat: Add env config var as an alternative to scriptEnv
  • f47c268 feat: Warn when overriding CHEZMOI_ env vars
  • 7203d6b feat: Set CHEZMOI_ and scriptEnv env vars for all invoked commands

Documentation updates

  • 319dd20 docs: 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

  • fc56533 feat: Add Path Separator and Path List Separator to provided template values.
  • 61f7ed1 feat: Ignore AppleDouble files in externals
  • 4a52e5c feat: find[One]Executable in user-supplied paths
  • bb6f952 feat: Use Goreleaser's Chocolatey support

Fixes

  • eecf015 fix: Only invoke diff pager if command modifies filesystem
  • 5c0140d fix: Don't use replace-executable for WinGet installations
  • 7976373 fix: Add chattr +remove support for files

Documentation updates

  • 784d38b doc: Add information how to ignore cache files in external dependencies
  • 66070dc docs: Added an example for promptChoice
  • 5f14f10 docs: Added an example for promptChoiceOnce
  • c96a4b7 docs: Fix cross-function link references

Full changelog: v2.40.0...v2.40.1

2.40.0 (2023-09-19)

Features

  • 2858a0c feat: Implement the path-style flag for status
  • 5918296 feat: Add plugin support
  • 63cda81 feat: Allow overlapping, non-conflicting externals
  • f15b158 feat: Add decryption of non-armored files to age command

Fixes

  • cdd4f16 fix: Use diff pager for all diff output if configured
  • 3667788 fix: provide a consistent error for cd to file

Documentation updates

  • 284baf6 docs: Add links to articles

Full changelog: v2.39.1...v2.40.0

2.39.1 (2023-09-06)

Fixes

  • 46e13ed fix: Ensure default template data when reading .chezmoidata in subdir

Documentation updates

  • fe10a69 docs: Improve developer experience under fish
  • 5b738bd docs: Fix documentation on dirs vs content in .chezmoiignore

Full changelog: v2.39.0...v2.39.1

2.39.0 (2023-09-03)

Features

  • acb8937 feat: add .chezmoi.targetFile template variable
  • 205fd6c feat: Add age command
  • f6947d3 feat: Add bitwardenSecrets template function

Fixes

  • 40b711d fix: Handle .chezmoidata files in subdirectories when template has already been executed
  • 6fa4fe4 fix: Update goreleaser changelog

Documentation updates

  • a89e0e0 docs: Tweak location of private key in age onetime passphrase how-to
  • da9f3c6 docs: Use age command in onetime passphrase how-to
  • fe903d4 docs: Minor expansion of application order docs
  • 02ffbd7 docs: Add link to article

Full changelog: v2.38.0...v2.39.0

2.38.0 (2023-08-21)

Other

  • 0ce82b3 chore: Update dependencies
  • 7b300e4 chore: Miscellaneous website improvements
  • 166feaf docs: Linuxbrew -> Homebrew
  • d00de72 feat: Add gitHubReleases and gitHubTags
  • a51179e feat: Support nushell scripts on Windows
  • 7d143c3 docs: Improve documentation on using separate source files
  • ba985c9 chore: Reformat long lines
  • 5e8d2b3 feat: Add promptChoice and promptChoiceOnce template functions
  • 29e8c30 fix: Fix minor issues with promptBool docs and errors
  • f0efc5c chore: Generate release notes from git log, not GitHub
  • 3c72387 chore: Remove dependency on go.uber.org/multierr
  • 424189b chore: Use io/fs.Skip{All,Dir} sentinel errors
  • dbc1b4b chore: Bump golangci-lint to version 1.54.0
  • 3f636c1 chore: Build with Go 1.21.0
  • 187f734 chore: Update dependencies
  • a028598 feat: Restore --autotemplate flag to add command
  • 4e67850 docs: Document --source-path flag
  • 4fc3203 fix: Fix race condition in concurrent parsing of externals

Full changelog: v2.37.0...v2.38.0

2.37.0 (2023-08-06)

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)

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)

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

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

Full changelog: v2.33.3...v2.33.4

2.33.3 (2023-04-21)

  • fix: Correct capitalization of .chezmoi.config template variables by @twpayne in #2943

Full changelog: v2.33.2...v2.33.3

2.33.2 (2023-04-21)

Full changelog: v2.33.1...v2.33.2

2.33.1 (2023-04-07)

New Contributors

Full changelog: v2.33.0...v2.33.1

2.33.0 (2023-03-24)

Full changelog: v2.32.0...v2.33.0

2.32.0 (2023-03-12)

New Contributors

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

  • @XaF made their first contribution in #2797

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 fromIni map 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

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)

Full changelog: v2.29.4...v2.30.0

2.29.4 (2023-01-24)

New Contributors

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)

New Contributors

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)

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)

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)

New Contributors

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 templateDataMap manually 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)

  • bb8d579 docs: Add FAQ entry on --verbose and --debug flags
  • fb595f2 docs: Add link to article
  • 0f58586 docs: Elaborate on once vs onchange attributes
  • b970bc1 feat: Add always/auto/never options to --refresh-externals flag
  • 21e99c7 feat: Add option to suppress warnings
  • a29abcf feat: Improve performance of the externals cache
  • da407b6 fix: Avoid double read of source state in merge-all and status commands
  • 1fbe862 fix: Preserve case in user template data
  • 9dda54a fix: Respect .chezmoiroot in source-path command with no arguments

Full changelog: v2.23.0...v2.24.0

2.23.0 (2022-09-19)

  • 6e49147 docs: Add hints about escaping diff and merge args in config file template
  • f1b404d docs: Add link to video
  • 2c3a349 docs: Change remote origin from ssh to https
  • 4d68612 docs: Update symlink design question with docs on edit --watch
  • 8b4b856 feat: Add --progress flag to show progress when downloading externals
  • ccb897c feat: Add passhole password manager support
  • 994a0c7 feat: Always set and restore Windows console
  • cf51259 feat: Use bubbletea for user input
  • 8054dff fix: Don't write file specified by --output atomically
  • 80576f5 fix: Ignore commands when creating archives
  • 83f01eb fix: Only read source state if needed in source-path command
  • c1a53e1 fix: Treat git-repo externals as directories of include/exclude purposes

Full changelog: v2.22.1...v2.23.0

2.22.1 (2022-09-04)

  • 64b9c1f fix: Fix handling of newlines in comment template function
  • 4950fc3 fix: Make includeTemplate function first search in .chezmoitemplates

Full changelog: v2.22.0...v2.22.1

2.22.0 (2022-09-01)

  • 6625f29 docs: Add FAQ entry on sharing shell history
  • 097a88c docs: Add note on script execution order
  • 3b6edaf docs: Fix a coloring issue that lines and texts in Mermaid diagrams are hardly visible in dark mode
  • 3e6e26d feat: Add includeTemplate template function
  • bf5b674 feat: Add initial fig support
  • 41644bb feat: Add support for loong64 architecture
  • 7a525b7 fix: Apply changes to directories recursively when editing directories
  • 03a91ca fix: Only use quotes if necessary in toIni template function

Full changelog: v2.21.1...v2.22.0

2.21.1 (2022-08-29)

  • f4be0e0 docs: Add link to package installation
  • 9f207f4 docs: Add summary paragraph
  • c60b406 feat: Add edit.apply configuration variable
  • 75b0569 feat: Add secret.args configuration variable
  • b59f127 fix: Detect SSH clones from URL when using builtin git
  • 4919c1a fix: Fix panic when absolute paths are used in externals
  • 8b420af fix: Respect format configuration variable in data, dump, and state commands

Full changelog: v2.21.0...v2.21.1

2.21.0 (2022-08-23)

  • c8399bc docs: Add FAQ entry on init template functions
  • e2ec7c5 docs: Add instructions for using chezmoi with Watchman
  • dc2ec23 docs: Add link to repology.org
  • 4d086c2 docs: Remove unmaintained Guix package
  • 485850f docs: Use install-from-git-working-copy in installation instructions
  • 9e4629f feat: Add --interactive flag
  • 8602622 feat: Add --prompt flag to init command
  • f98264b feat: Add --prompt* flags to init command
  • 02b8954 feat: Add fromIni template function
  • ffbb367 feat: Add gitHubLatestTag template function
  • ac0c759 feat: Add initial --watch flag to edit command
  • 3af5c7f feat: Add toIni template function
  • db4da31 feat: Improve support for external diff commands
  • 84afa19 fix: Handle .chezmoiroot in init command
  • 7583387 fix: Remove broken symbolic links in exact_ directories

Full changelog: v2.20.0...v2.21.0

2.20.0 (2022-07-29)

  • 5fdc580 docs: Add Termux package install instructions
  • 150144e docs: Add dark mode option
  • 24db084 docs: Prioritize package installation over curl | sh installation
  • 199d62e feat: Add comment template function
  • c0e2f53 feat: Add generate command to generate install script
  • 4dfd206 feat: Add onepasswordRead template function
  • 06b212b feat: Add promptBoolOnce, promptIntOnce, and promptStringOnce init template functions
  • ebeb8df feat: Add replaceAllRegex template function
  • 84e7a93 feat: Make managed command accept destination directory args
  • f8eabef feat: Make unmanaged command accept destination directory args
  • 9316c5a feat: Track source state origins more precisely
  • 851efe3 fix: 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)

  • 47db454 docs: Add section on muting gpg output
  • 9dea4ea feat: Add fromToml and toToml template functions
  • ac6af02 feat: Add support for AWS Secrets Manager
  • 074899d feat: Allow dashes in keys in template data in config file
  • 132d184 fix: Fix FQDN hostname on FreeBSD
  • 03eb672 fix: Fix forget command when asked to forget an external
  • 304f52a fix: Fix merge command for encrypted files in subdirectories
  • 50dd19c fix: 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)

  • b944a84 docs: Add CPU cores/threads template
  • 1c60734 docs: Improve documentation of chezmoi's concepts
  • 2ee341c feat: Re-enable building of snaps

Full changelog: v2.18.0...v2.18.1

2.18.0 (2022-06-20)

  • 817d3e7 feat: Stop building snaps\n ab6bc8d feat: Make add command add empty files, remove --empty flag\n 755e02f fix: Don't return an error when the user chooses quit from a prompt\n b554329 feat: Implement documented add --prompt flag\n b95449f docs: Remove stray whitespace\n ebeebcb docs: Add extra documentation to autotemplate\n 991a630 docs: Clarify what 'source state' means\n 2421da8 fix: Check .chezmoiversion in init command\n 25b32fb feat: Give more context in Windows errors\n 9605e40 feat: Make --autotemplate escape template markers\n 2c89541 feat: Support determining FQDN via /etc/myname\n 281e770 feat: Support multiple GPG recipients\n cbed719 feat: Include git working tree state in doctor output\n 87c1a91 docs: Use modeline to set filetype in VIM\n 1af0576 feat: Include last modified time of config file in doctor output\n 44762fd feat: Add quoteList template function\n 2bf1210 feat: Add textconv configuration for friendlier binary diffs\n 814f1f2 docs: Refactor Windows chassisType template\n 7199cb2 docs: Add link to blog\n d29344f fix: Improve quality of POSIX shell scripts\n f2f8d87 docs: Add link to blog post\n

Full changelog: v2.17.1...v2.18.0

2.17.1 (2022-05-30)

  • 1f92965 docs: Add information about chezmoi_modify_manager
  • 8b78d2b docs: Add link to podcast
  • fdd29a5 docs: Fix typo in kubeconfig documentation
  • 7d2d629 docs: Organize related software page into sub-sections
  • 7084bd5 fix: Fix dump command in the presence of config file templates
  • 2d27229 fix: Include git repo commands in dump command output

Full changelog: v2.17.0...v2.17.1

2.17.0 (2022-05-26)

  • d178db4 feat: Add uid and gid template variables
  • 658be53 feat: Add windowsVersion to builtin template data
  • 21e2666 fix: Parse $EDITOR and $VISUAL environment variables as shell commands

Full changelog: v2.16.0...v2.17.0

2.16.0 (2022-05-19)

  • e0b3ace feat: Add support for Keeper password manager
  • c4a4779 feat: Build for mips64 and mips64le
  • 17c480b feat: Build for riscv64
  • 1a63dc2 feat: Complete auto bool, format, and mode flag values
  • 187112d fix: Connect password manager std{in,err} to os.Std{in,err}
  • 7485aea fix: Don't complete _chezmoi in zsh completion
  • ef2be28 fix: Fix use of slashes in glob on Windows

Full changelog: v2.15.4...v2.16.0

2.15.4 (2022-05-09)

  • 8168ab9 docs: Add chezmoiexternal related links to user-guide/reference docs
  • a0d699c docs: Add example of extracting selected files from external archive
  • 47a2940 docs: Add some additional details to contributing-changes.md
  • 1c11ff1 fix: Fix external archive, sub-directory include, no excludes

Full changelog: v2.15.3...v2.15.4

2.15.3 (2022-05-08)

  • ccb709c docs: Add hint on random access in modify_ scripts
  • b525c50 feat: Add --guess-repo option to init command

Full changelog: v2.15.2...v2.15.3

2.15.2 (2022-05-01)

  • cbfe388 docs: Add clarification about all lowercase custom data fields
  • 84ac2e2 docs: Add guide on encrypting files with GPG and a passphrase
  • 8552a4c docs: Add links to blog and video
  • 7b83a17 docs: Add troubleshooting entry on scripts on Termux
  • 4de3fdc docs: Document workaround for #1574
  • d507609 docs: Minor tweaks
  • 956b449 docs: Use index function to access an item in the example
  • 58f9f45 feat: Add glob template function
  • fe0b6cf feat: Build with Go 1.18.1
  • eaa27b3 fix: Don't cache negative results of path lookups

Full changelog: v2.15.1...v2.15.2

2.15.1 (2022-04-10)

  • d297409 docs: Add section on understanding chezmoi's files and directories
  • cd74d0c docs: Document KeepassXC with YubiKey limitations
  • f0817a0 docs: Fix path to config file template
  • 462e547 docs: Tidy up KeepassXC reference documentation
  • 6cd2766 feat: Use diff.command for all verbose output
  • 58c458c fix: Fix apply --verbose when diff.command is set
  • f45b73a fix: Fix concurrent map writes on sourcestate.ignoredRelPaths
  • 95d5298 fix: Ignore exit status 1 from external diff commands

Full changelog: v2.15.0...v2.15.1

2.15.0 (2022-04-03)

  • 2fa910f docs: Add command overview
  • d051e7a docs: Add link to blog post
  • d2a4417 docs: Add link to podcast
  • ecdb07b docs: Adjust documents for 1Password CLI 2.0.0 changes
  • 9b1b5fb docs: Document that the ioreg template function is deprecated
  • 8e7bbde docs: Factor out GitHub template functions into a separate section
  • 4cabbc2 docs: Factor out init template functions into a separate section
  • 19e6d00 docs: Factor out password manager functions into separate sections
  • f3ef8be docs: Improve FAQ entry on source state filenames
  • cb02477 docs: Improve docs on empty files in chezmoi edit
  • caa9120 docs: Update dconf example as dconf only reads stdin
  • 08138ab docs: Use $VARIABLE instead of
  • 3f035a6 feat: Add diff.reverse configuration variable
  • d1374cf feat: Add ignored command
  • 38be385 feat: Add keepassxcAttachment template function
  • 4e6b843 feat: Build for s390x architecture
  • 523fdb2 fix: Fix one line install instructions for Windows
  • 8d052c0 fix: Fix op signin for 1Password CLI 2.0.0
  • 8910adb fix: Fix parsing of multiline KeepassXC attributes
  • a08c891 fix: Fix use of drives as home directories on Windows
  • b999509 fix: Prefer id over label for onepasswordDetailsFields template function

Full changelog: v2.14.0...v2.15.0

2.14.0 (2022-03-09)

  • a3a1e17 docs: Add contributors image
  • 28c2718 docs: Add license to website
  • 538b982 docs: Add link to article
  • 32c0f02 feat: Add include and exclude patterns to external archives
  • ebfd5b2 feat: Add license command
  • 5a14326 feat: Release raw binaries

Full changelog: v2.13.1...v2.14.0

2.13.1 (2022-03-04)

  • dd0037b feat: Add scriptTempDir config var for temporary scripts
  • 816e5ee feat: Change default Python interpreter to python3
  • a4d989b fix: Allow user and repo to set in install script
  • e2e199b fix: 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)

  • e8ee359 docs: Add link to article
  • 3f36946 docs: Document extracting a single file from an archive
  • 843ba33 docs: Improve scripts user guide
  • 585adb1 feat: Add initial git-repo external type
  • e299d90 feat: Add option to exclude externals
  • 5f39fec feat: Add status.exclude configuration variable
  • 2451314 feat: Add verify.exclude configuration variable
  • fd47686 feat: Allow overriding GitHub user in shell installer
  • 08991d1 feat: Enable GNOME Keyring support on FreeBSD
  • 881cb7e fix: Correctly cut hostname off at . character

Full changelog: v2.12.1...v2.13.0

2.12.1 (2022-02-20)

  • 1fbc2ae feat: Be more strict about presence of source directory
  • baac6fc feat: Support arguments in Windows SHELL environment variable

Full changelog: v2.12.0...v2.12.1

2.12.0 (2022-02-15)

  • e9342a8 feat: Add target-path command
  • d228a50 feat: add support for xz archives
  • 6228e09 fix: Fix bug where chezmoi init --apply did not configure encryption

Full changelog: v2.11.2...v2.12.0

2.11.2 (2022-02-03)

  • 13de45f fix: Disable problematic concurrent source dir read

Full changelog: v2.11.1...v2.11.2

2.11.1 (2022-02-02)

  • 46c6766 fix: Fix race condition with multiple .chezmoiignore files

Full changelog: v2.11.0...v2.11.1

2.11.0 (2022-02-02)

  • c1271ff feat: Add initial support for 1Password CLI 2.0
  • 86ec4b8 feat: Add remove_ attribute for directories
  • dc919e6 feat: Include removed directories in diff output of external diff command
  • 8a84b31 feat: Make chezmoi's core functionality available as a Go module

Full changelog: v2.10.1...v2.11.0

2.10.1 (2022-01-23)

  • b4841ec fix: Fix add command when parent dir permissions have changed
  • 71ca1f6 fix: Ignore files and directories beginning with . in .chezmoitemplates
  • 2fd7a02 fix: 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)

  • 724227b feat: Add chezmoi.io/get install URL
  • 65b6cb3 feat: Add list command as an alias for managed
  • ed62bbf feat: Append / to completed directories
  • 5aca99a feat: Disable custom completions by default
  • 7cd21aa feat: Remove docs command
  • 3129886 feat: Switch to Material for MkDocs for website

Full changelog: v2.9.5...v2.10.0

2.9.5 (2022-01-05)

  • b9aeae9 feat: Add passFields template function
  • 326b578 feat: Prompt for 1password password if no session token is set
  • 2b98c14 fix: Fix shell completion for relative paths
  • 35af862 fix: Make exit template function init only

Full changelog: v2.9.4...v2.9.5

2.9.4 (2021-12-19)

  • e25d501 feat: Add exit template function
  • cdac464 feat: Add secret keyring delete command
  • e2899b8 feat: Improve inconsistent state error with removes
  • 05e94c6 fix: Add missing --value flag to secret keyring set command
  • 5b50963 fix: Avoid panic when unknown URL schemes are used
  • 68fff1c fix: Fix include template function on Windows with absolute path

Full changelog: v2.9.3...v2.9.4

2.9.3 (2021-12-13)

  • 126cb0c feat: Add --cache option and .chezmoi.cacheDir template variable
  • 89aec79 feat: Add more intelligent completion of targets, attributes, and docs
  • 66728aa feat: Follow symlinks in .chezmoitemplates
  • e1f2d15 fix: Fix .chezmoiversion check when using dev version

Full changelog: v2.9.2...v2.9.3

2.9.2 (2021-12-02)

  • 8e8ef0f fix: Don't mark .chezmoiscripts as suspicious in doctor command
  • a2c5685 fix: Read .chezmoiversion before other files

Full changelog: v2.9.1...v2.9.2

2.9.1 (2021-11-30)

  • ecb6c1d feat: Add .chezmoi.configFile template variable
  • 3560b20 feat: Add .chezmoi.workingTree template variable
  • d70de7a feat: Extend upgrade command to work on more operating systems
  • d23b428 fix: Check for .chezmoiversion outside .chezmoiroot
  • ccf6971 fix: Fix use of .chezmoiroot in multiple commands

Full changelog: v2.9.0...v2.9.1

2.9.0 (2021-11-28)

  • 219a09e feat: Add .chezmoiscripts directory
  • ec2b92a feat: Add edit.hardlink config var and edit --hardlink flag
  • 7d31ecb feat: Add fromYaml template function
  • 988fcdc feat: Add state delete-bucket command
  • ff1e81d feat: Add state get-bucket command
  • da41e0f feat: Add toYaml template function
  • 98b6a39 feat: Apply diff.exclude to all diffs
  • 33c3e97 feat: Make verbose settable in the config file
  • 5672e1f fix: .chezmoiremove with * when destDir is /
  • aac0fd6 fix: Handle symlinks in zip archives
  • e7e6932 fix: Respect .chezmoiroot when generating config file

Full changelog: v2.8.0...v2.9.0

2.8.0 (2021-11-20)

  • 9cbfdf6 feat: Add --persistent-state option for location of persistent state file
  • cbac205 feat: Add --reverse option to diff command
  • dec8789 feat: Add .chezmoi.executable template variable
  • 8a6d4d7 feat: Add .chezmoiroot to allow source state to be subdir of source dir
  • 518313b feat: Add cache HTTP client to cache downloads in .chezmoiexternal.
  • 8e1d647 feat: Add gitHubLatestRelease template function
  • ebacee7 feat: Add support for Homebrew on Linux to upgrade command
  • 3a4c1d0 feat: Add upgrade method to doctor command output
  • 90120fe feat: Caching the response of the GitHub API
  • 240f7ec feat: Make .chezmoidata. and .chezmoitemplates available in .chezmoiignore
  • 53cfa6e fix: Return unparsed gopass output in gopassRaw template func
  • e9e4712 fix: Warn, don't fail, if age version cannot be parsed in doctor command
  • 016da7a fix: lookPath panics when file does not exists

Full changelog: v2.7.5...v2.8.0

2.7.5 (2021-11-07)

  • 2a39175 feat: Add pinentry as an option for reading passwords
  • 823836c feat: Extend chattr command to change target types
  • bf8a185 fix: Make chezmoi add command respect .chezmoiignore

Full changelog: v2.7.4...v2.7.5

2.7.4 (2021-11-02)

  • 9d621f7 feat: Add .chezmoi.args template variable
  • 27938e6 feat: Allow equivalent directory entries in source state and externals
  • 6113528 feat: Create parent directories for externals if needed
  • 83bad0a fix: 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)

  • 67e0806 fix: Fix promptString default on Windows

Full changelog: v2.7.1...v2.7.2

2.7.1 (2021-10-17)

  • 35eb651 feat: Add default argument to promptBool template function
  • 7e2e64d feat: Add default argument to promptInt template function
  • 951fc7e feat: Add default argument to promptString template function
  • 87033e2 fix: Apply .chezmoiignore to externals

Full changelog: v2.7.0...v2.7.1

2.7.0 (2021-10-12)

  • 91c91f0 docs: fix .chezmoiignore example
  • 92ce33c feat: Add decrypt and encrypt template functions
  • 42e8323 feat: Add merge-all command
  • c8f113f feat: Add onchange_ attribute for scripts
  • f54deef feat: Improve messages and logging when using builtin git init
  • 02abd9a fix: Allow create_ entries to be templates
  • 20abba4 fix: Clarify behavior of run_once_ scripts
  • ebc0149 fix: Fix status for onchange scripts

Full changelog: v2.6.1...v2.7.0

2.6.1 (2021-10-03)

  • 8d9a89b feat: Re-enable building with Go 1.16

Full changelog: v2.6.0...v2.6.1

2.6.0 (2021-10-02)

  • 29464c6 chore(deps): bump assets/chezmoi.io/themes/book
  • c189d22 docs: Improve docs on externals
  • 157b0b7 feat: Add --init flag to all relevant commands
  • 78ae6c6 feat: Add refreshPeriod option to externals
  • 3d18ae8 feat: Make chezmoi edit invoke editor with target filenames
  • 8fda89b fix: Fix upgrade command on non-amd64 Linux machines

Full changelog: v2.5.1...v2.6.0

2.5.1 (2021-09-30)

  • cbc2f1e docs: Add FAQ entry on diff colors not working
  • fa09eff docs: fix error in HOWTO guide
  • 55a4b93 feat: Add --init option to update command
  • f42866b feat: Add working tree config option (#1459)
  • f86d7b5 feat: Make chezmoi edit with no args open working tree (#1455)
  • b7fb215 fix: Allow modify_ scripts to be encrypted

Full changelog: v2.5.0...v2.5.1

2.5.0 (2021-09-23)

  • 48b8096 Add Vagrant-based tests to CI
  • d439e7f Add doctor check for multiple config files
  • a79ba2f Add example to onepasswordItemFields documentation
  • 167638f Add filter option for externals
  • ccf78c5 Add how-to entry on managing file permissions but not contents
  • 74c06e4 Add link to podcast
  • 9e26b17 Add readonly_ attribute for files and directories
  • 47936f6 Add support for .chezmoiexternal files in subdirectories
  • 22c3f68 Add support for readonly attribute to chattr command
  • a909463 Allow the format of external archives to be set explicitly
  • 6f40524 Cache Vagrant Boxes in CI
  • 6ec4d02 Change gitlab link for other people's dotfiles
  • 4f1a977 Detect archive format from content if needed
  • 9996849 Detect when the source directory is already in a git working copy
  • 4d76d93 Disable GPG tests on Windows
  • 402c8cb Enable age tests on Windows CI
  • e79bbb1 Expand FAQ entry on build from source errors
  • 0739933 Fix CLI flags not taking precedence over configuration
  • 0bf08f4 Fix more command line flags overriding config vars
  • cbc6b15 Fix permissions for CodeQL analysis
  • 89a66fa Fix permissions in diff output when user sets a stricter umask
  • 0fa5f5a Guess format of chezmoi archive from output filename
  • b43e26e Improve consistency of source state read from externals
  • 188bae9 Improve internal logging infrastructure
  • 47ce738 Improve logging in Windows CI
  • 717b5d1 Make Makefile more portable
  • a86ca9e Merge test-release job into test-ubuntu
  • 0695b0c Minor docs fixes
  • 59cfe21 Only create .keep files when adding empty directories
  • e653627 Only warn if version or commit are not set in doctor command
  • 839703d Propagate failures in Vagrant CI scripts
  • ab2fa72 Reduce duplication of Go version in CI
  • 69f6a33 Reduce duplication of versions in build and CI system
  • b5bbe67 Revert "Disable GPG tests on Windows"
  • e63d0e7 Separate OS-specific CI jobs
  • 420ec58 Skp whitespace linting of temporary Vagrant files
  • e94cd8b Support paths containing spaces in VIM integration
  • 5460876 Tidy up error message when doctor command cannot parse version
  • ea59267 Update Vagrant-based tests
  • eaad1f6 Update dependencies

Full changelog: v2.4.0...v2.5.0

2.4.0 (2021-09-10)

  • 736aaa1 Add decrypt command
  • 0b2692a Add doc on detemining whether the machine is a laptop or desktop
  • ed65ef6 Add encrypt command
  • 98b92c2 Add initial --use-builtin-age flag
  • dd116f7 Build with Go 1.17.1
  • 63610a4 Extend init command to guess the user's username for private repos
  • 34ecd67 Fix internal capitalization of age
  • da04181 Simplify internal use of auto bools
  • 2ff4151 Update dependencies

Full changelog: v2.3.1...v2.4.0

2.3.1 (2021-09-08)

  • 4fa36ee Add link to blog post
  • 778fd4c Add link to podcast
  • 89fd238 Add new media links
  • 60703f8 Add onepasswordItemFields template function
  • 57ab1f2 Append path arguments to diff command if not provided by user
  • a761f3f Append path arguments to merge command if not provided by user
  • 62e02ff Bump age to version 1.0.0
  • 8370209 Bump golangci-lint to version 1.42.1
  • 5a51c9e Conceal the user's username in doctor command output
  • a318652 Require 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)

  • 7cee590 Add how-to entry on using private dotfile repos
  • 9e77ea5 Add remove_ attribute
  • ad1c938 Add support for zip archives to .chezmoiexternal
  • 5c61b95 Add support for zip archives to import command
  • 433bdcc Add umask check to doctor command
  • 091979d Add undocumented --safe=false command line flag
  • 2ff4214 Bump assets/chezmoi.io/themes/book from 50147be to a656d71
  • 01ac1d0 Fix install from source documentation
  • 8ca5448 Improve contributing docs
  • 97a7e0e Log debug information in chezmoi apply
  • 0a2a40c Log version and args on startup in debug mode
  • 767e834 Remove accidentally unimplemented --remove option
  • 570f91a Remove stale FIXMEs

Full changelog: v2.2.0...v2.3.0

2.2.0 (2021-08-30)

  • c03209f Add .chezmoiexternal for external files and archives
  • 0346200 Add support for encrypted externals
  • 49c34ea Add tests for multiple OSes using Vagrant
  • 08822e2 Check all shell scripts with shellcheck
  • 9a9d2f2 Fix bug when using custom diff tool on a file in a subdirectory
  • 0d82773 Make Makefile more consistent
  • d6f48f4 Pass context when reading source state
  • b06c2a6 Recognize .tbz2 files as archives
  • e946bf5 Reduce test verbosity on Cirrus CI
  • 3b84841 Remove Cirrus CI
  • 434c29f Rename internal variables for consistency
  • 78d52d2 Suppress initial branch name hints from git in chezmoi init
  • 00763d2 Tidy up code structure
  • 021eaf1 Tidy up documentation
  • 4937ea6 Update dependencies
  • a6e3d9a Update media links
  • 2cec38f Update tests for OpenBSD tar output

Full changelog: v2.1.6...v2.2.0

2.1.6 (2021-08-22)

  • 3c476d9 Add --recursive flag to remove command
  • 461ea4a Add executable check to doctor command
  • 20b323c Add link to podcast and notes
  • bec5350 Add more explicit documentation on config file location
  • 994e633 Add more related software
  • 81094bf Add note on using -- in chattr
  • 70efaab Add test of the output and fromJson template functions
  • a25b911 Add windows/arm builds
  • 137e07e Build with Go 1.17
  • 11d84ed Bump golangci-lint to v1.42.0
  • 6d5f658 Create .keep files when adding directories
  • 4619b09 Fix bug where adding a dir with a trailing slash added it twice
  • 8eef5e4 Fix creation of .keep files when umask is 002
  • 5afe5a2 Improve how-to on diff and merge customization
  • de5cb42 Improve type safety in encryption code
  • f8d7368 Make remove command remove entries from persistent state
  • ed95a58 Miscellaneous Go 1.17 fixes
  • 5b0138a Tidy up suspicious entries list in doctor command
  • dc319c4 Tidy up test scripts
  • 5d2126b Tranparently decrypt files in merge command

Full changelog: v2.1.5...v2.1.6

2.1.5 (2021-08-11)

  • 817e4d9 Add --config-type option so config file can be read from stdin
  • 7b3e307 Add function for running idempotent commands
  • 002742c Add initial suport for external diff tools
  • e4ac1b5 Add symlink mode
  • 7576466 Build with Go 1.16.7
  • 182b937 Fix chezmoi execute-template --init to not read chezmoidata
  • 60ae6b2 Fix spacing error in docs
  • 8144975 Fix the FreeBSD installation method
  • 0eb5348 Improve error messages for configurable merge tool arguments
  • 3304f6a Improve internal testing functions
  • 2726d9f Include .exe extension in Windows build artifact name
  • 70a85f0 Normalize symlinks on Windows
  • d79c30e Rename internal function for clarity
  • cb4ee88 Tweak doc formatting

Full changelog: v2.1.4...v2.1.5

2.1.4 (2021-08-04)

  • a4eeff4 Add inital undocumented mackup add command
  • 1dfae81 Bump assets/chezmoi.io/themes/book from e939f40 to 50147be
  • 42e1f2f Fix crash when color was set to auto in config file
  • 49e9b46 Fix grammar
  • 43a0f1e Fix some minor internal inconsistencies
  • 91d10b0 Fix tag line in reference manual
  • dc6011b Make order of arguments to merge command configurable
  • b074718 Tidy up order of struct fields
  • 23059eb Update contributing doc
  • cdbc085 Update dependencies

Full changelog: v2.1.3...v2.1.4

2.1.3 (2021-07-31)

  • 62bc51a Add VCSH to comparison chart
  • 69dc0f3 Add hidden internal-test command for internal testing
  • f9771a9 Add more media links
  • f0e7dce Allow entering username/password when using builtin git
  • e23dcc3 Bump golangci-lint to 1.41.1
  • bd9e485 Correct git archive import features
  • 1d433a2 Fix formatting in comparison table
  • bf77f76 Normalize cell length in Markdown table
  • 9820eb2 Reduce test verbosity in CI
  • 74811b2 Remove incorrectly documented short option
  • dde40d0 Set the record straight on some bare-git features
  • d4971ed Tidy up comparison table
  • cfe9084 Tidy up repo guessing code
  • 523496c Tidy up username and password requests when using builtin git
  • b51c080 Update dependencies
  • 4282879 Update dependencies
  • f00f6b5 Update recommended podcast
  • aae3a82 Use golang.org/x/sys/unix package where possible
  • 79d5348 Use target name when editing files
  • 47de173 Use terminal to read password on Windows

Full changelog: v2.1.2...v2.1.3

2.1.2 (2021-07-14)

  • db62a0b Add FAQ entry on chezmoi cd
  • 80d925f Add link to blog
  • 4da300a Add more media entries
  • acc950d Allow install of chezmoi from a powershell where StrictMode is on
  • 19500e0 Allow source directory to be a symlink
  • 7b572a8 Build with Go 1.16.6
  • 1ba3727 Fix doctor check for suspicious entries
  • 7c688ef Make .chezmoi.kernel template variable more generic
  • dcf0ba1 Make .chezmoi.osRelease template variable more generic
  • 38d163d Make modify scripts always overwrite the target without prompting
  • 173ab68 Populate all default template variables
  • 35de5ad Remove .chezmoi.homedir template variable
  • bb0d23e Tidy up issue templates

Full changelog: v2.1.1...v2.1.2

2.1.1 (2021-07-11)

  • 91c4031 Fix config file code snippet in HOWTO
  • 0b499d7 Fix panic when destination directory is /
  • 9660b12 Improve shell completions
  • 9d02a5a Tidy up onepassword template functions
  • f4e004a Update doc on how to migrate away from chezmoi
  • 5705e04 Use fs.WalkDir function
  • d1fef1c Use script extension to determine interpreter

Full changelog: v2.1.0...v2.1.1

2.1.0 (2021-07-02)

  • d506456 Add .literal suffix to make all filenames representable
  • 0f8a0aa Add gopassRaw template function
  • 646f4f3 Add literal_ attribute to make more filenames representable
  • e872fa3 Add mozillaInstallHash template function
  • 7cac834 Add optional account arg to onepassword template functions
  • 79ad5fe Add passRaw template function
  • d84b0a7 Bump assets/chezmoi.io/themes/book from 4540d66 to e939f40
  • efc96d6 Tweak Go modules check

Full changelog: v2.0.16...v2.1.0

2.0.16 (2021-06-27)

  • 7b57397 Add --config-path option to init command
  • 12fbe0a Fix FreeBSD install instructions
  • 32d4a92 Improve documentation of chezmoi edit
  • 4100279 Include FreeBSD build in tests
  • c5cb349 Make osRelease and kernelInfo template vars available on all systems where present
  • 31a5fb7 Prioritize /etc/hosts over /etc/hostname for FQDN hostname
  • ef49f6a Tweak FAQ on chezmoi edit
  • a441236 Update dependencies
  • e9c2155 Update dependencies
  • 9bf5265 Update docs so that oh-my-zsh tarball goes to TMPDIR instead of HOME
  • af34a92 Update golangci-lint to v1.41.0

Full changelog: v2.0.15...v2.0.16

2.0.15 (2021-06-17)

  • d02e707 Update GoReleaser GitHub token

Full changelog: v2.0.13...v2.0.15

2.0.13 (2021-05-27)

  • fba2ec9 Add --ssh option to init command to guess SSH repo URLs
  • 6793811 Add .chezmoi.sourceFile template variable
  • 811fb19 Add age howto
  • 9efc082 Add findtypos check
  • 8b35f3d Add forgotten --include option to add command
  • a706029 Add how to for managing part of a file
  • 2b546b7 Add how to for using chezmoi with brew bundle
  • ca607a4 Add how to on running a script when another file's contents changes
  • 0342271 Add link to github.com/hussainweb/ansible-role-chezmoi
  • 56b3666 Add maximum width to docs output
  • 9fbaba1 Add more media links
  • 7839bfe Add re-add command
  • d8f8add Add test for template data in chezmoi init --apply
  • 7f8716a Add writeToStdout init template function
  • 5497b85 Bump age version to 1.0.0-rc.2 in tests
  • 918c2b7 Bump golangci-lint to v1.40.1
  • ca54fa3 Disable exhaustive linter
  • bfc32b2 Ensure that parent directory exists in import examples
  • c69e066 Fix security table of contents
  • a69d2ff Fix typos
  • bebdceb Fix typos and receiver names
  • 6c952eb Format code blocks in documentation
  • cdaa1d3 Improve code documentation
  • 3539609 Improve consistency
  • f0c11ce Improve consistency of reference documentation
  • 09c3530 Include Linux OS release name and version in doctor output, if available
  • 5023553 Make how to section on ignoring files easier to find
  • 5eb6def Move cmd package to internal/cmd
  • cf97df1 Move internal/cmd to internal/cmds
  • 320cb8d Move security policy into docs
  • 049d7e8 Move security policy into docs
  • 3ca09db Only create templates with chezmoi add --autotemplate if a replacement occurred
  • 98d9607 Reference .chezmoidata in template data documentation
  • 1c0e836 Remove stale FAQ entry
  • 802c6ca Remove stale docs on diff.format
  • df0ea51 Remove unnecessary SourceRelPaths type
  • ab16f1b Rename function argument for clarity
  • 883a5f0 Reword intro commands
  • c0a9fa4 Tidy up how to
  • 8eb212c Tidy up symlink documentation
  • 01c812b Tidy up tests
  • 009a796 Tweak documentation
  • 0e800ad Tweak examples and docs a little more
  • 35ea315 Update Go to 1.16.4
  • cce08bb Update Windows Subsystem for Linux detection how to
  • de341d2 Update dependencies
  • b33ca40 Update golangci-lint to 1.40.0
  • 2bededb Update link to path matching function
  • 034b8d3 Use io/fs package instead of os
  • 66fbcb6 Use neutral names in docs and tests
  • b6ab19e Use pager for docs and make pagers more configurable
  • 891e461 Use quote function instead of literal quotes in docs
  • 7526fa5 Use stringSets for known filenames
  • d858159 Use temporary files, instead of stdin/stdout, when calling gpg

Full changelog: v2.0.12...v2.0.13

2.0.12 (2021-05-10)

  • 1393e41 Add Architecture guide
  • 942d536 Add another method of detecting OS architecture for robustness
  • da611c9 Bump chezmoi.io/themes/book from 1e4bcc2 to 6200450
  • 3e562c5 Correct and template example in How To guide
  • 8bbf1b8 Don't atempt to use reverse DNS to determine FQDN hostname
  • ce2d86a Handle EINTR from syscall
  • f188ab5 Improve error message when persistent state is locked
  • 89d36ec Improve reliability of Powershell installer
  • 18cf1ef Increase verbosity of tests in CI
  • 06674ab Make chezmoi forget also remove entry from state
  • bc2a07c Move VIM tip from reference to how-to
  • aeb781e Remove debug code
  • 6eb89ab Remove unnecessary AbsPaths type
  • 155e53f Remove unnecessary RelPaths type
  • 361ce17 Remove unnecessary typecasts
  • f51fc68 Simplify EINTR handling
  • b3529bf Sort unexported variables after exported ones
  • fbf260f Suppress warnings in tests about git default branch name
  • 9ae0d58 Tidy up flag parsing and help output
  • bc48485 Update dependencies
  • 08336ad Update dependencies
  • 037a372 Update last written state when target and actual states are equivalent
  • 3c273d6 Update rpm zsh completion directory to match recent Fedora versions.
  • 3a06eb8 Use /etc/hostname to determine hostname, if available
  • 421d43b Use c.errorf instead of cmd.Printf
  • fb616d9 Validate generate config before writing it in init command

Full changelog: v2.0.11...v2.0.12

2.0.11 (2021-04-26)

  • dfd8145 Add Makefile targets for coverage
  • c2c5ff4 Add import --exclude option
  • 546070b Add related software documentation
  • 179cbfc Add wget one line install instructions
  • ba3c28d Bump Go version to 1.16.3 on Cirrus CI
  • 4a82d68 Do not follow symlinks if the file will be ignored anyway
  • 1a7d396 Explicitly document need for data in template action
  • 4ecd1db Extend include template function to handle absolute paths
  • 4503be6 Fix checksums.txt upload step
  • a7a8ae2 Fix panic when using diff --exclude
  • a19217f Fix typos in comments
  • 5d4f02c Fix typos in docs
  • 07127cf Fix typos in test comments
  • a48a9d8 Ignore whitespace errors in .vscode/settings.json
  • 173732f Improve parsing of auto bools
  • bdab05d Minor tidy-ups
  • b9dcd48 Tidy up path handling
  • 4c51578 Update dependencies
  • 91a2e9f Warn user when add command would remove encrypted, private, or template attribute
  • d2d96b0 Write prompts to stdout, even when --no-tty is specified
  • b1501ad fix typo

Full changelog: v2.0.10...v2.0.11

2.0.10 (2021-04-15)

  • 6a8855e Add add.templateSymlinks configuration variable
  • e1612f6 Add diff.exclude configuration variable
  • 9b7c35c Add editor config for PowerShell scripts
  • acfec8e Add infrastructure to read entry type sets from config
  • 1d42c99 Add init --data option
  • c3b8073 Add mitigation for when actual state does not match persistent state
  • e8229a9 Add state data, delete, get, and set subcommands
  • 4459193 Add test for re-adding file with and without --encrypt
  • 5331014 Add tests with different umask values
  • 5f47aaa Added --template-symlinks-home and --template-symlinks-source
  • 804e135 Consolidate symlink tests
  • 93c53da Document one-line chezmoi and dotfiles install
  • d41951f Don't assume that gpg is installed in tests
  • 992b923 Make --exclude option per command instead of global
  • b00710b Make --template-symlinks option a bool that checks source dir and home dir
  • 8322943 Make chezmoi init --one-shot also include --purge-binary
  • 38cb1d2 Only install glibc/musl-specific binaries when they are available
  • 3782e93 Re-enable passing test
  • e50575c Release both checksums.txt and chezmoi_${VERSION}_checksums.txt
  • 141a9b1 Replace --template-symlinks-home and --template-symlinks-source with --template-symlinks=value
  • 5920345 Revert to standard actions/cache
  • 2436c92 Store actual umasks in state file
  • 703be4e Tidy up table of configuration variables
  • 45f6429 Tweak documentation
  • 865c379 Update Go module version to match tag
  • 8090122 Update dependencies
  • c48de4c Update prefix documentation
  • 8755cb6 Use default checksums file in install scripts

Full changelog: v2.0.9...v2.0.10

2.0.9 (2021-04-04)

  • 505ca6a Fix import command when destination already exists
  • d34a1b6 Update dependencies

Full changelog: v2.0.8...v2.0.9

2.0.8 (2021-04-03)

  • 2cdbbd7 Add tests for symmetric GPG encryption
  • e444344 Build with Go 1.16.3
  • 6755586 Bump chezmoi.io/themes/book from 60dfd9a to 1e4bcc2
  • b6d33d9 Bump ludeeus/action-shellcheck from 1.0.0 to 1.1.0
  • 0c37c54 Fix absolute path check
  • 5e54964 Fix typo
  • b990f3d Fix typos
  • 7bce9fa Tidy up comparison doc
  • 040ef45 Update PowerShell install script to use checksums.txt
  • 351172f Update install script to use checksums.txt
  • 5976c07 fix: gpg symmetric passing wrong arguments

Full changelog: v2.0.7...v2.0.8

2.0.7 (2021-03-31)

  • 1ce1944 Restore original checksums filename

Full changelog: v2.0.6...v2.0.7

2.0.6 (2021-03-30)

  • de636f1 Add System.IdempotentCmdCombinedOutput
  • 2348d6a Check for libc version in upgrade command
  • 406cdc5 Rename variables for consistency
  • 58aac9b Restore build of non-libc-specific Linux archives
  • 75681a7 Use emojis in comparison

Full changelog: v2.0.5...v2.0.6

2.0.5 (2021-03-29)

  • 1a2e4e9 Add -Force option to Move-Item command.
  • c1e5a8c Add darwin/arm64 to install script
  • 3e7bbde Add link to blog post
  • 5468d3d Add stdinIsATTY template function
  • 5135e06 Correct function name in documentation
  • 639adcf Fix 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.
  • c6271ad Improve install script error handling
  • d5e5afc Make .chezmoi.sourceDir template variable a string
  • 83a1b65 Make install script install glibc or musl libc version as appropriate
  • 382988d Only evaluate target states when needed
  • 03a3780 Reduce severity of doctor warning if gpg is not installed
  • b196247 Simplfy managed test
  • 67c57d5 Split large functions into smaller functions
  • f548ba3 Tidy up handling of script working directories
  • e996856 Tidy up make generate target
  • 30f1ab9 Unlock state when running editor or merge command
  • ff4bf5a Update dependencies
  • 0e824ff Update golangci-lint to 1.39.0
  • 731a622 Use 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)

  • 6dca5aa Add age binary check to doctor command
  • 54ef893 Build libc-specific archives
  • 2eb70bf Fix noupgrade build tags
  • 1833b11 Make doctor command more friendly about missing binaries
  • ae2f0d2 Only update state if target was actually changed
  • b36175d Remove stale reference to go generate
  • f918459 Update howto to use main instead of master

Full changelog: v2.0.3...v2.0.4

2.0.3 (2021-03-22)

  • 17e4976 Document empty_ for file target types
  • 0ee8476 Factor out GitHub client
  • bccd093 Fix editing of encrypted files in subdirectories
  • e35be17 Internal tidy-up
  • 237b3f5 Remove noembeddocs and nodocs build tags
  • 34782e1 Remove symlinks whose targets are empty
  • 20c63f1 Restore upgrade command

Full changelog: v2.0.2...v2.0.3

2.0.2 (2021-03-19)

  • 8c66bbc Add new attributes to chattr reference documentation.
  • ded9ecc Add removeline test function
  • 700db6e Add tests for --exclude=encrypted option
  • 966d45a Connect stderr when invoking encryption tools
  • 058497e Detect encryption if group set in config file
  • 091028f Extend cat command to print scripts
  • 5e5f377 Improve encryption integration tests
  • 9bc28b7 Remove temporary version override

Full changelog: v2.0.1...v2.0.2

2.0.1 (2021-03-18)

  • 0b8b5b0 Fix panic when displaying scripts in diffs
  • 2ba9aed Include scripts to be run in diffs by default
  • 316371f Use notepad.exe, not vi, as the default editor on Windows

Full changelog: v2.0.0...v2.0.1

2.0.0 (2021-03-17)

  • ebdd6f4 Add chezmoi apply --source-path tests
  • 7caf314 Build with Go 1.16.2
  • 45f2ca4 Improve documentation of gitHubKeys template function
  • cb43820 Improve error messages from 1Password template functions
  • a665328 Initialize the keyring cache
  • e9022e5 Minor documentation fixes
  • 2ccc16a Only log when --debug is set
  • 784a08c Preserve homedir template variable for backwards compatibility
  • 09fb2cf Refresh github.com/actions/cache by changing key
  • a8eb3a9 Tidy up changes doc for v2
  • 6f459af Update FAQ for chezmoi v2
  • 4cbc07b Update comparison doc for v2
  • 1c68a53 Update dependencies
  • 08aff38 Update documentation and release process for v2 release
  • 9b6b8f1 Update 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)

  • 4fd06fa Merge pull request #936 from zb140/1password-cache-arg

Full changelog: v1.8.8...v1.8.9

1.8.8 (2020-10-31)

  • 71e82db Merge pull request #924 from twpayne/templating-docs

Full changelog: v1.8.7...v1.8.8

1.8.7 (2020-10-10)

Full changelog: v1.8.6...v1.8.7

1.8.6 (2020-09-28)

  • cfa3fd2 Merge pull request #893 from twpayne/static-link-with-musl

Full changelog: v1.8.5...v1.8.6

1.8.5 (2020-08-22)

  • c5dbedc Merge pull request #872 from twpayne/update-testscript

Full changelog: v1.8.4...v1.8.5

1.8.4 (2020-08-12)

  • 99ef18b Merge pull request #834 from twpayne/codespaces

Full changelog: v1.8.3...v1.8.4

1.8.3 (2020-06-25)

  • 6d2be34 Merge pull request #805 from twpayne/update-deps

Full changelog: v1.8.2...v1.8.3

1.8.2 (2020-06-09)

Full changelog: v1.8.1...v1.8.2

1.8.1 (2020-05-06)

  • 4def4f3 Fix typo
  • cbf8d4a Merge pull request #731 from twpayne/faq-tidy
  • d604fa5 Improve FAQ
  • b962e36 Merge pull request #729 from twpayne/strings-builder
  • 610701e Use strings.Builder instead of bytes.Buffer
  • 0bc0257 Merge pull request #728 from twpayne/execute-template-improvements
  • e3b3da1 Improve FAQ entry on managing files outside target directory
  • 11aad4d Add --output option to execute-template
  • d6b059c Merge pull request #724 from twpayne/octal-literals
  • 604dca2 Format octal literals consistently
  • b68bd53 Merge pull request #720 from twpayne/fix-git-diff-func-color
  • e16ebda Fix color of hunk context in git format diffs
  • 34fc1b5 Merge pull request #723 from twpayne/auto-escape-templates
  • 7d8c6d2 Auto escape template delimiters when --autotemplate is set
  • 36b1f44 Merge pull request #719 from twpayne/infrastructure-improvements
  • 0cee057 Merge pull request #718 from twpayne/howto-external-modified
  • e800dd0 Use Makefile for CI steps
  • 4e9e654 Separate out local imports
  • 09b38ce Improve how to for tracking externally modified files
  • 5752e26 Merge pull request #717 from twpayne/no-color
  • 519ec22 Update pull request template
  • 590c721 Add support for NO_COLOR environment variable
  • 70c4eda Merge pull request #714 from twpayne/improve-contributing
  • 30a2b81 Remove old linter suppressions
  • 57fbcb7 Make list of enabled linters explicit
  • ec44e08 Improve infrastructure for contributors
  • 3bad347 Add pull request template
  • 81bfc76 Merge pull request #715 from twpayne/fix-git-status-parser
  • 70e8e2c Enable autocommit and autopush for chattr command
  • 94c02a0 Fix git status parsing for renames
  • 175601e Merge pull request #709 from ihommani/master
  • 31c646d Merge pull request #698 from twpayne/color-git-diff
  • 810607c Add colored git diff support
  • 93c03e7 Make --color option accept boolean values
  • b640720 Merge pull request #712 from twpayne/generic-secret-string
  • 1e699ea Make secret template function return a string, not a []byte
  • c9081ac Merge pull request #710 from twpayne/gofumports-tidy
  • e458bed Compact type declarations
  • 6002344 Add images to illustrate chezmoi principles
  • 8b5b0f5 Merge pull request #687 from twpayne/golangci-lint-next
  • 9271f90 Merge pull request #707 from twpayne/no-dev-upgrade
  • f10697b Update golangci-lint to version 1.25.0
  • 1d7dc3d Don't attempt to upgrade dev versions without --force flag
  • 0796dd8 Merge pull request #704 from twpayne/doublestar-glob
  • ceb6307 Use doublestar for all globs
  • 9f0b03e Merge pull request #703 from twpayne/go-generate-completions
  • 0eb3917 Generate completions with go generate instead of make
  • 3ea95e5 Add --output option to completion
  • d256de8 Merge pull request #702 from twpayne/execute-template-init
  • cd42fb0 Add --init and --promptString options to execute-template
  • 1760187 Fix generated docs
  • dd7edf8 Merge pull request #697 from stephengroat/patch-1
  • 442c85d Merge pull request #699 from twpayne/gopass-version
  • f8bd952 Update gopass version detection
  • 124ab05 install from homebrew-core
  • d2d43e9 Merge pull request #695 from twpayne/umask-docs
  • f1cbbd6 Improve reference docs
  • 3e6700e Add more documentation on umask
  • 2d4f690 Merge pull request #689 from stephengroat/patch-1
  • bd72b50 Use goreleaser github action
  • e0c120c Merge pull request #693 from twpayne/doublestar
  • 67d5746 Use doublestar.PathMatch for path matching
  • fd29c6e Merge pull request #692 from twpayne/fix-media-page
  • fe13fc7 Fix media page

Full changelog: v1.8.0...v1.8.1

1.8.0 (2020-04-19)

  • 017a83f Merge pull request #686 from twpayne/tidy-up-github-action
  • 91581ec Tidy up GitHub Actions
  • f642fb4 Merge pull request #685 from twpayne/media
  • 35cc601 Update README.md
  • 79b9ae0 Add media page
  • c02d8e3 Merge pull request #684 from twpayne/gpgrecipient-warning
  • 5e03393 Add warning when source version control system is not git
  • 56436ac Add warning when config file uses gpgRecipient
  • cc816d2 Merge pull request #679 from twpayne/fix-add-dir
  • 89dc01b Add how-to entry about creating empty directories
  • 8499f4d Create .keep files when adding directories non-recursively
  • aba694f Merge pull request #678 from twpayne/git-diff
  • cdb5a0a Add git diff format
  • ca9d8d9 Merge pull request #674 from twpayne/diff-pager
  • 14b1197 Add diff.pager config option
  • edc0d55 Merge pull request #675 from twpayne/autotemplate-implies-template
  • 5ba7692 Make --autotemplate imply --template
  • 0b56b08 Merge pull request #676 from twpayne/fix-snap-path
  • d2bb6fc Update path to goreleaser in GitHub action
  • c603bb3 Merge pull request #672 from twpayne/managed
  • 36bd3f4 Iterate on managed command
  • 1d2c1d1 Merge pull request #671 from twpayne/document-lowercasing
  • 08f2319 Document Viper's lowercasing of variable names
  • 709b141 Merge pull request #670 from twpayne/investigate-668
  • 854a931 Add test for adding empty directory without recursion
  • c1c19fb Merge pull request #669 from twpayne/upgrade-deps
  • 1489cac Upgrade dependencies
  • 987450b Merge pull request #665 from remigourdon/add-managed-command
  • 469ab7c Add managed command
  • f89a8c3 Merge pull request #667 from seberm/feature/add-gpg-command-into-config
  • 2fca0ae Add option to configure gpg command
  • ecb873b Remove stray debug code
  • 49fb084 List repos tagged with chezmoi by most recently updated first
  • 6675562 Merge pull request #658 from twpayne/update-readme
  • 8fc4d38 Update README.md
  • 76e7e03 Merge pull request #657 from twpayne/symlink-template
  • ba47581 Add separate config files how-to entry

Full changelog: v1.7.19...v1.8.0

1.7.19 (2020-04-06)

  • c4dd796 Merge pull request #656 from twpayne/non-hermetic-functions
  • 82f9922 Include non-hermetic text functions from Sprig
  • 8d538be Merge pull request #653 from twpayne/purge
  • e384392 Add purge command
  • e6b1424 Merge pull request #652 from twpayne/dont-compress-docs
  • 9e2879f Don't compress embedded assets
  • 1767ad7 Merge pull request #651 from twpayne/template-docs
  • 6914b1f Use TOML in reference manual example
  • 53f92d5 Improve template documentation
  • 4e46435 Merge pull request #649 from twpayne/fix-550
  • bcd0750 Fix behavior when adding an empty file without --empty
  • d6f80bb Merge pull request #647 from twpayne/umask
  • 42d04f7 Merge pull request #648 from twpayne/min-go-version
  • 9b2f286 Use umask when creating any file or directory
  • ca416df Ensure that chezmoi is built with Go version 1.13 or later
  • e607dc8 Merge pull request #646 from twpayne/fix-link
  • fced112 Fix link in quickstart guide

Full changelog: v1.7.18...v1.7.19

1.7.18 (2020-03-29)

  • 8284da7 Update contributing guide with new version embedding mechanism
  • 6ebf442 Merge pull request #644 from twpayne/fix-version
  • 1257ea8 Refactor version number embedding
  • f92a292 Bump golangci-lint to 1.24.0
  • 2db0aad Update chezmoi.io home page to match README.md
  • b1a341b Merge pull request #641 from ihommani/639_enhancement_documentation
  • f9ad39a [639_enhancement] Fix features part documentation
  • 453d152 Merge pull request #640 from twpayne/trim-space
  • bd78980 Strip leading and trailing space from values read from user
  • 96e0dea Merge pull request #635 from ptxmac/windows-trim
  • fe98dde Revert "Only run CI on pushes"
  • 7985de8 Regenerate documentation
  • da30f18 Merge pull request #638 from nawordar/patch-1
  • b90fc91 Change . to dot_ in symlink template example
  • 568fb50 Improve windows support by removing carriage return from prompts

Full changelog: v1.7.17...v1.7.18

1.7.17 (2020-03-21)

  • db03a2b Merge pull request #634 from twpayne/ignore-lookupgroupid-errors
  • d22a3cf Only set group value if user.LookupGroupId succeeds
  • d0ab459 Merge pull request #633 from twpayne/allow-kernel-fail
  • 74297e8 Make reading /proc/sys/kernel more tolerant of errors
  • d289303 Merge pull request #631 from twpayne/update-dependencies
  • f671329 Update dependencies
  • 208de3a Merge pull request #630 from twpayne/template-options
  • 4926a16 Add option to set template options
  • a75a1f7 Switch to functional options for TargetState
  • 21f46e0 Merge pull request #629 from twpayne/execute-template
  • b047430 Add execute-template command
  • 79d7ddf Export TargetState.ExecuteTemplateData
  • 771e4e7 Merge pull request #626 from twpayne/editor-with-args
  • d65ec45 Allow EDITOR and VISUAL to include arguments
  • 733b547 Merge pull request #624 from twpayne/add-thanks-faq
  • a4e76f3 Add thanks FAQ entry
  • 298c27f Merge pull request #623 from twpayne/mark-auto-commit-stable
  • 6d450c1 Mark autoCommit and autoPush as stable
  • cda7249 Merge pull request #622 from twpayne/document-ignore
  • e3caa96 Improve documentation of .chezmoiignore
  • efddb59 Only run CI on pushes
  • ae4bbc9 Merge pull request #620 from twpayne/refresh-readme
  • 07fb826 Refresh documentation
  • ec3b896 Merge pull request #618 from twpayne/go-1.14
  • ea3d8d2 Add freebsd/arm64 and openbsd/arm64 builds
  • 098c28c Build with Go 1.14
  • e05e396 Bump golangci-lint version to 1.23.8

Full changelog: v1.7.16...v1.7.17

1.7.16 (2020-03-04)

  • ce06ed9 Merge pull request #617 from twpayne/fix-commit-message-template-path
  • eb0129f Fix path to commit message template asset
  • b03639b Tidy up link fixes
  • 37c54ae Add missing punctuation
  • 509b93a Merge pull request #616 from twpayne/fix-chezmoi.io-links
  • 37d35c8 Fix links on chezmoi.io

Full changelog: v1.7.15...v1.7.16

1.7.15 (2020-02-26)

  • a7b5607 Merge pull request #612 from twpayne/revert-assets
  • 1403b64 Revert "Move completions into assets directory"

Full changelog: v1.7.14...v1.7.15

1.7.14 (2020-02-25)

  • 559da47 Tidy up release process
  • 9f8b2b6 Merge pull request #610 from twpayne/bump-dependencies
  • 0d429c8 Bump dependencies
  • 7192a91 Revert "Move cmd into internal directory"
  • 106aef2 Merge pull request #609 from twpayne/misc-fixes
  • 2d466db Move scripts into assets directory
  • 5317fe6 Move cmd into internal directory
  • b34673d Move completions into assets directory
  • 40d92cc Move templates into assets directory
  • c74392a Move images into assets directory
  • 4fc9f6b Tighten up return type
  • d3ff731 Merge pull request #608 from twpayne/lastpass-raw
  • c39b714 Add lastpassRaw template function
  • ff00fed Fix documentation for lastpass note parsing
  • 2c3f7e2 Merge pull request #606 from twpayne/improve-docs
  • 2fbaf35 Improve docs
  • 0cd7bdc Merge pull request #605 from twpayne/strip-symlink-template-whitespace
  • 49ba065 Improve template documentation
  • 251f698 Trim whitespace from evaluated symlink templates
  • 948f293 Merge pull request #603 from twpayne/renable-snap-bash-completion
  • 8840ecf Revert "Temporarily disable bash completion in snaps"
  • a9e7cb7 Switch from godoc.org to pkg.go.dev
  • 0b2decb Merge pull request #602 from twpayne/doc-cleanups
  • 27790db Use cobra.Command.Printf instead of Config.warn
  • da9d72a Add custom help command
  • d847c8f Make short helps more consistent
  • 3259503 Fix more typos and clean up docs
  • 3114a51 Fix typo
  • 08cabca Merge pull request #597 from twpayne/cd-command-config
  • 6114041 Add cd.command configuration variable
  • 34c402b Merge pull request #600 from MunifTanjim/docs/fix-reference-sourceDir-default-value
  • 62c9d45 Fix sourceDir default value in docs
  • b7b8e1e Tidy up issue templates

Full changelog: v1.7.13...v1.7.14

1.7.13 (2020-02-13)

  • ed3584c Temporarily disable bash completion in snaps
  • c11e4c9 Merge pull request #595 from twpayne/fix-594
  • 23bda0a Include relative path in template name
  • 37096b0 Merge pull request #592 from twpayne/update-toml
  • 5d20cbf Use github.com/pelletier/go-toml to handle TOML
  • 1624695 Merge pull request #591 from twpayne/functional-config-options
  • cd49a3f Use standard directories in all tests
  • dc82787 Make tests more verbose by default
  • 1b50624 Simplify I/O handling in Config
  • 4610fec Use newTestConfig function in tests
  • 8bea1b2 Add newTestConfig function
  • c475c5e Use functional options to construct Configs
  • 552151d Don't include destination directory in dump output
  • 5e8b893 Merge pull request #590 from twpayne/template-funcs-in-config-template
  • 8771b2d Make all template functions available in config file template
  • 0d8ddd6 Merge pull request #588 from twpayne/misc-fixes
  • c62befa Bump golangci-lint to v1.23.3
  • de3d05b Check more errors
  • b3dfbea Use more specific receiver
  • 64a30b2 Avoid unnecessary calls to Stat before MkdirAll
  • a65f193 Use Config.warn consistently
  • 3e2fd5b Merge pull request #587 from twpayne/format-assets
  • 02ae747 Compress assets as much as possible
  • 840d00e Wrap generated code at 80 columns
  • 7ac364b Tidy up contributing docs
  • 61a5942 Merge pull request #586 from twpayne/remove-empty-symlinks
  • a13cff2 If a symlink is empty, remove the target
  • c39c254 Merge pull request #584 from twpayne/no-large-diffs
  • bde4d3e Don't print diffs if file is larger than 1MB
  • ecfba0e Merge pull request #582 from twpayne/use-issue-templates
  • f03e442 Link to issue templates in documentation
  • 17ceb5f When looking for an entry, return an error if it does not exist (#581)
  • a5785d3 When looking for an entry, return an error if it does not exist
  • 5099fed Merge pull request #579 from twpayne/upgrade-checksum
  • 7b6fa02 Fix upgrade checksum filename

Full changelog: v1.7.12...v1.7.13

1.7.12 (2020-01-24)

  • bed22fc Rename internal command for consistency (#576)
  • ac77728 Simplify code generation
  • 395b450 Rename internal command for consistency
  • e938d4c Remove debug code
  • 52e49ad Improve packaging of assets (#575)
  • 7c6d8e7 Improve install-tools target
  • ca61c8d Improve packaging of assets
  • 92deba6 Update dependencies (#571)
  • c8f7305 Update dependencies
  • fe7728e Merge pull request #569 from twpayne/linux-install
  • c9df290 Add NixOS Linux install instructions
  • 1d1230d Update Alpine Linux install instructions
  • 888736a Add note about installation instructions to contributing guide
  • ae3666b Merge pull request #568 from twpayne/issue-templates
  • 0659f65 Tidy up issue template markdown
  • e536db5 Merge pull request #567 from twpayne/support-request
  • 0782706 Add support request issue template
  • 7b5f645 Merge pull request #565 from twpayne/fix-install.sh
  • 699d0b5 Remove no-longer-correct action to build install.sh
  • c882899 Restore default arm builds
  • ddde88b Merge pull request #563 from ndt/patch-1
  • 31d9a40 Update install.sh
  • 185e2c9 Merge pull request #562 from twpayne/commit-faq
  • b5cfe03 Add FAQ entry on committing changes
  • 65694b2 Update tables of contents
  • 48c0d31 Merge pull request #560 from twpayne/source-alias
  • 4ab59df Add hg command
  • c8010c2 Add git command
  • f30445b Document aliases
  • 372c392 Merge pull request #559 from twpayne/zsh-completions
  • 9795d04 Add zsh completions for positional arguments
  • 2d5a384 Fix missing Oxford comma
  • f9bd8bb Don't compute full target state in data command (#557)
  • 1b630ce Don't compute full target state in data command
  • f563a08 Merge pull request #556 from twpayne/windows-colors
  • 6cec157 Enable virtual terminal processing on Windows
  • 0b3aa77 Use 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)

  • acf3478 Merge pull request #553 from twpayne/keepassxc-show-protected
  • ff4f8d9 Pass --show-protected to keepassxc-cli version 2.5.2 or later
  • 3788d1b Merge pull request #549 from twpayne/improve-template-docs
  • 16e1fa9 Validate variable names in config data
  • 73d2aa7 Improve template how-to
  • cf6b4a7 Merge pull request #543 from twpayne/release-improvements
  • 87881f2 Consolidate GitHub Actions
  • 92ce3c4 Add arm7 builds
  • 1f01859 Tidy up goreleaser config
  • 4be8957 Bump golangci-lint to version 1.22.2
  • 3e733b1 Merge pull request #547 from twpayne/update-glamour
  • 128c291 Use Glamour's ASCII style for rendering docs
  • 3df4931 Fix use of autotemplate in how-to doc (#546)
  • ac494ee Fix use of autotemplate in how-to doc
  • acdd04d Use more reliable install-from-source method (#541)
  • f6fb2dc Use more reliable install-from-source method
  • 73d325e Render docs with github.com/charmbracelet/glamour (#537)
  • 0d2c73d Render long help and docs with github.com/charmbracelet/glamour
  • ea4b6c4 Fix autotemplate docs

Full changelog: v1.7.10...v1.7.11

1.7.10 (2019-12-27)

  • 74f6b5b Added kernel information to data
  • d318b14 Consolidate data source files
  • b603f77 Don't automatically assign bug label in bug report template
  • 4f65240 Only set osRelease on Linux
  • a402f9e Remove stale entry from .gitignore
  • e271597 Treat adding an empty file without --empty as remove
  • a698afe Treat adding an empty file without --empty as remove (#536)
  • db2e446 Trigger CI on pull requests
  • 6559538 Tweak markdown to avoid Hugo bug
  • b4f0cbc Update homepage in snaps and brews
  • b10aa9f Use standard source directory in tests
  • 14a9c3b typo

Full changelog: v1.7.9...v1.7.10

1.7.9 (2019-12-20)

  • 8908b55 Do not print idempotent commands in verbose mode
  • a1caca6 Don't add files if template would be overwritten
  • 91e562a Don't quote shell args just because of equals signs
  • 2992fce Don't quote shell args just because of equals signs (#515)
  • 8cea741 Improve contributing docs
  • 5b488de Improve contributing docs (#516)
  • 2a164f9 Iterate on GitHub Actions
  • 90c506b Iterate on infrastructure (#524)
  • 5d16890 Preserve but don't enforce private on Windows
  • d58df90 Quote command args in debug mode
  • 035e416 Reformat tables of content with latest Markdown plugin
  • 61611b5 Simplify generated help template
  • ac4f8d0 Update Alpine Linux install instructions
  • 7d84ccf Update Alpine Linux install instructions (#514)
  • ddd0b62 Update all dependencies
  • e349fef Update all dependencies (#520)
  • 5f6943c Update install.sh
  • d6970d1 Update issue templates
  • 8825d44 Use go/format instead of gofmt
  • 7a41df2 Use go:generate more idiomatically
  • 6a9256a Use more specific command for generating help

Full changelog: v1.7.8...v1.7.9

1.7.8 (2019-12-13)

  • d106ef6 Include generate step in release builds

Full changelog: v1.7.7...v1.7.8

1.7.7 (2019-12-10)

  • de86467 Use GORELEASER_GITHUB_TOKEN for releases

Full changelog: v1.7.6...v1.7.7

1.7.6 (2019-12-10)

  • e74485f Add Alpine Linux installation instructions
  • cd50d7b Add ShellQuoteArgs
  • 954b51a Add contributing guide for documentation changes
  • ce5d509 Add link to Windows binaries and GitHub releases page
  • f93c255 Add updating chezmoi.io to contributing docs
  • a0e061a Correct use of setup
  • 123fb2a Enable dupl linter
  • 1db6960 Export MaybeShellQuote
  • e20f00a Fix website automation for when gh-pages branch does not exist
  • f1b4221 Fixed a type in completion example
  • d3c75da Fixed a type in completion example (#508)
  • 5a687a2 Improve documentation (#509)
  • fa8e001 Improve install docs (#506)
  • a23c640 Improve template errors (#504)
  • 34b3fb2 Indent all YAML files consistently
  • ff7dd1b Miscellaneous fixes (#505)
  • c5d9ce0 Omit unknown components from --version output
  • a5321f6 Prepare docs for next release
  • addb0cb Prepare docs for next release (#511)
  • cf457c4 Quote command arguments if needed in template error messages
  • a4c459e Release future Windows binaries in zip archives
  • bcebd2f Set GITHUB_TOKEN for releases
  • 993f87d Switch to GitHub Actions
  • 91e32c3 Switch to GitHub Actions (#494)
  • de4e40b Tidy up package install table
  • eaf7294 Update argument name for consistency with docs
  • d4e1c1b Warn when skipping add of ignored files
  • 4403954 Warn when skipping add of ignored files (#510)

Full changelog: v1.7.5...v1.7.6

1.7.5 (2019-12-02)

  • 243ccc1 Add onepasswordDocument template function
  • 55ecebe Add onepasswordDocument template function (#503)
  • ebe4695 Use more robust shell quoting algorithm

Full changelog: v1.7.4...v1.7.5

1.7.4 (2019-12-01)

Full changelog: v1.7.3...v1.7.4

1.7.3 (2019-11-23)

  • 47bb3ce Add --debug flag
  • 4122f12 Add DebugMutator
  • 40fb730 Add FAQ entry on running a command when a file changes
  • 953879e Add FAQ entry on running a command when a file changes (#469)
  • 7d52ca8 Add IdempotentCmdOutput and RunCmd to Mutator
  • 413c8ec Add book theme
  • 948f479 Add content doc dependency on generator
  • 9ea31ce Add debug code (#478)
  • 387cffa Add how to handle externally modified config files
  • 1b655f9 Add how to handle externally modified config files (#487)
  • 1e020e2 Add how to import Oh My Zsh documentation
  • f40fb42 Add how to import Oh My Zsh documentation (#480)
  • 3468c22 Add initial www.chezmoi.io
  • 680cbae Add initial www.chezmoi.io content
  • 616c63a Add smoketest target as default
  • ee0e99b Add sourceDir to default template data
  • 7acba23 Add sourceDir to default template data (#485)
  • add120d Add www.chezmoi.io automation
  • 89e2713 Add www.chezmoi.io website (#471)
  • 7ceb1a9 Build improvements (#488)
  • 011b72c Bump golangci-lint to version 1.21.0
  • 574e74e Clarify Go modules requirement in docs
  • 97987b6 Clarify upgrade command
  • 5dedfdf Disable flaky tests on Windows
  • a362775 Disable flaky tests on Windows (#491)
  • 496c985 Document --debug flag
  • df35378 Don't include tables of contents on chezmoi.io
  • eccc569 Fix debug logging
  • e38d210 Fix debug logging (#482)
  • 9cfd78d Fix grammar and receiver name
  • 4d678ce Fix links on chezmoi.io (#493)
  • 8d0a21e Fix logging (#481)
  • c6af790 Fix logging with --debug and --verbose flags
  • ddac85f Fix typo i make every day, and therefore see everywhere.
  • 7a5c063 Fix typo i make every day, and therefore see everywhere. (#466)
  • 6329176 Improve install docs
  • 51946fa Improve onepassword documentation
  • fde5551 Improve onepassword documentation (#476)
  • 5db37d9 Move fs and mutator into config
  • c5cfcea Only create source parent directory if it does not exist
  • 0840ede Only create source parent directory if it does not exist (#484)
  • 84350bf Quote arguments in verbose mode if necessary
  • 4b04b24 Quote arguments in verbose mode if necessary (#486)
  • f111abd Refactor GitHub Actions
  • 8473c3f Refactor GitHub Actions (#465)
  • df05dff Rename LoggingMutator to VerboseMutator
  • 32359e3 Update modules
  • b286352 Update modules (#470)
  • 05bd6e2 Update reference manual table of contents
  • 07ecbef Use IdempotentCmdOutput in template functions
  • cc9ee40 Use consistent receiver name
  • 62fcb3a Use go vet in golangci-lint
  • 3167f57 Use https://chezmoi.io/ as base URL
  • 7469b97 Use https://chezmoi.io/ as base URL (#473)
  • 0e62d4d Use run instead of exec

Full changelog: v1.7.2...v1.7.3

1.7.2 (2019-10-17)

  • 2445864 Add autocommit and autopush
  • 41c4fdc Add autocommit and autopush (#432)
  • a7bc3b7 Add git status parser
  • f1f9391 Add lines function
  • 963985f Add shell check to doctor command
  • 5033a31 Bump golangci-lint to version 1.20.0
  • 066c9a5 Update dependencies to latest versions

Full changelog: v1.7.1...v1.7.2

1.7.1 (2019-10-13)

  • 88b48f4 Disable source state private check on Windows
  • 0f7bda1 Disable source state private check on Windows (#456)
  • f425bc6 Use Go 1.13's wrapped errors
  • 688bc14 Use Go 1.13's wrapped errors (#453)

Full changelog: v1.7.0...v1.7.1

1.7.0 (2019-10-10)

  • f2cd6e9 Add FAQ entry on source/target filename bijection
  • 2d7d593 Add FAQ entry on source/target filename bijection (#442)
  • 9c67b56 Add GitHub Actions
  • 90d5323 Add gopass support
  • 5fda365 Add gopass.command reference
  • fd38084 Allow persistent state to be opened in read-only mode
  • 9e2ceb7 Don't export internal package
  • a90b01f Fix line-ending-dependent tests on Windows
  • 37ac582 Fix symlink test on Windows
  • 1929a0f Improve detection of the user's shell
  • fd991e7 Improve detection of the user's shell (#446)
  • b5b46db Only lock persistent state when writes are needed (#441)
  • ce09d0d Only open persistent state in read-write mode if needed
  • 3924950 Remove stray debug code
  • 7939fd6 Switch to github.com/pkg/diff
  • 8835998 Unify and improve GitHub workflows
  • c79de4c Unify and improve GitHub workflows (#450)
  • ec449db Update contributing docs
  • a1c7969 Update github.com/twpayne/go-acl to use latest version of golang.org/x/sys
  • 4255f83 Update install.sh from latest godownloader
  • f51a1ce Update install.sh from latest godownloader (#452)
  • f17d668 Update table of contents
  • 681116a Use gpg.recipient in docs, instead of deprecated gpgRecipient
  • eca92ce Use latest golangci-lint release
  • f6a0cd2 Use latest version of github.com/Masterminds/sprig

Full changelog: v1.6.5...v1.7.0

1.6.5 (2019-09-20)

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)

Full changelog: v1.6.2...v1.6.3

1.6.2 (2019-09-10)

Full changelog: v1.6.1...v1.6.2

1.6.1 (2019-08-11)

Full changelog: v1.6.0...v1.6.1

1.6.0 (2019-07-08)

  • b989fa6 Add AppVeyor CI for Windows
  • b32874c Add AppVeyor CI for Windows (#385)
  • 00c05f3 Add CI for OS X
  • 1c7c29e Add Windows release (#390)
  • 8539a1d Add bash completion in snap package (#362)
  • d64fbb1 Add bash completion to snap package
  • f88c88a Add some more template dir tests
  • f007172 Build releases for Windows
  • 835ab33 Disable upgrade command on Windows
  • 1be0691 Don't use github.com/google/renameio on Windows
  • 533b454 Fix IsPrivate
  • 77b8641 Fix IsPrivate (#386)
  • f276df1 Fix Windows IsPrivate to check explicit file permissions instead of effective permissions.
  • 4953b05 Fix execution with partial templates
  • 8e29647 Fix execution with partial templates (#388)
  • 612d56e Fix test filenames
  • 47313ac Fix whitespace in build tags
  • cbfea11 Improve Windows support (#381)
  • 6cbde10 No upgrade on windows (#378)
  • c46bed5 Re-enable the add --recursive tests on Windows
  • 131ed26 Skip add --recursive tests on Windows
  • 6cdf740 Tidy up comments
  • 4b38c75 Update dependencies
  • f6ed345 Update go.mod
  • 2800d6a Use fork of github.com/hectane/go-acl while waiting for upstream to merge
  • 8c81e98 Use latest github.com/twpayne/go-vfs
  • b42b08f Use latest github.com/twpayne/go-vfs
  • c6b5ebd Use latest github.com/twpayne/go-vfs (#380)
  • bff3e1e Use latest modules for Windows support (#377)

Full changelog: v1.5.10...v1.6.0

1.5.10 (2019-06-29)

  • 8f2f3e0 Add all logo images
  • ca11320 Add all logo images (#372)
  • bfa0198 Add docs command
  • f776ef5 Add docs command (#374)
  • 514bd77 Document where one line install script will install binary
  • 6323f53 Don't execute templates when editing source state
  • 355f650 Don't execute templates when editing source state (#370)
  • fa1d828 Fix issue 336 comments (#368)
  • 9301869 Fix template error messages (#371)
  • 0ea0cca Make remove command prompt by default
  • a2fc377 Make remove command prompt by default (#375)
  • abaabcb Open source directory with editor when edit is run with no arguments
  • 7f1d926 Remove go mod tidy test from CI
  • c711405 Use goreleaser's fine-grained control for releases
  • 542a132 Use goreleaser's fine-grained control for releases (#376)
  • 89ed284 Use text/template's error reporting mechanism

Full changelog: v1.5.9...v1.5.10

1.5.9 (2019-06-24)

  • 79e568d Add Linuxbrew to install doc
  • 01eaf98 Add Linuxbrew to install doc (#365)
  • 0a74170 Document script shebangs and executable bits
  • f6a8d97 Initialize persistent state even when no config file exists
  • 909c6ac Initialize persistent state even when no config file exists (#367)

Full changelog: v1.5.8...v1.5.9

1.5.8 (2019-06-22)

Full changelog: v1.5.7...v1.5.8

1.5.7 (2019-06-22)

Full changelog: v1.5.6...v1.5.7

1.5.6 (2019-06-06)

  • 02b902d Add GitHub Release badge
  • 2566544 Add doctor version check
  • d17f54f Add doctor version check (#318)
  • e3b79bb Add fish completion support
  • a4aaed0 Add fish completion support (#320)
  • e40b797 Add fish to completion command description
  • f01f715 Add golangci-lint configuration
  • e34b215 Add install-tools target
  • f2cf3b8 Disable warning about computed URL
  • fa33f40 Don't use a singleton NullMutator instance
  • e2edc9e Don't use references to range-scoped variables
  • 1abbee1 Explain how to customise the merge tool
  • e7576f4 Improve documentation
  • ae968e3 Make script state bucket a parameter, not a global
  • 23c0169 Mark snap releases as stable
  • 36bbdcd Mark snap releases as stable (#317)
  • fd8a72e Remove Go Report Card badge
  • 802b3b1 Remove pre-release-checks target
  • f4c9963 Resolve all lint problems and enable more linters (#310)
  • f7ca727 Update badges (#311)
  • a324c18 Update contribution docs
  • de73d1b Update contribution docs (#309)
  • dac85d2 Update go.mod
  • 3073691 Update snap install instructions with beta channel
  • b006026 Update snap install instructions with beta channel (#307)
  • 1b047e6 Use latest go-difflib with improved colors
  • 377bed9 Use latest go-difflib with improved colors (#328)
  • 24cb155 Use latest go-vfs with Windows support
  • 6963cb9 Use latest go-vfs with Windows support (#319)
  • b0182fe Use relative package paths in documentation
  • 07244d3 Use simpler interfaces where possible
  • dadd7fa go mod tidy to make CI happy

Full changelog: v1.5.5...v1.5.6

1.5.5 (2019-05-18)

  • 19f1d3d Work around snap not creating XDG_RUNTIME_DIR
  • 4fb74c9 Work around snap not creating XDG_RUNTIME_DIR (#306)

Full changelog: v1.5.4...v1.5.5

1.5.4 (2019-05-18)

Full changelog: v1.5.3...v1.5.4

1.5.3 (2019-05-18)

Full changelog: v1.5.2...v1.5.3

1.5.2 (2019-05-15)

Full changelog: v1.5.1...v1.5.2

1.5.1 (2019-05-08)

Full changelog: v1.5.0...v1.5.1

1.5.0 (2019-05-03)

  • 67e6861 Add FAQ entry on origin of chezmoi
  • 0f11911 Add another source-path example
  • 4ce6c61 Add colored diff support
  • f22c1e7 Add example extraction
  • 6ff9ad9 Add excluded ignores
  • 5293105 Add explicit test for #192
  • 1664463 Add generated long help infrastructure
  • e845ac9 Add golangci-lint check
  • f0bcb41 Add initial REFERENCE.md
  • a41c2d3 Add internal extract-long-help tool
  • c866b0c Add internal extract-markdown-ast tool
  • 40abd64 Add long help for all commands
  • 188b88d Add make targets for common tasks
  • 14410e0 Add merge command
  • 993f6a9 Add merge command check to doctor
  • 91071ec Add minimum version assertion to source state
  • 011ba83 Add minimum version check and document special files (#272)
  • 555f8ad Add missing backquote
  • 087d9cf Add missing closing double-quote
  • afdcb33 Add more documentation to README.md
  • 0f6f7eb Add more questions
  • 693ca87 Add note about golangci-lint and gofumpt
  • bc2f2a9 Add note about upgrade to installation doc
  • c0706ce Add note on packaging
  • 34c3f4d Add noupgrade build tag
  • cae1e1d Add noupgrade build tag (#276)
  • 1632584 Add reference manual and long help for all commands (#258)
  • 61f8309 Add table of contents
  • 0553dd9 Add tables of contents
  • 92d520c Add upgrade command
  • 7810b62 Add upgrade command (#265)
  • 738fcd8 Add warning if source VCS command is not supported
  • 4f57699 Change indent to two spaces to match Cobra
  • 1ebf43c Check config file for errors after edit-config
  • 2cb4272 Cosmetic fixes
  • cb554ed De-duplicate goreleaser build ids
  • 467a1d6 De-duplicate goreleaser build ids (#277)
  • a7bfe73 Doc improvements (#267)
  • 4d3e7de Document goinstaller installation
  • d1ef895 Document gpgRecipient
  • bbd1b81 Document merge commands
  • ad89352 Document special files
  • 1415432 Download modules first
  • f322a1c Factor out Encrypt
  • 72318e5 Factor out TargetState.Decrypt
  • ad7a836 Fix FAQ link
  • 8c27153 Fix FAQ link (#260)
  • cedee29 Fix caching of generic secret command output
  • 58bf7e9 Fix calculation of current source dir mode
  • df5c96a Fix destination flag name
  • 2d1ba6e Fix formatting of chattr reference
  • 7606f5e Fix grammar
  • d98b524 Fix grammar (#280)
  • 3273255 Fix grammar in comment
  • 19f9fa0 Fix remaining documentation FIXMEs
  • e4f023c Fix typo
  • 6b4e503 Fix typo
  • c836187 Fixed link to quick start guide
  • ef5d496 Fixed link to quick start guide (#270)
  • 2f94aa5 Generalize chattr implementation
  • 1fa49ba Improve detection of imperfectly-formatted code
  • 066884c Improve documentation (#259)
  • b9d6d87 Improve readability of helps.gen.go and fix examples of last command
  • d25e457 Improve reference manual documentation
  • 87cec4f Make code pass golangci-lint
  • 68b2c6a Make edit work on plaintext, not ciphertext
  • 87571b4 Misc fixes (#263)
  • 4901baf Misc fixes (#266)
  • bf7a42f Misc fixes (#273)
  • add797b More cosmetic fixes
  • 7923310 Move documentation into docs
  • 20c3538 Propagate Encrypted state
  • 259c5f9 Put flags after arguments for consistency with Cobra and add more examples
  • 038e7b5 Refactor documentation
  • 8bcff93 Reformat paragraph
  • fa72a55 Remove --umask flag
  • 6e95959 Remove link to godoc.org
  • 4ac4708 Remove list of template variables
  • e330084 Remove pets vs. cattle comment
  • ac75e01 Remove snap infrastructure
  • 99513e3 Remove snap infrastructure (#269)
  • c56f61d Remove some obvious comments
  • 81d16a0 Remove underscores from filenames
  • 9077575 Rename HOW-TO.md to HOWTO.md
  • f16c811 Rewrite single-case switch as if
  • b60b022 Simplify logic
  • 467ab16 Sort variables
  • b9fe1c9 Split installation and quick start guides
  • ca98784 Support encrypt attribute in chattr
  • 854cfd5 Tolerate config file errors for certain commands
  • b03d480 Update cmd/helps.gen.go
  • f21f9e2 Update long help
  • c86e2ba Upgrade by replacement if executable is in temp dir
  • 696c2f6 Upgrade improvements (#278)
  • da941b8 Use command variable name for commands consistently
  • 5a9f735 Use make targets in CI
  • b3e445f Use mvdan.cc/gofumpt
  • 9d08f18 Verify checksums when upgrading

Full changelog: v1.4.2...v1.5.0

1.4.2 (2019-04-14)

  • 295da27 Abstract out stdin, stdout, and stderr for testing
  • 5fabcff Add apply test
  • a24348b Add archive test
  • da6ac24 Add bash & zsh completion
  • ba462c6 Add coverage badge
  • 7c8e4b6 Add destination directory is a symlink test
  • dbc942d Add dump test
  • 67bc2e0 Add golint test
  • adcd979 Add import test
  • c0f657a Add note about pets vs. cattle
  • 7bf62ae Add permValue test
  • 57d009a Add ppc64 architectures to README.md
  • 9f1232f Add snap generation and tidy up YAML files
  • be5e240 Attempt to build snap
  • 9092c62 Combine coverage profiles for more accurate coverage
  • 3273eee Disable Go modules when installing linters
  • 9619ed6 Disable snapcraft support and re-enable ppc64, ppc64le, and arm
  • 98ec39e Don't trust golang.org/x/lint/golint
  • 2eb4227 Export TemplateSuffix
  • 86859d9 Factor out coverage targets into Makefile
  • 7d0bf1d Fix cosmetics
  • bc2edae Fixes from PR review comments
  • 7e53826 Hint at #243
  • a12313c Implement config file creation from template during init command
  • b7e2346 Make default config file format TOML
  • 6e5813c Remove golint checks while golint is broken
  • eb1c302 Require Go 1.12
  • 93c585d Respect umask in dump command
  • 99068b9 Run gofumpt -s
  • 0109341 Switch to github.com/stretchr/testify for testing
  • 80e441b Tidy up .goreleaser.yaml
  • 31d5fea Tidy up .goreleaser.yaml
  • 4ae22b9 Tidy up config file creation in init
  • 43c26fc Use github.com/twpayne/go-xdg v3
  • 56c0b00 Use github.com/twpayne/go-xdg/v2
  • 9aa00ca Use vfs.Contains
  • f8b2094 add a space before ; fi
  • c53640c add missing ; fi to .travis.yml
  • 5e0b43b disable goveralls on pull requests
  • 7b72952 don't run on PRs instead of exclusively running on them
  • 6374b6c fixing go vet error

Full changelog: v1.4.1...v1.4.2

1.4.1 (2019-03-20)

  • 30bfacf Add git as a dependency for rpm and deb packages
  • 8f40f2e Add ppc64 and ppc64le to goreleaser target
  • b8bbd12 Fix #198 - Use os.UserHomeDir() instead of custom function
  • d7e76e8 Fix new issue link in CONTRIBUTING

Full changelog: v1.4.0...v1.4.1

1.4.0 (2019-03-14)

  • c827046 Add Mutator.Stat
  • 8d8fb55 Add TOML as an output format
  • e13bb89 Add gpg encryption
  • 6075a02 Add manage as an alias for add
  • 8406817 Add unmanage as an alias for forget
  • e47c444 Add unmanaged command, fixes #186
  • cd3d86b Add userHomeDir
  • 4cfdaac Change example configs to TOML and reformat
  • 93d03aa Check lastpass CLI version on first call
  • da8098b Create directory for config file before editing if needed
  • b324637 Fix all markdownlint warnings, except one
  • 72690a6 Fix double word in init help
  • 201e7a5 Fix that accomodates blank lines and comments
  • 4d32cde Make hostname only first part of hostname and add fullHostname
  • 249e2b9 Make it clearer that the rpm packages work on OpenSUSE
  • f2dfbb8 Only display text diffs
  • b477972 Reduce number of semver libraries
  • 02636ad Remove NullMutator
  • d63c406 Remove unused function arguments
  • 306df8b Return ErrNotExist from nullMutator.Stat
  • b41824c Return an error instead of panicking
  • 035988d Revert "Remove NullMutator"
  • 9fea286 Revert "Use vfs.ReadOnlyFS's instead of NullMutators"
  • 90d4274 Spell out lastpass --json arg
  • ab807b1 Test to demonstrate parsing error
  • ab1de29 Use latest github.com/twpayne/go-xdg
  • 19947c8 Use latest version of github.com/twpayne/go-vfs
  • 2a72a34 Use renameio correctly across multiple filesystems
  • b1cddc3 Use userHomeDir instead of github.com/mitchellh/go-homedir
  • 5bf7ead Use vfs.MkdirAll
  • 18366aa Use vfs.ReadOnlyFS's instead of NullMutators

Full changelog: v1.3.0...v1.4.0

1.3.0 (2019-01-30)

  • 7f4bd2d Add Config.getVCSInfo
  • f385ec1 Add ID as a well-known abbreviation
  • 4daf21d Add check for generic secret command
  • 32146ce Add check for suspicious filenames
  • b3e8085 Add first run git init instructions to README
  • 9b7b268 Add hermetic text functions from sprig, fixes #184
  • 595dcf1 Add init command
  • 2ef2695 Add stow-to-chezmoi.sh migration script
  • 013e419 Add update command, fixes #159
  • 6a1a0ea Always print permissions with three digits
  • 1ef4f89 Consider files only containing whitespace as empty
  • abbc0c1 Don't make init command apply by default
  • 3cc895d Emphasize flexibility first
  • 4dee096 Ensure that source directory exists in cd command
  • f9290fc Factor out doctorCheck interface
  • ed27b49 Factor out doctorCheckResult
  • 1679704 Factor out ensureSourceDirectory
  • a3830ca Factor out runDoctorCheck
  • bd21ee6 Factor out vcs_infos.go
  • 4633ca1 Fix dump command with targets
  • cf18630 Fix handling of missing directories
  • 18911f1 Fix source directory errors in documentation, fixes #171
  • 85b7ece Fix template in example, fixes #161
  • f7edc93 Fix typos in README.md
  • 68a304c Include args in usage
  • d249d15 Init new repo when init is called with no args
  • 792c631 Make source VCS pull command configurable
  • 47b305a Mention init command in README.md
  • dfd18a1 Minor documentation change
  • 7abd4cc Parse permissions in octal
  • 2d3eff1 Refactor doctor command to include versions, fixes #160
  • b8aabb0 Refactor getting started documentation
  • 9abe99d Refactor init command
  • 204a5a7 Remove evident comment
  • fc71c55 Remove unnecessary os.FileInfo.Mode() calls
  • d7be60a Rename onepassword config var to match command
  • 13f5d47 Replace Command with Cmd in internal structure names
  • 61ffbf4 Respect umask when creating source directory
  • cf305f8 Store config file in config struct
  • e0410cd Tidy up doctor check reporting
  • b97f37d Update description
  • 96797da fix: several plausible failure modes for the script during routine running

Full changelog: v1.2.0...v1.3.0

1.2.0 (2019-01-18)

  • 367c0d5 Add 1Password support, fixes #135
  • acbf852 Add advantages
  • 0494cb8 Add doctor command
  • 36cd576 Add generic secret manager support, fixes #51
  • 932a8e9 Add support for "secret" command namespace
  • 290d13e Add support for passwordstore
  • e4c8d41 Better position transparency benefit
  • bf45f84 Call pass show explicitly
  • 2ff85c2 Document pass support, fixes #139
  • 333066e Don't disable secret manager commands if binary is not present
  • abf762f Don't export internal config structures
  • 3a63e45 Include binary names in secret manager descriptions
  • 209c1e2 Move keyring command into secret command
  • f2ac9c3 Only add commands that have installed executables
  • 015609d Re-order features based on feedback
  • 24f7131 Remove --bitwarden-session flag
  • 95c14a3 Rename Funcs to TemplateFuncs
  • 718ae00 Rename field for consistency
  • fe18833 Rename source files to match command structure
  • 24c94fe Scan pass output up to the first newline, rather than splitting

Full changelog: v1.1.0...v1.2.0

1.1.0 (2019-01-16)

  • a8aeb1b Add 'Why use chezmoi?' section
  • abfe150 Add --prompt flag to add command, refs #123
  • d676fc6 Add chezmoi in the news section
  • 55746d9 Add data command
  • bbb5b2a Add link to Hacker News discussion
  • 55bfe71 Add link to dotfiles.github.io
  • 8677883 Add link to lobste.rs discussion
  • fe39c57 Add link to reddit.com discussion
  • 39c2645 Add missing dollar
  • 8919b6c Add note about data command
  • bf690dd Add os-release parser
  • 341b99f Add osRelease to .chezmoi data, fixes #126
  • 4044b1e Add table of packages
  • 7a88b12 Add test for CGO
  • 1fe3fe0 Add vault support, fixes #120
  • e0b7bad Avoid potential out-of-range access if string is empty
  • d1ee299 Convert OS release map keys outside getOSRelease
  • c1525d8 Convert os-release keys to JSON-like keys
  • 61f7659 Correct source flag
  • 9921965 Document .chezmoi.osRelease
  • 8cc9fdd Don't add ignored files, fixes #124
  • 4fecad4 Don't delete ignored files in exact directories
  • 99e138e Don't duplicate licence text
  • 34eb20d Extract target dir names when computing ignore pattern
  • 6ac240c Factor out formatMap
  • 6ffb4f1 Fix typo
  • bf67981 Ignore errors from user.LookupGroupId if CGO is disabled, fixes #125
  • 877f0cb Make error messages more consistent
  • 53c20a0 Preserve existing directories in source state instead of renaming them
  • 15a1cd2 Use latest version of github.com/twpayne/go-vfs
  • 125f4ba Wrap comment
  • 9cec1f6 dirNames: use make for init slice of string

Full changelog: v1.0.0...v1.1.0

1.0.0 (2019-01-13)

  • d855c1e Add printing of symlinks to cat command
  • 5529485 Don't check for config files in old locations, fixes #113
  • 05935b1 Remove note about versioning
  • af4b714 Use DestDir instead of TargetDir in code
  • 7484973 Use consistent terminology in help and doc

Full changelog: v0.0.15...v1.0.0

0.0.15 (2019-01-13)

  • fc3be3e Add CONTRIBUTING.md
  • 2f90eef Add initial chattr test
  • dd7e6c1 Add more tests for chattr on file
  • 744d2cf Add octalIntValue
  • dfc456e Add tests for chattr on symlink
  • f9fefac Allow no- prefix to remove attributes
  • 6ffae71 Fix chattr -private on directories
  • 619b2ed Fix chattr of files in directories, fixes #103
  • 60a26df Print umask in octal in help, fixes #107
  • c42eecf Remove FIXMEs that are now Github issues
  • 0d8551c Remove stale FIXME
  • 32ce15c Remove unused cobra.Command argument
  • 1c8d357 Reorganize functions
  • 1704912 Respect .chezmoiignore in Entry.ConcreteValue
  • 4612ada Respect .chezmoiignore in Entry.Evaluate
  • 84c41c7 Respect .chezmoiignore in Entry.archive
  • d8f8445 Sort functions alphabetically

Full changelog: v0.0.14...v0.0.15

0.0.14 (2019-01-12)

  • 20ed7e2 Set version in linux-amd64 release

Full changelog: v0.0.13...v0.0.14

0.0.13 (2019-01-12)

  • d66bf04 Add .chezmoiignore support, fixes #91
  • ac412b6 Add PatternSet
  • 9c6cedf Avoid duplicate filename in template errors
  • 17a590c Avoid infinite loop when template value is empty
  • 81eba36 Remove stale comment
  • 60cb5ff Sort entries in test
  • cab2f01 Use latest github.com/twpayne/go-vfs

Full changelog: v0.0.12...v0.0.13

0.0.12 (2019-01-11)

  • 4e07b0e Add alphabetical test
  • 721df9f Add edit-config command, fixes #90
  • bb05d54 Add inWord
  • e4f1ca1 Add link to github.com/twpayne/dotfiles
  • 9219d3f Compute valueRegexp when needed
  • 0ec171a Factor out execEditor and runEditor
  • 355aef8 Fix README.md formatting
  • 555ea41 Improve variable substitution, fixes #89
  • 6230dbf Use a tagged version of github.com/google/renameio
  • 313c04b Use subtests in autotemplate tests

Full changelog: v0.0.11...v0.0.12

0.0.11 (2019-01-05)

  • 02bcd30 Add exact support to chattr
  • 7bb40c2 Add support for exact directories, fixes #11
  • 447e244 Correct path to source directory
  • 532d788 Ensure directory exists before creating .keep file
  • 2abc9a9 Factor out AddOptions
  • e66da3c Factor out ImportTAROptions
  • ba1c8fa Reformat test
  • b28a722 Remove default values
  • a8c5ca1 Remove early reference to go-keyring
  • 5004108 Rename jenkins to user
  • 12d817d Shorten description
  • 7f621cb Use interface{} for root values consistently

Full changelog: v0.0.10...v0.0.11

0.0.10 (2018-12-22)

  • 5301881 Add --bitwarden-session flag
  • cbd9256 Add initial Bitwarden support
  • d068f60 Automatically parse Lastpass note values
  • 6147683 Compute name argument
  • fe723f8 Correct error text
  • bbaf694 Correct variable name
  • 4f2ddb2 Factor out addDir
  • d9d79dd Factor out addFile
  • 52c1768 Factor out addSymlink
  • 66cb18c Move DirAttributes in to dir.go
  • 703bfd6 Move FileAttributes into file.go
  • 5e7036a Move TargetState tests into target_state_test.go
  • c198aa1 Pass os.FileInfo to TargetState.addFile instead of perm and empty
  • 4b9114a Reformat tests
  • 9264001 Remove last trace of ParsedSourceDirName
  • 72c8d6f Remove unnecessary masks
  • 06559bc Remove unreachable code
  • 7f9cabc Rename DirName to Name
  • 2631a87 Rename FileName to Name
  • c59600e Rename LinkName to linkname
  • 04e1423 Rename ParsedSourceDirName to DirAttributes
  • c2da0c0 Rename ParsedSourceFileName to FileAttributes
  • 7f3b2a8 Rename TargetState.Import to ImportTAR
  • a2bbef6 Rename internal variable
  • 38cd4da Unify error messages across password managers
  • 3db61d1 Use os.FileMode.Perm() consistently

Full changelog: v0.0.9...v0.0.10

0.0.9 (2018-12-16)

  • 39e003c Don't assume that config file exists, fixes #73
  • 3a4ea33 Don't use cgo on linux_i386
  • 0c6aca4 Enable CGO on Linux
  • 5aa794d Make description consistent
  • 4c8054f Make parameter documentation more consistent
  • 4021463 Make usage error output less verbose
  • f6ae4f3 Prefix errors with chezmoi:
  • 2e007a3 Refresh go modules with latest versions
  • 4c7aa0c Remove old version infrastructure
  • 1ddcc7e Revert "Ignore group lookup errors, fixes #65"
  • 28346cc Use cobra's --version flag

Full changelog: v0.0.8...v0.0.9

0.0.8 (2018-12-14)

  • 3913e51 Add archive documentation
  • 13edec3 Document cd command
  • 8e9ec60 Ignore group lookup errors, fixes #65
  • 6449e9c Support XDG Base Directory Specification, fixes #19

Full changelog: v0.0.7...v0.0.8

0.0.7 (2018-12-14)

  • baddf0f Generate unified diffs
  • 52feafc Remove remaining references to Windows while Windows is unsupported
  • 52566d9 Remove stray bracket
  • 144b125 Restore default source VCS command
  • 9629996 Update description to emphasize security

Full changelog: v0.0.6...v0.0.7

0.0.6 (2018-12-11)

  • fd2f39b Add --recursive flag
  • 6a33cdc Add Actuator.Rename
  • f5fcdb1 Add Dir.Private
  • c1d38dd Add Entry.ConcreteValue
  • 842097f Add Entry.TargetName
  • 22c530a Add FIXMEs for flags to add
  • f1832ca Add File.Executable
  • 66c2461 Add File.Private
  • 20543f8 Add File.Template
  • 15a3826 Add Symlink.Template
  • ec77a95 Add TargetState.AddArchive
  • 31481f7 Add YAML output
  • 91be5c7 Add cd command
  • 0b84bf5 Add chattr command, fixes #2
  • e26f3ec Add import command, fixes #50
  • 42ecba3 Add package aliases
  • 240ac97 Add source-path command
  • 1f5eba6 Add test to exercise some commands
  • 5bef462 Add type field
  • 4556383 Apply umask last consistently
  • 08a5345 Avoid overwriting argument before first use
  • 8f570ef Bump version of github.com/twpayne/go-vfs
  • 9cbae2a Check format before computing concrete value
  • e8b97cb Clarify LastPass example
  • a78af0e Correct function documentation
  • 5d3ae7d Delete 'practical' section that is explained elsewhere
  • d9fb233 Depersonalize template example
  • bcf98b1 Disable Windows releases
  • 242e549 Document exported struct
  • 97818e0 Dump source and target paths, not names
  • d7e1697 Dump state in JSON format instead of spew
  • 6053e48 Evaluate entries before dumping them
  • d4f8beb Export Entry.Evaluate
  • a05d9c1 Export ParseSourceDirName
  • 8660cb7 Export ParseSourceFileName
  • 165397a Export ParsedSourceDirName
  • e9e4d77 Export ParsedSourceFileName
  • 9925c08 Factor out dir.go
  • efd6dde Factor out file.go
  • 2a6990d Factor out symlink.go
  • 34a1cba Factor out target_state.go
  • 7879a59 Fix capitalization
  • 9312f94 Fix removal of target in remove command
  • 4037322 Format github.com links consistently
  • 166688c Improve short descriptions of commands
  • b3625b2 Make it explicit that error is ignored
  • 9db2ce1 Make it explicit that errors are ignored
  • 5910f22 Make the NullActuator a singleton
  • ae51ba4 Print source dir if no targets are specified
  • c4bad5b Qualify .netrc example
  • a8fcaa9 Quote permissions
  • ad8add0 Refactor individual Entry application
  • 9dc8b10 Remove --source-vcs flag
  • ea5d380 Remove TargetState.AllEntries
  • a35fbb4 Remove docker image building code
  • 01086cc Remove fixed FIXME
  • b62ac56 Remove uneccessary 'note that's
  • 1750988 Remove unused field
  • 307f767 Rename Symlink.Target to Symlink.LinkName
  • bd27c36 Rename TargetState.AddArchive to TargetState.Import
  • 55a947a Rename actuator to mutator
  • ff58780 Rename variable for clarity
  • 9b0e724 Replace getSourceNames with getEntries
  • 2effdf7 Use absolute path to ignore dist directory
  • 4387aa1 Use angle brackets for all examples
  • 764263b Use dir, file, symlink order consistently
  • ca06a88 Use getEntries and Entry.TargetName is remove command
  • 615c3bd Use getEntries in cat command
  • 4e74b17 Use getEntries in chattr command
  • e375f25 Use getEntries in dump command
  • 1d97198 Use targetName in archive
  • 1804974 Use variable name ts for target state consistently
  • a341f75 Use 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)

  • 083d25d Add --apply, --diff, and --prompt flags to edit command, fixes #28
  • 5527d94 Add TargetState.ApplyOne
  • a8670c4 Add prompt
  • f644bf2 Cache keyring lookups
  • 53a12d1 Cache lastpass lookups
  • 900a2e3 Extend apply command to take a list of targets, fixes #3
  • db96d06 Extend diff command to take a list of targets, fixes #4
  • a324b0b Extend verify command to take a list of targets, fixes #5
  • 7e98072 Factor out Config.applyArgs
  • 89440ce Make runRemoveCommand a method on Config
  • c37b9ad Remove trailing E from function names

Full changelog: v0.0.4...v0.0.5

0.0.4 (2018-11-30)

  • a2e6e88 Add LastPass integration
  • 377d68e Add graceful template error handling mechanism
  • cbb5b2d Add installation docs referring to Goreleaser-generated artefacts and Homebrew formula
  • 377999a Add lastpass command as a wrapper for lpass
  • 496c2ba Documentation tweaks
  • 06f8e7a Ensure Go modules are enabled in before hook
  • 273e14f Factor out keyringFunc
  • e612476 Handle errors gracefully in keyring
  • 841d2e7 Handle errors gracefully in lastpass
  • d88b705 Make CI output less verbose
  • 7992f60 Make template execution more strict
  • 4c7aece Only read files and evaluate templates when required
  • a436144 Remove GO111MODULES
  • b45c5ad Set GO111MODULE in .travis.yml

Full changelog: v0.0.3...v0.0.4

0.0.3 (2018-11-30)