transcrypt v2.1.0
This release includes features to make it easier and safer to use transcrypt, in particular: fix merge of encrypted files with conflicts, preventing accidental commit of plain text files by incompatible Git tools, and upgrade easily with --upgrade
.
Steps to upgrade
-
Make sure you are running the latest version of transcrypt:
$ transcrypt --version
-
Upgrade a repository:
$ transcrypt --upgrade
-
Enable the merge handling fix by adding
merge=crypt
to the end of each transcrypt pattern in.gitattribute
, to look like this:sensitive_file filter=crypt diff=crypt merge=crypt
New features
- Add
--upgrade
command to apply the latest transcrypt scripts in an already configured repository without the need to re-apply existing settings. - Install a Git pre-commit hook to reject accidental commit of unencrypted plain text version of sensitive files, which could otherwise happen if a tool does not respect the
.gitattribute
filters Transcrypt needs to do its job.
Fixed
- Fix handling of branch merges with conflicts in encrypted files, which would previously leave the user to manually merge files with a mix of encrypted and unencrypted content. (#69, #8, #23, #67)
- Remove any cached unencrypted files from Git's object database when credentials are removed from a repository with a flush or uninstall, so sensitive file data does not remain accessible in a surprising way. (#74)
- Fix handling of sensitive files with non-ASCII file names, such as extended Unicode characters. (#78)
- transcrypt
--version
and--help
commands now work when run outside a Git repository. (#68) - The
--list
command now works in a repository that has not yet been init-ed.
Changed
- Add a functional test suite built on bats-core.
- Apply Continuous Integration: run functional tests with GitHub Actions.
- Fix EditorConfig file config for Markdown files.
- Add CHANGELOG.md file to make it easier to find notes about project changes (see also Release)