Skip to content

transcrypt v2.1.0

Compare
Choose a tag to compare
@elasticdog elasticdog released this 07 Sep 16:04
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

  1. Make sure you are running the latest version of transcrypt:

    $ transcrypt --version
    
  2. Upgrade a repository:

    $ transcrypt --upgrade
    
  3. 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)