* Update base image to Ubuntu 24.10. This uses a python version where j2cli no
longer works when installed using pip so use the version from Ubuntu instead
which has been patched to work.
* Update shellcheck, pylint, pytest, isort, flake8, black and yamllint to the
latest versions. This closes#502.
* Use a longer expect timeout to fix tests failing when gpg is killed due to
this timeout.
* Explicitly flush gpg-agent's cached passwords to fix failing tests with
latest gnupg. Also clean up after tests to avoid having gpg-agents running
after the test (e.g. when running tests directly without docker).
* Create a YADM_DATA base (that is the source for repo & archive)
* Add --yadm-data to override
* Default YADM_DATA will be determined by XDG_DATA_HOME
The newer versions (OpenSSL 1.1.1 or LibreSSL 2.9.1) support the pbkdf2
key derivation function, while older versions do not. In addition the
new versions have changed the default digest to SHA256 instead of MD5.
Files encrypted with older versions would throw warnings about
deprecated key derivation used files encrypted with newer versions +
pbkdf2 would not be decryptable using older versions These problems
matter, when many users maintain their dotfiles across different systems
with different levels of OpenSSL support.
A new boolean config option has been added, yadm.openssl-old
* If false, use options -pbkdf2 -iter 100000 -md sha512
* If true, use options -md md5 (and if decrypting with newer versions
warnings will be printed)
Support is inherently provided by `enter`, which supports a command.
I've added a `transcrypt` command, which is really just an alias
under-the-hood for "enter transcrypt".
Support is inherently provided by `enter`, which now supports a command.
I've added a `git-crypt` command, which is really just an alias
under-the-hood for "enter git-crypt".
When this option is provided, linters will be run regardless of the
version installed. Normally tests are skipped if the linters are not the
supported version.
The new test system is written with py.test. These tests are more
comprehensive, run faster by an order of magnitude, and are far more
maintainable. The tests themselves conform to PEP8.